Alternative to Cantor’s diagonalization argument

How does one prove that there are more real numbers than integers? There are an infinite number of each, but the infinity of the real numbers is, in a strict sense, larger than the infinity of the integers. In math terminology, the set of reals has a larger cardinality. Roughly speaking, it's equivalent to saying … Continue reading Alternative to Cantor’s diagonalization argument

Thoughts on timestamps of computer files

Computer files can have a number of different kinds of timestamps. Some of them are stored in the file's external metadata, alongside the file's name -- I'll call these external timestamps. Others are stored inside the file itself -- I'll call these internal timestamps. I use the term "timestamp" loosely. When something called a "timestamp" … Continue reading Thoughts on timestamps of computer files

Win32 I/O character encoding supplement 1 – A Cygwin issue

A while back, I wrote a series of posts about using Unicode in Windows console mode programs: Part 1Part 2Part 3 In Part 2, I said that programmers should probably not be changing the console code page to UTF-8 (65001). And that if they must, they should change it back when they're done. But now … Continue reading Win32 I/O character encoding supplement 1 – A Cygwin issue

The recent discovery of an ancient bilaterian fossil

In March 2020, researchers in Australia announced the discovery of a 555 million-year-old fossil of a bilaterian animal, which they named Ikaria wariootia. The way that journalists presented this discovery made it clear that it is significant for… something. But it seemed to be difficult for them to pin down precisely what is significant about … Continue reading The recent discovery of an ancient bilaterian fossil

The World Chess Championship is kinda not so great

As I write this, the chess Candidates Tournament is still expected to be held as scheduled, starting March 17, 2020, in Yekaterinburg, Russia. The tournament is between eight of the top chess players who aren't currently the World Champion. The winner of the tournament will earn the right to play a match against the current … Continue reading The World Chess Championship is kinda not so great

Notes on WinHelp format, part 3

This post is part of a series about WinHelp file format. Please read the other parts first: Part 1Part 2 With what we learned previously, we can decompress the TOPIC blocks, locate the TOPICLINKs, and stitch each TOPICLINK's fragments together to make each TOPICLINK a contiguous blob of bytes: A defragmented TOPICLINK is composed of … Continue reading Notes on WinHelp format, part 3

Another Implode bug in old PKZIP software

In a previous post, I discussed an old PKZIP bug related to the compression method named "Implode". I'll call that bug the "MML bug", for "Minimum Match Length". [See also a later post: Bug #3.] In this post, I'll discuss another old PKZIP bug related to Implode compression, mainly just to distinguish it from that … Continue reading Another Implode bug in old PKZIP software

Notes on WinHelp format, part 1

I wanted to write a program to extract the text from WinHelp .HLP files. HLP format was the standard Microsoft Windows help/documentation file format from around 1990 (the start of the Windows 3.x era), through the early 2000s. There are countless old Windows applications that come with an HLP file, but starting with Vista, Windows … Continue reading Notes on WinHelp format, part 1