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.

Saturday, October 07, 2023

Mowing Da Lawn

I've taken over mowing the lawn over the past few months, and I've learned a thing or two:

  1. The electric mower is much nicer than the gas mower. Both are self-propelled, but the speed control is nicer on the electric than the gas. Also, the electric mower is easier to start.
  2. One bad thing about the electric mower—the grass accumulates inside, and when it gets too thick, the mower stops. I then have to tip it over and scoop out the cut grass. The gas mower does a much better job of mulching the grass.
  3. Also, the electric mower has a safety mechanism where two latches that lock down the handle length (it can slide in and out, shortening or lengthening the handle) must be in the locked position, or the cutting blade won't start (just learned this today). Interesting.
  4. Over the past few months, I've learned that I can finish the entire yard (front, sides and back) with the two batteries we have, but only if the lawn isn't terribly overgrown. And by “overgrown” I mean “longer than two weeks” (we've been having a lot of rain lately).
  5. Moving the cars out of the driveway makes mowing the front lawn easier, as I can just simple go back and forth, crossing the driveway. I wish I could do that for the entire lawn, but alas, there are some trees, a fence, and oh yes, the house, in the way.
  6. Chez Boca is on a … I don't want to say a hill, because get real, we're in Florida where we give Kansas a run for its money for “Flattest State in America.” But there is an incline you can feel when walking towards the house. I suspect that when it rains, the water seeps into the ground, and because the ground here is nothing but sand, the water slowly seeps down the incline towards the street. I say this, because there's a two-foot strip of grass along the road that is gorgeous, but three weeks makes it a bit too long to cut with the electric mower without having to stop several times to clean it out.
  7. The north side of Chez Boca is the most annoying section to mow. It's too narrow—there's a fence on one side, the house on the other. There's also a large tree on the east end, and a shed on the west end, so there's no long stretches to mow. I now do that section after the front yard.
  8. The north-west side of Chez Boca is the second most annoying section to mow. It's next to the house, There are two small trees in the way (I mean, I like trees, but mowing around them, especially given they're very low to the ground, is annoying) and I've smashed several sprinkler heads a few times. I do that after doing the north side, as I'm not completely wrecked yet.
  9. I do the back yard last, when I'm completely wrecked from doing the north and north-west portions—like the front yard, I can do long stretches of back-and-forth mowing which helps when I'm exhausted from mowing (when I first took over mowing, I would end up with doing the north-west then north sections last, and that nearly killed me each time).
  10. After mowing the front yard, I move the cars back into the driveway, instead of after mowing the entire lawn. It's easier to do it then than when I'm about to pass out.

I'm having a hard time seeing why Bunny would give up mowing the lawn. It's so much fun!

Monday, October 09, 2023

The Temptation

I'm still receiving emails for some other Sean Conner. This is about the fourth or fifth email I've received from XXXXX­XXXXX­XXXXX­X, and I've already contacted them twice about the emails. They said they would remove my email. And yet:

Upcoming Appointment Reminder 10/11/2023 8:30am
Tue, 10 Oct 2023 00:31:05 +0000


Your upcoming appointment with Dr XXXXX­XXXXX­XXXXX­X at XXXXX­XXXXX­XXXXX­X at XXXXX­XXXXX­XXXXX­XXXXX­XXXXX­XXX Lake City, FL 32024 is on Wednesday, 10/11/2023 at 8:30am.

Please confirm your appointment so we can update our records.

Please take a minute to fill out or confirm your information through the online intake form:


If you need to cancel or reschedule your appointment, please call us directly.

Thank you,


It's to my email address, but not my name. And of course the reply goes to a blackhole email account.

At this point, I'm seriously considering if I should just call and cancel XXXXX­XXXX's appointment and just savor the confusion and anger that will happen at 8:30am on Wednesday, with the hope that someone will figure out the email address is wrong. While the confusion and anger would happen, I'm beginning to seriously doubt they would track it down to the email address. Even Bunny, BUNNY! agrees that I should just call and cancel the appointment, especially after I've called them twice about this. I mean, I thought I was being a BOFH for thinking of doing this, but I would have never thought of Bunny as a BOFH.


