About bit-player
by Brian Hayes
Published 4 August 2025
The name bit-player is meant to evoke the idea of playing with bits, the fundamental atoms of information. I do a lot of that. But the name also alludes to the theatrical notion of a bit-player: an actor who takes minor, non-starring roles. I am not a mathematician or a computer scientist; there are no theorems or algorithms named for me. I consider myself a lifelong student of those fields, an enthusiastic amateur rather than an expert. I strive to understand what it’s all about, and then I try my best to explain what I’ve learned. I’ve been doing this for quite a long time—more than 50 years—and I think I’ve gotten pretty good at it.
History
The bit-player website was launched in 2006 as an adjunct to my “Computing Science” column in American Scientist magazine. A few months earlier a colleague, Martin Baucom, had told me about the wonders of a software system called WordPress. When I tried it out, I was instantly enchanted by the miracle of pushbutton publishing. What a contrast to the world of ink-on-paper publications, where getting your words in front of readers required the services of an editorial team, a production staff, a printing plant, a bindery, and the U.S. Postal Service. The lead time was weeks. Now I could publish my words as fast as I could type them.
Enjoying the novelty of lickety-split publishing, I felt I should take advantage of the new medium by posting something every day. Many of those early posts were brief squibs, rather like tweets. (Twitter itself was born a few months later.) If I had nothing in my own head worth sharing, I would reproduce a “quote of the day” from some savant I admired.
The daily publication regimen didn’t last long. Writing quickly and briefly is just not in my nature. I’m a plodder. And so, over the years, the posts grew fewer and fewer but longer and longer. They ballooned into 10,000-word essays with dozens of illustrations and embedded programs providing live demonstrations of the ideas I was exploring.
At the outset I labeled bit-player a “weblog.” (The rebracketed form “blog” was a bit too breezy for my taste.) Rebracketing is a linguistics term for breaking a word apart in inappropriate ways, as when someone reads “therapist” as “the rapist.” In 1999 Peter Merholz rebracketed “weblog” as “we blog.” The front page of the site presented the 10 most recent posts in reverse chronological order, all in one long scroll. This worked well when the posts were a few paragraphs long, but it became unwieldy later, as I allowed myself to become more long-winded. In 2013, during a revamp of the site, I altered some settings so that only the single latest post appears on the front page. In 2025, during another cycle of renovation, I ditched the diary-like weblog structure altogether.

Three stages in the life of bit-player.org: The first version (top) lasted from 2006 through 2012. A 2013 revamp (middle) brought cosmetic changes and some functional ones, such as menus for navigating the site. The 2025 edition (bottom) is not so much a revamping as a resoling: The main changes are to the substrate—the hidden machinery that runs the website.
Technology
Three computing devices help to transport this web page from my fingertips to your eyeballs. First is the laptop I’m using to create the page—writing the text, preparing the illustrations, and so on. At the other end of the line there’s whatever device you are reading on—a computer, a tablet, a phone, even (I cringe to think) a smart watch. Standing between the origin and destination machines is a middleman: the web server. For bit-player.org the server is a share of a CPU in a data center I’ve never seen, somewhere in or near Newark, New Jersey.
Until the summer of 2025, most of the action happened on the server. That’s where complete web pages were assembled on demand, like made-to-order pizzas. The pizza chef was the WordPress software suite, which brought together bits of text, images, menus, buttons, and other toppings, as well as stylesheets, and various hunks of program code needed to make the page look and behave properly. Most of these components were stored in a relational database maintained by WordPress, or in the server machine’s file system. A few resources, such as fonts, might be downloaded as needed from elsewhere on the internet—from Google, perhaps, or from a “content distribution network.” Making all this happen, with minimal intervention by the user, calls for a formidably complex collection of programs, and it can put quite a burden on the server hardware.
Bit-player and I have now parted ways with WordPress, but I leave without any feeling of disgruntlement. WordPress is software with ambition, with panache, with brio. I have abandoned it for just two reasons. First because I needed something simpler on the server side, something that would run unattended, without frequent maintenance or updates, perhaps for years. Second because I’m such a control freak that I want to do everything my own foolish way rather than the way some thoughtful and well-trained software engineer deems prudent.
WordPress websites are said to be “dynamic” because the pages are assembled on the fly. The new bit-player is a “static” site. The pages are prefabricated, with all the parts assembled on my computer at the time of writing. Now the web server does nothing but serve. When you request a specific page—such as this one—the server finds the appropriate HTML document and ships it off to you. There’s no need for a database or for programs that bring together fragments of text and code.
In the new regime all the assembly-line work is done on my own trusty laptop. This is done with the assistance of software called a static-site generator. In my case the generator is a program called Eleventy (or 11ty), which is based on the JavaScript programming language. Eleventy doesn’t actually write the articles for me; I still do that the old-fashioned way. Eleventy’s role is to take care of all the little pieces that are the same everywhere—like the heading at the top of each page and the boilerplate text at the bottom. The generator also makes necessary adjustments each time I make a change. For example, if I post a new article, the title has to be added to the list of recent stories on the menu bar, and to the index of all published stories.
Eleventy works by keeping a local copy of the complete website on my computer, then regenerating it every time I add or edit a file. When I’m ready to publish, I copy the whole site to the server. (The software that does the copying, a utility program called rsync, keeps track of file dates and only copies those that have changed since the last update.)
Gains and Losses
The new bit-player is still a work in progress, and I’m sure it always will be. Furthermore, some of my daydreams will never come true.
One goal of the recent makeover was to improve accessibility on phones and other small-screen devices. The 2006 version of the site was hopeless in this respect—which is not much of a surprise since the iPhone and its brethren didn’t yet exist. The 2013 revision was slightly less painful, and most pages on the 2025 site should work reasonably well on any device with a screen width of at least 350 pixels. But there are a fair number of older pages with elements that would have to be completely reworked to fit on a small screen or to function properly with a fat-fingered touch interface.
Some other pieces of the puzzle are still missing. The old bit-player had a search function, although it never worked well. The new site has no search facility at all. I hope to build one, but there’s a complication: The pattern-matching program will have to run on your computer, not on mine or on the server. Making that happen on devices with limited computing capacity, storage, and network bandwidth looks like an interesting challenge. If I manage to do it, I’ll be sure to write about it here.
Another painful loss will probably never been remedied: I have not found an acceptable way to accept and publish comments from readers. In the past, the comments appended to my articles were often more interesting and illuminating that the original text. I dearly wish I could continue welcoming such contributions, but I don’t think it will be possible.
The WordPress comment mechanism was based on a fill-in-the-blanks form that invited readers to write a response to an article, click a button, and have their words presented to all subsequent viewers of the article. For this scheme to work, the web server had to be equipped to accept submissions from any visitor to the site; it would store those comments in the database and serve them up when appropriate. The new server has no such ability; readers can only read, not write.
The difficulties of handling comments are not just technical. The bit-player comment form was meant for thoughtful and polite discourse on topics pertinent to bit-player articles. However, the form was accessible not just to the thoughtful and polite among us but to the entire global internet. Anybody (and anybot) with an IP number could post all manner of nonsense. Over two decades, more than 2,000 legitimate comments were posted and approved, but over the same period more than 640,000 spam comments were submitted. Most of them were intercepted by an automated filtering service called Akismet, but plenty more slipped through and had to be removed by hand.
Even if the comment form never comes back, I am eager to hear from readers. I know it’s oh so 20th century, but you can email me: brian@bit-player.org. Let me know if you’d be willing to have the letter shared on the website.
Publication history
First publication: 4 August 2025