Yes, Harper's book that I linked above is good for that, imho. It looks like the PDF that is there now is a subset of the chapters of the 2nd edition. In an older version of the page, there was a complete pdf of the 1st edition and that's the one that I used. You might be able to find it in Wayback if you go back to 2015 or so.
Unconstrained curiosity is a superpower. Some of the greatest people in history have had immense curiosity. Think Newton, Darwin, Feynman. In fact pretty much any great scientist is great because of their wide curiosity. It's often the crossover between things that seem unrelated where the breakthroughs lie.
It's a joy to have "the pleasure of finding things out" and I pity anyone who lacks it.
To you maybe. People get satisfaction and purpose from different things. Unbounded curiosity can often drive tangible outcomes too. You might even have that curiosity to thank for methods and tools you use in your own persuits!
At $WORK, we write ~100M rows per day and keep years of history, all in a single database. Sure, the box is big, but I have beautiful transactional workloads and no distributed systems to worry about!
Two days ago, I'd have said the same. Yesterday, big box went down, and because it was so stable, it was a joint less oiled and the spare chickened out at the wrong time and apparently even managed to mess up the database timeline. Today was the post-mortem, and it was rough.
I'm just saying, simple is nice and fast when it works, until it doesn't. I'm not saying to make everything complex, just to remember life is a survivor's game.
You’re right, there are downsides like turbine you mention! We mitigate it by running a hot backup we can switch to in seconds and a box in which we test restoring backups every 24h, that’s necessary! But it requires 3x the number of big expensive boxes.
I still think it’s the right tradeoff for us, operating a distributed system is also very expensive in terms of dev and ops time, costs are more unpredictable etc.
Author here. I did not expect to see my post on HN!
It was a rant, I was venting, it’s not supposed to be an objective statement about the state of tech. It’s shouting into the void about the things I find unfair and unbearable, I don’t think it’s a great HN material.
I made up parts of the story because it didn’t happen to me and I didn’t want to share details of somebody else’s situation.
FWIW I think it captures the sentiment many users have towards software today fairly accurately, and every software engineer who has even a modicum of pride in their trade really ought to pay attention.
One thing I'd like to point out, though, is that this kind of stuff isn't really about micro-optimizations. Most software in the "good old days" wasn't really micro-optimized either. No, what this is about is bloat. Layers upon layers of abstractions that, in most cases, amount to rearranging the pieces in the way the author deemed most aesthetically pleasing. When I look at call stacks while debugging most modern software, I can't help but feel that it spends most of its time calling functions that call functions etc, 20-30 levels deep. Most data flow isn't from component to component, but within the component between those layers. And it all adds up.
I guess “unfair and unbearable” is paying your rent at the last minute after business hours on a phone with 2012 specs. Wouldn’t want to plan ahead and pay on time or pay with a check or pay with autopay or pay with a laptop or pay with a computer at the library for free.
You say it’s not an objective statement about the state of tech and I would agree: it’s highly subjective, a literally made up story, and a dumbass opinion.
Getting a phone capable of doing an online bill pay is trivial. Literally free with a discount shit cheap phone plan.
The victim mentality will destroy you if you let it take over.
Just because the story is believable doesn’t mean that the people who are in the story are without responsibility or fault.
When you get into a lease agreement you should know how to pay going into it. If your landlord doesn’t take a form of payment you can handle you don’t sign the lease in the first place. That’s your life responsibility as a functional adult. Paying rent every month isn’t a surprise. Being low on funds isn’t an excuse and being low on funds isn’t the issue at hand.
Learning Rust by building a simple database using it.
I’ve done my share of programming languages (PHP, C++, Python, Ruby, Haskell) and for the last 10 years I’ve been working in OCaml (which I love so much) but Rust would be a nice addition IMO.
And I never implemented LSM style database before! So that’s fun.
I'm also the Head of The Institute for Type-Safe Memetic Research which website is https://typememetics.institute/
reply