MirrorKey 16 August, 2014

key_1Inspired by React’s keyMirror function I decided to roll my own, with one extra feature. It was really more of an excuse to start contributing to my GitHub account again, as I realise that the thing I made isn’t really note worthy. But then again, around 120 people have downloaded it in the last month, so maybe it’s not that useless.

(more…)

The state of mobile browsers 12 August, 2014

browsersThis isn’t a technical post, but a rant from a user’s point of view rather. I’m going to talk about mobile browsers on Android, as that’s the device I own. I don’t know what the situation is like on iOS, Windows or other. But I do hope it’s better.

(more…)

I wrote two blog posts 5 August, 2014

I haven’t posted here in a while. But I have written two blog posts for my company’s blog. The first one is about me attending a London JS classes lecture, where I learned how to use JavaScript to control an Arduino. You can read it here.

The other one was published more recently, and talks about using git bisect and a product we make, BladeRunnerJS. Read it here.

Creating a faster forEach shim 15 February, 2014

shimUnfortunately we still need to support IE8 at our company, as that is what customers demand. Frustrating but necessary. So we have to spend a great deal of time fixing performance issues in this old browser. Recently a lot of us had serious performance problems with looping over arrays with the ES5 Array#forEach, so we had to change the code to “regular” for loops. And in one case even create an asynchronous forEach because IE8 just can’t handle the amount of data we are throwing at it.

(more…)

Fixing console.log() 9 February, 2014

I’ve written about the problems of console.log(). I’ve also said that I’m going to do something about it once I have some spare time. Well, I had some spare time, so I fixed it.

(more…)

console.log() is not a log 13 November, 2013

Today I’ve stared in my screen in disbelief when I’ve found out that `console.log()`, in Chrome (haven’t tested other browsers), doesn’t work the way I thought it works. I’d rather not think back on how many hours I’ve wasted by missing a bug because of this. So what’s the big deal? Well, it turns out that when you log an object  to the console, it might not actually log what you think it should log.

(more…)

Notifications overload 10 November, 2013

This is one of those first world problems, for sure, but it’s also a good startup/pet project idea. I’m sure anyone with a smartphone has the same problem, they might just not realise they have it. Notifications. They’re great, they let you know what’s going on. But it’s a problem because you get notified two, or more, times for everything.

(more…)

On semicolons & brackets in JS 25 October, 2013

SemicolonJavaScript allows you to omit semicolons at the end of certain statements as they will be inserted for you automatically. One can also put opening curly brackets on a new line. These two things are optional. Until they aren’t. And then it hurts.

(more…)

30 days of GitHub 2 October, 2013

30githubToday marks my 30 day streak on GitHub. I didn’t start off with the goal of reaching 30 days, it just kinda happened. Sure after a while I didn’t want to break the streak, so I’ve “cheated” a bit occasionally with just opening a issue or by removing a space here and a new line there. But most of the days I’ve actually done something meaningful. And I plan to continue.

(more…)

grunt-stitch-js 21 September, 2013

stitchingI’ve been working on a small JS library lately and as things started getting bigger and bigger it was time to split the code across multiple files. Having small pieces of functionality in separate files is great for reusability and testability. But then I had a problem of how to create the output file that would contain all the code, wrapped in a IIFE.

(more…)