• 1 Post
  • 92 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle



  • Java’s biggest strength is that “the worst it can be” is not all that bad, and refactoring tools are quite powerful. Yes, it’s wordy and long-winded. Fine, I’d rather work with that than other people’s Bash scripts, say. And just because a lot of Java developers have no concept of what memory allocation means, and are happy to pull in hundreds of megabytes of dependencies to do something trivial, then allocate fucking shitloads of RAM for no reason doesn’t mean that you have to.

    There is a difference in microservices between those set up by a sane architect:

    • clear data flow and pragmatic service requirements
    • documented responses and clear failure behaviour
    • pact server set up for validation in isolation
    • entire system can be set up with eg. a docker compose file for testing
    • simple deployment of updates into production and easy rollback

    … and the CV-driven development kind by people who want to be able to ‘tick the boxes’ for their next career move:

    • let’s use Kubernetes, those guys earn a fortune
    • different pet language for every service
    • only failure mode is for the whole thing to freeze
    • deployment needs the whole team on standby and we’ll be firefighting for days after an update
    • graduate developers vibe coding every fucking thing and it getting merged on Claude’s approval only

    We mostly do the second kind at my work; a nice Java monolith is bliss to work on in comparison. I can see why others would have bad things to say about them too.


  • Apart from being slow, having discoverability issues, not being able combine filters and actions so that you frequently need to fall back to shell scripts for basic functionality, it being a complete PITA to compare things between accounts / regions, advanced functionality requiring you to directly edit JSON files, things randomly failing and the error message being carefully hidden away, the poor audit trail functionality to see who-changed-what, and the fact that putting anything complex together means spinning so many plates that Terraform’ing all your infrastructure looks like the easy way; I’ll have you know there’s nothing wrong with the AWS Console UI.



  • I’m in this photo and I don’t like it.

    More specifically, my programming background is in industrial automation and I’d like to add some more ‘robust and flexible’ algorithms to CoolerControl so I can control my system fans / temperature better, but it’s written in a mix of TypeScript and Rust.

    I’ve spent 20 years programming hard real-time z80 assembly and know quite a few higher-level languages. (Although I prefer the lower-level ones.) Not those ones, however, so it’s not just a couple of hours work to raise a PR against that project. Going to need to crack some books.


  • The industrial design has improved enormously since then, as well. The days of using the same connector for different voltages, or connectors which can be rotated are gone. Everything has a keyed connector or similar pokayoke that means it only fits to the correct place, and only one way around. CPUs don’t suicide if you forget to attach their system cooler, they just throttle. Much better, and obvious in retrospect that it should always have been that way.

    Apart from the front panel connectors on a motherboard, of course. Those fiddly little bastards can get straight to hell.






  • Vim is my preferred ‘IDE’ for C++, Python, Bash, and general configuration file editing. It’s got some big pluses:

    • its text editing is superb once you’ve mastered it, but that’s a small part of its benefits when used as an IDE, and ‘Vim mode’ in other environments kind of undersells what else it can do

    • Vim has some great plugins for development. YouCompleteMe is awesome for predictive completion and showing docs, but NerdTree for file management and TagBar for showing structure are amazing as well. They’re all very configurable and they get out of your way.

    • Vim lives in your terminal window, so you can do splits and tabs using whichever terminal you like. Kitty is very fast and configurable and keeps out your way. Being able to have multiple tabs of Vim open, a tab for compilation, a tab for debugging, a tab for version control, a tab for man pages, and being able to flip between them without taking your fingers off the keyboard makes for a very fast workflow

    • Vim makes it very easy to edit binary files and be precise about whitespace changes, so it’s easy to make a minimal change for raising a PR.

    If you assign a hotkey to run a macro in Vim, then that can be made very flexible - saving and formatting all open windows, then invoking CMake to do a build and CTest to run all your unit tests can be put on a function key if you like. Trying to tell Eclipse to “just run CMake to do the build” seems to be an exercise in frustration; so many IDEs are terrible at “just getting out of the way”.

    Work pays for an IntelliJ licence for using Java. Java is so unwieldy without a proper IDE that it’s hard to code in it without it. I certainly don’t love it, though, and they seem determined to make every new version worse with bizarre new features. Flexible minimalist editing with configurable plugins is all that you really need, and on that basis Geany looks pretty good - will give it a try.



  • addie@feddit.uktocats@lemmy.worldSpeed, I am speed
    link
    fedilink
    arrow-up
    3
    ·
    3 months ago

    Yeah, but that one doesn’t have the right gear on. Section 4 of the laws of the game say:

    3(a) For ease of identification, players’ clothing must have the numbers 1 to 13 with additional numbers for the substitutes.

    4(b) A player’s normal gear shall consist of a numbered jersey of distinctive colour and/or pattern, a pair of shorts, socks of a distinctive colour and/or pattern and studded boots or shoes.

    4(f) Studs on boots or shoes shall not have sharp edges or pose a risk of injury to other players.

    If there’s one thing I know about cats, it’s that their booties have sharp edges that pose a risk of injury. That cat is going to get a red card as soon as it enters the playing field. Only language some players understand.


  • addie@feddit.uktoMemes@sopuli.xyzLiving the dream
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

    Was expecting it to be “vodka without beer is just waste of money”, in that case.

    Looking it up, most sources seem to have it the other way around - “beer without vodka”, as in there’s no point wasting money on drinking unless you’re going to do some hard drinking?