Author: JJJ

  • Low framerate in Safari on M1 Mac



    I recently noticed that animations in Safari were stuttering pretty badly on my M1 powered 2020 MacBook Air, and dove in to figure out why. I’m a web developer, so I went to work writing a small bit of vanilla JavaScript to monitor requestAnimationFrame which is the API that the window object uses to “paint”…

  • 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…

  • PHP is not recommended

    The latest version of macOS makes it pretty clear how Apple feels about open web technologies that aren’t JavaScript:

  • Raspberry Pi 4, Ubuntu 20.04, PoE Hat Fan Control

    I recently acquired an 8Gb Raspberry Pi 4 and promptly installed Ubuntu 20.04 on it to see how it worked. Right away, I was excited that the PoE Hat worked and that it booted without any problems, except that the fan on the Hat was no longer controllable the way that it used to be.…

  • macOS Disk Utility “Operation cancelled”

    When trying to use Disk Utility to make a backup of one of my Raspberry Pi’s, I was repeatedly seeing an error that was causing my backup to fail. Operation cancelled Disk Utility Not particularly helpful. For me, the fix involved setting the Disk Utility application to have Full Disk Access inside macOS System Preferences,…

  • Update GitLab signing key

    At the beginning of April, GitLab updated their repository signing key. If you try to update, you will see an error during sudo apt update : W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: bionic InRelease: The following signatures…

  • Going Remote: Basecamp Walkthrough Livestream



    Posting this here because I’ve shared it privately a few times. It’s such a neat way to see how Basecamp uses Basecamp. Really, it’s a testament to how artists use their own tools.Definitely check it out!