Inspired 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.
This 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.
Unfortunately 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.
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.
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.
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.
Today 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.
I’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.