So why don't I just ignore this? Why go to the bother of notifying parties they have a wrong email address? Because I feel that notifying is the proper thing to do—these people are leaking private information to strangers, and apparently, they either don't know or care about it. If they don't care about, well, then it's on them, but if they don't know I'm sure that being notified would be helpful to them. That's why I do it.

But this … after contacting them twice? Yeah, I'm cancelling that appointment. And maybe as I keep cancelling them, they'll get a clue-by-four and fix the issue.

Or have me arrested.

I'm giving it 50/50 odds …

Update on Tuesday, October 10th, 2023

I ended up not cancelling the appointment.

Tuesday, October 10, 2023

Get thee behind me, Satan

I wussed out.

I did not cancel the appointment.

Over the past few months of dealing with Bunny's medical issues, the wait for appointments was excruciating and in light of that, I just couldn't cancel someone else's appointment. Also, I thought about it, and it could have been a transcription error on the part of the doctor's office. My name can be spelled “Sean,” “Shawn,” “Shaun,” or “Shon.” My last name can be spelled “Conner” or “Connor.” That's eight combinations—more if you accept “Konner” or “Konnor” (it's not out of the realm of possibility—I had an uncle whose last name was “Kollins,” not “Collins”).

I did call and this time, it was escalated to the head nurse at the doctor's office. It turns out it was a transcription error, so there's at least one explanation for receiving some other Sean Conner's email (and for the record, the head nurse could neither confirm nor deny the patient's name was “Sean Conner” even though that was clearly the case).

Tuesday, October 17, 2023

“Tell us how you really feel about Agile …”

With God as my witness, the next son of a bitch to mention Agile is going to get hurled into the ground so hard that I'm going to publish a seismology paper in Nature with the data.

Via Flutterby, I Will XXXXX­XX Haymaker You If You Mention Agile Again

I can relate. Not only did I have recurring meetings every day, but I had two recurring meetings every day! Also, if Ron Jeffries says to abandon Agile, you know it's a toxic word …

Discussions about this entry

Wednesday, October 18, 2023

When setting up to do the thing takes longer than doing the thing

While on route to the weekly lunch with some former cow-orkers, my car notified me that the front left tire was low on pressure. 'Tis not a problem, I thought, as we have an air compressor and tire attachment at Chez Boca.

Once back at Chez Boca, I began to set up to inflate the tires with said air compressor and tire attachment. The tire attachment, easy to obtain. The air compressor? Not so easy, as it was nestled in the middle of the garage among various wood working and gardening tools. I ended up having to hoist this 50 pound (23kg for those unwise in the ways of Imperial measurements) tool up and over some obstacles.

