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, January 01, 2000

It's the end of the world as we know it

So with much fanfare, fireworks and music, we announced the arrival of The Year Two Thousand and depite the hype for the Year Two Thousand Bug, nothing much of not actually happened, which is a good thing.

The party was hosted by my friend Teen and her boyfriend outside their home in lovely Parkland, FL. They dig a pit for the bonfire and by the time I had arrived at 9 pm, it was pretty thick with coals already. By the time my friend Shane and I put the fire out, the coals were hot enough to melt glass.

The actual fanfare consisted of a lot of fireworks being set off by various party members. All of the fireworks consisted of variations on Roman Candles—none of the fireworks we had were capable of being fired up in the air—but we did have enough going that a large cloud of smoke was drifting its way lazily across the field and the nearby horses (the party was held near a stable) were all spooked and one broke out of its stable.

The fact that I still had a house, with power, was a plus.

The garage is over there, but you can't park there …

After getting up from the previous night's (and morning's) celebrations, I had enough time to check some email before heading out to the Ft. Lauderdale/Hollywood International Airport to pick up some friends returning from visiting family.

The Ft. Lauderdale Airport used to be a decently designed airport—three terminals in a U-shaped configuration, with a parking garage nestled between the terminals. It was an easy matter of parking, and walking to the appropriate terminal. The airport itself is accessable directly from the freeway (exit 11B on I-595 east). Nice. Simple. Easy.

Well, it used to be.

Since I last picked someone up, they've started construction on a new terminal (renumbering the original ones) and a new parking garage, in front of the old one. Driving into the airport there was one of those large digital signs used for construction pointing the entrance to the new garage was this immediate left turn from which a few cars were trying to leave the garage. Just a mess.

Once parked, I found it impossible to find a way to actually walk out of the garage and to any of the terminals, and from what I could see, there was no way to get to the terminal I needed to be at (the one farthest back) except to leave this garage, and drive to the original one next door.

Fortunately, I wasn't parked long enough to accrue a charge, but still, I had to circle back around the airport, in which I missed the pickup lanes (I ended up on the upper level reserved for dropping off passengers). I did manage to find entry to the original parking garage but that did mean I was several minutes late in picking up my friends.

I walked into the airport and immediately found Paul. Which isn't hard when you're looking for a 6'4" bald guy. His wife, Lorie was on the upper level where the gates are, looking for me. So I told him to stay put and I'll go find his wife.

I head upstairs and I don't see her. Walk down the entire length of the terminal, head downstairs and walk back to Paul.

“Didn't find her,” I said. “Which gate did you come in?”

“The one above the stairs over there,” said Paul. I took leave again, rode the escalator up and found Lorie waiting for me at the top.

“I was worried you forgot about us,” she said.

“Nope, I just got stuck in the parking vortex of Hell,” I said. We then proceeded to walk downstairs, to collect Paul and the luggage and then headed out to my car.

I drove them home, then we went out for a nice dinner.

V2_OS and other strange brews

Checked up on VS_OS today. Surprise, surprise, they finally released the source code. Immediately downloaded it and took a look.

Nothing surprising really, except that the source code to the bootsector is missing. Or rather, there is code to a boot sector, but …

BOOTIMAGE    DB 0E9H, 011H, 001H, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 02BH, 056H
             DB 032H, 05FH, 046H, 053H, 02BH, 000H, 030H, 030H, 030H, 02EH
             DB 030H, 030H, 035H, 000H, 080H, 000H, 000H, 000H, 000H, 000H
             DB 000H, 000H, 044H, 033H, 022H, 011H, 010H, 000H, 000H, 000H
             DB 000H, 000H, 000H, 000H, 000H, 000H, 00DH, 00AH, 056H, 032H
             DB 02DH, 04FH, 053H, 020H, 056H, 030H, 02EH, 031H, 020H, 028H
             DB 043H, 029H, 031H, 039H, 039H, 039H, 020H, 056H, 032H, 05FH
             DB 04CH, 061H, 062H, 02CH, 020H, 052H, 06FH, 074H, 074H, 065H
             DB 072H, 064H, 061H, 06DH, 02EH, 00DH, 00AH, 000H, 04CH, 06FH
             DB 061H, 064H, 069H, 06EH, 067H, 020H, 053H, 079H, 073H, 074H
             DB 065H, 06DH, 031H, 036H, 000H, 00DH, 00AH, 046H, 061H, 069H

And some interesting code like:

   MOV AL, 'f'
   MOV DS:[DI+0], AL
   MOV DS:[DI+16], AL
   MOV AL, 'd'
   MOV DS:[DI+1], AL
   MOV DS:[DI+17], AL
   MOV AL, '0'
   MOV DS:[DI+2], AL
   MOV DS:[DI+18], AL
   MOV AL, 0
   MOV DS:[DI+3], AL         ; 'FD0',0
   MOV DS:[DI+19], AL

Two things wrong here (at least for 80x86 Assembly):

  1. Using DI instead of EDI in 32-bit mode. This causes an extra byte of opcode to be generated for a 16-bit offset.
  2. Moving individual letters into locations. If you are doing this at this level, you can do better by:
    		mov	eax,$00306466           ; 'fd0',0
    		mov	[edi],eax               ; DS: override
    		mov	[edi+16],eax            ; not needed

In poking around, I found a link to RDOS, another 80x86 operating system written in Assembly. This one is impressive, if only because it's a functional OS in about 130,000 lines of Assembly (including TCP/IP). Haven't had much time to look around this one though.

We're Microsoft. We don't have to care.

Received email from a friend announcing the birth of their new child. Unfortunately that's all I know because:

Attached is an e-mail greeting created with American Greetings =
CreataCard software from Micrografx.

To view this greeting you must be running Microsoft Windows.


Wednesday, January 01, 2003

New Year's Day

Does this mean that the Season™ is finally over?

Yet more Gregory updates

Spring stopped by to visit Gregory in the hospital. He's doing better, but the fractures he received are a bit worse than first expected—each of the six ribs and the clavicle are broken in two spots so the bones are kind of swimming around there. But that appears to be the extent of the damage from his motorcycle accident, which is fortunate.

He'll probably be in the hospital for at least a week or so.

Now THIS is War Driving …

I am going to make an actual page for this sometime: all of us from portland going to codecon will have wireless equipment in our vehicles providing a roaming hotspot all the way down to san francisco. We should have at least three vehicles and as many as six during the trip.

c o d e r l o g: wireless caravan

A mobile network … the mind boggles …

Let's see … given sufficient laptops, 802.11b PCMCIA network cards and VoIP and I can see this being way more popular than CB ever was.

Thursday, January 01, 2004

It's the end of the world as we know it …

And I feel fine.

Resolutions for this year?

  1. Do not make resolutions I cannot keep.
  2. … um …

So. There you go.

Saturday, January 01, 2005

Big Fat Hairy Deal


Sunday, January 01, 2006

Happy New Year

At some arbitrary point in time we slip into a new year and thus ends the obligatory “See you next year!” jokes for approximately 360 days.

We also, at this arbitrary point in time, make promises to ourselves to improve this, change that, and to stop doing the other. Such self dellusion usually ends in another 40 days or so as time marches on.

We also hope that the following 365 days, six hours, mine minutes and nine seconds (or 365 days, five hours, 48 minutes and 45 seconds, or 365 days, six hours, 13 minutes and 52 seconds, depending upon how one defines the term “year”) will be much better than the previous 365 days, six hours, mine minutes and nine seconds (or 365 days, five hours, 48 minutes and 45 seconds, or 365 days, six hours, 13 minutes and 52 seconds, depending upon how one defines the term “year”).

So much hopes and dreams and schemes pinned on the flipping of a single second at some arbitrary point in time.

Anyway …


Monday, January 01, 2007

Happy New Year!

Oh, it does appear that it is some sort of holiday today, something about it being a new year or some such silliness. Of course everyday is the start of a new year! For it was a year ago that it was the same date! Well, except for February 24th, which comes around once every four years, except on the other three years when it appears yearly.

Yes, there will be a test on this.

