• 9 Posts
  • 866 Comments
Joined 3 years ago
cake
Cake day: August 4th, 2023

help-circle

  • My team:

    > sort -R /usr/share/dict/words | head -n 100 | tr -s '\n' ' ' ; echo
    hoodwinks rotten damnation bunghole's ray's gaskets rubdown's framework's conductive certitude barrings boomed chatting drivels refine gelds signer imponderable aspirate powwowing flirtations lenders calked mannerism's almond's sadist aconite's treasury's illegitimate dividers sweep entrepreneurial bastardizes viscid Mirabeau's weighing plenary's Mondale's Laurel's hairstyle mooning lagging plopping Angel bungholes nonverbal midwifery's lull's unsupervised Korzybski's comedowns Guineans bishop's scagged dissension's submerge before linger thoroughgoing flog feminism's expiring coyly breeziest dextrose helpmeet's Pontianak VP Parsons's Faye Staubach somersaulting reproductions Weyden bassinets Eyck urged Doreen's asset aqueducts herbivore queenly grinder's workingman's PD vibraphones vanadium choppily Spencerian's cessation's shopaholic twiddling deft telescopes suppliers butternuts rules cloth's dilute immolating 
    

    Better in every way than LLMs.





  • The behaviour is particularly interesting because physically replacing the memory on a Raspberry Pi is already well outside the scope of an ordinary upgrade.

    I mean… aren’t hackers the target audience for Raspberry Pis?

    Yeah, if the reasoning they give isn’t just straight bullshit, then I guess I don’t want to see them drown in support tickets. But it also seems like this move runs pretty counter to the whole point of the Raspberry Pi.

    (Plus, can’t resellers buy 2GB models, redo some of the screen printing, and sell them as 8GB models without even trying to upgrade the RAM to 8GB? That seems at least as bad as getting a Raspberry Pi with a dodgy 8GB RAM chip.)





  • Ok, hold on. How to “back up an organization’s source control?” Are you saying the organization in question has a source control hosting solution of some sort and needs to implement a backup strategy for the contents of said source control solution?

    Or are you saying the organization doesn’t have a source control solution and they need a source control solution.

    The former question is an entirely reasonable sort of question to ask. (Not one I have much expertise on, but still a legitimate question.) If your question is the latter, let me say: source control is not a backup solution and conflating the two is a mistake.

    I once talked to the guy in charge of another team at a company where I was working. We’ll call him Nick (because that was his name). I found out that Nick had instituted a policy wherein each developer on the team under him had their own dedicated branch in Git to which they were required to commit/push at the end of every day no matter what state their code was in. main was to be merged into these developer branches regularly (the only sane part of the whole scheme) and the developer branches would be merged into main with PRs which had to be reviewed personally by him. Then, if something went wrong and they lost work, they couldn’t lose more than a day’s worth of work (because at the end of the day yesterday, they’d pushed their code) – or so the “logic” went. Nick was a terrible person. Don’t be like Nick. (His whole mindset was “we have to protect the codebase from these ‘junior devs’ so they don’t ruin it! And we have to protect them from their own incompetence as well!” Weird guy. Definitely had a power-trip sort of complex.)

    Commits are not a box you unceremoniously dump your code in so you can ship it off to put it in cold storage on the central Git repo backup server. They’re something to be curated. Push only atomic commits. (That is, don’t put multiple unrelated changes in a single commit. Also make sure that your commit covers the whole of a single, deliverable change.) Never knowingly push commits which put the code in a broken state or commits with half-completed changes. Strive for an ideal world in which any single commit in the central repo can be safely reverted without breaking other commits. When something is broken, your organization will thank you for not leaving a mess of interrelated and interdependent commits. And when one thing needs undone, they’ll thank you for making sure that reverting a single commit will accomplish it. The structure and content of your Git history is an important part of the product just like comments and documentation. (And that segues nicely in to another point: Write good commit messages while you’re at it.) There’s nothing more satisfying than a clean commit graph with good commit messages.

    (One qualifier here. What you do on your own dev machine is your own business. Make sure that what you push is well formed. How you get there, who cares. If your coding style involves “oh, while I’m here, I’ll fix this unrelated thing”, that’s perfectly fine so long as when you push the unrelated things are in separate commit. Get familiar with git add -i and/or git add -p. And of course your team likely has requirements about things being committed under the correct topic branch and stuff. Those are good rules to follow as well.)

    Hopefully you’re getting what I mean by “source control is not a backup solution” at this point. Source control is for collaboration.

    Personally, if I’m working on code that nobody but me is expected to touch anytime soon, I don’t put it in Git. The source control I use is called “a directory”. If I need to keep previous versions of the codebase, I copy the whole codebase into another directory. To protect against hard drive failure, I back it up to off-site storage.

    I put it in Git when I publish it. Whether that be publishing to the world under a FOSS license or publishing it to my dev team at work in the central Git hosting solution we have where I work.



  • Governments (especially authoritarian ones) like to perpetuate that way of thinking. A government that doesn’t speak for the citizenry is illegitimate. To avoid the appearance (even if it’s a thin veil) of being despotic tyrants and/or bought and paid for by private interests (but I repeat myself), they perpetuate the notion that the people agree with the government, even to the point of being synonymous with the people. And the media goes along with it. They don’t speak of the government as a distinct entity from the borders or citizenry of the country. They don’t say “the government of the U.S.A. bombed Iran”, they say “the U.S. bombed Iran”. They don’t say “the Israeli government expanded their borders and genocided more Palestinian people”, they say “Isreal annexed disputed land”. It’s just part of how the propaganda machine works. In fact, it’s an integral part of how the propaganda machine works.






  • The Java logging library “SLF4J” works basically this way. It’s a “broker” sort of library. You use the SLF4J API to log and there are different backend implementations that can tie your logging statements to an actual logging backend. So you can do things like switching backends without changing code or using one backend (say, to STDOUT) in local and a different one (Syslog, maybe) in prod.