Where's the code?

Splitting discussion of our code from conversation with @geeksareforlife in Introduce yourself!:

There’s a collection of things across two organisations; http://github.com/openpolitics and https://github.com/somethingnewuk.

The OpenPolitics org has the manifesto itself, the openpolitics.org.uk site, and the votebot which counts up the various votes.

The Something New organisation has the party website, finance data, campaign microsites and few other bits.

A lot of it is Ruby (as my weapon of choice), and a lot of the websites are done in Jekyll. But, I’m agnostic as to languages and I know that many other technology folks here such as @philipjohn are PHP-oriented.

Thank you, I’ll start looking through.

I’ve been looking for an excuse/reason to learn Ruby, so this could be it.

Are there any parts that are priorities for you?


Also, it might be useful to have a “Meta” or “Tech” or similar category for topics like this that are really about the underlying working of the project, rather than the interesting political bits


I’ll let @philipjohn answer that, as technology officer :slight_smile:

The votebot is currently broken but that’s really terrible code and only documented in my head, so I’m going to try to get it fixed and add some tests tonight.

But, one thing I’m really interested in, medium term, is how we can improve our policy creation etc with other tools like http://represent.me (a poll for every policy?), http://loomio.org (replace the voting system?), http://democracyos.org (I don’t even know what this does yet), or some of the D-Cent stuff at http://tools.dcentproject.eu/. The Github method is OK, but it needs improved UX or replacing with something more user-friendly and approachable.

There were also some ideas for mobile development lying around. There is a trello board. DM me your email and I’ll add you to it, seeing as I’ve not made it public yet (on the todo list).

If you fancy diving into how we might be able to use any of those, I’d love it. :slight_smile:

Oops I just replied in the other thread :grinning:

I love the idea of a “Meta” category - that makes a lot of sense. I’ll do that now.

@geeksareforlife Let’s move the conversation here :slight_smile:

I seem to spend most of my life writing some form of middleware - be it converting data from one form to another, or making two systems talk to each other. My two current projects are a small bot that sits between Trello and slack and a fairly large management system for our hackspace.

Oh nice, I think that’s really useful! We are looking into how to better allow people to contribute, and getting the tools right is important. There doesn’t seem to be “one solution” so the end result is either completely custom or integrating different tools. Your experience there may be needed!

I’m also pretty good at organising stuff - we set up and managed discourse for our hackspace, so I know this system pretty well for example. (although I didn’t notice at first that you don’t have email replies turned on :blush:)

Oh, we should probably turn that on - so that conversations don’t go stale. I know I suffered from that at first because I wasn’t getting notifications.

Unfortunately there is never “one” solution - happy to help with stitching things together wherever I can.

I was having a look at votebot, only my second foray into a Ruby codebase (the first being Discourse) was wondering what you do for a development environment? There doesn’t seem to be a Vagrant file or similar, do you have a personal development machine that you have set up to match production?


I just use rbenv on native OSX - bundler handles all the dependencies, and it needs redis for the DB. It could totally have a dockerfile or something to wrap it all up, though I’ve never got deep enough into that stuff to set it up properly.

Ah, bundler looks like composer in PHP world, and rbenv seems to be a way to make sure that the right Ruby version is being used?

This all looks relatively simple to set up in Vagrant - I’ll see if I can have a bash this week and submit a PR.


Sounds about right :slight_smile: