The Blog of Elliot Hughes

Starship Mechanic

The very fantastic Resonance Studios (my friend Jordan is a founder) have published their new game Starship Mechanic to the 2014 Indie Game Maker Contest. It’s very good fun, even as an early stage game despite its need of a polish.

You, “Alex”, play as a lowly mechanic on a decrepit pile-of-junk starship, that seems to mostly fly around getting into fights it can’t win. These fights do not concern you greatly, you can’t control them, you can’t prevent them. The captain mostly treats you in the same way he treats his coffee machine. Your job is to fix the things that get broken, put out fires and balance competing power needs in order to keep up with the whims of your captain. To do this you walk around from system to system, hitting them with your spanner, shooting them with the fire extinguisher and walking up to batteries to choose where power is going.

In the first run through you will probably be pretty confused. The control scheme has a fairly steep learning curve on the keyboard, but is much more natural on the XBox Controller. You start off with a short warm up period in which you can move your trusty spanner and fire extinguisher somewhere you will find them later, rewire as you see fit and power up what seems useful. Over time you’ll learn that keeping things powered off is good, a full battery can give you a very handy life-line. Soon after you’ll get your first order, and you’ll rush over to power up that item. Some systems have to be kept up. The life support will slow down the game and eventually kill you if you don’t keep it powered and repaired. Comms going down will make your life very hard as you will lose your task list.

Power in the game is fairly involved. The source is a power generator surrounded by crystals which bounce from left to right in sync. If you keep the generator and crystals in good shape they’ll pump out plenty of power. Damage to this system tends to snowball though, just one crystal being out of sync (because of damage) can easily cause a cascading failure leaving you wasting valuable time patching up while your captain begs for his left hand shields. From here power flows outwards to the batteries, which act as both switching points and capacitors. This gives you some breathing room if/when your power goes down.

The game plays as an addictive “just one minute more” game, after a few minutes it becomes quite frantic, you always have more to do than you can achieve in the time given and you have to prioritise to make progress. You’ll be begging the fire to go out so you can repair the thrice-damned life support system, or rushing back from the engines at the back to power the forward shields. This makes for a game that keeps you playing for a long while.

The game does suffer from a few bugs every now and then as you’d expect from an early game. Sometimes it’s not clear what has gone wrong, which can make the game feel a little unfair too. I imagine a lot of this will be solved before a 1.0 release though.

Right now it is hoping for votes in the 2014 Indie Game Maker Contest. It’s a free download from the vote page and you should give it a good play through and then consider voting for it.

I’m really hopefully that this is the first of many similarly quirky and compelling games from such a young studio.

Southampton Students - Write to the Council

Southampton Students!

Are you annoyed each year by the blight of the to-let signs on every house? Are you fed up with them not being taken down for months after the house has been rented? Are you frustrated that rental companies signpost your student house to opportunist thieves?

We need YOU to write to your city councillor about this. There’s a motion being discussed this Wednesday. Your opinion will have a genuine impact on whether or not it can go through.

Just go to Write To Them and enter your postcode to send it!

There’s a sample letter here and you can put your name down to keep track of how many people have written.

Soton Tab Offence and Elections Coverage

The Soton Tab’s Article was abhorrent. Encouraging objectification of female candidates was completely unacceptable. Its removal was well warranted. The editorial apology was very necessary. I greatly respect those who chose to resign their editorship over the incident.

However, I do hope we don’t allow this to prevent unbiased coverage of the event. By its very nature the Wessex Scene is unable to provide coverage free of prior restraint.

By punishing them with removal from elections coverage, or by encouraging them to not attend, we risk a hugely important aspect of journalism: Independence.

Good quality journalism that holds our sabbatical officers to account is already lacking in SUSU. The Soton Tab is often dreadful, but without it we’d be have no widely read independent source of news. Without their coverage of the event, we rely on SUSU to be honest about itself. This is a dangerous precedent. Even if I suspect that, in this case, there will be no problem.

Lecturers Marking Strike

Some brief thoughts on the marking boycott, in so far as it affects students.

People are freaking out because of grade-dependent job offers. Employers are just going to have to wait to hear about marks. No other UK graduands are going to get their results before you. Assuming the boycott is in anyway effective, your employer will have to choose between hiring you or hiring nobody.

People are calling it ‘unfair’ to students. The problem with this line of argument is you are blaming the wrong people. Most of the lecturers I’ve spoken to are doing this to defend people who are paid a lot worse than they are. These are the people like the cleaners who work on low salaries and can’t afford to take action on their own.

If you want this to change you need to contact your representatives and get them to pressure the university to come to the negotiation table. This boycott is to encourage the universities to engage in a conversation. Surely everyone agrees that a conversation about this is important?

