[-] traches@sh.itjust.works 144 points 21 hours ago

They didn’t even clean up the rubble

[-] traches@sh.itjust.works 3 points 2 days ago

Are the newer ones any better? I’m not replacing my CPU, mobo, and ram for like a 25% improvement

[-] traches@sh.itjust.works 2 points 4 days ago* (last edited 4 days ago)

Antennapod and newpipe are the biggest apps I’ve missed since moving to iOS

[-] traches@sh.itjust.works 6 points 5 days ago

I love how parentheses on function calls in ruby are optional. Is it a variable? Is it a function? Where does it come from? Who the hell knows! Try to run it and find out, loser

[-] traches@sh.itjust.works 2 points 5 days ago

That exact error is why I only want to work in typed languages now

[-] traches@sh.itjust.works 6 points 5 days ago

I think the focus on short, simple functions combined with DRY code leads to many early, poorly chosen abstractions. Getting out from under a bad abstraction can be painful.

[-] traches@sh.itjust.works 9 points 5 days ago

Im not saying every word of it is wrong, just that the sum total of all his advice is. I don’t think there’s any school of thought that says it’s good for a function named ‚writeToFile’ to be doing other stuff

[-] traches@sh.itjust.works -4 points 6 days ago

Wait he actually calls himself uncle bob? Creeper

[-] traches@sh.itjust.works 9 points 6 days ago

Regarding the experience thing, I’d like to point out that a lot of us have experience that says „clean code” is a real pain in the ass to work with and think through.

[-] traches@sh.itjust.works 27 points 6 days ago* (last edited 6 days ago)

I think it’s telling that none of his talks even make it all the way through his SOLID acronym, he sorta just trails off when he’s out of time.

His ideas were real big in the ruby community back when I was learning it, and if I ever go back that code is such a pain to work with. Almost impossible to follow the logic, inheritance everywhere, and I even thought metaprogramming was a good idea. Tests are the only reason that code has any reliability at all.

Now most of my code is procedural or functional, favors composition over inheritance, and is colocated as much as possible.

45

I have a load-bearing raspberry pi on my network - it runs a DNS server, zigbee2mqtt, unifi controller, and a restic rest server. This raspberry pi, as is tradition, boots from a microSD card. As we all know, microSD cards suck a little bit and die pretty often; I've personally had this happen not all that long ago.

I'd like to keep a reasonably up-to-date hot spare ready, so when it does give up the ghost I can just swap them out and move on with my life. I can think of a few ways to accomplish this, but I'm not really sure what's the best:

  • The simplest is probably cron + dd, but I'm worried about filesystem corruption from imaging a running system and could this also wear out the spare card?
  • recreate partition structure, create an fstab with new UUIDs, rsync everything else. Backups are incremental and we won't get filesystem corruption, but we still aren't taking a point-in-time backup which means data files could be inconsistent with each other. (honestly unlikely with the services I'm running.)
  • Migrate to BTRFS or ZFS, send/receive snapshots. This would be annoying to set up because I'd need to switch the rpi's filesystem, but once done I think this might be the best option? We get incremental updates, point-in-time backups, and even rollback on the original card if I want it.

I'm thinking out loud a little bit here, but do y'all have any thoughts? I think I'm leaning towards ZFS or BTRFS.

[-] traches@sh.itjust.works 117 points 1 month ago

Honestly at this point I want to live somewhere that’s actively hostile to cars

[-] traches@sh.itjust.works 131 points 3 months ago

guys guys GUYS this song has lyrics in it that aren’t literally true omg

14

Not sure about the artist, sorry

39
view more: next ›

traches

joined 1 year ago