My Least Favorite Need
2 min readI need a computer to pay for things. Proving ownership still isn't a reliably solved problem and it's unlikely to go away as long as we have a concept called "ownership". From a programmer's perspective, transferring funds is just "authentication + value > source + destination". There's more to it, but those are the fundamentals. In fact, almost all computer transactions of any sort involve some form of this.
Computers are funny beasts. On one hand, the Apollo Guidance variety had absolute reliability for specific tasks and a specific mission. On the other hand, the general use phylum has gotten better at being worse. I'm not sure if that's the hardware, software, user assumptions, or a combination of all.
Simplicity is the hardest problem in computer science.
Spending isn't the only thing I need a computer for. Most of my thoughts, including this collection, now get copied to digital storage at some point after being stored on processed cellulose.
I also need to routinely update my black boxes because humanity, like the harsh environment of space, tends to impart entropy on anything it encounters. Worse than radiation, human influence doesn't follow a straight path, even when accounting for spacetime distortions.
Building structures solely for convenience of assembly eventually leads to their collapse. That's true of both concrete and code. Most software we see today is heavily write-optimized; The rationale being, clarity and maintenance are more important than pure efficiency and simplicity. Maintenance is the MacGuffin in the story of computers that is never actually revealed.
Last week, I tried upgrading my laptop, which has an encrypted hard drive. It went spectacularly wrong as it did the the last two times I upgraded. The software I use is Manjaro, which looks and works very well, except for those instances of upgrading while encrypted. I can confidently say, It's not ready for encrypted use. I'm still going to keep using it because I haven't found an alternative that I like better. Before this, I used BunsenLabs which is simple and reliable, but didn't have the functionality I needed to keep using at work.
Compatibility is the second hardest problem in computer science.