A full house (tower) at the February edition of HackTheTower, with over 97 developers and 1 robot signed up across several developer communities in London. I could tell it was going to be a big event.
The developers arrived at HackTheTower from different communities, including
- London Scala user group
- London Clojure community
- London Java Community
- London Salesforce developers
- London Software Craftsmanship
Hack the tower is an open space where you can develop anything, all I do is encourage people to collaborate in smaller teams so they can learn things from each other. To that end, I ask anyone with a project or idea to share it at the start and encourage people to join one of these projets. Most people had some idea of what they wanted to work on, although quite a few changed their minds when they heard about the robot project.
I spent part of the day working on Clojure projects, including setting up Clojure on Windows 8 (not a great developer platform). I also helped people get to grips with git and managing multiple repositories as well as a bit of guidance on using Heroku and MongoDB for the London Scala website project.
Much of what we do at Hack the Tower is powered by cloud services for developers. Without tools like Github, Heroku and Google search, coding applications would be so much harder. We got a brief reminder of this when we broke Github :)
Luckily Github was not down for long. As git is distributed, we were able to save our changes locally or topped up on Coffee whist we waited a few minutes for Github to come back.
Everyone’s instant favourite project seemed to be the NVO robot. Its an amazing piece of kit. Essentially a programmable robot that can by default can play Japanese music and do Tai Chi.
You can program the robot visually, by dragging and dropping actions and wiring them up together. You can create a sequence of positions and get the software to work out the moves necessary to go from one position to another. Just like digital animators use in software like blender.
You can drill down into each of these actions and program the robot in python or several other languages.
The robot has stereoscopic cameras and can do face recognition, in that it recognises a face when it is in front of it. This means the robot will talk to you when you when it looks at you, although it cant tell one face from another by default. The robot has pressure sensors and fingers so it can interact with its environment.
There were a lot of developers from LSug group and they ended up split into three smaller groups to focus on different problems.
Some of the team were working with MongoDB, some working on the RSVP via meetup. All the events displayed on the Lsug website can now be joined directly, without having to visit the meetup site. Perhaps the total number of Yes RSVP’s can be added to each meetup?
Coding Board is a small web application allowing developers to share code with each other in a hands-on session. When we want to talk about the decisions we took as we approached a problem, its nice to have the code itself shared on the screen in a syntax highlighted way.
- Scala and Scalatra
- Twitter Bootstrap for the front end framework
- Selenium Webdriver and Specs2 for “testing”
- Heroku developer cloud service for easy deployment
- and no persistence whatsoever..:)
The project is under an open source license and the code is available on Github for you to clone and fork.
Read a blog of the days events for this project from Balint Pato himself.
Two of us helped out a developer relatively new to Clojure, although they did have some past experience with Lisp. We helped them get ther environment set up, which was a bit more of a challenge as the were running Windows 8.
Luckily its still fairly easy to set up a working Clojure environment on Windows, although just about every command seemed to ask for the Administrators password! On the Leiningen website, there is reference to a 3rd party bat file for getting going with windows. The problem with this bat file is that its dependant on either wget or curl, neither of which were available on this machine.
We got round the problem by manually doing what the leiningen bat file did, downloading the .jar file and putting it in ~/.lein/self-install/…jar
A problem still remand with running lein. The version in the .bat file was different from the ..jar file, so lein attempted to use and download a different version, which it couldnt find. As we didnt have curl or wget to download the version in the bat file, we simply changed the bat file manually.
Some other aspects to setting up Clojure on windows 8 included:
- make sure javac is on the path, we only had java and lighttable failed
- install leiningen - there is a bat file or use cygwin
- install lighttable
- use lein to create a new project and connect to a REPL
Another team formed around the Salesforce platform. The were developing a tool to extract data from charity sites like Virgin Just Giving, helping fund raising organisations improve their fund-raising capabilities and getting a better view on where funds were coming from.
The data captured is filtered for the valuable data and the tool would allow you to match the incoming data with existing information you have.
The project is open source and available on Github.
A team was also working on Java and some of the technical activity around the Java Community Process (JCP). The JCP is a way for others to help shape the future of the Java language and define the specifications for the language.
I did wonder at one point if we would still be here coding through Sunday as there were teams coding well into the evening. By about 6pm everyone had got headed off into the beautiful London night.
Come along and join the fun. If you are a developer who likes to learn and share experiences with others, then all you need is a laptop and some enthusiasm (laptop optional).
Sign up at either:
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