• 1 Post
  • 956 Comments
Joined 2 years ago
cake
Cake day: June 9th, 2023

help-circle

  • Baking is not chemical engineering. Chemical engineering doesn’t even have much to do with chemistry. It’s mostly about temperatures and flow rates, pressure, etc.

    Saying “the baseline of programming knowledge could be more than zero” is meaningless. The baseline of chemical engineering knowledge could also be more than zero. It’s also a fundamental part of our society. But, the average person doesn’t need to know how to program, just like the average person doesn’t need to know how to design a refinery.

    People do learn some basic computer skills. They should learn more. They should know about files. They should know how to back up their data. And, more importantly, they should learn how to restore data from a backup after something goes wrong. They should know how to properly update their devices, how to tell if their devices are infected, and the basics of managing a home network. They sometimes learn how to do basic functions in excel spreadsheets. That’s about as far as they do, or should need to go in programming / IT. Beyond that, why should the average person need to know how to do recursion, or how loops work?



  • It never actually seems to work out that way though. Sure, for Y2K there was a short period where there were decent contracts fixing that bug in various codebases, but it wasn’t something that lasted very long.

    Managers and owners would much rather pass off a terrible PoS and have their users deal with it, or somehow get the government to bail them out, or hire a bunch of Uyghur programmers from a Chinese labour camp, or figure out some other way to avoid having to pay programmers / software engineers what they’re actually worth.


  • I did that myself back in the day. Not overly complicated, but a SQL builder.

    I think it’s because SQL is sort-of awkward. For basic uses you can take a SQL query string and substitute some parameters in that string. But, that one query isn’t going to cover all your use cases. So, then you have at least 2 queries which are fairly similar but not similar enough that it makes sense just to do string substitutions. Two strings that are fairly similar but distinct suggests that you should refactor it. But, maybe you only make a very simple query builder. Then you have 5 queries and your query builder doesn’t quite cover the latest version, so you refactor it again.

    But, instead of creating a whole query builder, it’s often better to have a lot of SQL repetition in the codebase. It looks ugly, but it’s probably much more maintainable.





  • I’m using automated renewals.

    But, that just means there’s a new cert file on disk. Now I have to convince a half a dozen different apps to properly reload that changed cert. That means fighting with Systemd. So Systemd has won the first few skirmishes, and I haven’t had the time or energy to counterattack. Now instead of having to manually poke at it 4x per year, it’s going to be closer to once a month. Ugh.



  • On some filesystems the data is still there but the filenames associated with it are gone or mangled. That makes it harder to recover things. In addition, while it’s true that the contents are only overwritten when you write data to the disk, data is constantly being written to the disk. Caches are being updated, backup files are being saved, updates are being downloaded, etc. If you only delete one file the odds are decent that that part of the disk might not be used next. But, if you nuke the entire drive, then you’re probably going to lose something.



  • The front page of the web site is excellent. It describes what it does, and it does its feature set in quick, simple terms.

    I can’t tell you how many times I’ve gone to a website for some open-source software and had no idea what it was or how it was trying to do it. They often dive deep into the 300 different ways of installing it, tell you what the current version is and what features it has over the last version, but often they just assume you know the basics.





  • His mother came from money, being the daughter of a banker, and the granddaughter of a banker. His father was a lawyer who founded a law firm focused on corporate law and technology law. Given that his mom knew Opel personally, and his dad was a technology lawyer, is it any surprise that Gates’ first contract with IBM was so incredibly friendly to Microsoft’s interests?

    In addition, IBM was under pressure at that point because it was being sued for antitrust violations by the US government. That limited how aggressive it could be in new contracts without drawing extra attention. In other words, the antitrust effort from the US government took power away from IBM and allowed for new companies to flourish. Then about 20 years later, Microsoft was sued for its own illegal use of its monopoly (a trial at which Bill Gates lied on the stand, and where Microsoft falsified evidence), and this work to limit the reach of Microsoft allowed for the Internet to flourish and led directly to the rise of companies like Google and Amazon. It’s now time for another round of antitrust to allow more companies to flourish – only hopefully this time the antitrust efforts don’t fade out and are aggressively pursued year after year so we don’t get more shitty monopolies making things awful.


  • I don’t see anything unprofessional there. Just naughty words. But, the naughty words are somewhere where they warn you that the code below doesn’t behave as expected, or complain because there isn’t a better way to do something. That seems like the best time to use strong language.

    Cleaning it up is a great idea in theory, but in practice almost everybody has higher priority things to be doing. Leaving a comment in the code for why something is ugly is the best thing you can do when you don’t clean something up, so that someone coming along after you doesn’t struggle with it. We have no idea how many “naughty” comments are no longer there because the issues they addressed were cleaned up.


  • Most of the places I’ve worked I’d have been told to get rid of the cursing before checking something in. But, my own personal codebase has tons of this sort of thing.

    But, aside from the cursing, these actually look like excellent comments. Comments should warn you when the code isn’t what you might expect. These are excellent from that point of view. If this is what a random sampling of the comments in the codebase looks like, it is probably a very well commented codebase.