[object Object]

Autocorrect hates me, I am sorry.

  • 0 Posts
  • 100 Comments
Joined 1 year ago
cake
Cake day: July 20th, 2025

help-circle
  • Just a heads up, I pulled the drive stats from Backblaze’s drive survey, for most brands failure rates accelerate at 4-5 years.

    At that point Hitachi, Toshiba, and Seagate all increased in failures. Western Digital didn’t, except for their 2014 batch that immediately dropped off.

    Western Digital post 2020 are the most reliable drives.

    Hitachi, Toshiba and Seagate seem to hit a cliff around 2-5 years now, but that only kills about 10% of their drives, so with replication you’re probably fine, just make sure to mix drives so you don’t get correlated failures.



  • I hope this doesn’t come off as too harsh, but the text reads as very AI generated, and I think if you rewrote the main text you could do a much better job.

    It’s not clear to me why to use it, the pitch today is that it makes failures loud, which is nice, but very poorly described.

    The tool itself looks good, but the website looks very “Claude”, especially the text at the top saying “ONE BINARY · LINUX · MACOS · WSL · 25 MB RAM IDLE”

    Those are great pros, but are they the guest thing the user should see?

    Honestly the first paragraph of the quick start is a much better pitch:

    RunWisp is one small Go binary. You list the shell commands you want to run in a runwisp.toml, and RunWisp takes care of the rest — firing jobs on cron, restarting services when they crash, and capturing every line of stdout and stderr so you can go back and look at what happened. There’s a TUI in your terminal and a Web UI in your browser for poking around. No external database, no agent, no sidecar

    This tool looks decent, but for me I find nix helps manage the complexity of systemd well





  • Asides from my kiwix clone of Wikipedia, in the apocalypse there’s not much value to most of the things I self host.

    I self host backups, code forge, some AI tools (all my AI chat and completion are local now).

    But realistically, in an apocalypse situation I’m going to leave my suburban home and migrate somewhere safer and more directly connected to food+shelter, and probably spend my days dealing with trying to survive.

    My self hosting is primarily designed around avoiding US based tools and systems, so that I have more control over privacy and don’t find policy I disagree with.



  • Goto is surprisingly readable.

    Loops don’t get labels. Labels are awesome. Sprinkle in some goto so you can use labels.

    In languages like python inside a loop you have if condition: continue. Except continue means don’t continue, you skip to the next iteration without breaking the loop. That’s confusing as heck (and what is else doing on loops Guido???). if condition: goto loop is more honest.

    I also like that goto is “take my stack frame and run that procedure instead”, which is kind of unique and cool in its own way, and impossible to do with most lexical scoping systems. It’s reliable zero cost function calling (if you can make your optimizer happy).

    Everyone loves repeating “goto considered harmful” and “numbering should start at zero”, but nobody critically thinks about those things. Rules are made to be broken.

    ~Oh, and the numbering argument is totally wrong… using one notation to advocate for another is silly. Offset from zero, but index by domain logic!~










  • [object Object]@lemmy.catoSelfhosted@lemmy.world•Degoog - 0.15.0 Stable Beta
    link
    fedilink
    English
    arrow-up
    47
    arrow-down
    13
    ·
    5 months ago

    I love that Claude.md file, fucking awesome.

    AI is great, I use it to get started quickly, and then I delete a bunch of it and replace it with human approved and purposeful code.

    The other day I used it to write a slugify method. I didn’t think I needed a full library imported for that, and with AI that was a 30 second task, including tests. Great.

    Then later that day the AI wrote an API for me. The AI design hid potentially async code in a synchronous block and it butchered the control flow, so I rewrote it to give the caller control over how the code was executed. The result is exactly what I needed, and easy to use plus maintain. Also great.

    The difference between that and slop where I never even review the file is massive! I like your power tool analogy. Yeah, I could use the spokeshave… or I could just use a router. But if you’re building a jig to turn your table saw into a jointer you might wanna take a step back and ask what you’re really doing here.


  • For posterity because I didn’t explain why/how it’s sketchy:

    • they just found a hardcoded key that skips all security that was in the wild for like two years
    • significant vibe coding means nobody actually understands the codebase. Hence not finding the backdoor key
    • some of the documentation is only in Chinese, which isn’t sketchy in itself, but given the backdoor key does seem fucking sketchy.
    • they have an X link you cannot remove from the admin console
    • the admin console has minor but stupid bugs: you can’t go from a bucket to the list of buckets, auth is janky, etc.

    Just because it’s good a good name doesn’t make it good pedigree (which is a bone I have with rustXYZ named projects). The fact nobody caught serious backdoors for years is damning.

    If you’re running this offline, it might be fine for you. I still run it inside my vpn behind auth but I’m looking to move off.