I always enjoy danluu's blog; one of the few I have bookmarked and go randomly read from time to time. Some random comments on out-of-context snippets:
> For example, we tried "buy" instead of "build" for a product that syncs data from Postgres to Snowflake. ... Despite being widely recommended and the leading product in the space, the product has a number of major design flaws that mean that it literally cannot work.
This is nearly always my experience with buying software, especially software I know I can write myself. I always run into massive pushback if I propose writing such software. It comes across as too risky -- what if I get bored, what if it's actually too hard and I can't do it, etc. What people never think about are the benefits; full knowledge and control over the process.
I have bought so much software and it's made me sad every time. You're always promised the world before you sign the contract, and then you sign it and none of the things that were supposed to work work. Support tickets take days to be resolved; passed around like hot potatoes. In the time it took to get someone to reply to my email, I could have just written it myself.
Many years ago I was looking at Istio. I wanted some enhanced Kubernetes ingress support, and Istio checked the checkboxes; what I needed now, and room to grow. But it sure had a lot of detractors on the Internet, and a ton of alarming-sounding open bugs. I thought about rewriting the parts I needed from scratch, and went to see what parts of their code I could steal.
I looked at the core XDS implementation, and it was completely wrong. It didn't implement the protocol correctly at all, conveniently swallowing crucial errors that probably explain most of the filed bugs.
So, I decided to write my own version and a few days + 2000 lines of code later, I had the parts I needed and they worked perfectly. I didn't have to scrutinize the docs, I didn't have to file 30 bugs. I just typed in some code, deployed it to production, and ... it's never bothered me since. It was risky, but it worked out better; I can explain the entire system to anyone with a question and I can add whatever features I want. It was way better than buying. (I'm equally happy with the two version of a single signon system I wrote. It works exactly how I want it to work, and costs $0 month for an Enterprise contract. Savings!)
There are counterexamples, of course. Once upon a time, I needed to learn CAD. Instead of writing my own software, I just bought Fusion 360. I didn't know anything about CAD at the time, so there is no way I could have built something better. (I probably could have implemented the "don't crash for no reason" functionality that eludes their developers, but wouldn't have even known to implement sketches or geometric constraints. They just know the domain so much better than me, there is no way in the world I could ever have made something better.)
> Since then, many people have changed their opinion to "having ever locked down was stupid, we were always going to end up with endemic covid, all of this economic damage was pointless".
This happens all the time, not just with pandemic restrictions. The pattern is that people want to cure X, and suggest remedy Y. People try remedy Y for a while, get bored, and then declare remedy Y a sham. It's universal across fields; "I tried running but didn't lose weight", "We tried writing more tests but it didn't increase reliability", "We tried sheltering in place but the disease didn't die", "I took antibiotics for a few days but the strep throat came back". The problem is not that remedy Y is ineffective (though it certainly can be, that's where this heuristic comes from), but that it wasn't used for long enough. I think changing habits is one of the hardest things humans can do, so we are quick to declare defeat when success can only be measured over a long period of time.
> You could imagine services would, like Amazon, request a photo along with "proof of delivery" or perhaps use GPS to check that the driver was plausibly at least in the same neighborhood as the building at the time of delivery, but they generally don't seem to do that?
Amazon does this sporadically. Sometimes I get photos, sometimes I don't.
> having ever locked down was stupid, we were always going to end up with endemic covid
COVID lock down/shelter in place orders were never intended to avoid endemic disease altogether. They were about slowing down its spread just enough that the healthcare system would remain functional while the disease became endemic. And they mostly worked OK for that.
One of the issues with how it was handled was the handwavy and contradictory information that many governments and public health czars circulated: that handwashing is most important, that masks are effective or not effective or only some kinds are, that the lockdown will be "two weeks to slow the spread" and so forth.
It was the public health equivalent of "take two asprin and call in the morning". While there were successes for sure, clear and consistent communication was not among them.
A lot of that came right from the top. In the UK we had a prime minister who said he was shaking peoples hands in hospital and attending his mothers birthday party to nearly dying within a couple of weeks.
There’s a difference between “plumbing” software and “user” software. If photoshop or autocad become crap something will replace them (the pressure Dan talks about).
But most enterprise software is plumbing - that you figure out how to use “well enough” and mostly leave it alone to do its thing. That software has little pressure and often ends up being basically bypassed.
The users of enterprise software are captive, they can't choose another solution or supplier without changing jobs. Mostly they hate it and IT in general which I think is at least partially the reason for the success of SaaS.
Dunno which it's more of, tragic or hilarious -- probably both, about fifty-fifty -- how they usually don't realise that they're just as stuck with their SaaS supplier.
> For example, we tried "buy" instead of "build" for a product that syncs data from Postgres to Snowflake. ... Despite being widely recommended and the leading product in the space, the product has a number of major design flaws that mean that it literally cannot work.
This is nearly always my experience with buying software, especially software I know I can write myself. I always run into massive pushback if I propose writing such software. It comes across as too risky -- what if I get bored, what if it's actually too hard and I can't do it, etc. What people never think about are the benefits; full knowledge and control over the process.
I have bought so much software and it's made me sad every time. You're always promised the world before you sign the contract, and then you sign it and none of the things that were supposed to work work. Support tickets take days to be resolved; passed around like hot potatoes. In the time it took to get someone to reply to my email, I could have just written it myself.
Many years ago I was looking at Istio. I wanted some enhanced Kubernetes ingress support, and Istio checked the checkboxes; what I needed now, and room to grow. But it sure had a lot of detractors on the Internet, and a ton of alarming-sounding open bugs. I thought about rewriting the parts I needed from scratch, and went to see what parts of their code I could steal.
I looked at the core XDS implementation, and it was completely wrong. It didn't implement the protocol correctly at all, conveniently swallowing crucial errors that probably explain most of the filed bugs.
So, I decided to write my own version and a few days + 2000 lines of code later, I had the parts I needed and they worked perfectly. I didn't have to scrutinize the docs, I didn't have to file 30 bugs. I just typed in some code, deployed it to production, and ... it's never bothered me since. It was risky, but it worked out better; I can explain the entire system to anyone with a question and I can add whatever features I want. It was way better than buying. (I'm equally happy with the two version of a single signon system I wrote. It works exactly how I want it to work, and costs $0 month for an Enterprise contract. Savings!)
There are counterexamples, of course. Once upon a time, I needed to learn CAD. Instead of writing my own software, I just bought Fusion 360. I didn't know anything about CAD at the time, so there is no way I could have built something better. (I probably could have implemented the "don't crash for no reason" functionality that eludes their developers, but wouldn't have even known to implement sketches or geometric constraints. They just know the domain so much better than me, there is no way in the world I could ever have made something better.)
> Since then, many people have changed their opinion to "having ever locked down was stupid, we were always going to end up with endemic covid, all of this economic damage was pointless".
This happens all the time, not just with pandemic restrictions. The pattern is that people want to cure X, and suggest remedy Y. People try remedy Y for a while, get bored, and then declare remedy Y a sham. It's universal across fields; "I tried running but didn't lose weight", "We tried writing more tests but it didn't increase reliability", "We tried sheltering in place but the disease didn't die", "I took antibiotics for a few days but the strep throat came back". The problem is not that remedy Y is ineffective (though it certainly can be, that's where this heuristic comes from), but that it wasn't used for long enough. I think changing habits is one of the hardest things humans can do, so we are quick to declare defeat when success can only be measured over a long period of time.
> You could imagine services would, like Amazon, request a photo along with "proof of delivery" or perhaps use GPS to check that the driver was plausibly at least in the same neighborhood as the building at the time of delivery, but they generally don't seem to do that?
Amazon does this sporadically. Sometimes I get photos, sometimes I don't.