Category Archives: Video

Under the hood of my Hack24 entry

I competed by myself at hack24. I don’t see competing alone as a massive issue personally, as it cuts down communication overhead by a massive amount. 😉

For those that haven’t heard of hackathons before, the concept is fairly simple:

  • Teams of 1-4 people.
  • Multiple challenges (at least in this event)
  • 24 hours to build a solution.
  • Only code you have written during the event (or Open Source libraries/apps) can be used.

It is quite gruelling to compete in these types of events; you have limited time and you need to prioritise your time across features and components carefully so you don’t end up with a complete backend but no frontend or similar.

Generally you omit anything that is not-essential such as login systems, logging or some error checks etc.

I used the event to test some of the ideas and applications (Microservices, RabbitMQ, Riak, Nginx, php-fpm etc) I have been using on larger projects in a smaller time constrained project – and I think the outcome proves that it works.

I am a big fan of microservices; breaking your app into small testable components with fixed interfaces is awesome for quick building and easy debugging – want to test if something is working, inject a message into the input and see what the outputs are. Once working you can mostly treat it as a single component and move onto the next piece. It keeps your mind focused and, at least for me, reduces stress.

I am a long-time PHP coder and so it made sense, when it came to quick prototyping, to use this and the lightweight Slim framework as my language of choice – both for the frontend and all the workers on the backend all running on top of a single Vultr VPS [disclosure: url contains affiliate link].

Screenshot

SMS proxy – my hack24 entry

I broke the project into 4 main parts:

  • Frontend (website, sms callback hook for receiving messages from Esendex (the challenge sponsor))
  • Receiving worker (take messages from callback and lookup entries in Riak and route to next processing step either filter or directly to sending worker)
  • Filter (responsible for transforming the message before routing the message to the sending worker)
  • Sending worker (responsible for sending the message out via Esendex)

I am open-sourcing the code as a learning tool for other people (and perhaps so I can abuse it in later events…)

You are welcome to ask any questions and I will do my best to answer them.

If you want to contact me, please use twitter or email mike @ technomonk . com

Wearable exo-skeletons

Wearable exoskeletons…

 

Lets revive the golden rule

Lets revive the golden rule…

Homeopathic A&E

Sorting Algorithms

Inception corridor sequence

Small changes…

It’s interesting how sometimes even small changes can have big results in life.

http://www.facebook.com/video/video.php?v=10150136593997854&comments

 

Small solutions to big problems

We live in an odd world. There are solutions to many problems, but increasingly people are ignoring the simple efficient solutions.We have governments throwing more and more money at problems in the hope that they will be solved and while at the lowest levels more resources mean more results, the management layers above tend to consume a larger and larger amount as the project grows. Also any failure in the structure tends to filter down and disrupt anyone below, decreasing the useful work done. These tend to be the major problem with a hierarchical structure.

What we need is a more distributed organisation… where solutions are applied locally and successful solutions are shared with the world.

Where do you work?

I work from home. I admit it…

It might not have the prestige of having a big shiny office with a dozen designers and programmers into it, but it is my workspace.

The biggest down side for me is the number of interruptions I get. People (family especially) just don’t understand that if you are coding and have your mind on a problem that even snapping you out of it for 20 seconds for a quick question can cost you hours when your thoughts are derailed. In many ways it is like sleep, you can be in a deep sleep, but as soon as someone wakes you up, it might take hours to fall back to sleep again.

I’ve tried a number of techniques that might work in an office such as wearing headphones to mean you shouldn’t be disturbed, but while you are ‘at home’ you are in their mind not ‘at work’ and hence not working.

Jason Fried of 37 Signals has a slightly different view on the idea of interruptions, but still worth considering.

So where do you go to get real work done and how do you avoid interruptions and distractions?

<iframe title=”YouTube video player” width=”640″ height=”390″ src=”http://www.youtube.com/embed/5XD2kNopsUs” frameborder=”0″ allowfullscreen></iframe>