Category: Software

  • J3’s 3V’s

    Value. Validation. Victory. Writing & releasing strong, resilient, fault-tolerant, production-quality software (for the entire world to use) – with dynamic teams of contributors over many months & years – is all about banking trust, typically through an unlimited number of positive interactions. Trust is really important (in teams) to quickly unjam people who are stuck…

  • Persistent Touch ID for sudo on macOS

    Did you know you can activate Touch ID (or some other biometric) support to authenticate sudo commands on your command line, in a way that survives operating system updates? All you need to do is copy & modify a single file: And it should look like this when you are done: The way I see…

  • Netbeans crashing on macOS

    For the past few years & months, Netbeans (now version 20) has been really struggling to keep up with the type of work that I most frequently use it for (helping to maintain & improve WordPress and a few hundred plugins here or there) and it has really been a bummer because no matter how…

  • Silence Ubuntu Pro security update nag

    If you see this: In short, it is telling you that the Ubuntu Core team has: If your Ubuntu machines are critical infrastructure for you, you should consider signing up for Ubuntu Pro. If not, I think that makes it the perfect type of package update to “divert”: File diversions are a way of forcing…

  • Prevent empty new-line with Starship prompt

    From this GitHub issue: https://github.com/starship/starship/issues/560 Enter this to modify Starship’s configuration: starship config Put this near the very top: # Tuck “new line” inside the ($all) variable format = “””($all )$character””” # No new line between shell prompts add_newline = false # No line-break between shell prompts [line_break] disabled = true This works because anything…

  • Fix HomeBrew Permissions

    When running brew cleanup I was seeing this error: Error: Could not cleanup old kegs! Fix your permissions on: /opt/homebrew/Cellar/php/8.1.6 Quickest fix I could muster was: sudo chown -R $(whoami) $(brew –prefix)/*

  • 17 Rules

    Build modular programs Write readable programs Use composition Separate mechanisms from policy Write simple programs Write small programs Write transparent programs Write robust programs Make data complicated when required, not the program Build on potential users’ expected knowledge Avoid unnecessary output Write programs which fail in a way that is easy to diagnose Value developer time over…

  • 19 Lessons

    Every good work of software starts by scratching a developer’s personal itch. Good programmers know what to write. Great ones know what to rewrite (and reuse). Plan to throw one [version] away; you will, anyhow (copied from Frederick Brooks’s The Mythical Man-Month). If you have the right attitude, interesting problems will find you. When you lose…