Hackference Birmingham was the first event I had been to that was both a conference and a hackathon. Both parts excelled my expectations. Its also the first big event I’ve been to in Birmingham outside the national exhibition centre (NEC) and the developers in Birmingham made me feel very welcome.
This is a reflection of what happened at the conference part of Hackference Birmingham.
I may have taken some poetic license with my description of these talks. This represents my interpretation of those talks and not necessarily what the speakers were actually saying! Hopefully its close enough…
The opening talk by Syd Lawrence was very inspiring and a great way to wake up sleepy developers. Syd encouraged us to stop watching Coronation Street and try tech stuff out instead. Its easier than you think and there are lots of API’s, tools and frameworks that make it even easier. (the amount of hardware hacking in hackthons demonstrates how easy it is to get something working).
Its easy to make excuses not to try something new but every day it is getting easier and easier to try things out. Over the last decade software development has truly become soft and malleable, so code is easy to change and using tools like Git its easy to change that code without hanging yourself.
In the last few years the same level of tinkering and malleability also applies to hardware. With arduino & raspberry pi kits along with tonnes of components its easy to build something with hardware and then pull it apart and build something else. Electronics is after all a lego box of components for you to experiment with.
This encouragement from Syd reminded me of the BBC children’s TV show from the past, Why dont you? which inspired me to go out and do fun stuff when I was so much younger. Now I am older, why shouldnt I have just as much fun :)
Lorna Jane Mitchell gave a run down of the do’s and don’t of API design. Having developed a number of API’s herself you could hear the experience dripping from her words.
I cant do justice to her talk so I suggest you take a look at some of the quotes I pulled from her talk and if you like what you read then go and buy her book… you wont regret it.
- HTTP has status codes, so use them to understand what is going on
- Content should be determined by header content type rather than URLs
- SOAP is great for Java/C# devs as they have a button that generates a SOAP service, hainving to type a lot of XML is not nice
- REST is great but has “enthusiasts” that tell you your REST is wrong. Taking a pragmatic approach to REST is better rather than trying to reach for perfection
- Build a heartbeat into your API, this provides a simple self help mechanism to check API is being used correctly by developers
- Consistence in experience will make a big difference when devs are choosing to use your API. If your API is too erratic or unstable then you will loose your community.
- Cache GET requests to help scale when you become popular. Your API can use same principles as when caching static assets
- Handling errors is a measure of how good your API is perceived developers
- Tokens are so much nicer to use than a username/password combo for access control. OAuth2 is really nice to use now.
To me, the main point that Lonra Jane was getting across is that API designers need to engage with the community of developers to gain adoption and have a successful API.
Yours truly gave an impromptu talk about Git and Github, providing the audience a whole heap of tips and tricks to get the most out of these distributed version control tools. For those just trying out Git for the first time, I created a Git quickstart guide.
I also created a visual guide to Git and Github workflows:
The tips I shared included:
git addto help you be more selective in what you are committing without having to learn how to cherry pick
git stashto keep your work when you fall behind a shared remote (which I am sure we never do, right)
git logto be more valuable by showing a graph with repos, branches and tags (see my .gitconfig file for examples of aliases used for git log and other useful short cuts)
I also talked about the workflow around Git and Github and encouraged people to keep it simple. You can always add more to your workflow when needed, but jumping straight into something as involved as git flow may not give you the best experience. When you are comfortable with git and are working on team projects, then take a look at Git flow and see if its for you. There is a good overview of Git flow by Jeff Kreeftmeijer.
I didn’t see everyone’s talk as I got into some great discussions with some of the speakers and developers attending the event.
I did managed to catch the Clojure talk given by Joe Littlejohn and Mark Godfrey, speaking on how beautiful and powerful the Clojure language is. Its hard to sum it up in 30 minutes and even harder to share the experience without getting the audience to try the language out. The guys did a good job to get the assembled developers interested. If you want to know if Clojure is for you, then you can check out my eBook Clojure Made Simple.
I talked to several other developers who were looking at Clojure too and I gave them ideas on how to work with Clojure. I also helped out a few people with Clojure during the hackathon weekend.
Overall this was a great event and I came away felling I learnt a lot more from this conference because of the diversity than I did from very focused conferences like jQuery UK.
In my next article about Hackference Birmingham I’ll share my experiences of the Hackathon part of Hackference and tell you about a word I have added to my vocabulary: “Hacklag”.
This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License, including custom images & stylesheets. Permissions beyond the scope of this license may be available at @jr0cket