Ciao!
How are you holding up working on that piece of legacy code? This week I'm back to ranting about the rescue project I'm working on.
It is fascinating the amount of accidental complexity that was crammed into that codebase. And if this wasn't enough, there are bugs and inconsistencies all over the place.
What's unnerving is to find clues of negligence in critical places like the payment logic where I found the following comment:
FIXME: This service doesn’t handle charge errors from Stripe!
As I've written before, I'm Grateful for the Opportunity of Working on Legacy Code. But I wanted to share with you what damages caused being "99% done" for a long time in the project.
99 Percent Done — After several weeks of work, we are still 99% percent done. Or maybe I should say 99.9% done. Math is awesome, there's always room to add yet another nine to make it right.
Building Robust Systems with ACID and Constraints — In the last decade we’ve seen the emergence of a number of new flavors of data store that come with untraditional features like streaming changesets, JavaScript APIs, or nestable JSON documents. Most of them assume that the need for horizontal partitioning is a given in this day and age and therefore ACID is put to the altar (this doesn’t necessarily have to be the case, see below). Every decision comes with trade-offs, but trading away these powerful guarantees for the novelties du jour or an unexamined assumption that horizontal scaling will very soon be a critically required feature is as raw of a deal as you’ll ever see in the technical world.
The Cold War Bunker That Became Home to a Dark-Web Empire — An eccentric Dutchman began living in a giant underground facility built by the German military—and ran a server farm beloved by cybercriminals. (It's a long one but what a story!)
How to deal with money in software — I recently did my accounting for my investment account. I noticed a significant amount of errors in the account statement that my broker gave me. After a bit of a rant on twitter, I want to explain what they likely did wrong and how to deal with money correctly.
I recently suggested giving more depth to your reading in How to Tame Your Reading List to Support Your Goals. I practiced what I preached by getting in touch with Tom.
I confessed I made some of the mistakes he highlighted in the article and went on asking a couple of questions.
He was so kind as to reply with
If you're not ashamed of code you wrote six months ago, then you're not learning fast enough. Don't beat yourself up :)
We went on exchanging a few more emails. It made my week to get in touch, I learned cool stuff, and, hopefully, I shared some positivity along the way.
I totally recommend taking a look at the cool stuff Tom is working on. Definitely one of the most stylish speakers I've been exposed too!
Whom did you get in touch with this week? Well, you are just one button away, hit reply, and say hi!
Thanks for spending some time reading with me. Talk to you soon.
Yours truly,
Riccardo.