Throughout my career, I’ve learnt, usually the hard way, the importance of getting the foundations of whatever I was working on right. Or at least as right as possible. I learnt how fundamental it is for setting your project — and by proxy, your team — up for success. I’d argue it’s one of the most important things you should pay attention to. Getting the basics right is notoriously hard due to the inevitability of changing requirements, external factors, etc.| Cybernetist
I have been busy hacking since I got back from my long holidays. I didn’t miss computers while travelling around the world. Not for a second. When you hike up a volcano and engorge yourself in the beautiful views only this planet can reward you with it’s hard to think of computers let alone hacking. But now that I’m back and re-engaged my hacking mode I’ve gained a whole new appreciation for what the act of building software gives me.| Cybernetist
This blog post is a collection of advice or rules I’ve learnt to live by as a software engineer. It’s an accumulation of experiences I’ve gained through working for software organizations of various sizes. Most of the advice in this post is aimed at software engineers, but some may be applicable to other roles and industries. Understand the problems you are solving This isn’t a revolutionary idea. But the very sad reality of life is that it still hasn’t been internalised by so many ...| Cybernetist
Just like many Go developers out there, I’m a big fan of Go standard library. Over the past few years I’ve been hacking on Go, I’ve discovered some real gems that not only made my life as a developer easier (no need to maintain unnecessary code), but they also made my code considerably more readable for others to follow. The last time I blogged I talked about how you can leverage Go standard library to generate weighted random draws.| Cybernetist
When working on my last project I needed to find a way to draw a random number from a list based on some weight assigned to it i.e. given a list of numbers each of which has a weight assigned to it, I had to find a way to draw a number from the list based on the weight. The numbers which have higher weight assigned to them should be more likely to be drawn than the numbers with lower weights.| Cybernetist