We had a funny situation. Our Sphinx Search Engine crashed the other day and, once restarted, it reported that it’s doing crash-recovery of Real-Time (RT) Index using a 76GB binary log. And you don’t need to be Computer Science major to understand that recovering anything from 76 gigs would take … a while. Now, here’s […]
Category: Programming
What I didn’t know about ‘I’ in ACID
From having your ORM randomly lose data to getting $50,000 in BTC stolen, is a range of documented issues related to faulty understanding of DB isolation levels and how they behave under concurrency. And that’s stupid, because, if you took 10mins to read this article, you’d be well equipped to actually understand how your system […]
Ability to Deliver: Rather important and yet often ignored Engineering skill
Ability to deliver working software within an agreed timeframe is one of the defining characteristics of a Senior Engineer. Understanding WHAT you are building, WHY is it being built and WHEN it needs to be delivered is obligatory. And, just like any other skill, it requires knowledge and constant practice. This article will provide you […]
Integrate-first approach
This is a mistake I keep seeing, and occasionally becoming a victim of, which just shows how easy it is to be fooled by it. Whenever it comes to building anything involving more than one component, I’d always have a tendency to try and build in isolation-first, and work on integration later. I’d even fool […]
Project Hail Mary and Debugging Legacy Apps
What do the new book by Andy Weir and debugging of legacy apps have in common? If we ignore the fact that Andy is a former software engineer who successfully became a successful writer (somebody’s wet dream came true), and hence my admiration, there’s something else in play here. To be clear, I absolutely […]
Turning Chaos into a Line
I’m the most chaotic and unorganized person ever. Seriously. Give me an unknown task and, deep down, I go full blown hazard. Favorite example is my manager making a request to provide a timeline and plan to do X, where X is usually something that I have no faintest idea about. Gotta admit that […]
REST is a Supermarket and GraphQL is a Hot-dog stand
Got confused by the title? Good! Bear with me, I’ll explain. Most of my articles come from the same source. Well, two sources, actually – frustration and willingness to understand a deeper meaning. There was a time when I became obsessed with REST. Primarily out of frustration that I couldn’t understand what “that does […]
MORE responsibility means LESS availability
If you’re looking for a one-liner for this article, here it is — by taking more responsibility and higher roles, you are NOT supposed to be MORE available but quite the contrary! You have to DEFEND your time as if your life depends on it! Or else, a burnout is a guaranteed. Choose your […]
Let’s talk about Data Models and ORMs
I can’t really pinpoint the moment that got me thinking. It was probably related to the sheer number of code tests that I’ve been reviewing lately and the rising phenomena of “Framework Developers”. I’m not talking about developers who actively develop frameworks. No. I’m talking about people who actually learn to program by learning […]
Why do we suck at estimating stuff?
You will find this funny now. I announced this article without having any clear idea of the answer behind the WHY question. I have perfect examples of HOW we suck and WHAT to do to fix that. But WHY? Well, that’s what I planned on finding out as a direct consequence of having to […]