Just a basic programmer living in California

  • 4 Posts
  • 208 Comments
Joined 2 years ago
cake
Cake day: February 23rd, 2024

help-circle



  • I use a chat interface as a research tool when there’s something I don’t know how to do, like write a relationship with custom conditions using sqlalchemy, or I want to clarify my understanding on something. first I do a Kagi search. If I don’t find what I’m looking for on Stack Overflow or library docs in a few minutes then I turn to the AI.

    I don’t use autocompletion - I stick with LSP completions.

    I do consider environmental damage. There are a few things I do to try to reduce damage:

    1. Search first
    2. Search my chat history for a question I’ve already asked instead of asking it again.
    3. Start a new chat thread for each question that doesn’t follow a question I’ve already asked.

    On the third point, my understanding is that when you write a message in an LLM chat all previous messages in the thread are processed by the LLM again so it has context to respond to the new message. (It’s possible some providers are caching that context instead of replaying chat history, but I’m not counting on that.) My thinking is that by starting new threads I’m saving resources that would have been used replaying a long chat history.

    I use Claude 4.5.

    I ask general questions about how to do things. It’s most helpful with languages and libraries I don’t have a lot of experience with. I usually either check docs to verify what the LLM tells me, or verify by testing. Sometimes I ask for narrowly scoped code reviews, like “does this refactored function behave equivalently to the original” or “how could I rewrite this snippet to do this other thing” (with the relevant functions and types pasted into the chat).

    My company also uses Code Rabbit AI for code reviews. It doesn’t replace human reviewers, and my employer doesn’t expect it to. But it is quite helpful, especially with languages and libraries that I don’t have a lot of experience with. But it probably consumes a lot more tokens than my chat thread research does.






  • The first season, and the first few episodes of season two take some extra weird turns because of the revolving door of producers during that period. The original producer left the show during season one. Then a duo took over who took the story in quite a different direction. Those two left in early season two. After that production finally settled into a more stable state.

    Anyway the characters and acting are great, and that counts for a lot!


  • They set a high bar with the first two seasons.

    I felt like there were highlights in season 3. But it also felt uneven. The episodes I liked felt good, but not great. The first two seasons had great episodes.

    There was also a distinct lack of social commentary, which I feel is important in Star Trek. The best we got was Terrarium. Definitely a fun episode, but it’s core is a trope we’ve seen a number of times. What Is Starfleet looked like it was thinking about commenting on something, but frantically pulled the ripcord partway through, and went in a direction I wasn’t comfortable with. (Which is too bad because I thought the directing in that episode was very cool.) There’s nothing on the level of Ad Astra Per Aspera. Instead we got 5 episodes of mortal struggle vs unreasoning monsters.

    the list of unreasoning monsters

    Gorn, plant zombies, the “pure evil” on Vadia IX, the ship-eating ship


  • I’ve done that too, and it’s not the same IMO. Ansible doesn’t put entries in the boot loader for older system states you can boot into in case you break something. It’s possible that Ansible configurations aren’t idempotent. The exact versions of packages that get installed can’t easily be managed with Ansible if you’re also regularly updating packages. There’s lots of stuff that is much easier to configure with NixOS and Home Manager. I found my Ansible configs were always out of date, which doesn’t happen with NixOS where editing the config file is how you make any system changes.


  • I think there are arguments for NixOS for a casual user despite the learning curve reputation. But there are also downsides to consider.

    The pros:

    • There is a good, user-friendly installer that makes it easy to get a working system
    • From what I can see setting up KDE is pretty easy - there are configs online that you can paste into configuration.nix without modification
    • NixOS is good for gaming with proprietary drivers and Steam - again it’s a matter of pasting a few lines of configuration
    • Like with other distros it’s easy to recover if something breaks
    • Unlike with other immutable distros you get a lot of options for tinkering with your system, and experimenting. You can dip your toes into the advanced stuff, going from casual user to Linux expert at your own pace, with the safety line of being able to roll back changes at any time.
    • If you stick to the basics you can have a very stable, very update-to-date system without much difficulty.

    The cons:

    • To get the full safety of rolling back a previous point in time you need to ditch channels, and instead use pinned nixpkgs revisions. The best way to do that is probably using flakes - but whatever strategy you use you need to depart from the setup the installer gives you, and learn enough to remake your configuration.
    • You’ll find contradictory instructions depending whether they’re written for use of channels or flakes.
    • Going beyond the basics of installing packages, and using premade NixOS modules gets you into the infamous learning curve. For example I’m guessing that managing kwin scripts declaratively in Nix config might be an adventure. But managing them by hand the way you do in Fedora might be the same. (I haven’t tried this, so I’m not sure.)
    • There is some stuff you have to know, like if you want to run binaries that weren’t built for Nix you want to set up nix-ld first.
    • If you’re building software you have to learn to do things the Nix way because of the lack of FHS. That’s great for Nix fans like me, but frustrating for some.
    • There is no graphical software center, nor automatic updates. You have to use the workflow of installing stuff by editing your config file, and get used to using search.nixos.org to find stuff. This is a pro from the perspective of having a stable system that can be rolled back to earlier states, but might feel less user friendly than a GUI workflow.

    Even if you set up flatpak (which is easy to set up tbf) you’re probably going to be managing flatpaks using the CLI.

    It would be easier for me to recommend NixOS if the installer set up a flake configuration with more niceties pre-installed, like nix-ld. The next best thing would be a de facto standard flake starter configuration for people to copy. But like I said, I think there is a case.