• 8 Posts
  • 304 Comments
Joined 4 years ago
cake
Cake day: May 31st, 2020

help-circle

  • Honestly also annoying as a not-so-new folk. I just thought about this yesterday, I reasonably expect to clone a random project from the internet written Java, Rust et al, and to be able to open it in my IDE and look at it.

    Meanwhile, a Python project from two years ago that I helped to build, I do not expect to be able to reasonably view in an IDE at all. I remember, we gave up trying to fix all the supposedly missing dependencies at some point…



  • I don’t know, man, far too many people seem to think that “easy to learn” means they’ll know all they need to know in relatively short time.

    Like, you talk to our data scientists and they’ll tell you doing anything in Python, no problem. But you talk to our seasoned software engineers and you see the war flashbacks in their eyes, because it racks up in complexity so fucking quickly, it’s insane.


  • I have actually seen it in an XML file in the wild. Never quite understood why they did it. Anything they encoded into there, they could have just added a node for.
    But it was an XML format that was widely used in a big company, so presumably somewhere someone wrote a shitty XML parser that can’t deal with additional nodes. Or they were just scared of touching the existing structure, I don’t know.


  • The thing is, it was never really intended as a storage format for plain data. It’s a markup language, so you’re supposed to use it for describing complex documents, like it’s used in HTML for example. It was just readily available as a library in many programming languages when not much else was, so it got abused for data storage a lot.





  • For OOP languages, you can definitely get IDE plugins, which create UML from code.

    Personally, I’ve never found them useful, though, partially because our code was never OOP enough, e.g. we were using the actor pattern, or had important modules with functions, or had lots of small classes for handing data around etc…

    But also because it just makes for bad architecture diagrams.
    It has no sense of what’s important and what should be abstracted away. Or how to structure the diagram to make it readable, e.g. REST API at the top, database at the bottom.

    What I also really don’t like about generated architecture diagrams in general (even when the contents are specified via e.g. PlantUML), is that things jump around every time you make a structural change. This means people looking at the diagram have no chance of learning what it looks like, so they can spot changes or know where to look for what they’re interested in.








  • Yeah, we had a hard bottleneck for seniors, so they kind of got told to walk on their own as much as they can, but after just two weeks or so, I had to push hard against that, because they would frequently walk into wrong directions and then rectifying that would cost me significantly more time. At one point, I had to review a story three times, because they misunderstood the goal twice.

    Similarly, we had a student, who would run off doing things for two weeks, and then suddenly she’d come up to you and tell you that she did this and this and that and now she’s stuck.
    And then if the second ‘this’ was an incorrect decision, you have to sit down with her in that exact moment and redo a lot of her work to get everything back on track.

    So, yeah, juniors who know when to ask questions are extremely helpful. Otherwise I have to poll them for questions, which takes up time, too.


  • I know it’s a joke, but I do not enjoy being in the position with the stick.

    Like, man, they’ll sometimes check in some stupid stuff. Yesterday, I told two juniors to implement a unit test and they could use annotations like on another unit test, which I also explained.

    Problem is, I had introduced that unit test a week ago and had given it an ignored-annotation, to document that that’s currently broken.
    And you guessed it, they copied that ignored-annotation, too, complete with the comment “//TODO currently broken”. The test they implemented was not run, not even once.

    And like, what the fuck do I do with that? Sure enough, it was a miscommunication, I’ll try to be clearer next time.
    But I’d also really like to explain to them whatever information they were missing, if they were missing any. Like, did they not know what the ignored-annotation does? Did they not think at all and just verbatim copied everything?

    And then the problem is, this is kind of so dumb, that even just bringing it up is going to be embarassing for them. It’s already me beating them with a stick.
    I’d much rather praise them when they do something well, but this is so hard to spot when just reading over committed code. All the obstacles they cleared are not visible in there.


  • Uh, well, I kind of already wrote most of what there’s to say in the comment above, it hides your mouse pointer when you don’t move it for a few seconds.

    In most distros, it’s available as the unclutter package, directly from the repos. On Debian-based systems, the package you want is called unclutter-xfixes.

    https://wiki.archlinux.org/title/Unclutter

    It is built for X11 and won’t work on Wayland.
    But KDE recently shipped a built-in feature as part of Plasma 6.1 (a Desktop Effect called “Hide Cursor”), which also works very nicely. That one does not cause hover elements to disappear.