A Manifesto for Students Union Software

Tomorrow, I will be taking part in the SUSU appathon. After a hackday where nobody coded, I’m excited to go to an event within my students union where I can do what I do best, and write software. It’s very easy to sit around and talk about what someone else should do, but it’s always better to be the one actually producing things.

Sadly, our students union (and as far as I can tell, those in the rest of the country) has missed the good news which us software types have managed to persuade even local government of in the past few years. They’ve lost their user focus. This is a shame, because in a students union it is much easier to be user focussed than anywhere else. Democracy is present and it is very direct. Anyone can get involved whether it’s complaining in a Facebook group or running to be a sabbatical officer.

To try and bring some of the benefits of user focus to our upcoming event, here’s the rules I’m going to try and stick to. With some luck we’ll be able to make a much better product than teams without this focus. Then I can pass this on and we can change SUSU software for the better.

Users First

This means that when we have a design decision to make we should ask ourselves some questions:

  1. Who are the users? (Odds are they are some subset of students)
  2. What do they want? (This could differ drastically from what the dev team want, or what the students union wants).
  3. How can we make it easy for them?

It’s not about the development team

When you write software it is very tempting to make it about you. This can be writing ‘clever’ code, or showing off the best features. Our apps shouldn’t use technology unless it achieves the goal of making things easier for the user.

Test It with the User

We’ll be on campus, at the weekend. There should be plenty of people around with time on their hands. We need to test the stuff we make. It’s easy to make something that you think is amazing and later learn that the user wanted something completely different. Without testing our software may as well not be written.

Publish the Code

Too much software is stuck behind the SUSU password protected secure area. Open Source means other students can work on it. Open Source means our fellow students in other unions can use it. Open Source means experts in our University can audit it. Open Source means we can’t be lazy and leave credentials lying around the code.

Ship It

There’s no point us leaving our software quietly at the end of this event. Our current technology in SUSU is truly dire. We need to make something good and then have people use it. That way we can show that our approach works (and fix it when it doesn’t).

It’s going to be hard to keep to these rules through a 26 hour hack day. At times we’re going to be lazy or want to show off. But I hope to try and keep to them most of the time, and with enough effort maybe we can make something great.

To achieve this we’ll:

  1. Perform a user test, perhaps in the library, during the weekend, to get feedback about our product.
  2. Make sure the site is online, with correct live data, and ready to use at the end of the weekend.
  3. Make sure it’s open source with all sensitive data removed from code by the end of the weekend.

Debating with SUCU

31-01-2014 - Some expansion, changes to wording and punctuation

Today I was given the privilege of debating for Southampton Atheist Society against Southampton University Christian Union on the topic of “Is Christian Morality Relevant In Modern Society?”. I debated along Livia Stacey who opened and closed the debate for our side, while I handled rebuttals and took my share of the questions.

To maintain balance, we had two chairs, one from each side. We had initially hoped to have a completely impartial chair from the debating society, but there was a clash. In the end the two chairs did more for balance than an impartial judge could have. It was difficult for either side to claim that they had been treated unfairly, as the opinions of the chairs were well known.

It’s important to see this debate in a certain context. As a society we’ve not had this sort of debate in living memory. Opinions on both sides will always stand up better in echo chambers, or even in quiet discussion. If you don’t face public scrutiny, it is far too easy to simply assume your beliefs will hold up in the line of fire. Because of this I was especially excited about this debate. It was also the first time I’ve been put in a position of defending my views in front of an audience.

I ought to first acknowledge some points that made me think from my opposition.

First off, the initial point giving a definition of ‘Relevant’ was very well made. It followed onto a very clear and concise argument about why they felt Christianity lived up to this definition. I must admit on this point I am fairly persuaded. While obviously on stage I have to argue for a certain point of view, as a secularist I would personally argue that all moral view points have their relevance, so long as they are aired in the proper way.

They put a spirited defence for the good that Christianity has done in the world. I disagree with them on this point, but it was well illustrated. I admire their restraint in not taking the intellectually lazy, but often effective, route of claiming various dictators to have been atheists.

In hindsight, I wish I had spoken slower and made my points more calmly. I’m told it didn’t come across as such, but I was incredibly nervous as I spoke. My points were much more clearly and rigidly defined in my notes, and in my mind. By speaking quickly and allowing an adrenaline rush to confuse me I ended up not doing them the justice I feel they were due.

That said, I was gratified to hear from my friends within the society that they enjoyed my points. This is especially motivating when people can list the points they particularly enjoyed, as it is evidence that people actually understood! I also had a few Christian Union members say they were challenged by what I had to say. This is very valuable. I’m not out on a crusade to convert people, but I do think making people take a step back to reconsider their views from a different angle is very important. I don’t think everyone in the audience was made to feel like this, but next time I’ll aim to do better.

