Articles 

  • One student’s search history that the world downloaded 1,122,083 times last week

    2025/03/22

  • Not having to see Ghostscript’s fonts

    2025/03/21

  • Emoji metrics

    2024/12/31

  • 14 complaints about 11 implementations of netcat

    2024/12/12

  • macOS user IDs

    2024/11/18

  • Android itself surviving Android 15 edge-to-edge enforcement (for View dinosaurs)

    2024/11/14

  • Backing up your Firefox Nightly profile on Android

    2024/11/13

  • Resources in Diablo 4, a 40-hour impression

    2024/09/01

  • Animals rampaging in town, unusually large ones (please help)

    2024/08/06

  • Google product icons converted from polar coordinates

    2024/07/13

  • A playable game ad

    2024/07/11

  • The “incorrect hash in some cases” fixed in js-sha512 v0.9.0

    2024/04/17

  • Having Someone in your Replit editor

    2024/03/12

  • Values that you can call JSON

    2024/02/17

  • Receiving a truncated HTTP response in Node.js

    2024/01/21

  • Replacing WeTTY on Glitch

    2023/08/19

  • Emoji suggestions

    2023/05/03

  • Names for require(‘child_process’)

    2023/03/19

  • AsyncGeneratorFunction objects in JavaScript

    2023/03/18

  • Those double colon thingies in GitHub Actions

    2023/02/10

  • Firefox network monitor columns

    2022/10/19

  • The uncoolness of CacheStorage

    2022/09/18

  • Ubuntu flavors installer sizes

    2022/09/08

  • Progress towards changing your desktop wallpaper without installing a karaoke captioning library

    2022/09/07

  • One time when it really was a Docker command quoting issue

    2022/08/24

  • Compressing floats

    2022/07/05

  • Resources in Diablo Immortal

    2022/06/16

  • A dream I had (2013)

    2022/05/10

  • Little stories for every function key

    2022/04/20

  • What “[S]” means in sbt’s dependencyTree output

    2022/04/13

  • A kitchen without “finally” blocks

    2022/03/31

  • Hydra (Diablo 3 Season 25), simplified

    2022/01/16

  • What it was like to play Ragnarok Online as a computer scientist

    2021/12/15

  • The privileged daemon that used shell-quote

    2021/11/10

  • Set item drops in Division 2, Tom Clancy’s The

    2021/11/10

  • Firefox Multi-Account Containers now needing permission to “Exchange messages with programs other than Firefox”

    2021/11/02

  • Exploiting CVE-2021-42740

    2021/10/28

  • Command injection through shell-quote

    2021/10/24

  • The elevated daemon that imported Git projects for you and how it went wrong

    2021/10/10

  • User identity leak on Glitch

    2021/10/06

  • Google Meet buttons

    2021/07/30

  • Glitter text

    2021/04/25

  • Default branches at work

    2021/04/12

  • Cloud services, winter 2021

    2021/02/22

  • U.S.-Distribution-of-Wealth Stuf Oreos

    2020/10/02

  • “A resource failed to call close.”

    2020/08/12

  • Root access on Glitch

    2020/08/10

  • Firebase Messaging open source license

    2020/08/03

  • Auto-indenting code blocks in GitHub comments

    2020/07/17

  • Resources in Diablo 3

    2020/03/08

  • The reason you need to install a karaoke captioning library if you want to change your desktop wallpaper

    2020/02/18

  • vmstat(8) swap unit

    2020/01/26

  • Brands in the bathroom

    2020/01/22

  • Pandora’s track title display

    2020/01/05

  • How Jekyll checks if a link is valid

    2020/01/04

  • Which emoji scissors close

    2020/01/02

  • Android Studio’s “Code contains easter egg” inspection

    2019/11/16

  • Rasterization of coincident edges

    2019/11/05

  • The essence of anticipation (2016)

    2019/11/02

  • How IntelliJ determines if it can create a desktop entry

    2019/10/31

  • How IntelliJ IDEA installs shellcheck

    2019/09/09

  • Highlight All in Firefox 65

    2019/03/02

  • Writing a ProxyCommand for SSH

    2018/03/18

  • Windows disk space requirements

    2018/03/15

  • The SSH protocol

    2018/02/27

  • Firebase Messaging license

    2018/02/24

  • build_file_checksums.ser

    2018/02/17

  • Google AMP from the other side

    2018/02/06

  • Uninstalling extraneous language optional features on Windows 10

    2017/12/28

  • Subduing Windows machinations with Resource Monitor

    2017/12/14

  • Those pound sign thingies in Rust

    2017/11/28

  • Working with TensorFlow checkpoints

    2017/09/07

  • How to get SLF4J to just work

    2017/08/30

  • Transparency effects in Windows

    2017/08/25

  • NullPointerException in getNavigationBarView

    2017/08/22

  • Time zones in Jekyll on Ruby 2.4

    2017/08/21

  • History navigation in Safari

    2017/07/27

  • How to complete a filename in Bash

    2017/05/07

  • Highlight All in Firefox

    2017/03/09

  • Why my monitor went black

    2017/02/08

  • Lift to check phone

    2017/01/19

  • Cloud services, winter 2017

    2017/01/05

  • Ambient display

    2016/12/23

  • That thing you saw when you upgraded apt and SHA1 hashes stopped working

    2016/12/06

  • Potluck

    2016/11/30

  • Hunk editing in git checkout –patch

    2016/07/03

  • Cloud services, summer 2016

    2016/07/02

  • Android Doze inconveniences

    2016/06/30

  • Disposal

    2016/06/12

  • The awkward browsing game

    2015/11/22

  • Transferring your Firefox profile

    2015/11/10

  • Relinquishing control with suborigins

    2015/10/25

  • Extension signing requirements for Firefox

    2015/10/14

  • A new feature for this site

    2015/10/14

  • GitHub’s online editing tools

    2015/10/11

  • Modifying other people’s Ruby gems

    2015/10/10

  • Meteor stuff

    2015/10/10

  • Windows+D

    2015/10/10

Please do not write below this line.