• 0 Posts
  • 10 Comments
Joined 4 months ago
cake
Cake day: June 4th, 2025

help-circle



  • I use node_exporter (for machines/VMs) and cAdvisor (for Docker containers) + VictoriaMetrics + AlertManager/Grafana for resource usage tracking, visualization, and alerts.

    For updates, I use a combination of dockcheck.sh and OliveTin with some custom wrappers to dynamically build a page with a button for every stack that includes a container with an update. Clicking the button applies the update and cycles the container. Once the container is updated, its button disappears from the page. So just loading the page will tell you how many and which containers have available updates and you can update them whenever you like from anywhere, including your phone/tablet, with one button click. I also have apt updates for VMs and hosts integrated onto this page, so I can update the host machines as well in the same way.



  • You seem to be missing/ignoring that sync will protect against data loss from lost/broken devices. When that happens, those connections are severed with no deletions propagating through them.

    Only if you very carefully architect things to protect against it. I have absolutey seen instances where a drive had a fault and wouldn’t mount on the source, and a few hours later a poorly designed backup script saw the empty mount location on the source and deleted the entire backup. You have to be VERY CAREFUL when using a sync system as a backup. I don’t use syncthing, but if it can be configured to do incremental backups with versioning then you should absolutely choose that option.

    You have to be joking with this. There is no way I’m letting that tracker-filled ransomware near any of my computers.

    I believe he was talking about a mini PC with a single drive, not Microsoft’s “One Drive”.

    Simple mirroring doesn’t protect against bitrot. RAID 6 does.

    Lots wrong with this statement. The way you protect against bitrot is with block-level checksumming, such as what you get natively with ZFS. You can get bitrot protection with a single drive that way. It can’t auto-recover, but it’ll catch the error and flag the affected file so you can replace it with a clean copy from another source at your earliest convenience. If you do want it to auto-recover, you simply need any level of redundancy. Mirror, RAIDZ1, RAIDZ2, etc. would all be able to clean the error automatically.




  • Nah I’m on that guy’s side. His experience lines up with my own, namely that vibe coding is not useful for people who don’t know how to program, but it can be useful for people who do know how to program, and simply aren’t familiar with the specific syntax used in a language they’re not an expert in.

    In that case, the queries to the AI model aren’t, “write me a program that can do X”, it’s more like “write me a function in this language that can take A, B, and C as inputs, do operation Y with them, and return Z”, or “what’s the best way to find all of the unique elements in an array and sort it alphabetically in this language”. Then the programmer can take those pieces and build up a proper application with them. The AI isn’t actually writing the program for you, it’s more like a customized Stack Overflow generator, without having to wade through a decade of people arguing back and forth in the comments about inane bullshit.

    Does it save a ton of time? No, but it’s still helpful, and can get you up and running in a new language much faster than the alternative.


  • Context Switching

    It’s why I hate when middle managers get a hold of my time allocation. “You have 8 hours a day, so you can spend 1 hour each on these 8 different projects and move them all forward together!” Sprinkle 3-4 pointless meetings throughout the day, and then they wonder why nothing gets done.