I recommend this introduction to SDN (Software Defined Networking) from Nick McKeown in the Open Networking Summit. I love the example he gives where SDNs are used for implementing an intelligent distributed load balancer in a complex country-wide topology. I have also discovered the Mininet network simulator, a “real-network” simulator based on Linux namespaces and their ability to have isolated network spaces in a kernel.
"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…
An online (free) book on current networking technologies, from TCP to HTTP 2.0 and WebSockets.
"buffer and memoryview are functions that allow direct access to an object’s byte-oriented data without needing to copy it first."
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.
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.
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
$ dig +short +tcp tokens.4301.lon2-tracker-a1.lon.spotify.net. TXT