In other news, to show just how much of a geek I am, one of the things I did today was telnet to an actual IBM PCjr, complete with ISA network card and custom TCP/IP network stack.

How cool is that?

And no, this will not be on the test.


Tuesday, January 01, 2008

Merry New Year!

Really? What more can I say but


Finally! The national two month long nightmare of a holiday season is finally over and we can go back to normalcy.

Which, here in Lower Sheol mean, less traffic!

That, and in only eleven months, this current four year Presidential election cycle will be over!

Can't happen soon enough.

“I notice your oeuvre is monochromatic.”

[“Snow sharks?” “That guy's a goner.”]

I present this, only to celebrate our lack of snow down here in Lower Sheol. But, if you don't like that one, there're plenty of others to choose from.

Thursday, January 01, 2009

There was a large boom just outside the window … I suppose this means that 2008 finally went out with a bang. Or is that 2009 came in with a bang? In any case, there was much banging

Happy New Year!

It was quiet here at Chez Boca (notwithstanding the aforementioned banging outside the window). Bunny and I spent the evening making fresh ravioli (using the pasta machine she received as a gift) and then watching “Hancock” (an enjoyable flick and a rather refreshing take on the superhero genre).

The pasta was easy but a bit tedious and messy. The recipe for the pasta is easy enough—100g of flour (about ½ cup for the metrically challenged) and one egg per person, then mixed and kneaded into a dough (we did enough pasta for four people, and did the mixing in a food processor—total time, maybe 30 seconds). Then just feed the dough through the pasta machine, a few times on the widest setting, then start cranking it down to make it thinner.

[Warning:  it can get really long]

This, by far, was the longest step in the process, mostly because this was the first time either one of us has ever made fresh pasta. The recipe we were following came from Jamie Oliver and on his show he had the pasta made and cut in like two minutes flat.

But he's a professional—we're not. So it took a bit longer—say, twenty-two minutes (getting used to fresh pasta dough, the pasta machine, etc).

Once that was done, we used a ravioli cutter that Bunny had—a two piece affair. You lay a strip of pasta over the lower section:

[Even though the dough isn't that sticky, it's still advisable to dust everything with flour]

Then you press this dimpled shaped upper section into the dough, which forms the depressions, which you then spoon the filling into (in this case, it's fresh mozzarella, fresh basil and some tomato sauce).

[Now it's ready for the filling]
[Fill 'er up!]

Brush some water around the edges (to act as a kind of glue), drape another piece of pasta, and use a roller to seal and cut the raviolis. Then pop them out of the frame, and cook for five minutes in boiling water.

[I think an egg wash would work here as well …]
[Voila!  Ravioli!]
[Pasta!  Pasta!  Eat them up!  Yum!]

I personally was curious about the cutting attachment, so with the scraps of pasta, I made some spaghetti.

[Ooooh … fresh spaghetti]
[I think each strand was like 3′ in length]

I'm sure with practice, it'll go quicker.

And not quite as messy.

Hmm … if I'm not careful, this might turn into a cooking blog [not that there's anything wrong with that! —Editor].

Friday, January 01, 2010

It sounds like a war zone out there …

Happy New Year!

And the neighbors around here are definitely in a celebratory mood as it sounds like they're shooting .45s right outside the window, although I think they're fireworks that are a bit more powerful than an M-80. It actually sounds like there are more fireworks being shot off now than on the Fourth, which always reminds me of this:

[Picture of fireworks exploding at ground level; caption: Amateurs: There's a reason professions exist.]

It's something to keep in mind when working with fireworks

I resolve …

So, being the New Year and all, I thought I would take this time to make a New Year's Resolution: “This year, I resolve not to make any New Year's Resolutions.”


Well, there go the resolutions, right out the window …

Saturday, January 01, 2011

What? Not another 365 days …


Even though we still don't have flying cars, and we never did go back to Jupiter (heck, we never got there in the first place), maybe, just maybe, things will improve in 2011.

And remember, only 721 or 723 days left until The End Of the World As We Know It (but I feel fine).

(This post brought to you by EPS. Had this been an actual post, it most likely would have been exceedingly late)

Code and Data, Theory and Practice

Sean Conner <>
@siwisdom twitter feed
Sat, 1 Jan 2011 15:46:14 +0200

Hi Sean,

Are you aware that the quotation marks in the @siwisdom <> tweets display as &ldquo; and &rdquo; in clients like TweetDeck? Perhaps you should switch to using regular ASCII double quotes.

Regards and Happy New Year.

Yes, I'm aware. They show up on the main Twitter page as well, and there isn't much I can do about it, other than sticking exclusively with ASCII and forgoing the nice typographic characters. It appears to be related to this rabbit hole, only in a way that's completely different.

What's going on here is explained here:

We have to encode HTML entities to prevent XSS attacks. Sorry about the lost characters.

counting messages: characters vs. bytes, HTML entities - Twitter Development Talk | Google Groups

And XSS has nothing to do with attacking one website from another, but everything to do with the proliferation of character encoding schemes and the desire to fling bits of executable code (aka ``Javascript'') along with our bits of non-exectuable data (aka ``HTML''). The problem is keeping the bits of executable code (aka ``Javascript'') from showing up where it isn't expected.

But in the case of Twitter, I don't think they actually understand how their own stack works. Or they just took the easy way out and any of the ``special'' characters in HTML, like ``&'', ``<'' and ``>'' are automatically converted to their HTML entity equivelents ``&amp;'', ``&lt;'' and ``&gt;''. Otherwise, to sanitize the input, they would need to do the following:

  1. get the raw input from the HTML form
  2. convert the input from the transport encoding (usually URL encoding but it could be something else, depending upon the form)
  3. possibly convert the string into a workable character set the program understands (say, the browser sent the character data in WINDOWS-1251, because Microsoft is like that, to something a bit easier to work with, say, UTF-8)
  4. if HTML is allowed, sanitize the HTML by
    1. removing unsupported or dangerous tags, like <SCRIPT>, <EMBED> and <OBJECT>
    2. removing dangerous attributes like STYLE or ONMOUSEOVER
    3. check remaining attributes (like HREF) for dangerous content (like javascript:alert('1 h@v3 h@cxx0r3d ur c0mput3r!!!!!!!11111'))
  5. escape the data to work with it properly (or else face the wrath of Little Bobby Tables' mother).

Fail to do any of those steps, and well … “1 h@v3 h@cxx0r3d ur c0mput3r!!!!!!!11111” And besides, I'm probably missing some sanitizing step somewhere.

Now, I could convert the input I give to Twitter to UTF-8 and avoid HTML entities entirely, but then I would have to convert my blog engine to UTF-8 (because I display my Twitter feed in the sidebar) and while it may work just fine with UTF-8, I haven't tested it with UTF-8 data. And I would prefer to keep it in US-ASCII to avoid any nasty surprises.

Besides, I shouldn't have to do this, because that's why HTML entities were designed in the first place—as a way of presenting characters when a character set doesn't support those characters!

Hey—wait a second … what 's this river doing here?

Sunday, January 01, 2012

Yet another 365.2421897 days around the sun

I wasn't sure how many New Year entries I've done, and I was rather surprised to find that I've managed to post on the first of January every year except for 2001 and 2002. And far be it from me to stop that tradition this year.

Last night our crazy neighbor was at it again. I wasn't about to view the show up close, but the trajectories of the fireworks meant we had a decent view from the screened in back porch (and the roof at Chez Boca is tile, so live embers weren't an issue).

And much like in 2008, I present (via Bunny) this video to celebrate our lack of snow.

Oh, and …


Tuesday, January 01, 2013

Happy New Year

It's a war zone out there, what with the rockets' red glare, the explosions, the crazy neighbor attempting to scare off the old year and in the process, scaring in the new year as well as the neighbors. No way I'm going out there in these conditions. Even Murrow would give pause before entering the mæstrom of fire emanating from across the street. No fool, I (or Murrow).

So, from the relative safely of Chez Boca, I bid you Happy New Year.

At least this year we don't have to worry about the world ending in an Emmerichesque orgy of disaster porn or New Age woo-woo mystical nonsense. Thank <insert deity of your choice> for that!

Thursday, January 01, 2015

The Year is dead! Long live the Year!

Given that it sounds like a war zone outside, and it's not the Fourth of July, there are only two reasons I can see for this:

  1. anti-police factions are holding their position against the police or
  2. it's New Years Day and people are celebrating the start of 2015.

Frankly, given recent events, it very well could be the start of a revolution (which won't be televised; it will be Tweeted) but seeing how the calendar just flipped over, I do believe it's just the celebration of the New Year.

Here's to 2015!

Friday, January 01, 2016

All's quiet on the New Year Front

It's next year. And it's finally quiet outside. I can only hope it stays this way.

And that we still have a lawn.

Happy New Year everyone!

Sunday, January 01, 2017

What? You mean 2017 has finally started?

It's hard to come up with new and clever messages on New Year's Day, especially when half of them are about our crazy neighbor across the street attempting to blow himself up, and the other half are complaining about the lack of diversity in my New Year's Day messages. That gets old pretty quick. So let me cut to the chase and simply say:


Monday, January 01, 2018

On the plus side, we'll only have to endure eleven months of campaigning this year

The fireworks and explosions have finally ended and that can mean only one thing—


Tuesday, January 01, 2019

The upside is that this is not an election year—the downside is that we only have 364 days until it is

I've been looking over the past decade's worth of New Year's Day entries so I don't inadvertantly repeat myself, and boy, do I bitch about the fireworks. Thankfully this holiday season has been a bit low key, and that includes our neighbor's propensity towards blowing things up. Yes, there were fireworks tonight, but not nearly at the war sounding levels of previous years.

I'll take solace when I can when it comes to fireworks.

Hopefully, this means that this year will be low key. All I can say is thank God it isn't an election year! Only 364 more days until that madness starts.

Anyway …


Yes, we have no copyright

I just saw a commerical using the Prince song “Let's Go Crazy”. It was something I wasn't expecting because Prince had refused all requests to use his work for commericals (as well as turning down all requests from Weird Al Yankovic to parody his songs). But given that Prince died back in 2016 it seems his estate has waited long enough and is now enjoying the licensing fees.

Then it hit me—it won't be until 2086 that the works of Prince will fall into the public domain. Nearly a hundred years since some of his most iconic hits.

In other copyright-public-domain news, today is the first day in 21 years that works have fallen into the public domain. It's weird to think that up until yesterday, “Yes, We Have No Bananas” was still in copyright.

Friday, January 01, 2021

The upside is that 2020 is over—the downside is that COVID-19 is not over, murder hornets are a thing, and the election is still contentious

All I can say is—thank God it's Friday a new year!


The forced march of progress

When I first wrote the Lua module for libtls, I had issues with using TLS_API to version the code, so I ended up using using LIBRESSL_VERSION_NUMBER instead and mandating at least LibreSSL 2.3.0.

But now that I'm switching away from LibreSSL, I can't rely upon LIBRESSL_VERSION_NUMBER anymore. After some thought, I have decided to no longer support versions of libtls prior to 20180210 (or LibreSSL 2.7.0). The non-LibreSSL libtls versions I've found all seem to be newer than 20180210, so that shouldn't be much of a prooblem.

Saturday, January 01, 2022

Ramming in the New Year


Janurary 1st is the other fireworks happy day, but this year it's been relatively quiet. There were some fireworks, but there were far off in the distance and not across the street.

There was, however, something new—a neighbor (and not the one who usually does fireworks) bringing in the New Year with a ram's horn.

Sunday, January 01, 2023

“I love the smell of black powder at night”

I think I'm resigned to the fact that every January 1st and July 4th I have to suffer living in a war zone. Unlike past years, Bunny and I decided to head outside and at least enjoy the show. The most impressive ones were at the other end of our street—huge ones shot perhaps only a couple hundred feet if that, in the air, with the embers nearly hitting the nearby roofs still lit accompanied by the loud thunderclap a second or two later.


Other than the loud explostions all around us, it was otherwise a quiet New Year.



Obligatory Picture

[It's the most wonderful time of the year!]

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-2023 by Sean Conner. All Rights Reserved.