Get a job with Ushahidi

Photo by Brenda Gottssabend

I've been volunteering on the Ushahidi Swift pipeline, and it's been fascinating. The goal is to turn massive raw streams of tweets, text messages and news stories into useful information, something that's especially relevant looking at all of the recent turmoil around the world. Pulling data from unstructured text is one of the toughest and most interesting problems around, and Swift is a great platform to learn and test new approaches.

So I was pleased to hear from Jon Gosier that they're looking to hire some more engineers. The pay's not great compared to West Coast standards, but they're open to hiring globally, so it makes more sense for people in an area with a lower cost of living. They're also happy to accommodate side projects and offer a lot of flexibility as long as the work gets done. If you're looking a job on a great team working on important problems, this could be a good chance to gain experience in some very useful areas. Here's the full job posting.


Ushahidi is currently seeking to hire individuals in the following full-time and contract positions: Sr. Web Application Developer, Online Ethnographer/Behaviorist, Computational Linguistics Expert

Sr. Web Application Developer (Python/PHP)

Experience Requirements: At least 4 years professional experience in PHP/XHTML/MySQL/CSS building web applications. This position is minimum full-time for 12 months. Developers with a background in Design, experience with Ruby (Rails), Python (Django) and PHP Frameworks are definitely preferred but all candidates are welcome to apply.

Location: Anywhere, Global

Salary: $60k per year, U.S. dollars. 80% full-time commitment expected although candidates are welcome to maintain on side-projects so long as they don’t affect primary deliverables and deadlines.

Online Ethnographer/Behaviorist

Experience Requirements: PHD or PHD-Candidate level with a background in the qualitative study of network dynamics and ethnography of online communities. Position will require deep analysis of dynamics in online communities, and work alongside computer science teams to assist in the development of applications and algorithms based upon their research.

This position is minimum full-time for 12 months.

Location: Anywhere, Global

Salary: $60k per year, U.S. dollars. 80% full-time commitment expected although candidates are welcome to maintain on side-projects so long as they don’t affect primary deliverables and deadlines.

Computational Linguistics Expert (Python)

Experience Requirements: At least 5 years professional experience in the development of computational linguistic algorithms using Python. Applicant would supervise the development of open-source semantic technologies, with an emphasis on modularity and scalability. This position is contract.

Location: Anywhere, Global

Salary: Contract. Negotiable.

To apply email cover letter and CV's to


Why signing up with Rackspace was a disappointing experience


[Update – I wrote this at the end of a long and frustrating day, and got the tone completely wrong, I was way too grumpy. Normally I wouldn't revise, but since it ended up on HN, I'll add this note. I'm still living in awe that I can rent a hundred machine cluster for $10 an hour, for me that's better than a jet-pack]

Today I needed to create a Rackspace account, so I could help out a non-profit I'm supporting. I've long been intrigued by the idea of a cloud host with support as a key feature, especially after the poor experience I had when my Amazon load balancer died. That left me glad to have an excuse to try out Rackspace, but after going through signup I was left distinctly unimpressed. There wasn't anything major, but there were several aspects to the process that were jarring.


They require the password to have a mixture of upper and lower-case letters and numbers. This is a cop-out, they should be testing for general password strength rather than inflicting arbitrary rules like this. It's not a massive coding task, and it's also odd to see them passing the plain text passwords back to the server for checking, rather than doing it client side. The page is https (though with warnings on Chrome about untrusted content) so it's not a major flaw, but it's poor fit-and-finish. It did fill me with fear that they might be storing my password as plain text though, especially when I discovered they send root passwords for your boxes through email!


You also have to pick a product on the account creation page. This is odd, but what was worse was that it's at the top of the page and gets unchecked when your password fails their rules. This meant I still couldn't submit the form after I'd changed the password to comply, and there was no feedback as to why the submission was failing. Again, a minor but irritating missing detail.


