-
He got 1%, we can't hire him
Eight young undergraduates were paired up into four teams and were squirreling away on a technical test I had set them, the test was simply to create a normalised relational database for an online bookstore (think Amazon), and then present their findings to a small team of technical folks who would fire some random questions. There was no right answer, and similarly there were no metrics used to decide a winner - the winners would simply be those who we (the developers) felt were a good fit and …
Keep Reading... -
London, New York, San Francisco & deceptive wages
San Francisco, Silicon Valley, New York, London et al... it's often boasted that these are the hottest startup locations on the planet and therefore they attract the best talent on the planet. But it's also no secret that these locations also have some of the highest living costs on the planet too, just recently there was an article in VentureBeat describing the recent absurdity of living costs in SF, similarly it's common knowledge in the UK that living in London costs on average 25% more than …
Keep Reading... -
Medium Sucks
The more I use Medium (to blog) the more I am confused by it - I initially (and tentatively) started blogging on there only a week or two ago following a lot of community hubbub about it being the next great place to blog, and hey, it's founded by some guys from Twitter so it has to be good, right?
It's a nice interface - Everyone likes a lovely clean interface and that's what they've created, props to them for that! But technology alone does not make a product
Content discovery blows - It …
Keep Reading... -
Javascript precision timing
I've been working on a web-based animation intensive application recently and needed to track the performance of certain routines, I started out by doing this dirty trick:
var startTime = new Date().getTime;
...
console.log((new Date()).getTime() - startTime )
The results really weren't that satisfactory and the resolution was a little poor, I had a few results return the same times even though they were executing synchoronously. And then I remembered the W3C High Resolution Timers API. …
Keep Reading... -
Javascript Asynchronous Problems
I've been doing some time-sensitive Javascript based animation recently and noticed a funny bug which is essentially related to throttling asychronicity in the browser. Essentially what I was doing was:
setTimeout(func, 0);
In my particular use-case I wanted to some logic to execute behind the scenes, away from the animation - otheriwse I could have just lumped it all in requestAnimationFrame. Using the setTimeout method introduced a very minor bug whereby if the user went very fast in …
Keep Reading... -
CSS 101: Every element tag already has CSS applied
I gave a talk regarding CSS usage and typically one of the first things I cover is that all HTML tags by default are given default CSS tags by the browser - with the exception of some old (magic/shit) tags like BLINK and the timeless MARQUEE tag.
It is surprising how many people do not know this, the browser may also do some other unexpected things by default, for example it may create tags without you knowing about it to satisfy its parser. I know this because I've had to debug the Firefox …
Keep Reading... -
Project Management Follies
So I received an email today from a top UK job board, with the title of "Project Managers - You're the special ones!". I found that title actually pretty disturbing because in my time as a developer the worst link in the chain of a product lifecycle is often the Project Manager, that doesn't mean that all Project Managers are shit - it just means it job that we seldom see done well.
It also signifies that the UK IT industry is expanding (a good thing) but is potentially investing in the wrong …
Keep Reading... -
If I can't see it, you're crap
One thing that's really bugging me these days is the attitude that developers have towards each other if they can't see your work, consider the following:
Developer 1 Has a ten year history of working for FTSE 100's (or Fortune 500's), led teams of up to 15 devs, mentored junior devs, claims to know 20 programming languages and has at least a working knowledge of each - but doesn't have any code on Github, doesn't have a blog and no code portfolio to show
Developer 2 Has a ten year history …
Keep Reading... -
The Fast Hardware Lie
I just read the Tom's Hardware review of the 12 core Xeon with 30MB cache, which breifly covers the new Apple Mac Pro - it's all incredibly impressive and makes me salivate at the prospect of owning such a finely crafted peice of hardware. But as a web developer I have to ask myself if it's really beneficial to web developers as a whole to develop on high-end hardware.
Works on my machine
My problem with high-end hardware is that it's not representative of the commodity hardware that's …
Keep Reading... -
Productivity Hacks For The Nocturnal Hacker
Maybe not just for the nocturnal hacker, probably for everyone.
TLDR; Increase your available time in the evenings. Increase your energy. Avoid burnout. Have an understanding wife/partner. Get a routine. Monotask. Plan your time and lower your expectations... but not necessarily in that order.
There was some discussion on HackerNews about how I keep up a moderately intensive and consistent workload outside of my regular 9 to 5 job - I've been doing this for a few years now and it's …
Keep Reading... -
Hacking Winamp For Fun And Profit
TLDR; I hacked Winamp and their shoutcast services, I hacked set-top-boxes and negotiated multi-million-dollar deals - it all ended with a bang.
In the last few months of leaving a very shitty job overseas I realised that I missed watching British and US TV shows, at the time there were only a few good English speaking channels in Bulgaria - and by that I mean the best on offer was the Discovery channel. A light switched on in my hacker-brain and I figured the internet could help with this …
Keep Reading... -
Hex, Lies and Startups
At the age of twenty I started working for a startup in the translation industry, I was their first employee.
The company would later sell for £60M.
Here's my story.
The founder (let's call him John) had already worked in the translation industry, he'd stolen a few clients, some data, rented an office and hadn't really thought about the rest. It was my job to reshape the stolen data beyond recognition and automate as much of the project management as possible. I was given a low salary …
Keep Reading... -
An Awkward Conversation
*RING* *RING*
*RING* *RING*
*RING* *RING*
*Looks at phone, unknown number, probably a recruiter... to answer or not to answer?*
ME: Hello
RECRUITER: Hello can I speak with Matthew Johnson?
ME: Speaking...
RECRUITER: Oh hi Matthew, my name's ### and I'm calling from ### with regard to an exciting opportunity that's come up in London for a Senior Developer, are you interested?
*Sounds fairly generic, can I be bothered spending 4 hours a day travelling to London? NO. What's the probability …
Keep Reading... -
Hello World & Open Source
Sure, this is the obligatory first-post of any blog, and instead of (or as well as) the usual "hello world" I decided to open-source the skin for this blog which you can find on GitHub.
My first stab at getting a blog-engine up and running was with Phil Haack's seemingly dead blog engine Subtext - I only used it because it was the first one I found when I searched Google for "Open Source .Net CMS" - I was a little surprised to see there was no generic Twitter Bootstrap template for it, …
Keep Reading...