• 0 posts
  • 85 comments
Joined 3 years ago
Cake day: June 16th, 2023
  • Of course I also see that the go spawns python and does stuff with that…

    And there’s lots of other dubious issues that look like an odd mismash of intro level programming stuff with unfortunate performance implications, and a very strong vibe code smell, though the commit interval is a bit larger than I would have presumed with vibe coding, but the volume of changes seem AI sloppy…

    Well, broadly it looks like slop, probably AI slop, but either way I wouldn’t go anywhere near this project…

  • refuse to work on Toyotas.

    Nah, the analogy that would be closer would be if the shop said you must use some overpriced but notoriously fragile tools and you’ll be on the hook for any tool that breaks and any delay you incur will be your fault while they go buy a new tool. Plus the tools tend to have sharp edges on the handles for some reason and are just painful to use.

    Now if the job is “you need to administrate the group policy of the company systems”, then “I refuse to run Windows” is a pretty stupid take. But frequently the job is rooted entirely in Linux based infrastructure for internet facing stuff, and Windows on the entry point is just horribly awkward for that job. You can kind of/sort of get there but I haven’t found a single decent ‘Terminal’ even compared to that being pretty trivial with Mac and Linux. WSL starts to provide something useful, but it is kind of fragile and WSLg sucks with the worst window management possible, even by the standards of Windows broadly. Meanwhile, starting from a Linux system you can use a desktop shell that is probably better for your productivity than anything Windows allows.

    There’s not really a whole lot of logic for a lot of “Windows required” jobs in tech. Office365 is mostly fine through a Linux browser. Onedrive works with Linux. If you have some applications that are Windows only, again, sure, but a lot of tech folks don’t need any Windows only tools.

    Recent example from my real world, someone was around my desk and asking questions about stuff that required me to hop between a few contexts. They were shocked how quickly I could navigate a bunch of the windows in the discussion, and asked how in the world I got Windows to do that. Of course, I couldn’t.

    Besides, the general tone of the conversation could have been just full of redflags about how tortuous the company was going to be. One company blocked SSH between anything saying SSH was insecure, and said that, somehow, we had to do everything through the graphical console of the Linux instances. Which meant no rsync, no scp, having to create some file serving facility to upload files to and then download from. If my daily workflow depended on such draconian crap, I’d be out of there too.

  • What i find funny are people building golang binaries without cgo and still wrapping them in full distro containers. Your binary uses nothing from the container and still it gets packaged that way…

    Seen so many developers incur a huge headache trying to figure out overly complicated container setup when they could just run their already static binary without any drama…

  • It’s funny because that’s true that an old Linux binary is likely to have issues under Linux, but an similarly old Windows application might work better under Wine on Linux than modern Windows.

    libc is actually relatively less likely, glibc is awfully conservative about changes, but there are a maze of likely service and library dependencies that were abandoned or didn’t regard backwards compatibility with the same importance.

  • Oh cool, let me install this software, what, it won’t install because it’s missing quicktime? Oh it needs directx 8 runtime? That could be a problem. Let’s advance the clock, 2004, that should be fine… What do you mean you can’t run .NET 1.1 applications and so that won’t run?

    Ironically, wine is more likely to have a path to easily run those programs under Linux, but if you had a Linux binary from that era you’d likely have a hard time getting that to run, probably harder than the microsoft scenario. So old Windows software is more likely to run under Linux than old Linux software…

  • AI in vim is actually often convenient.

    :set ai
    

    Cool, now it will keep track of my indentation.

    Now sometimes that gets in the way, and while you can:

    :set noai
    

    Usually it’s best for me to:

    :set paste
    

    And that’s my take on the utility of AI in vim. (that is what you meant right, there isn’t some other AI people are thinking of right?)

  • If you use it to make sure your deployment is sane and that your dev system didn’t have an invisible component that you assumed as a dependency, great. Containers are a great tool for simulating minimalist clean setups and not incurring surprise hidden dependencies.

    If your application carries a whole container with it for the user to use and that’s the only way to use the software, that’s going to be annoying. ‘docker style’ for bloat, flatpak/snap depends on the app but sometimes the application functionality is broken by the container boundaries. Admittedly flatpak/snap is frequently acceptable, really depends on if the program has a lot of interoperability features that get broken in the flatpak/snap runtime model.

    If your application only is deployable as a pod… I’m almost certainly going to want to avoid it if at all humanly possible. Pods as a self-hosted approach to do what you want, ok, fine and I own all that. If a third party pod is happening, I tend to see some part of it fall over it and no one can figure it out because the application is microserviced into oblivion and no human actually understands the whole flow… It’s possible also to do this with ‘traditional’ application delivery, but a pod is a very high sign that no one even bothered thinking hard about how it should come together and play nice with others.

  • Yeah, wifi is a crapshoot as to whether it might expect a cloud connection, so I have to research those devices carefully. I’m satisfied with my OpenGarage being on Wifi because I know it has no internet aspirations. I hope that Matter over Wifi devices are similarly local friendly, but I haven’t actually had anything to buy since that was an option.

  • Indeed, nice and layered.

    If internet, wifi, internet, and zigbee/thread/zwave up, fully functional, can close my garage door from miles away

    If internet is down, then everything still works within wifi range.

    If local connectivity is down, well, all the local controls still work almost the same as a non-smart (the ‘on/off’ switches sit in the middle instead of being ‘on’ or ‘off’ since physical and logical state could otherwise disagree, but switch down to off, switch up to on still works).

  • It’s a bit of a curse, so often I come in and things magically start working… But that’s hardly satisfying, and the person that needs help just knows it’s going to bite them again… So I get to guess why it broke before it behaved for me and hopefully figure it out and fix it despite it currently working right now.

  • Getting a dns name is straightforward enough, and let’s encrypt to get a tla cert…

    But for purely internal services that you didn’t otherwise want to publish extremely, the complexity goes way up (either maintain a bunch of domain names externally to renew certificates and use a private DNS to point them to the real place locally, or make your own CA and make all the client devices enroll it. Of course I’m less concerned about passkeys internally.

  • Broadly speaking, the private keys can be protected.

    For ssh, ssh-agent can retain the viable form for convenience while leaving the ssh key passphrase encrypted on disk. Beyond that your entire filesystem should be further encrypted for further offline protection.

    Passkeys as used in webauthn are generally very specifically protected in accordance with the browser restrictions. For example, secured in a tpm protected storage, and authenticated by pin or biometric.

  • Note that 5th grade papers are always just horrible to read. This is why I don’t like LLM output, because it sounds just like 5th grade papers. Not a soul wants to read middle school papers.

    So I think broadly speaking the LLMs can generate middle school papers generally fine, at least they fit in.

  • If the code actually works and is vaguely important, I think you are right.

    If anyone ever has to fix it because it’s also broken on top of being a mess, well they aren’t quite so safe. Maybe if you are always available to fix it same day, but if you ever go on vacation and it hits the fan while you are unreachable…

  • I can’t speak to this situation, but broadly speaking I am familiar with general messed up stuff like this as well as perhaps adjusting some fine details to make the scenario relatable to an audience unfamiliar with the specifics of the real situation and/or obfuscating the details so that the person doesn’t out themselves to someone else familiar with the specifics enough to recognize.

    The broad strokes seem plausible and any oddities in details I consider to be less important and/or understandable if it was tweaked for an internet audience.