My article, again posted on the Oracle Linux Blog, goes into “excruciating detail” on the contents of kernel core dumps, or vmcores. It describes common data, metadata, and formats, as well as tools for introspecting, and of course debugging them.
Read moreSince April of 2021, I’ve hosted a Mastodon server on the domain snake.club
.
It’s mostly for me and friends I know personally – nothing like the bigger,
public ones. Until the last week or two, the server was mostly dead. Then Elon
finally bought Twitter, triggering a mass exodus from Twitter, right into
Mastodon. Conveniently, my server was already there, so it was a nice place for
me and my friends to jump right in and grab some popcorn while we all watch
Twitter implode.
My article, posted on the Oracle Linux Blog, goes in depth on how the Linux kernel creates stack traces at runtime. It describes the common frame pointer approach, as well as the newer approach for x86_64 called ORC, which allows omitting the frame pointer.
Read moreToday I upgraded a computer of mine from Ubuntu Groovy Gorilla (20.10) to
Hirsute Hippo (21.04). The process was mostly painless, but I had to go through
the standard process of evaluating each file in
/etc/apt/sources.d/*.distUpgrade
to determine how all of my PPAs or other
software repositories needed to be updated. The one that took the most work was
the Deadsnakes PPA.
At a previous company, there was an “infamous” commit in our main repository. The commit was about 10 years old, and it replaced every tab with 4 spaces. When the commit was authored, the repository was likely in the hundreds of thousands, or maybe millions, of lines of code. For folks like me, who liked to go “spelunking” through git history, it was a frustrating barrier, but no more than a moderate frustration. It didn’t impact day-to-day work. After all, this repo was a regularly-deployed web application. Development happened on the master branch, deploys happened multiple times per business day, and old revisions were quickly forgotten.
Read moreLinux kernel mailing lists are really important to watch and learn. They’re the best place to watch what’s happening upstream, you can see (almost) every change and the review process that goes into it. They can help you build an understanding for what sort of development is taking place on a particular subsystem, and how the maintainer and reviewers feel about certain types of changes.
Read moreToday I encountered a bug in a web form. A textbox required a numeric value, but when I attempted to enter it, I found that none of my keystrokes resulted in digits appearing in the box. I’ve experienced this bug once every few months for several years at this point. I always knew the reason for it, but today I felt just annoyed enough to fully research the issue and write about it.
Read moreINTERNET – Stack Overflow users today rejoiced at the prospect of Python’s upcoming 3.10 release including the controversial new pattern matching feature described in PEP 634.
Read moreA few days ago I had the displeasure of helping a friend reinstall Windows on their laptop, which had previously contained Ubuntu. The reason for their switch isn’t that important – although I helpfully suggested keeping Linux, it was their machine and their decision. I didn’t expect the process to be particularly difficult. After all, I work on operating systems for a living now, so I didn’t expect any trouble. But to my surprise, I encountered a nearly dystopian situation before I even got to the desktop.
Read moreNot that long ago, I found myself wanting to understand gzip. I didn’t necessarily want to learn to implement the algorithm, but rather I just wanted to understand how it was performing on a particular file. Even more specifically, I wanted to understand which parts of a file compressed well, and which ones did not.
Read more