A tiny mouse, a hacker.

  • 0 Posts
  • 24 Comments
Joined 11 months ago
cake
Cake day: December 24th, 2023

help-circle
  • I’ve been daily driving NixOS for about a year now, switched from over two decades of running Debian. I’ll try to answer your questions from my perspective:

    How much can I grok in a week?

    If you have some experience with functional programming or declarative configs (think Ansible), then it’s a lot easier. You can definitely learn enough in a week to get started. One year in, my Nix knowledge is very light still, and I get by fine. On the other hand, there’s a lot of Nix I simply don’t use. I don’t write reusable Nix modules, and my NixOS configuration isn’t split into small, well manageable files. It’s a single 3k lines long, 130k sized flake.nix. Mind you, it’s not complete chaos: it is generated from an Org Roam document (literate programming style; my Org Roam files are 1.2mb in size, clocking in at a bit below 10k lines).

    With that said, it took me about a month of playing and experimenting with NixOS in a VM casually, a couple of hours a week, to get comfortable and commit to switching. It’s a lot easier once you switched, though.

    How quick is it to make a derivation?

    For most things, a couple of minutes tops. I found it easier to create derivations than creating Debian packages, and I was a Debian Developer for two decades, had a lot more and lot deeper understanding of Debian packaging practices. It’s not trivial, but it’s also not hard. The first derivation is maybe a bit intimidating, but the 10th is just routine.

    Regarding make install & co, you can continue doing that. I use project-specific custom flakes and direnv to easily set up a development environment. That makes development very easy. For installing stuff… I’d still recommend derivations. A simple ./configure && make && make install is usually very easy to write a derivation for. And nixpkgs is huge, chances are, someone already wrote one.

    How quick is it to install something new and random?

    With a bit of self control and liberal use of direnv & flakes, near instant.

    How long do you research a new package for?

    https://search.nixos.org/packages, you can search for a package, and you can explore its derivation. The same page also provides search for NixOS options, so you can explore available NixOS modules to help you configure a package.

    Can you set up dev environments quickly or do you need to write a ton of configs?

    Very easy, with a tiny amount of practice. Liberal use of flakes & direnv, and you’re good to go. I can’t comment much on Python, because I don’t do much Python nowadays, but JavaScript, Go, Rust, C, C++ have been very easy to build dev environments for.

    What maintenance ouchies do you run into? How long to rectify?

    None so far. If it builds, it usually works. I do need to read release notes for packages I upgrades, but that’s also reasonably easy, because I can simply “diff” the package version between my running system, and the configuration I just built: I can see which packages were upgraded, and can look up their release notes if need be. In short, about the same effort as upgrading Debian was (where I also rarely ran into upgrade/maintenance gotchas).

    Do I need to finagle on my own to have /boot encrypted?

    If you use the NixOS installer, then yeah, you do have to fiddle with that a bit more than one would like. If you install via other means (eg, build your own flake and use something like nixos-anywhere to install it), then it’s pretty easy and well supported and documented.

    Feel free to ask further question, I’m happy to elaborate on my experience so far.


  • Meson and CMake are the two major players I’ve seen along autotools. Are they better? In some respects, yes (especially Meson, imo), in others… not really. For a pet project that only targets two platforms, I’d just stick to handwritten worst-practices Makefile. You will likely have less trouble with that than any of the others, simply because you know it already.


  • I think the first thing to figure out would be why udev is getting shut down. Perhaps you could extract its logs? journalctl -b -u systemd-udevd.service should do the trick. This gets you the logs of the current boot’s udevd service.

    Once you know why it is shutting down, it will be time to figure out how to stop it from shutting down. That should, hopefully, fix the problem you’re having.


  • If I’m working for someone else (company or otherwise), I’ll write comments and docs in whatever language I can speak that they want me to (which pretty much means I write comments in English, because I rarely work for Hungarian companies nowadays, and even the ones I did work for preferred English, and these are the only two human languages I can write :().

    When working on my own projects, it is always English, because Hungarian doesn’t have good translations for many of the technical terms, so half my comments would be English borrowed words anyway. Might aswell write the rest in English too. Also makes it easier for others to chime in, because there are a whole lot more people speaking English than Hungarian.

    It was harder in the beginning, when my command of the English language was far worse, but even then, half-Hungarian/Half-English comments just looked weird, and more jarring than full English, even if that English was kinda bad.


  • A free account is an easy way to test out the platform, give it a test ride, see if it works for you. If it does, you can pay for a Pro (or Team) subscription, and you get to use your own domain, and keep all the posts you already made on the free account, with all their comments and replies and whatnots.

    Or, if it works out, and you want to self host, you can do that, too!

    The difference between write.as and medium and other enshittified things, though, is that write.as is not VC funded, and Matt has no interest in making an “exit”. Even if there are things I disagree on with him (eg, CLAs), I trust Matt to not enshittify write.as anytime soon. He’s been running things for almost a decade now, remarkably well.




  • ( ͜ₒ ㅅ ͜ ₒ)ლ(´ڡ`ლ)

    I think that comes pretty close. Seeing as LLMs seem to avoid the topic of sex and female presenting nipples, I doubt they’d be able to recognise this picture, and thus, it might be a decent way to poison their training set. Sex talk and cursing should also drive a scraper away quickly, but… horny emoji art? That might just get through and poison the training set.

    At least if I understood the question correctly, and the goal is to scew with an ML trying to scrape and learn.



  • My parents moved to Linux on their own accord: Dad just wanted something that stays the same, and doesn’t try to exploit him, so he’s been a happy Debian & XFCE user for about a decade now; Mom never used Windows, so she’s happy with Debian & GNOME I was a Debian user (and developer) back when they switched to Linux, and Debian is where they stayed. Dad’s in IT, so he can manage both systems fine, most of the time. I need to unfuck it from time to time, when Dad decides it is a good idea to try and install the latest LibreOffice Ubuntu arm64 .deb package on his x86_64 Debian oldstable, throwing whatever --force flags at dpkg he can find, but other than that, they have everything they need, are happy with their choices, and need very little support from me.

    In my own household, Linux is the only system to begin with (apart from a handful of Android phones we all hate, and an XBox, which is slowly getting replaced by a Linux mini PC). I’ve been a Linux user since late 1996, and I purposefully only bought hardware that works decently with Linux, so setting up scanners, printers and the like are a breeze.

    Wife saw my setup, how I operate it mostly with the keyboard (she hates the mouse more than I do!), wanted the same, so I built her something similar (NixOS + Wayland + niri + firefox + geary). She never had her own computer before, but did use Windows at work from time to time. She didn’t want to use it on her laptop, though. She wanted something tailor built for her, for her very reluctant computer-usage. So Linux it is! She doesn’t hate it, which is the best I can accomplish with anything computer-related when it comes to her. I’m maintaining her laptop, but that too, requires little work. I just update it from time to time. She’s loving that she can send a print job from her laptop, from the living room, to the printer in my work room.

    Kids played with both the xbox, and the gaming mini pc I built, and much prefer the latter, because it is easier to navigate, it is faster (using cheaper hardware), it is more stable, so when they’re old enough to get their own computers, they want Linux too, and I shall abide. Luckily, while schools around here are rather windows-oriented, they have to accommodate Linux users too, so the kids will be more than fine with their Linux computers, even for school tasks. Whether they’ll end up maintaining their computers or not remains to be seen. If they want to, I’ll teach them how to.




  • I only serve bloat to AI crawlers.

    map $http_user_agent $badagent {
      default     0;
      # list of AI crawler user agents in "~crawler 1" format
    }
    
    if ($badagent) {
       rewrite ^ /gpt;
    }
    
    location /gpt {
      proxy_pass https://courses.cs.washington.edu/courses/cse163/20wi/files/lectures/L04/bee-movie.txt;
    }
    

    …is a wonderful thing to put in my nginx config. (you can try curl -Is -H "User-Agent: GPTBot" https://chronicles.mad-scientist.club/robots.txt | grep content-length: to see it in action ;))



  • The single best thing I like about Zed is how they unironically put up a video on their homepage where they take a perfectly fine function, and butcher it with irrelevant features using CoPilot, and in the process:

    • Make the function’s name not match what it is actually doing.
    • Hardcode three special cases for no good reason.
    • Write no tests at all.
    • Update the documentation, but make the short version of it misleading, suggesting it accepts all named colors, rather than just three. (The long description clarifies that, so it’s not completely bad.)
    • Show how engineering the prompt to do what they want takes more time than just writing the code in the first place.

    And that’s supposed to be a feature. I wonder how they’d feel if someone sent them a pull request done in a similar manner, resulting in similarly bad code.

    I think I’ll remain firmly in the “if FPS is an important metric in your editor, you’re doing something wrong” camp, and will also steer clear of anything that hypes up the plagiarism parrots as something that’d be a net win.



  • Nevertheless, as Bluesky grows, there are likely to be multiple professionally-run indexers for various purposes. For example, a company that performs sentiment analysis on social media activity about brands could easily create a whole-network index that provides insights to their clients.

    (source)

    Is that supposed to be a selling point? Because I’d like to stay far, far away from that, thank you very much.




  • I found that no general purpose search engine will ever serve my needs. Their goal is to index the entire internet (or a very large subset of it), and sadly, a very large part of the internet is garbage I have no desire to see. So I simply stopped using search engines. I have a carefully curated, topical list of links from where I can look up information from, RSS feeds, and those pretty much cover all what I used search for.

    Lately, I have been experimenting with YaCy, and fed it my list of links to index. Effectively, I now have a personal search engine. If I come across anything interesting via my RSS feeds, or via the Fediverse, I plug it into YaCy, and now its part of my search library. There’s no junk, no ads, no AI, no spam, and the search result quality is stellar. The downside is, of course, that I have to self-host YaCy, and maintain a good quality index. It takes a lot of effort to start, but once there’s a good index, it works great. So far, I found the effort/benefit ratio to be very much worth it.

    I still have a SearxNG instance (which also searches my YaCy instance too, with higher weight than other sources) to fall back to if I need to, but I didn’t need to do that in the past two months, and only two times in the past six.