About

I'm Sam Brooke, an earth science student, part time programmer and general misadventurer who enjoys searing hot food, beer, drawing pretty pictures and wasting time on real-time strategy games.

I currently live between Rutland and Liverpool UK.

Geoscience

As a budding geoscientist, I'm interested in computer modelling the environment and climate.

Philosophy-wise I believe that, as a race, we're going to kibosh ourselves unless we keep ahead with clever ideas and technology.

My overriding goal is to try and position myself such that I can contribute to the field.

Programming & Tech

I've always enjoyed tinkering with computers and I now make content management systems and front end websites with a local marketing firm.

Fond of making money and paying off my student loan, I'm also involved in my own little business schemes and web startup.

Aug 15, 2012

Technology

The Learning Curve

So old habits die hard, I've always been a magpie for new technology if it means I might get an edge on functionality or speed, but also I find learning new stuff fun. Recently I've been very interested in the NodeJS project for developing non-blocking client-server apps just using Javascript - one of my strongest languages. I would recommend the fantastic taster course that the excellent CodeSchool provides, which also references many other great Node resources I have yet to explore myself.
Now, coming from a traditional PHP+MySQL server background with static CSS, JS and whatnot, the concepts of non-blocking JS event-driven programming, compiled JS + CSS as well as NoSQL databases has left me with a lot to get my head around. But nonetheless the potential benefits of these approaches is spurring me on, hopefully making app development easier, more fun and, with any luck, delivering a more powerful product.
So with that, and the idea of starting my new projects with some shiny new technology at the cutting edge, I investigated! Below are a list of various tools and libraries that I will be looking into as I begin to re-learn how to develop web apps, they range from layout engines, client-side pre-compilers, web app frameworks to a NoSQL database and, of course, NodeJS itself.
The last link on the list, Socket.io, is one technology that intrigues me the most. Essentially replacing AJAX (although allowing it as redundancy on older browsers) it is a key new tool for communicating between the client and the server in genuine 'realtime' using WebSockets - potentially facilitating very dynamic apps like games.
So plenty to do and play around with. Good thing it's raining outside.