{ inercia }

Apr 07

Google Lifts Veil On "Andromeda" Virtual Networking

Mar 31

POX -

POX is a platform for the rapid development and prototyping of network control software using Python. Meaning, at a very basic level, it’s one of a growing number of frameworks (including NOX, Floodlight, Trema, etc., etc.) for helping you write an OpenFlow controller.

Mar 30

[video]

Mar 24

MaaS: metal-as-a-service -

"Metal as a service" is one of the last cutting edge technology in the cloud world, where a provider does not offer you a virtual machine but a physical, bare-metal machine, something where you can install whatever OS you want to run. More power for you, but also more difficult to maintain and more expensive.

Canonical is really into it (with Juju) and Openstack has some support in the latest version, and there are some providers (ie, baremetalcloud, stormondemand, etc) that already offer these features as well…

Mar 23

High Performance Browser Networking -

An online (free) book on current networking technologies, from TCP to HTTP 2.0 and WebSockets.

buffer and memoryview -

"buffer and memoryview are functions that allow direct access to an object’s byte-oriented data without needing to copy it first."

Mar 22

gource - software version control visualization -

Gource is a source code visualization tool that shows a nice video of how code has been changing. But the most interesting thing is the custom log format that can be used for showing anything…

Mar 21

Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation -

An explanation on how Valgrind works. Basically, Valgrind acts as a virtual machine that executes your program, intercepting every single call to allocate/free memory, and performing some accountancy for detecting memory leaks.

Mar 20

Apache Spark: A Delight for Developers -

Spark is a Hadoop alternative that seems much easier to use. For example, this is a task in Python:

rdd1.map(splitlines).filter("ERROR")
rdd2
.map(splitlines).groupBy(key)
rdd2
.join(rdd1, key).take(10)

Spark hides all the processes that are run, and the API seems much easier to use. It can run on top of Hadoop, but it can also use some other databases like Cassandra.

Mar 17

In praise of “boring” technology -

How the guys from Spotify have been using such a “boring” technology like DNS for running their business. They have been using it not only for service discovery, but also as a distributed database where they put information like DHT ring information:

As DNS is a high performance distributed database, we also use it for storing some service configuration data. In particular, we store DHT ring information in TXT records.

$ dig +short +tcp _spotify-tracker-internal._hm.lon.spotify.net SRV | sort | head -n 4
5000 5000 4301 lon2-tracker-a1.lon.spotify.net.
5000 5000 4301 lon2-tracker-a2.lon.spotify.net.
5000 5000 4301 lon2-tracker-a3.lon.spotify.net.
5000 5000 4302 lon2-tracker-a1.lon.spotify.net.

$ dig +short +tcp config._spotify-tracker-internal._hm.lon.spotify.net TXT
“slaves=:0” “hash=sha1”

$ dig +short +tcp tokens.4301.lon2-tracker-a1.lon.spotify.net. TXT
“0555555555555555555555555555555555555555”
“8555555555555555555555555555555555555555”