A new code search engine, but this one includes looking for examples (for example, look for Django’s render_to_response in Python), documentation, complex references (for example, what types implement http.ResponseWriter in Go?) and a nice, responsive interface that makes code search really a breeze…
CoreOS is Linux for Massive Server Deployments -
CoreOS is just that: a core Linux operating system. Designed as a minimal Linux, it is free of all the packages that come pre-installed with standard distributions. The reason for that is because, once the OS has booted up, CoreOS has been designed for running docker containers.
CoreOS has some unique features, like:
Namespaces in operation -
Namespaces is a Linux abstraction that makes a system resource to appear within that namespace as an isolated instance. For example:
Network namespaces […] provide isolation of the system resources associated with networking. Thus, each network namespace has its own network devices, IP addresses, IP routing tables, /proc/net directory, port numbers, and so on.
So processes associated with a namespace will see completely different network devices, routing tables, etc. than other processes running in the same system. This enables one of the most important lightweight “virtualization" technologies used nowadays, containers, where a group of processes have the illusion they are the only ones running on bare metal hardware.
There are currently 6 different types of namespaces (mount, UTS, IPC, PID, network, user). But one of the most interesting things is yet to come:
Starting in Linux 3.8, unprivileged processes can create user namespaces, which opens up a raft of interesting new possibilities for applications
The most common case would be a unprivileged process (i.e., user) that becomes root when entering a particular namespace.
PyPy and software transactional memory -
A description on how the guys from Pypy are implementing STM in the interpreter. Basically, they have found a method (the Linux-specific remap_file_pages() syscall) for sharing pages between Python threads, doing some kind of copy-on-write for shared memory: when a thread wants to write something to a shared page, a private copy of the page is created. The STM machine keeps track of the changes made by the thread and, if no conflicting changes are found, the page is shared again between threads.
Which is cheaper for your work: Amazon or Google Cloud? -
According to this study, GCE can be much cheaper in some situations, specially for IO or CPU intensive applications. And the way Google is going to be billing can be much better for servers that do not keep running all the time:
Google, which charges by the minute while AWS charges by the hour, may be the better choice for lots of big data analytics workloads that tend to spin up and down fast.
Multipath TCP -
MPTCP is an extension to TCP that decouples it from the underlying IP. This is specially important in wireless networks and mobile devices, where multihoming is becoming the norm instead of the exception.
Kernel-bypass networking is gaining popularity. This means moving control of Ethernet hardware directly into userspace processes to avoid the overhead of communicating with the operating system kernel. This gives userspace all of the raw performance traditionally enjoyed by the kernel – and all of the responsibility too. This is important for certain specialized applications that can gain as much as 20x more performance. — Kernel-bypass networking
Bokeh, a Python interactive visualization library for large datasets -
Bokeh is a Python interactive visualization library for large datasets that natively uses the latest web technologies. Its goal is to provide elegant, concise construction of novel graphics in the style of Protovis/D3, while delivering high-performance interactivity over large data to thin clients.
QMF, the Qpid Management Framework -
The guys from QPid have come with this idea that reminds me of the old Corba. QMF is something like a RPC where you define callable methods in a XML file (a schema). Agents implement a schema, and they connect to a broker where they wait for commands or send events.
I’m waiting to see an automatic XML-to-python-skeleton generator…
Ragel State Machine Compiler -
"Ragel compiles executable finite state machines from regular languages. Ragel targets C, C , Objective-C, C#, D, Java, Ruby, OCaml and Go. Ragel state machines can not only recognize byte sequences as regular expression machines do, but can also execute code at arbitrary points in the recognition of a regular language. Code embedding is done using inline operators that do not disrupt the regular language syntax."