The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Tuesday, Debtember 03, 2019

You know the process of the process is to process the process to ensure the process has processed the process

Yeah, I know, I wasn't going to talk about it again but alas, 'tis the season for self-evaluation and all that fun HR stuff. The major difference from last year is that the management this year isn't quite as … um … aggressive as last year, and my current manager (who was just a fellow cow-orker but promoted to management this year) was there last year during my self-review meltdown. He knows what I went through so he can run a bit of interference for me.

I spent the day basically copying what I had from last year (only in different words) and including referneces to all the trouble tickets I worked on this year. That should be good enough to get through this year.

I hope.

Wednesday, Debtember 04, 2019

It was 20 years ago today

It's amzing to think I've been doing this whole blog thing for a whole twenty years. When I started, I had been reading several “online journals” for several years and the idea of doing that myself was intriguing. As I have mentioned, the prospect of a temporary job in Boston was enough to get me started, both writing the blog, and the codebase for mod_blog, which was somewhat based on the work I did for The Electric King James Bible.

I recall spending way too much time writing the code, trying to get it perfect and worrying if I should use anchor points to intrablog links or how to automatically generate the archive page and how it should look. After nearly two years, I had enough, did the simplist thing I could and finally released the first version of the code sometime in October of 2001. And for the record, that release of the code did not use anchor points for intrablog links (and I still don't—that was the correct call in retrospect), it didn't bother with automatically generating the archive page (and it still doesn't—I have a separate script that generates it) and this is what the archive looks like today (you can see that 2012 was the year I blogged the least).

I also don't think there's a single line of code in mod_blog that hasn't been changed in the twenty years I've been using it. I know I've done a few major rewrites of the code over the years. One was to merge the two separate programs I had into a single program (to better support the web interface I have, which I think I've used less than 10 times in total), I think one was to put in my own replacement for the Standard C I/O and memory allocation functions (I don't recall if my routines were in place from the start, or I later replaced the standard functions—the early history of the code has been lost in time, like bits in an EMP blast) but I did rip them out years later in another rewrite when I finally realized that was a bad idea. I switched to using Lua for the configuration file (an overall win in my book) and a rewrite of the parsing code meant that the last of the original code was no longer.

But despite all the code changes, the actual storage format has not changed one bit in all twenty years. Yes, there is some additional data that didn't exist twenty years ago, but such data has been added in a way that the code from twenty years ago will safely ignore. I think that's pretty cool.

A few things I've learned having written and maintained a blogging codebase, as well as blogging, for twenty years:

  1. Do the simplest thing that could possibly work” is sound advice. I was trying to figure out everything when I started writing the code and it turns out half the ideas I wanted would not have been a good idea long term. I was also taking way too long to write the code because of trying to deal with issues that turned out to be non-issues.

  2. The storage format is probably more important than the code. The program can change drastically (and the code today has nothing left in common with the code from twenty years ago) but I don't have to worry about the data. It also helps that everything is stored as text, so I don't have to worry about things like integer length and endianess.

  3. All entries are stored in HTML, and always have been. Markdown didn't exist when I started blogging, and even if it had, I don't think I would have used it (I'm not a fan). By having all my entries in HTML, I don't have to worry about maintaining an ever evolving markup language rendering previous entries unrenderable, or being stuck with a suboptimal markup format because of the thousand previous entries (or even 4,974 entries, as of the time of this entry). It does mean that rendering the blog for a non-HTML platform is a bit harder, but possible (and I'll be talking about this topic more in the near future).

  4. My PageRank is still high enough to get requests from people trying to leach off from it. Partly this is because my URLs don't change, and partly from longevity. But it's also possible because I'm not trying to game the PageRank system (which is a “tit-for-tat” arms race between Google and the SEO industry) and just keep on keeping on.

  5. I gave up on dealing with link rot years ago. If I come across an old post with non-functioning links, I may just find a new resource, link to The Wayback Machine or (if I'm getting some spammer trying to get me to fix a broken link by linking to their black-hat-SEO laiden spamfarm) removing the link outright. I don't think it's worth the time to fix old links, given the average lifespan of a website is 2½ years and trying to automate the detection of link rot is a fools errand (a page that goes 404 or does not respond is easy—now handle the case where it's a new company running the site and all old links still go a page, but not the page that you linked to). I'm also beginning to think it's not worth linking at all, but old habits die hard.

  6. I maintain a list of tags for each entry. It's a manual process (I type the tags for each entry as I'm writing it) and it's pretty much free-form. So free-form that I currently have 9,597 unique tags, which means I have nearly two unique tags per entry. And despite that, I still have trouble finding entries I know I wrote. The tags are almost never what I want in the future, but I just don't know what tag I think I'll need in the future as I'm writing the entry.

    For instance, it took me a ludicrously long time to locate this entry because I knew I used the phrase “belaboring the inanimate equus pleonastically” somewhere on the blog, but the tags were useless. The tags for that particular entry were “control panels,” “rants,” and “Unix administration.” The tags “inanimate equus” or “pleonastically” never appeared (although that is being rectified right now in this post). I don't think this issue is actually solvable.

  7. Writing entries still takes longer than I always expect, and it's still not uncommon for me to visit around two dozen web sites to gather information and links per entry (which I'm not sure are worth it anymore, per the point above). I've tried to make this easier over the years, but I'm still not quite happy with how long it takes to write an entry.

  8. I find the following amusing:

    Popularity of the various feeds of my blog over the past month
    Format #requests last month
    JSON 4,093
    RSS 3,691
    Gopher 3,305
    Atom 1,458

    Gopher is surprisingly popular.

So, twenty years of a blog. Not many blogs can say they've been around that long. A few (like Flutterby or Jason Kottke) but not many.

And here's to at least twenty more.

The not-so-great car caper

We finally worked out what to do with Dad's car—we called a wrecking comapny and they came by to take it away. Since we never did find the title, the wrecking ompany couldn't buy it, but by the same token, they didn't charge us a dime to take it away, and it saved us the trouble of leaving it burning on the side of I-95. So a win-win all around.

Thursday, Debtember 05, 2019

Nothing to see here, citizen … move along

So The Ft. Lauderdale Office of the Corporation is having a holiday lunch tomorrow. I'm checking the email that was sent announcing it to get the address, when I notice the link to the restaurant's website. Curious, I click on the link only to get:

Secure Connection Failed

An error occurred during a connection to PR_CONNECT_RESET_ERROR

The page you are trying to view cannot be shown because the authenticity of the received data could not be verified. Please contact the website owners to inform them of this problem.

Learn more…

Report errors like this to help Mozilla identify and block malicious sites

And no option to ignore the error and view the site anyway. So I decide to try loading the non-secure version of the restaurant's website and got:

Web Page Blocked

Access to the web page you were trying to visit has been blocked in accordance with company policy. Please contact your system administrator if you believe this is in error.



Category: malware

Oh … really?

And in apparent unrelated news, it appears we are no longer capable of logging into Linked­My­Face­Me­Space­Book­We­In from The Ft. Lauderdale Office of the Corporation. I have to wonder if the network changes last week have anything to do with this …

Attack of the feed fetchers

A question about my JSON feed prompted me to look a bit closer at the requests being made.

JSON feed requests per user agent
requests agent
3723 Ruby
306 Mozilla/5.0 (compatible;; 1 subscribers)
14 The Knowledge AI
12 Mozilla/5.0 (compatible; SeznamBot/3.2-test1; +
10 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

That “Ruby” agent is not only requesting the feed every 10 minutes, but doing so from the same IP address. It's excessive and it inflates the apparent popularity of the JSON feed, but it's not enough to get me to ban it, although it doesn't need to be quite so aggressive.

Monday, Debtember 09, 2019

Cards of Woo-woo

The majority of Dad's books were about, in order of volume, golfing, Buddhism, mental health, and poker (including this one by the same guy that wrote The Neo-Tech Discovery). But then Bunny came across one that is so out there it's way past left field—Introduction to the Cards: A comprehensive guide to understanding the ancient science of a deck of cards (here's the website for the curious—I could not find the “book” on Amazon, curiously enough). I could understand if Dad thought it had something to do with the mathematics of cards or poker, but even a cursory glance at it reveals it's nothing but Tarot with regular playing cards. It's hard to take this seriously. Even the the book itself doesn't take itself seriously: “Cards of Illumination Inc. takes no responsiblity for any interpretations presented.”


I wonder what made Dad pay $5.00 (back in October of 2007) for this? Were the authors cute or something? What an odd find.

Tuesday, Debtember 10, 2019

“War is merely the continued reliance on data when making key decisions that have broader societal implications”

This article about computer security predictions for 2020 (link via Hacker News) was written by a computer program (except for the opening paragraph, which explains that the rest of the ariticle was written by a program). And contained therein were some real gems, such as the title of this post, as well as:

(All these were “attributed” to Carl von Clausewitz; continuing …)

But the scariest quote, from prediction #7: “The End of End-User Elections” was this:

What's scary is it's just barely possible for this to happen, as thieves are using Bluetooth to target vehicles (link via Hacker News, read a few minutes after reading the previous computer generated article). Just another reason to keep computers away from elections.

Thursday, Debtember 12, 2019

Notes on some overheard conversations while driving back from dinner

“Oh look! A free car vacuum! I wonder if we can take one home?”

“I heard they all suck.”

“Oh look! The Four Freshmen on the radio.”

“Yeah, but where are the other three Freshmen?”

“Perhaps they failed the 8TH grade.”

“Epic fail.”

“Who? Me, or the Four Freshmen?”


Friday, Debtember 20, 2019

There is no such thing as a used cassette store

It took Bunny and me nearly a month to go through the haul from Dad's storage unit. It was now time to make another trip there. We still had a few boxes of CDs left, a box consisting mostly of magazines with a few books (magazines will be trashed, but the books, most of which are golf related, will be taken and sorted through), and a couple of boxes of … cassette tapes? Seriously, Dad? Cassette tapes? There are used CD stores. There are used vinyl record stores.

But there is no such thing as a used cassette store. Of course used cassette stores exists.


And then the paper. The pads of paper. The pads upon pads of blank paper. I swear, there're enough blank pads of paper of all sizes to open a statonery store.

“I think your dad mentioned somewhere that he wanted to be a writer,” said Bunny, as we came across the umteenth blank pad of paper.

“Yes, but at some point you have to start writing!

Seriously, if you need paper, I'm your source (in addition to being the source for New Age East Asian meditation neurohacking music CDs, reference books about mental health, golf and poker playing, pairs of glasses and music cassette tapes, in case anyone is interested).

And all that's left in the storage unit is a metric buttload of golf clubs and the stuff we consider trash (like the couple boxes of cassette tapes).

Au contraire mon frère

You know, I thought there was no such thing as a used cassette tape store. Of course I would be wrong! They do exist.

How did I not get the memo? [Because you don't own any music cassette tapes, and never have. —Editor] [Oh … shut up! —Sean]

Saturday, Debtember 21, 2019

Aistrigh an leabhar aghaidh seo

When I post here, a link is added to both LinkedIn and Facebook. I do this both to get my post out there, and to have a place where people can comment. What I did not expect was to have Facebook translate automatically.

My friend Bob remarked on Facebook, “Laughing that FB auto translated that.” When I asked what “that” was, my friend Amanda replied “on the contrary my brother.” And I don't know how I feel about that. I specifically choose that title, but Facebook goes and translates it. I wasn't expecting that. And it's not like people are incapable of highlighting the phrase and doing an Internet search on it.

Am I complaining about crutches again? Is this pandering to “stupid Americans?” Are my posts translated to English if they're aren't? No, I'm seeing posts in non-English with an option to have Facebook translate it. It might be the “smartphone” Facebook application does this automatically. I don't know, I don't have the Facebook application on my phone to check.

I wonder that Facebook will do to the title of this post?

Wednesday, Debtember 25, 2019

Merry Christmas!

[It's a little known fact that Santa Claus swaps our his deer for flamingos when over the state of Florida.]

If you celebrate Christmas, hopefully one of these Santas delivered you and yours some sweet sweet swag. And if you don't celebrate Christmas (and heck, even if you do) hopefully you get to spend this holiday season with friends and loved ones.

“When out from the fridge there arose such a clatter, I sprang from the bed to see what was the matter”

“Oh no!”

“What happened?”

“All over the garage fridge!”

“What happ—oh!”

[A soda can exploded in the fridge. It was so excited about Santa Claus coming to town that it exploded in anticipation!]

“Orange soda is everywhere!

“Well, at least the pecans are now candied.”

Obligatory Picture

[The future's so bright, I gotta wear shades]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site:, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2024 by Sean Conner. All Rights Reserved.