Chris's Wiki
utcc.utoronto.ca/~cks/space/blog
MiscLinux / UnixSoftware / engineering practiceDev tools / editors / IDEs
- Posts
- 113 from 14 Jul 2026 to 31 Oct 2026
- Posting
- weekly (113 in the last year)
- Kind
- personal blog
- Feed
- https://utcc.utoronto.ca/~cks/space/blog/?atom
2026 113
- Being more selective about python-lsp-server plugins in my Emacs setup
- The discontents of Ubuntu 26.04's default to a tmpfs /tmp
- The Linux kernel not rebooting on some 'panics' can be handy
- My reflex of assuming our servers need ever-growing amounts of RAM
- Our current upgrade practices for our servers (as of late 2026)
- Hardware failures can be odd, LCD panel edition
- A rare use (for me) of sed's backslash regular expression replacement
- Free and open source programming is not the same as hobby programming
- DNS zone inconsistency allows weird client behavior to be legitimate
- Web servers and frameworks do things before application validation
- User CSS modifications can only go so far, Mastodon edition
- PoliciesAreCommunication
- ProcWhyAlternativesToo
- SpecificationsAndCompatibility
- SSOMakingItNotSingle
- ConsiderVerboseUsageMessages
- FedoraDKMSInitramfsProblem
- Ubuntu2604ResolvedWorksOkay
- ServerEnvRequirementsVaryALot
- LocalManpagesWhere
- Compiler bootstrapping depends on more than you might think
- LocalManpagesAndUsageMessages
- On modern hardware, who handles what bit of hardware state can be unclear
- Previous 10
- 2026/10/09
- What I use Eglot for in GNU Emacs and what good it is
- Forcing a direct kernel reboot is sometimes needed and recommended
- All practical general use firewalls are porous now for inbound traffic
- My small wish for terminal programs (and other programs)
- One possible future for websites is pervasive gatekeepers
- Nearly every Unix today has a terminal emulator in its kernel
- My eccentric setup is enabled in part by a lot of continuity
- More or less all modern electronic devices have a limited lifespan
- October
- Terminfo and terminal 'automatic margins' (and modern shells)
- An unexpected difference between terminal programs: backward line wrapping
- Our fileserver generations are a little bit complex
- Changing your (Unix) terminal appearance on a per-host basis
- Giving up on PyPy for my own use (at least for now)
- How Emacs does things: flyspell's way of tracking misspelled words
- Linux programs look at things in <code>/proc</code> more than you'd expect
- Ubuntu 26.04 has made the Apache systemd service unit fairly restricted
- At a university, you have to accept that people are going to do stuff
- Python settings for Flycheck in GNU Emacs (as of September 2026)
- I'm eventually going to want a "casual" browser passkey system
- Exim's feature of "tainted" strings is a heuristic
- Having an Exim test plan for a server saved me
- Serious editors are a commitment (at least for me)
- Think about your goals and threat models for MFA authentication
- Some feed readers don't ever react to permanent HTTP redirections
- University MFA authentication has some unusual challenges
- One possible future for websites is less features
- Notes on debugging standard and third-party Emacs code
- The many load averages of Unix(es) in 2026
- Some (mostly historical) issues with the Unix load average
- Polkit insists on there always being administrative users
- Always remember to restart daemons and programs after changes
- Thinking about models: authorization versus capabilities
- The prospect for language independent tooling for making code changes
- Our authentication versus authorization problem
- Sorting out a DNF "transaction failed" during my upgrade to Fedora 44
- Status reports and indicators are untrustworthy, UPS battery edition
- We're no longer using Linux's strict memory overcommit mode
- Getting LSP servers and other tools to work in venvs in GNU Emacs
- There's a difference between a technology being ineffective and being uneconomical
- Our slow move toward boring (server) host names
- Blocking SSH logins with PAM (at least on Linux)
- Using Polkit to prevent people from doing '<code>loginctl enable-linger</code>'
- A surprise with systemd user service units and special shells
- Making a bytes/Unicode confusion in email parsing in Python
- Considering how much RAM system.slice and the kernel need
- I should write more shell scripts than I do
- Some notes on taming ruff (and mypy) so they're useful for me
- I've become more optimistic about my someday future on Wayland
- We should re-check our local settings every so often
- Why one of our systems had very slow systemd session starts
- A systemd mystery with a very slow session start
- Some notes on rectangle regions in GNU Emacs
- Some thoughts on (not) using GNU Emacs' Tramp remote editing system
- Stopping a systemd service when a filesystem is unmounted
- Grafana dashboards are a marvel of the modern web environment
- It helps to keep track of and investigate your clever ideas
- Revisiting Flymake and Flycheck in GNU Emacs (as of Flycheck v39)
- Modern (x86) firmware can be really slow to boot, which can be painful
- URLs aren't strings, and my recent encounter with this
- Where I put default values for options in Python's argparse and why
- Sometimes we do clean up network oddities
- An irritating incompatible change in Python 3.14's <code>argparse</code>
- Some ways to navigate through 'git blame' over time in GNU Emacs
- Looking at the memory map of a Go 1.27 program on Linux
- Where a Linux kernel memory allocation error comes from
- What '<code>sh -x</code>' mostly doesn't tell you about a shell script
- Bug reports are hard, minor details matter edition
- Some reasons why my phone's alarm clock is so good
- The Ubuntu 26.04 server installer and reusing existing data filesystems
- My misunderstanding about tabs in Python 3
- Solving my problem with the Emacs Lisp byte compilation checker
- Getting access to the /tmp of a systemd service with <code>PrivateTmp=yes</code>
- Trying to stress Apache to 10,000 connections (with no answer yet)
- Getting a minimal environment for a third party GNU Emacs package
- An unfortunate limitation of the Apache server status page
- How you wind up with switches above your office's false ceiling
- Maybe assigning TCP connection to Linux traffic control 'flows'
- The story of how we (eventually) found our missing firewall rule
- Making sense of diskless workstations through two models of them
- Ubuntu 26.04 has broken shutdown announcements and <code>wall</code> doesn't work
- Changes in how something behaves are a signal (but can be hard to notice)
- The Rust coreutils (uutils) are sticky in Ubuntu 26.04 LTS
- How my desktops wound up with multiple D-Bus user session instances
- Argc and argv in early Research Unix
- The early Research Unix <code>exec(2)</code> argv size limit
- Systemd and your user D-Bus session bus
- Prometheus 3.14's (likely) duration functions, especially <code>step()</code>