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

help-circle

  • I believe that, because test scripts tend to involve a lot of very repetitive code, and it’s normally pretty easy to read that code.

    Still, I would bet that out of 1000 tests it writes, at least 1 will introduce a subtle logic bug.

    Imagine you hired an intern for the summer and asked them to write 1000 tests for your software. The intern doesn’t know the programming language you use, doesn’t understand the project, but is really, really good at Googling stuff. They search online for tests matching what you need, copy what they find and paste it into their editor. They may not understand the programming language you use, but they’ve read the style guide back to front. They make sure their code builds and runs without errors. They are meticulous when it comes to copying over the comments from the tests they find and they make sure the tests are named in a consistent way. Eventually you receive a CL with 1000 tests. You’d like to thank the intern and ask them a few questions, but they’ve already gone back to school without leaving any contact info.

    Do you have 1000 reliable tests?


  • That’s the problem. Maybe it is.

    Maybe the code the AI wrote works perfectly. Maybe it just looks like how perfectly working code is supposed to look, but doesn’t actually do what it’s supposed to do.

    To get to the train tracks on the right, you would normally have dozens of engineers working over probably decades, learning how the old system worked and adding to it. If you’re a new engineer and you have to work on it, you might be able to talk to the people who worked on it before you and find out how their design was supposed to work. There may be notes or designs generated as they worked on it. And so-on.

    It might take you months to fully understand the system, but whenever there’s something confusing you can find someone and ask questions like “Where did you…?” and “How does it…?” and “When does this…?”

    Now, imagine you work at a railroad and show up to work one day and there’s this whole mess in front of you that was laid down overnight by some magic railroad-laying machine. Along with a certificate the machine printed that says that the design works. You can’t ask the machine any questions about what it did. Or, maybe you can ask questions, but those questions are pretty useless because the machine isn’t designed to remember what it did (although it might lie to you and claim that it remembers what it did).

    So, what do you do, just start running trains through those tracks, assured that the machine probably got things right? Or, do you start trying to understand every possible path through those tracks from first principles?




  • Yeah, I love that one.

    “Try” is too hopeful. “fuck_around” makes it clear that you know what you’re doing is dangerous but you’re going to do it anyhow. I know that in some languages wrapping a lot of code in exception blocks is the norm, but I don’t like that. I think it should be something you only use rarely, and when you do it’s because you know you’re doing something that’s not safe in some way.

    “Catch” has never satisfied me. I mean, I know what it does, but it doesn’t seem to relate to “try”. Really, if “try” doesn’t succeed, the corresponding block should be “fail”. But, then you’d have the confusion of a block named “fail”, which isn’t ideal. But “find_out” pairs perfectly with “fuck_around” and makes it clear that if you got there it’s because something went wrong.

    I also like “yeet”. Partly it’s fun for comedic value. But, it’s also good because “throw” feels like a casual game of catch in the park. “Yeet” feels more like it’s out of control, if you hit a “throw” your code isn’t carefully handing off its state, it’s hitting the eject button and hoping for the best. You hope there’s an exception handler higher up the stack that will do the right thing, but it also might just bubble all the way up to the top and spit out a nasty exception for the user.






  • It’s not just one generation receiving an education vs. another one that didn’t. It’s that the platforms the generations used are fundamentally different.

    Gen X / Millennials grew up with Macs and PCs, computers that were fundamentally not locked down. You could install any software you wanted. You could modify the OS in many ways. DRM wasn’t really a thing in general, and there were almost always easy ways around it.

    Gen Z / Gen Alpha grew up mostly with cell phones. The phones they had are much more powerful than the PCs from 20-30 years ago, but they’re incredibly locked down. The only applications you’re allowed to use are the ones that Apple / Google allow on their app stores, unless you root your phone which is a major risk. It’s very hard to even load up your own audio files, movies or images let alone “dodgy” ones. DRM is everywhere, and the DMCA means you risk serious prison time if you bypass access controls.

    Gen X / Millennials grew up at a time when there were still more than 5 tech companies in the world, and the companies out there competed with each-other. There were plenty of real standards, and lots of other de-facto standards that allowed programs to interoperate. Now you’re lucky if you can even use an app via its website vs. using a required app.

    It’s not just a difference in education. It’s that companies have gained a lot more power, and the lack of antitrust enforcement has made for plenty of walled gardens and “look but don’t touch” experiences.


  • Or, just imagine what it says if they actually didn’t know about this last week. That would be even worse, it would mean that the team doing publicity and taking orders didn’t realize that they were half a year away from being done…

    But, yeah, I can’t see how this doesn’t result in a disaster. They really do need to release something before then, something with this year’s DBs before they’re irrelevant. They could take the old game, update the DB and just sell it at half price. Or, they could sell it at full price but with a coupon for say 50% off the new game.

    The November release date of Football Manager has always been awkward. The FIFA games all come out in late September / early October, right after the teams have been finalized. By the time Football Manager comes out, 1/3 of the season has already been played. IMO their best bet would be to release in the summer before the season starts and then do a post transfer deadline day patch. The initial release could use the squads as they existed at the end of the previous season – probably something a lot of people would want anyway because they could be in charge of all the summer transfers. In fact, I wonder if a release date of early June or something might be ideal.

    My guess is that one major motivation for people to buy Football Manager is that they’re saying “I could do a better job of running my team than this bunch of idiots”. And, that feeling is probably strongest right at the end of a season. A Football Manager release at the end of the season might be ideal for people who want to spend the summer doing all the wheeling and dealing they wish their clubs would do well, as they wait for the season to start again.

    If they think they can have the new Unity-based game ready and polished in March, just call it FM 26, release it before the season starts, and do a full update once the various transfer windows have all closed and the DBs are all updated. If they don’t do that, who’s going to buy FM 25 when FM 26 will have all the bugs fixed, the new season’s DBs, and is only a few months away?





  • merc@sh.itjust.workstoMemes@sopuli.xyzInstruments
    link
    fedilink
    arrow-up
    2
    ·
    6 months ago

    Yeah, I’m an amateur musician and can tell the difference between different kinds of saxomophone, between cellos and violas, and so on. But, there are a lot of things I’d just call “drums” that have specialty names. I mean, how many names are there for “large upright drum that you play with your fingertips and thumbs while it sits between your legs”?