• 3 Posts
  • 1.49K Comments
Joined 3 years ago
cake
Cake day: June 9th, 2023

help-circle
  • and more likely to cause corruption and/or crashes.

    Yeah, that’s the neat trick they basically solved by making the power connectors longer. If everything connects at the same time, you connect the data lines while power is still coming up, meaning there’s a few milliseconds of data that you can’t really trust. If the hardware and software on the other side is designed to “trust” the data from the keyboard, who knows what could happen. Probably not something that breaks the hardware, but definitely something that can result in unexpected data for the software.

    But, just by adding a few millimeters to the power lines, you give a few milliseconds of power getting stable before data is attached, and that’s enough for things to be nice and stable.


  • Starting around the time of USB, they started designing plugs so that the parts of the plug that carried power were slightly longer than the parts that carried data so that as you plugged it in, the power connected before the data. That wasn’t something that was done with old connectors. In those, everything was the same length, so everything connected at once.

    OTOH, USB is a more complicated protocol than the old serial / keyboard protocols. I think generally systems were built well enough that you were unlikely to “fry” something by plugging in or unplugging something like a keyboard while it was running. Especially because the keyboards used low current and low voltage. And computers used big discrete resistors, capacitors, etc. back in those days. But, you could get some bad data on the keyboard line.


  • The error message sounds bad, but it was actually a good thing. A better phrased error message might have been “Keyboard missing. Connect a keyboard and press F1 to continue.” But, in the early days every byte mattered.

    The system wouldn’t work without a keyboard, and if you get further into the boot process you might not be able to shut down cleanly if you didn’t have a keyboard attached. That error message gave you a chance to attach the keyboard, or to troubleshoot why the keyboard wasn’t being properly detected (like the plug got bumped and wasn’t making good contact anymore).

    It was annoying when the lack of a keyboard was intentional. Like, you wanted to use the machine as a server. But, AFAIK you could disable this check if you knew the machine was going to be a server with no permanent keyboard attached.




  • “Doogie Howser here hasn’t even had a day of med school, but thanks to AI he’s writing 5000 drug prescriptions per day!”

    “We literally found this homeless man on the street ranting about lizard people, and now thanks to AI he’s the the biggest stud at the hedge fund, making hundreds of multi-billion dollar trades every day!”

    “Betty here failed out of high school and can’t even pronounce ‘nuclear’ properly, but thanks to AI she wrote the entire atomic power plant safety manual in a day.”

    “Would you believe that Fred is still in a coma? Yeah, doctors say he’s ‘in a persistent vegetative state’ and ‘never going to recover after that i-beam crushed his head’, and ‘what you people are doing is both cruel and insane’. But, we hooked DeepSeek up to his respirator and heart monitor and connected some black and red wires together and he’s back to working as an air traffic controller!”



  • Furniture used to be a thing you saved for and bought once, for life.

    And if you were poor you got used furniture. Still much more expensive than Ikea furniture, but your “new” furniture would have scratches and dings from the previous owner. If you were really poor you got used furniture that had been damaged in a fire.

    Now, you can get something that’s built from cheap parts and doesn’t last that long, but you can get it brand new.

    There was only a few choices in the refrigerator space. People talked, compared notes, knew what brand ranked where in quality.

    These days people talk even more, compare even more notes, there’s pages and pages of information about the quality of things available on the Internet. The problem is that it’s much less authentic.

    In Ye Olde days, the people you talked to about a new fridge would be friends, cow-orkers, acquaintances from church, the guy in your bowling league, etc. These people didn’t have any reason to lie to you, so you’d mostly get honest feedback. These days there’s way more “information” available online about everything you might want to buy, including thousands of amateur reviews, and dozens of professional reviews. The problem is that the reviews are all from strangers, many of whom are probably shills for the company trying to sell something. The professional review sites frequently care much more about getting traffic than they do about factually reviewing things.

    And then there’s Google. In the ancient past it used to use a system called Page Rank (named after Larry Page, not webpages) that was, for a time, a foolproof way to get high quality results. But, for a long time Google fought a war against Search Engine Optimization operators who wanted their sites to rank highly despite being of dubious quality. Eventually Google realized that rather than fighting SEO, they could actually make more money by letting the SEO spammers win, because the SEO spammers just wanted to show ads, and Google had a monopoly on website ads, and a monopoly on search, so what were its users going to do – switch to an alternative?

    There’s a very good summary of the enshittification of product reviews here:

    https://housefresh.com/david-vs-digital-goliaths/








  • “C++ compilers also warn you…”

    Ok, quick question here for people who work in C++ with other people (not personal projects). How many warnings does the code produce when it’s compiled?

    I’ve written a little bit of C++ decades ago, and since then I’ve worked alongside devs who worked on C++ projects. I’ve never seen a codebase that didn’t produce hundreds if not thousands of lines of warnings when compiling.





  • I’ve always thought movies like Terminator where the AI becomes sentient and takes over are complete BS. We still don’t understand sentience, and we have no hope of making a sentient computer, at least in my lifetime.

    But, what’s scary is that you don’t even need a sentient AI. You just need people to hand the keys over to “spicy autocomplete”. Spicy autocomplete has been trained on the scripts of Terminator, 2001: A Space Odyssey, Wargames, etc. It has no desire to take over the world, it has no desire at all because it’s not conscious. But, it knows how to generate text as though it were playing a part in one of those movies. If you actually do hook it up to a computer that can launch missiles, it’s perfectly able to pattern match its inputs to the expected outputs based on those movies, and as a result to play the role of the evil AI taking over and wiping out humanity.

    I can’t even believe that people are willing to let LLMs hit the “commit” button for them. But, that someone is willing to give admin access to a database to a bullshit generator, that’s just perfect.


  • I get the hesitation that things can turn into lies, but that’s a sign that you’re doing things wrong. That also tends to happen to comments that are far away from the relevant code, like the documentation of a 100 line function. The function can change while the comment is no longer visible on the screen, so it’s easy to forget to also fix the comment.

    But test strings like that are designed to avoid that problem. They’re right there next to your tests for a reason. You should always be right next to them when you’re changing the test.

    Fundamentally, this is something that has to be addressed with code reviews. If someone can commit their changes to a group repository without anybody else seeing them, you’re going to get stuff like this. As soon as you get decent code reviews, you can just reject a change where there are tests without documentation, the same way you can reject a change to a test where the documentation is now out of date.