After all that, one of their employees has to give me a phone call before I can start creating servers. It felt very old-fashioned, and meant that the self-serve aspect was gone. Amazon does something similar, but has it all automated, giving me a pin I can put in, a much smoother experience. I had to stop progress on exploring the service and wait for a call, and of course when it came I was in a meeting, so I couldn't answer it. Later in the day, I called back the number they emailed me, got the general customer service line, had to sit through two repetitions of options, none of which appeared to apply, until I finally got a real person. He took some details, and had to forward me to an on-boarding specialist. I waited for a few minutes on hold, and then he had me confirm some basic details about my credit card number and address.

I was waiting for the reason they did this as a call with a human. I wasn't even calling from the same number I'd given them, so caller ID wasn't giving them additional confirmation. I thought they'd try to wow me with a sales pitch at least, or sweep me off my feet with an insistence on answering any questions I might have, but it was just a polite data-entry conversation.

Shared Server Images

This one's more of a missing feature than a user experience problem, but it contributed to my grumpiness. My goal with the non-profit is to set them up with a server containing some useful software, a mixture of open source tools built by me and others. The installation process for all of these packages is a multi-page document, taking a fair amount of time. On Amazon, I'm able to do this once and build a shared AMI, making it public so anyone can use the system. It looks like on Rackspace I'll have to go through the installation process for every account that wants to use the system, since they only support server images within a single account. It's clear from comments on that announcement that I'm not the only one looking for this, but there's still no ETA on the feature.

I'm really hoping I'll see the advantages of Rackspace's approach now I'm signed up. If it was a phone company or bank, I'd just sigh and move on, but I had higher hopes for a Zappos-like experience. My first three complaints could all be solved with some fairly simple tweaks to their processes, a bit of Javascript and some Twilio. As it stands, though Amazon's not perfect, their sign-up process actually gave me a lot better user experience.

Five Short Links

Photo by Cat O

Egypt Influence Network – A network graph of Twitter users that actually tells a story. I do wish there was more discussion of the method and data used to generate it though. We all need reproducibility and peer review to strengthen our arguments.

CKAN – the Data Hub – A rich curated collection of data sets and APIs, with hopes to become the CPAN for information.

Weatherspark – Very effective interactive presentation of weather data. I especially like the faded background to the temperature graph subtly showing the mean, min and max values over time.

Spreadsheet Scraper – Simple but nice Chrome extension for pulling tabular data from web pages. Increasingly the client side is the only place to access third-party information, as robots.txt and API terms-of-service become more and more restrictive.

NoSQL @ NetFlix – It’s very helpful that Sid has done so much work explaining NetFlix’s experiences porting applications to NoSQL. It’s often hard to convince companies with existing traditional infrastructures that switching is an option worth considering, these sort of case studies really help.

Five Short Links

Photo by Diane Cordell

The Importance of Making Things – US Science fairs are reported to be in decline, which is obviously deeply worrying for the future. It's easy to forget what a lifeline these sort of extra-curricular activities can be for individual kids though. Retreating to the library was a bright spot in my school day, Ta-Nehesi found his open space and pride with his science projects.

North Korea Uncovered – I'm late to discover this, but a fascinating attempt to map the Hermit Kingdom using public satellite imagery.

Making a Difference in the Developing World – I've found myself getting more and more involved in open source projects aimed at poor countries. I'm all too aware of the high failure rate of traditional aid and my weird position as a westerner with very little understanding of the end-users actual requirements. To compensate for that, I try to use what people on the ground are actually doing as a guide. With that in mind, I was pleased to see how useful Mendeley's tool seems to be in the context of African agricultural research. I don't know how that lesson generalizes, but it might be that online collaboration tools are even more important in places where professional organizations and institutions are still developing.

MetaQuerier – The research project that Cazoodle grew out of. I love this because it's an academic formulation of the approach used by most successful commercial projects to analyze web data. Most academic research in this area seems to fall into to the deadly tar-pit of Linked Data, which is brought to you by the same people who didn't bring you the Semantic Web, and suffers the same drawbacks of requiring mass publisher adoption before delivering benefits.

Building Interfaces for Data EnginesMatthew Hurst is one of the pioneers of analyzing web-scale data, so I've been pleased to see him blogging so prolifically recently. He's also just launched a data exploration tool called d8taplex, and this post explores some of the different approaches that other data set providers take to interacting with the information. Fascinating stuff, and I'm not just saying that because he's looking over my book, honest.