• 5 Posts
  • 45 Comments
Joined 1 year ago
cake
Cake day: September 8th, 2023

help-circle













  • xia@lemmy.sdf.orgtoAsklemmy@lemmy.mlTouch Typing
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    I would suggest getting an ortholinear keyboard. When I first switched to a Kinesis advantage, the FIRST thing I noticed was how many terrible habits I had of hitting a key with the wrong finger (even twisting my hand about, if you can believe that). Having keys in line with actual finger geometry cured that mess up real quick!





  • TrueNAS scale helps a lot, as it makes many popular apps just a few clicks away. Or for more power-users, stuff like the linux cockpit also really helps.

    To directly answer your questions…

    • In the event of DB corruption (which hasn’t happened to me yet) I would probably rollback that app to the previous snapshot. I suspect that TrueNAS having ZFS as an underlayment may help in this regard, as it actually detects bitrot and bitflips, which may be the underlying cause of such corruption.
    • In the case where a device breaks… if it’s a hard drive that broke, I just pop in a new one and add it to the degraded mirror set. If it’s “something else” that broke, my plan is to pop one of the mirror shards into a spare PoS computer (as truenas scale runs on common x86 hardware) and deal with the ugly-factor until I repair or replace the bigger issue.
    • The only way to defend against a cloud provider is replication, so plan accordingly if that is a concern.
    • If by “sync’d confidentially” you mean encrypted in transit, I’m pretty sure that TrueNAS has built in replication over SSH. If you meant TNO, then you probably want to build your setup over a cryfs filesystem so no cleartext bits hit the cloud, although on second thought… it’s not really meant for multi-master synchronization… my case just happens to fit it (only one device writes)… so there is probably a better choice for this.
    • Setup is a hassle? Yes… just be sure that you invest that hassle into something permanent, if not something like a TrueNAS configuration (where the config gets carried along for the ride with the data) then maybe something like ansible scripts (which is machine-readable documentation). Depending on your organization skills, even hand-written notes or making your own “meta” software packages (with only dependencies & install scripts) might work. What you don’t want to do is manually tweak a linux install, and then forget what is “special” about that server or what is relying on it.
    • How safe is my setup? Depends… I still need to start rotating a mirror shard as an offsite backup, so not very robust against a site disaster; Security-wise… I’ve got a lot of private bits, and it works for my needs… as far as I know :)
    • Still enthusiastic? I try to see everything as both temporary and a work-in-progress. This can be good in ways because nothing has to be perfect, but can be bad in ways that my setup at any given time is an ugly amalgamation of different experimental ideas that may or may not survive the next “iteration”. For example, I still have centos 7 & python 2 stuff that needs to be migrated or obsoleted.

  • xia@lemmy.sdf.orgtoAsklemmy@lemmy.ml......................
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    5 months ago

    I would whole-heartedly recommend Robert Martin’s clean coding lecture series. It may be many hours of your life, but it is free on youtube and well worth the time. I don’t exactly recall what he says about testing in his lectures, but it’s probably pretty close. If nothing else, it will teach you to critically consider programming structure in the abstract (instead of following formulae), and to write code with the intent for it to be read and maintained by humans.

    I think he also has a series that includes “structured programming” (like early return vs deep nesting), but was unable to find it last time I looked for it. I recall having a shocked epiphany when he (i THINK it was Martin) demonstrated the exact way to clean up a function, that started out ugly, and ended up being reduced to literally nothing (the function was removed).



  • xia@lemmy.sdf.orgtoAsklemmy@lemmy.ml......................
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

    Many code-reviewers likewise devalue tests, giving only a cursory skim over the unit-test section of PRs, if they examine them at all, and sometimes code-review itself is devalued to the point of a rubber-stamp (e.g. “great, we need someone from team X to approve it too… doesn’t matter who, though…”).

    If I could tell you, you would be SHOCKED at how high-profile and recent this sordid project was; it’s literally in the news and discussed in my podcasts.