Like all bugs,
it was a simple fix once identified—it was just identifying the bug that was difficult.
The bug was due to a semantic change in an API.
Lua has a file interface that includes a
and the parameter it's given dictates how much to read.
One of the parameters is “a”
(or “*a” if you are using Lua 5.1)
that indicates you want to read all possible data until the end-of-file is reached.
I ended up writing my own
read() function to deal with network activity.
I couldn't just open up a normal Lua file object with a network connection because that doesn't work nicely with event driven programs.
An earlier version of my
read() function had a different semantic meaning with “a”—it just returned any buffered data.
It was in a later change where I aligned the semantics to match Lua's semantics,
but forgot to change that bit of code in the one component.
And those semantic changes explain the behavior I was seeing yesterday.
It only took what?
To find the culprit.
Now the regression test with the updated code runs as fast as the previous version.
Obligatory Contact Info
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: https://boston.conman.org/, 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
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.