#define ❤
Why Do Computers Stop and What Can Be Done About It? →
Earlier this week I was lucky enough to see Joe Armstrong talk about the principles behind Erlang. During the talk he mentioned one of my favourite technical reports—Why do Computers stop? by Jim Gray for Tandem Computers.
http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf
Tandem Computers built fault tolerant and high availably machines before the web existed. The uptime of their machines was legendary, as an apocryphal technical support call demonstrates:
Hi, is this Support? We have a problem with our Tandem: A car bomb exploded outside the bank, and the machine has fallen over. …. No, No it hasn’t crashed, it’s still running, just on its side. We were wondering if we can move it without breaking it.The report offers some insight as to how these legends were born—isolation, failing fast, transactional updates, process pairs and supervision—as well as some interesting statistics and observations.
For a little more analysis and a summary, I’d recommend reading @mononcqc’s excellent summary, especially to those who want to skip straight to the good bits of the report.
Not only do great people inspire - they get inspired too.
How to sync your iDevice with your Google Apps account →
Turns out Google discontinued the good ol’ Exchange sync option for vanilla Google Apps domains, and hence you need to setup CalDAV and CardDAV sync nowadays.
The brit is back.
(Source: Spotify)
nevyn's blog: Methods of concurrency — GCD, agents, tasks and invocations →
My programmer world was turned up-side down when I first saw the new ‘
await’ keyword in C# about a year ago, and I’ve wanted to share all the thoughts that arose from that since.
dns-sd, your new best friend
Do you depend on a service running on a remote machine? Are you a cheap ass who can’t afford a static IP? Are you tired of the free dynamic DNS services out there? Well look no further!
If the service in question is running on a machine where the currently logged in (OS) user is logged in to Back to My Mac, you’re safe. Through the marvelous wonders of wide-area Bonjour services, you can list all running services (and corresponding endpoints) of a certain kind within your virtual (Back to My Mac) network by simply invoking…
$ dns-sd -B _ssh
…in your favorite shell (the dns-sd command is a network diagnostic tool, much like ping or traceroute - read its man page for more details).
If this should be too much of a process, Terminal.app can do this auto discovery for you - just invoke the New Remote Connection option, and it will list all (Back to my Mac) machines running a certain service kind.
Magic, isn’t it?