Then, power. The power cord on the air compressor is pretty short, and the nearest outlet that I could see was in the middle of the garage, nestled in the middle among various wood working and gardening tools (it's a long, horizontally mounted power strip along a table). All I had to do was find an extension cord.

And lo', next to the garbage can was a nice sized spool containing an extension cord. One end was visible, the other end, not so visible. In the end, I had to unspool the entire cord to find the other end—perhaps 50′ (15m for those of you not living in the U.S., Liberia nor Myanmar) spilled out across the floor.

Then a couple of minutes to get the power, air hose and tire attachment hooked up, and I was ready to inflate some tires. I think I spent about fifteen minutes total setting up.

Two minutes inflating tires.

Then another five minutes putting the tire attachment away, air hose coiled up, respool the extension cord, and hoisting the air compressor back into it's place in the garage.

Twenty minutes to do a two minute job.


Monday, October 23, 2023

One of the rarest gas stations in the United States

One of the YouTube channels I watch is Phil Edwards, and on October 10th, I managed to catch his request for help—he wanted people local to a dozen cities to provide some phone video. I noticed that one of the cities mentioned was Lake Worth Beach, Florida. I once lived in Lake Worth, Florida—could it be near there?

Turns out, Lake Worth is Lake Worth Beach, having changed its name in 2019 in order to rebrand itself. And while Lake Worth Beach (and I don't think I'll ever get used to that name) is a bit north of Chez Boca, it isn't that far to drive. I felt it would be interesting to see what project Phil Edwards has in mind, so I signed up.

The project involved video of a gas station, and not just any gas station, but one of a dozen stations still branded with Standard Oil (which are now owned by Chevron Corporation).

On the 12th, I drove to Lake Worth Beach and videoed the only Standard gas station in Florida. As stations go, it wasn't that special. It didn't have a distinctive architetural style, nor did it look all that old. It looked like every other Chevron gas station, except for the “Standard” label that most people probably just ignore. Heck, I lived just a few miles down the roat from this station and I never knew it was a Standard gas station, that's how unremarkable it is.

I'm only mentioning this now as Phil's video on Standard gas stations is now up on YouTube. The footage I supplied can be seen at the 2:35 mark (all four seconds of it).

So I guess that means I can add “videographer” to my résumé now.


I'm getting some serious “Darmok and Jalad at Tanagra” vibes from this card magic book

“The book I ordered for you came in,” said Bunny, walking into the Computer Room and handing me a slim volume—Scott Kahn's Kahnjuring: Deceptive Practices With Playing Cards. She had ordered it about a week prior after we saw him on Penn & Teller's “Fool Us” (spoiler: he failed to fool them, but it's still a very cool card swap with transparent cards). “How soon until I see some tricks?”

I took the book and quickly read through the first trick. And … well …

When ready to perform, start with a convincing full deck false shuffle. Since this routine requires a table, I usually will use a Push Through Shuffle followed by an Up The Ladder False Cut. However, I have also used Bob King's variation of the Erdnase Blind Overhand Shuffle that was published in Darwin Oritz's The Annotated Erdnase, 1991. The spectator may even give the deck a straight cut, if desired, before proceeding.

Ribbon Spread the cards across the performing surface and ask the spectator to touch a card of their choosing. Outjog the selected card for half its length …

Kahnjuring, page 17

“Um … not any time soon,” I said. I just recently learned about the Push Through Shuffle, but the Up The Ladder False Cut? Erdnase Blind Overhand Shuffle?

I don't think this book is an introduction to card magic.

It's still neat, though, and the second trick in the book is the trick Scott Kahn did on “Fool Us,” so it's nice to learn how that particular trick is done, even if I didn't understand all the jargon.

Wednesday, October 25, 2023

A small warning about UDP based protocols

The Gemini protocol has inspried others to implement “simple” protocols, like Mercury (alternate link), Spartan (alternate link) and Nex (alternate link). But there's another protocol being designed that has me worried—Guppy (alternate link), which based on UDP instead of TCP.

Yes, UDP is simpler than TCP. Yes, you can get results with just one exchange of packets. But the downside of UDP is that you will be exploited for amplification attacks! I found this out the hard way a few years ago and shut down my UDP QOTD service. Any time you have a UDP-based protocol where a small packet to the server results in a large packet from the server will be exploited with a constant barrage of forged packets. That's one reason for the TCP three-way handshake.

Also, the Guppy protocol spec states, “it's an experiment in designing a protocol simpler than Gopher and Spartan, which provides a similar feature set but with faster transfer speeds (for small documents) and using a much simpler software stack,” but there's a downside—you can easily over-saturate a link with data, which is another reason UDP is popular for amplification attacks. Congestion control is one reason why TCP exists (some say it's the only reason and the other benefits, like a reliable, stream-oriented connection is a side effect of the design).

My intent here isn't to discourage experimentation. I like the fact that people are experiementing with this stuff. But I do want to pass along some painful experiences I had when playing around with UDP on the open Internet.

Discussions about this entry

Sunday, October 29, 2023

Inflation has seriously affected the Nigerian scams

Normally, I would ignore these Nigerian scam emails but this one—this one is gold:

Federal Emergency <>
Attention Dear
Wed, 25 Oct 2023 01:46:19 -0700


REGION II - NJ, NY, PR, VI 26 Federal Plaza, Room 1337 New York, NY
REGION III - DE, DC, MD, PA, VA, WV 615 Chestnut Street 6th Floor
Philadelphia, PA 19106

Congratulations to the owner of this email account, Please If you received this email in your spam folder it could be due to your Internet Service Provider, (ISP). move it to your inbox before responding, The Federal Emergency Management Agency (FEMA) has added an event wide notice for 4504DR-KS (4504DR) 2023, Event Wide Notice: FEMA Established Deadlines for COVID-19 Funding,

This is to intimate the owner of this email account with very important information, The United Nations and Federal Emergency Management Agency (FEMA) has made available a total sum of US$102,000,000,000,000 to world governments for distribution to Twelve Million successful company and business emails users. You're qualified and chosen for the (UNCC & FEMA) covid19 outbreak compensation payment of $8,500,000.00 USD only. Kindly contact the Secretary-general of the United Nations for the claim of more details. Contact Mr. Antonio Guterres through below email for the claim of your funds. $8,500,000.00,

CONTACT Mr. Antonio J. Guterres
phone: +1-(409)-571-2111
kindly text him for an urgent response.

Body: FEMA established deadlines for the Public Assistance for COVID-19 events to assist states, tribal nations, localities, territories, and eligible private nonprofits in pandemic response and recovery. 30th December 2023 is the deadline for Applicants to submit their Request for Public Assistance for the COVID-19 pandemic incident. You can apply for reimbursement funding from FEMA for recovery efforts. 30th December 2023 is also the end of the 100% federal cost share for eligible COVID-19 response and recovery work. Any work that Applicants conduct or complete before 30th December, 2023 or after will be funded at 90% federal cost share,

yours faithfully, Miss. Deanne Criswell,

I think this is a record—one hundred trillion dollars in compensation. Yes, inflation is currently on the rise, but I don't think the United States has one hundred trillion dollars. Is the author perhaps confusing us with Zimbabwe? I'm happy to report that the math in the email works out, so some effort was given here. But aside from the decent grammar, the math working and the monetary amount, nothing else about this is really noteworthy.

Adventures in Utext

There is one point on the ASCII ↔︎ JS spectrum that I haven’t seen, and it’s one that, as I use Unicode in more complex ways on and have learned how many obscure features or characters Unicode has, I increasingly think has been neglected: only UTF-8 text rendered by a monospace font. Not ASCII, not a weird subset of SGML, not troff, not raw terminal codes, not bitmaps encoded in ASCII—just UTF-8. This document format does only what pure Unicode text can do—but does everything that pure Unicode can do, which turns out to be a lot. What if we take Unicode literally, but not seriously?

Your typical plain text output strips all formatting. At the most ambitious, it might have a Unicode superscript or fraction. But we can do so much more!

Utext: Rich Unicode Documents ·

That was an interesting read (your mileage may vary).

To generate the gopher and Gemini versions of my blog, I parse the HTML and generate either plain text (for gopher) or Gemtext for Gemini. And I'm still not entirely happy with the output. For emphasized text, I would translate that to “*emphasized*”, which is … okay, I guess? And for deleted text—that was a harder to deal with, and I ended up with “[DELETED-deleted-DELETED]” text.

There's no excuse for that.

But after reading about Utext, and Uncode's COMBINING SHORT STROKE OVERLAY and COMBINING LOW LINE I thought I might try using those for some typographical niceties that you don't normally get with plain text. And that's when I learned that not all virtual terminals support all of Unicode all that well. And wraping text is … not that trivial anymore.

Ah well. For now, it seems to be working, but it remains to be seen if I like the results.

Update on Friday, December 8th, 2023

I reverted this change due to issues.

A most persistent spam, part VIII

I received an email from Kevin thanking me for my post about Aleksandr and how he was able to stop the spam. But Keven had some issues with the proposed solution and how it didn't work directly for him. On close inspection of the post in question, I did find an issue with the regular expression presented in the post—it wasn't correct. The problem stemmed from my use of a bespoke markup language I created (that I should talk about at some point) where a character that should have been escaped, wasn't, causing the text to be misleading.

I fixed the issue and thanked Kevin for bringing the problem to my attention, even if it was in a roundabout way.

And to think, three years later and “Aleksandr” is still spamming people for some obscure reason.

Tuesday, October 31, 2023

“And in other news, water is wet, and the Pope is Catholic … ”

About Kevin's email

I was hesitant to talk about the problem I had in replying, because it's well known that the Big Players (Google and Microsoft in particular) don't really care about smaller email servers, making it difficult to self-host email.

Yet … the bounce message I recieved contained the following:

Diagnostic-Code: X-Postfix; host[] said: 550 5.7.1
    Unfortunately, messages from [] weren't sent. Please contact
    your Internet service provider since part of their network is on our block
    list (S3140). You can also refer your provider to
    2023-10-29T06:59:01.371Z 08DBD7D7D4735644] (in reply to MAIL FROM command)

That link? Absolutely useless. To address the issue, I would have to sign in to my “Microsoft Account” or pay for services like this company that “ensures” email delivery (which I'm reading as “pay to play”). And of course I'm a company, because who would be so silly as to run their own email server? Sheesh!

Why Microsoft couldn't just send a link to their Office 365 Anti-Spam IP Delist Portal in the first place (which took entirely too long to find and didn't appear on the link they did send), I don't know—I guess that could make it too easy to “game” or something.

Mainly, I'm writing this for my future self to save some time when this happens again.

Update about an hour later …

The bounce came from, but Kevin's email address is from, and it's that has a block on my IP, not

I found that out because I followed the instructions on the “Office 365 Anti-Spam Delist Portal” and it said “Oh! You aren't blocked! Try this link!” with “this link” asking me to log into my “Microsoft Account.”

Seriously, Microsoft? XXXX you.

Discussions about this entry

The difference in penalties in AD&D1 and D&D5

Sunday was our gaming group “Hallowe'en One Shot” (which is now at least a “duo shot” as we didn't finish) and for some reason, I got to thinking about the penalty differences between AD&D and D&D5.

Everyone in our group started out playing AD&D (or the original Dungeons and Dragons) and in that system, if you are trying to hit something you can't see, you subtract 4 from your (20-sided) die roll (d20) when trying to hit it. But in D&D5, you roll two 20-sided dice (2d20) and take the lower value (called “disadvantage”). I was curious as to the actual difference between the two. I did a bit of programming and I got the following graph:

[A graph of AC (x-axis) and chance of hitting (y-axis) with various penalties, bonuses, and just plain hits]

Along the X-axis is AC. In AD&D goes from 10 (basically, nothing) to -10 (nigh impossible to hit) while in D&D5, it goes from 10 (basicaly nothing) to 30 (nigh impossible to hit), so the range is the same. So the X-axis is AC, going from 2 to 20. In both systems, rolling a 1 is an automatic miss, so I'm not bothering with even listing an AC of 1. The Y-axis is the probability of hitting said AC, from 1 (always a hit) to 0 (always amiss).

The red line (the one cutting diagonally across the middle) is just the result of rolling a d20 and is prety much what one would expect, a straight line. The light-green line (the lower diagonal line) is the AD&D penalty of subtracting four from a d20 (d20-4). Again, it's a straight line but giving a lower chance of hitting.

What I find fascinating is the blue line (the lower curved line). This is the D&D5 “disadvantage” roll. What's interesting about this is that at lower and higher ACs, it's better than a -4 penalty, but between ACs of 7 to 15, it's worse!

When I saw that, I just had to do the plot with a bonus. The purple line (the upper diagonal line) represents a d20+4, and the curved dark green line (the upper curved line) is the D&D5 “advantage” roll—where you roll 2d20 and take the higher. It's the opposite of “disadvantage”—you do worse at lower and higher ACs, but better between ACs of 7 and 15.


Discussions about this entry

What happened to Hallowe'en?

It is now well past the time for any kids to be out trick-or-treating and we still haven't had one kid show up to Chez Boca to threaten us with tricks. Not one! Are all the kids now trick-or-treating at parking lots or malls? Is trick-or-treating passé now? Too many razor blades found in candy corn? Too much candy corn in general? What?


Well, all these M&Ms aren't going to eat themselves …

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.