Kratu - Decision Matrices on Steroids

Have you ever had to make a complex decision, involving factors of varying degree of importance? Say, choosing which spaceship to buy next? Or have you ever found yourself wanting to focus on where your efforts can have the greatest impact? The latter is what caused me to create Kratu - a real time, open source, decision matrix analyzer on steroids: One of Google's premium partners had a (very) large number of AdWords accounts. AdWords has a whole range of complex performance indicators  that you want to optimize against to get the best value out of your advertising money. When multiplying this with a vast number of accounts, figuring out which accounts to focus on for the best bang for your buck is a non-trivial challenge. Kratu allows you to assess all of the performance indicators in aggregate across all accounts, and rank the accounts according to where you have the highest potential for optimization. It  also highlights which indicators to focus on, effective

It gets better

What is the It Gets Better Project? In September 2010, syndicated columnist and author Dan Savage created a YouTube video with his partner Terry to inspire hope for young people facing harassment. In response to a number of students taking their own lives after being bullied in school, they wanted to create a personal way for supporters everywhere to tell LGBT youth that, yes, it does indeed get better. Help spread the word

My Great Underwater Adventure

Talking to some colleagues today, I thought of this video of my Ignite Sydney presentation back in 2012 and remembered that I'd forgotten to post it here. So here you go - my talk on trying to go out of your comfort zone and do something completely different:

Book review: Learning Node.js: A Hands-On Guide to Building Web Applications in JavaScript

Disclaimer: This book was written by my colleague Marc Wandschneider .  I got the book as a free copy. TL;DR - This book is exactly what you need if you want to dive right into web development with Node.js. If you're already familiar with web technologies, it teaches you everything you need to know to start building end-to-end web applications using Node.js. One of my top annoyances are longwinded texts, trying to explain complex concepts. Especially when it comes to non-fictional books, and in particular books about programming. Show me a few lines of good, concise code, and I'll immediately understand what you're talking about. Try explaining it with just text, and I won't have the willpower (let alone the attention span) to read beyond the first couple of sentences. So, when I got a copy of Learning Node.js: A Hands-On Guide to Building Web Applications in JavaScript , I was really excited that it was only 250+ pages long. But my excitement quickly turned

Cool things to do with chrome

Apart from being an excellent browser for web developers,  Google Chrome  is also a pretty awesome browser for everyone else. I've collected a few of the cool things you can do with  Chrome . 1. Incognito Window If you ever need to log in to the same service with two different accounts (say, if you're on your wife's computer and both want to check your gmail), open a 'New Incognito Window' (Shift+⌘+N/Ctrll+Shift+N). Cookies and history entries will not affect other windows. 2.  Undo a closed tab Yes, that's right, simply press Shift+⌘+T / Ctrl+Shift+T and the tab you just closed is opened again! AND - you can press it several times! 3. Pinned tabs Using the same web sites all the time? Wouldn't it be nice if they where always on the same tab so you could use keyboard shortcuts to access them  with ⌘+n / Ctrl+n (n is the tab number you wish to jump to)? Right click on the tab and select " Pin tab " and you have it! In addition, the ta

Shell gems

I found a really good thread via +Patrick Aljord today called Give me that one command you wish you knew years ago on reddit. It had a few really cool commands that I honestly didn't know about: disown Ever been in a situation where you'd like to turn off your laptop, but you just started a long lasting process and forgot to use screen ? disown to the rescue: $> ^Z [1]+ Stopped $> bg $> disown ^D # Process still lives, although terminal is disconnected fc How about those simple one-liners that somehow always turn out to be so long that they really should be done as a script on file instead? $> ls | perl -nle 'started-out-short-and-neat-but-now-long-and-complex-oneliner' $> fc # Opens your $EDITOR and pastes the last command used, ready to be edited and saved! cd - cd - is a small little gem that basically changes your cur

Automating webcam time lapse

Ever wanted to see how stuff changes over time? With a webcam this can be done quite easily. Set up cron/windows scheduled tasks  to go fetch a new image every minute/hour/day and compile the images to a video. I've made a really simple script for making a sliding window view of the past 24 hours that can be used on any image feed. Getting the images and making the video I wanted to use ffmpeg since it has a solid command line interface and it's available on most platforms. ffmpeg wants the image files in a sequential order, so we need to rename the images after adding the newest image. I'm not a bash expert (I usually solve stuff like this in Perl - when you have a hammer etc.), so it's probably other ways to make this work, but at least I think my code is quite easy to read and understand: # Make sure we are in the right directory and that it has an images directory cd /path/to/where/our/timelapse/stuff/will/be mkdir -p images # Delete files older than 1