You have to find a balance where you know enough to know you have delivered.
Computers Can Be Understood (2020)
11–20 of 21 posts
Re: Computers Can Be Understood (2020)
#12Strive to know as much as possible but delivery is different from achieving understanding. If your goal is to deliver knowledge is just another tool; it is not some magic answer to everything. You have to find a balance where you know enough to know you have delivered.
If you have to modify behaviour of a system without understanding it, the approach is usually to apply even more complexity as a band-aid. This will work in the immediate term, but will make your system more brittle and ironically even harder to understand in its entirety.
Also note that black boxes are rigid. If you don't understand what happens inside a blackbox, you can only build around it. However, for a lot of exciting features, you need to modify the black box itself - which you can't do if you have no idea what it does.
Re: Computers Can Be Understood (2020)
#13Re: Computers Can Be Understood (2020)
#14I tried very hard to steer an old colleague away from their "magical" view of computers, because at some point I aggregated enough experiences and insights to agree with the article's thesis. When working closely with hardware, there's no way around breaking that magic. I would even flavor that how it all "actually" works physically is cool and magical (in a we can compose magic way). It was interesting to connect so…
Re: Computers Can Be Understood (2020)
#15Re: Computers Can Be Understood (2020)
#16At a fundamental level I understand that doping silicon turns rock into transistors upon which a computer is built. I still think it's magic though.
Re: Computers Can Be Understood (2020)
#17Ended up spending several hours digging through their docs and scattered code until it became clear to me that the hugo-stuff was just out-of-date and poorly stitched together tooling around hugo build that was made to run in CI, and there was no actual git functionality, just web hook APIs specific for GitHub/GitLab/Bitbucket.
Even leaving that aside and figuring out how to properly upload the ready-made static directory, which I got to in the process, would have taken its own fair share of detective work.
Whereas if I had treated it like magic, I could have just zipped it up and drag-and-dropped it in their web UI and be done in 2 minutes.
It still bothers me how they go to such great extents to make it as appealing and smooth as possible for the majority happy-path use case but end up making it extremely confusing to do what in the end turns out to be trivial. Even deliberately using technically incorrect terminology in documentation (which act as misdirection) just to align with common misconceptions.
I can't seem to properly verbalize the eerie feeling I have but it relates to a trend leading to devs only using ready-made tools and APIs precisely on their abstraction level, dumbing down, total centralization of internet infrastructure, and an eventual ban on or unavailability of general computing for individuals.
Re: Computers Can Be Understood (2020)
#18I had an experience similar to their Lambda one not that long ago. Needed somewhere to host a static Hugo site, went with Netlify, who marketed some vaguely specified special support and functionality for Hugo, and "sync-to-git-repo" functionality. Ended up spending several hours digging through their docs and scattered code until it became clear to me that the hugo-stuff was just out-of-date and poorly stitched toge…
Almost anything in software can be implemented, sold, and even used given enough determination. There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way—and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay.
- C.A.R. HoareRe: Computers Can Be Understood (2020)
#19"At core, computers are built on a set of (mostly) deterministic foundations, which follow strict rules at each tick of the clock. We built layers upon layers of abstractions upon those foundations, each of which, as well, behaves in a (mostly) reproducible and deterministic way based on the abstractions at the previous level. There is no magic. There is no layer beyond which we leave the realm of logic and executing…
Re: Computers Can Be Understood (2020)
#20I had an experience similar to their Lambda one not that long ago. Needed somewhere to host a static Hugo site, went with Netlify, who marketed some vaguely specified special support and functionality for Hugo, and "sync-to-git-repo" functionality. Ended up spending several hours digging through their docs and scattered code until it became clear to me that the hugo-stuff was just out-of-date and poorly stitched toge…
This quote feels oddly relevant: Almost anything in software can be implemented, sold, and even used given enough determination. There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way—and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very ric…