• 1 Post
  • 18 Comments
Joined 3 months ago
cake
Cake day: July 16th, 2025

help-circle

  • Every now and then this question comes up. It’s a timeless software engineering conundrum. Kind of like how med students might start to think they have all kinds of diseases and conditions because they’re learning all these symptoms.

    Software engineers, especially new ones, tend to be heavily biased toward applying technical solutions to non-technical problems. Most never actually grow out of this.

    I’ll advise what I advise every time someone approaches me or one of my peer groups with this very question:

    Get yourself a notebook and a pen.

    I’m dead serious, not trolling, and not some kind of technophobe zealot.

    When it comes down to it, if you let go of what you think you need in a to-do list app, you’ll find that what you actually need is much simpler.

    Notebooks are e2e encrypted. Self hosted. Offline. As ephemeral as you like. Indexable for search. Versatile. Take a picture of a page if you really want to. OCR it if you need to.

    Pen and paper.






  • Seems like something you may need to change in Transmission’s configuration, somewhere. Because it’s Transmission that is redirecting you and what you want is for that redirect to include the uri prefix.

    Otherwise, I see two options:

    • use a regex location block and match against all expected patterns
    • use a dedicated subdomain (i.e: server block) for this (each) service you want to proxy and just proxy all traffic to that domain with a root location block.

    The latter is what I would do.





  • It’s complementary to robots.txt.

    • It’s weird that it’s XML, in 2025.
    • It’s weird that it doesn’t use the .well-known/ prefix which has trended in the last decade for placement of files like this.
    • It’s weird that it canonically uses the generic “license.xml” file name instead of “license.rsl” or “rsl.xml” or something that more clearly indicates its semantics.

    But I do like the idea of having some widely adopted conventional way of expressing, in unambiguous terms, which usages are expressly prohibited, and that AI training is among them.






  • In years past, I’ve used Elasticsearch and Kibana. The learning curve is steep and the system resource requirements warrant a dedicated machine, but once you get it dialed, it’s really effective as a centralized logging server.

    Prometheus and Grafana are for time-series data (metrics), not logs. If you’re already getting that from netdata, don’t bother with these, as they’d be redundant with what you have.

    syslog is about as idiomatic as it gets for log management in linux, but i don’t have enough experience using it effectively to give any pointers there. If you don’t really know what you want, yet, and just want to collect logs from all the things and see them in one place so you can begin to try and make sense of them and make refinements from there, then syslog seems like an excellent place to start.


  • I’ve installed Debian Linux on over 50 devices by now. A vanilla configuration with GNOME works pretty much out of the box for me on a high-end desktop with a modern NVIDIA graphics card.

    I’d say the biggest part of the learning curve is figuring out which apps are good and suitable for what you’re trying to do. Just like with Windows and macOS and Android and iOS, there’s only a handful of viable options among an overwhelming sea of poor ones.

    There are many wrong ways to install NVIDIA on any given Linux distro and architecture, and only one functional way. As others here are saying, that’s on NVIDIA, not you or Linux.

    General advice: whenever possible, strongly prefer your distro’s standard package manager to install things over any other method. With Ubuntu, I believe that’s either apt or snap.

    Also: if you find yourself poking around in some obscure system internals while troubleshooting an issue, you probably took a wrong turn somewhere.


  • RE autoscaling: effective distributed systems design isn’t really language-dependent. Java apps can scale just as well as ones written in Go. That said, I can see there being a case for Java apps not making it as easy to build that way. There’s definitely a lot of mainframe/monolith-oriented patterns in both the standard library and in enterprise Java culture.

    As for the job market and career investment, I’d say this:

    • Keep investing more deeply in what you’re good at. That’s your foundation and what sets you apart.
    • Avoid chasing the “next big thing” based on speculation and trends alone.
    • The next step in your career hinges more on your ability to think and design at higher levels than it does on lateral moves to another programming language.
    • Explore languages and technology that you think are interesting, relevant, or can provide value or elevate what you’re already doing. The main benefit of doing this is to engage your brain differently and encourage change, improvement, and growth. This will indirectly improve your work and help your career.

    I’ve written a lot of Java in my career and studied it in college, and I’ve written one app professionally and several hobby projects and utilities in Go. There’s a lot to like about it, regardless of its marketability on a resume.