I particularly would have liked the CU side to pick up on my points about whether their faith is actually effective. Does it lead to a better world? I challenged this, and said that a morality which didn’t have a positive effect on peoples behaviour can hardly be considered relevant. However, this is one of the common causalities of being the last person to speak as length in a debate. It’s difficult to keep audience interest for two hours, but it would have been fun to have a cross examination phase where we could have directly addressed one another’s points.

From my conversations with CU and AtheistSoc members, people seem to have really enjoyed this debate. While I feel that it is not my turn to speak again for a while, I would love the chance to see a debate between other faith group pairings in the University. Especially the Islamic Society, given the political context. I hope that we managed to demonstrate to the CU the same calmness, civility, intellectual honesty and good humour that they showed towards us. I also hope that this example will encourage further debates in future.

Unprepared - Wild Lime, Portswood

Varsity was always a pretty poor option for food in Portswood. When the Soton Tab reviewed the new Wild Lime I was keen to try it. My opportunity came today when my usual back-to-uni haunt of Trago Lounge was closed.

Wild Lime delivers excellent first impressions which it totally fails to follow through with. The decoration looks impressive when you first walk in, but soon you see that it has let its looks take precedence over its design. The kitchens seem to be at least partly upstairs, leading to clearly visible staff confusion. The bar is in the place it had been in Varsity, but is way too large for a restaurant (where it was perfect for a pub).

The worst property of the new design is that no thought had been given to the sound atmosphere. Varsity may have had dirty carpet, but it absorbed sound as well as it absorbed years of spilt lager. After the first service Wild Lime should have invested in baffles to keep the noise down to a minimum.

What really let down Wild Lime today was that they clearly hadn’t done their research. Portswood is a student town. Sure, there are locals but if you are serving food in Portswood you know for a fact a key customer is going to have to be the students. So why were they caught unaware by move-ins on the Sunday before freshers week? The kitchen was totally overwhelmed. We waited over an hour for food after a promised 30-45 minute time. They gave us complimentary drinks, but even those were delayed!

Coffee Palette

Coffee was served in a bizarre manner. What can only be described as a small shipping palette was delivered to the table for each cup and not taken away leaving you with a chunk of wood in the way for the remainder of the meal. The cups, which would have been charming in the Art House looked dirty and old in the context of the modern surroundings.

With the kitchen clearly taken off guard it’s no surprise that the food suffered. Lime Chicken (featuring at least 4 times on the menu in various disguises) tasted of neither lime or chicken, it was dry and overcooked. But that was nothing to the breakfast. If you’re going to serve a fried egg there is one criteria, the yolk must be runny. These were solid and cooked through from time on a hotplate. French toast leaked oil and grease into its bowl.. Turns out that was honey.

The food was rescued for me by the pizza. This is one of their strengths and they really ought to play it up. The crusts were crisp, slightly chewy and properly charred from the oven (as good pizza should be). The chillis on the top were fruity and well chosen, pepperoni and meatballs were both good quality. Cheese was distributed evenly and the sauce was well flavoured.

It’s a pity that Wild Lime was let down by its poor preparation and unprepared kitchen. We left feeling let down, with my fellow diners reporting that they wouldn’t want to return. I would just about be brought back for the pizza, but I would expect a massive improvement on service and something done about the echo filled main dining area. Given the style of food and prices the nearest comparison is the nearby Trago Lounge, and in a competition between the two I’d definitely go for Trago.

Overall 25 stars, but with much potential to improve.

Ordering Issues

Posts below this one have lost their ordering where I deleted their markdown titles. I need to completely remodel the database at some point. The way I do it at the moment (which was always a quick hack) needs to be totally redone. Hopefully Go has gained a nice ORM by now.

That means your RSS reader might have gone crazy, and that the dates on the posts below are utter nonsense.

On the upside though I’ve made some design changes, and we now use SCSS, because as I experienced on my placement with GDS, it works a whole lot better.

Also posts inside GoBlog are consistently called ‘posts’. This is in anticipation of Page support coming in the next couple of days. That will mean the nav bar at the top will actually work.

Also I fixed the caching using Varnish to cache instead of nginx. That means the overengineered stack is now GoBlog -> Varnish -> Nginx. Varnish takes care of caching, nginx takes care of SSL and goblog takes care of the rest. I’m hoping at some point I can give GoBlog SSL support, then Nginx can die a death and Varnish can just pass the SSL through.

The Guardian

Dan and I got mentioned in the Guardian for our hack!


It occurs to me that most people would have no idea what this blog is running on.

It uses GoBlog which I wrote myself to learn some Go.