Programmers are sometimes thought of as machines that turn caffeine into code.
Ask any programmer when they do their best work and there’s a high chance they will admit to a lot of late nights. If a programmer wants to avoid distraction they we could just lock the door, what’s so special about the night?
I think it boils down to three things: the maker’s schedule, the sleepy brain and bright computer monitors.
1) The maker’s schedule
Paul Graham wrote about the maker’s schedule in 2009 – basically that there are two types of schedules in this world.
- The traditional manager’s schedule where your day is cut up into hours and a ten minute distraction costs you, at most, an hour’s worth of time.
- The maker’s schedule – a schedule for those of us who produce stuff. Working on large abstract systems involves fitting the whole thing into your mind.
This is why programmers are so annoyed when you distract them.
Because of this huge mentally immersed requirement, we simply can’t truly start working until we can expect a couple of hours without being distracted. It’s just not worth constructing the whole model in your head and then having it torn down half an hour later.
The sleepy brain
But even programmers should be sleeping at night. We are not some race of super humans. Even programmers feel more alert during the day.
Why then do we perform our most mentally complex work work when the brain wants to sleep and we do simpler tasks when our brain is at its sharpest and brightest?, because being tired makes us better coders.
Similar to the ballmer peak, being tired can make us focus better simply because when your brain is tired it has to focus! There simply isn’t enough left-over brainpower to afford losing concentration.
I seem to get the least work done right after drinking too much tea or having a poorly timed energy drink. Makes me hyperactive and one second I’m checking twitter, the next I’m looking at reddit or liveleak and I just seem to be buzzing all over the place..
You’d think I’d work better – so much energy, so much infinite overclocked brainpower. But instead I keep tripping over myself because I can’t focus for more than two seconds at a time.
On the other side, when I’m slightly tired, I just plomp my arse down and code. With a slightly tired brain I can code for hours and hours without even thinking about checking twitter or facebook. It’s like the internet stops existing.
Bright computer screens
This one is pretty simple. Keep staring at a bright source of light in the evening and your sleep cycle gets delayed. You forget to be tired until 3am. Then you wake up at 11am (pre-children life) and when the evening rolls around you simply aren’t tired because hey, you’ve only been up since 11am!
Given enough iterations this can essentially drag you into a different timezone. What’s more interesting is that it doesn’t seem to keep rolling, once you get into that equilibrium of going to bed between 3am and 4am you tend to stay there.
Or maybe that’s just the alarm clocks doing their thing because society tells us we’re dirty dirty slobs if we have breakfast at 2pm.
To conclude, programmers work at night because it doesn’t impose a time limit on when you have to stop working, which gives you a more relaxed approach, your brain doesn’t keep looking for distractions and a bright screen keeps you awake.
Sneaky bastards got me at last, hows this for an attack that even a reddit level geek fell for. Here are the steps of it, its how it started that got me I never heard of them starting out like this…
1) I place an ad on gumtree, with my mobile and email on there to contact me.
2) Several days later I get this SMS
Hi, I tried to call without answer..I want to buy your ad from gumtree, please contact me at:[email protected]
3) I email that address, and a little surprisingly coincidentally I get an email rather soon after from gumtree like this
You have a request from Chris Lucket to buy your Gumtree Ad. Click Here to view your request.
The Gumtree Team
Now on google chrome this is totally flagged as a suspicious email, but in apple mail on my iphone this has graphics and is VERY convincing… all spelling and details appear correct, plus its sunday morning.. so half asleep
Click the link and get a login to gumtree, login with what I later realise was not even my gumtree password, this then takes me to a payment details page.. so I think wtf.. why I have to pay at this point?, and stop what I am doing. But again on the iphone this whole login page etc is all very responsive web design and spelling spot on… so I dont think twice… it all started with a text message right?.
Then over the next 5-10 mins I put the above jigsaw pieces together and work out that some smart arse has been scraping mobile numbers off ad sites to start the phishing chain… given it was all handled by me on the phone it looks alarmingly more credible..
So I export my passwords from chrome, and fix up any accounts using that password.. and forward the SMS + email to the service providers to alert them about it.
Stay safe people.. the internet has some dark corner..
Today’s nice tip for a quick solution on how to display something like a word or excel file quickly in the browser rather than the server offering to download the file is to append the URL to the document at the end of this string
Try it out with a word file, rather slick.
This list is mainly targeted at developers using windows computers, however any power user should be able to find a utility or three below which will enhance their computing experience and make things even more enjoyable.
Most of them you will be happy to hear are free, so zero risk to try then out.
Chocolatey – at NetEvolution we are comfortable with both Windows and Linux, installing software with Linux can usually be done with a package called apt-get which retrieves the software you want along with the required dependencies. What is Chocolatey?, its apt-get for windows, working in the same manner as nuget you will find a command line interface for installing all your software currently supported by their repository.
TeraCopy – when you want to speed up copy and paste of files across your filesystem this is just the ticket.
AutoHotKey – something I always try to promote when I see people typing things in repetitively such as email addresses, you can enter a little snippet and AutoHotKey will replace that snippet with a bulk of text you can define in a quick config file.
Paint.net – for most graphical things where what you really need is a good resizer, paint.net will get the job done
7-Zip – forget winzip and winrar etc, this program will handle your archives with ease
Dropbox – can be your free offsite backup for files working in realtime.
Fiddler - An easy, clean, and powerful debugging proxy for checking out HTTP between here and there. It even supports SSL sniffing.