Curse client database not updating
Once you set up an account on a pod, it’ll be pretty boring until you follow some other people. The system survives, and even expects, network partitioning.
You can follow other users on your pod, and you can also follow people who are users on other pods. There are some interesting political implications to that — for example, if you’re in a country that shuts down outgoing internet to prevent access to Facebook and Twitter, your pod running locally still connects you to other people within your country, even though nothing outside is accessible. Each pod is a legally separate entity, governed by the laws of wherever it’s set up. On most of them, you can post content without giving up your rights to it, unlike on Facebook.
(I asked where the Romulans’ access point was once, and got a bunch of blank looks.
Sigh.) So the distributed nature of the system adds layers to the codebase that aren’t present in a typical app.
Each pod is a Ruby on Rails web application backed by a database, originally Mongo DB.
When we store social data, we’re storing that graph topology, as well as the activity that moves along those edges.
For quite a few years now, the received wisdom has been that social data is not relational, and that if you store it in a relational database, you’re doing it wrong. Some folks say graph databases are more natural, but I’m not going to cover those here, since graph databases are too niche to be put into production.
As a result, they got written up in the New York Times – which turned into a bit of a scandal, because the chalkboard in the backdrop of the team photo had a dirty joke written on it, and no one noticed until it was actually printed. The fallout from that was actually how I first heard about the project.
As a result of their Kickstarter success, the guys left school and came out to San Francisco to start writing code. I was working at Pivotal Labs at the time, and one of the guys’ older brothers also worked there, so Pivotal offered them free desk space, internet, and, of course, access to the beer fridge.