How Diaspora Connects Users

Note: this is the first in a series of technical posts about Diaspora’s software architecture and code, and is a slightly modified version of the original on the Diaspora blog. If you have topics you’d like to see covered in future installments, please let me know. A single installation of the Diaspora software is called [...]

CruiseControl.rb and RubyGems 1.5.2

Diaspora uses CruiseControl.rb to run our continuous integration server. CC.rb is on Rails 2.3, but the applications it’s building are on Rails 3, which means I occasionally run into … weirdness. Last week, for example, I wanted to speed up our builds by upgrading Bundler to 1.0.10 and RubyGems to 1.5.2. Because of the new [...]

Running Cucumber Features Without a Display

I’ve been helping out with the Diaspora project, an open source social network that gives you control over your own data. When I first started poking around the codebase a few months ago, they’d just started writing a few cucumber selenium integration tests – which of course I want to encourage! – but they weren’t [...]

Disalienation: Why Gender is a Text Field on Diaspora

A few months ago, I started contributing to the Diaspora project. I began by refactoring their test suite and setting up a continuous integration server. Then I installed Jasmine and started mucking around with the JavaScript. That was all pretty straightforward. A few weeks ago I made a slightly more controversial change.