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.

Wednesday, October 05, 2022

Thus spake the master programmer: “time for you to leave.”

Read enough of my posts over the past year or so, and it's clear that I am not happy working at The Enterprise. The process über alles, the overly managed and useless laptops, the bad communication (which I don't think I've mentioned, but man, I didn't expect the telephone game to be an actual strategy of a company), the so called “agile development” that is anything but agile, the twice daily scrum meetings (because my manager wanted his own scrum meeting with just the team with no other departments involved—that's the other daily scrum meeting), and the testing.

Oh god the testing.

Everything is about the testing.

Testing über alles.

And as for my actual job—development? I have modified a grand total of 71 lines of production code over a period of six months, about a third of which was rejected in code reviews as being “too much of a code change.”

So on August 26th during my one-on-one with my manager, where the topic of conversation drifted towards testing (yet again), I had had enough and decided to leave The Enterprise as I felt like I wasn't a cultural fit. I made my intentions clear on Monday, August 29th, and immediately took all my remaining time off (three weeks worth), followed by the standard “two weeks notice period,” where I was in multiple “transfer-of-knowledge” meetings. It's indicative of the thought process of The Enterprise that most of the “transfer-of-knowledge” meetings were about … testing. Or rather, the testing tools I had written and how they work.

It was time for me to leave. There were a few red flags indicating that perhaps I should have left earlier (such as the rest of my team leaving the company at the same time) but after twelve years, it was probably time.

Yesterday was my last day at The Enterprise. Today is the first day of a long needed rest. Now I just have to figure out what to do with the error code from the trap frame

Thursday, October 06, 2022

Get thee behind me, Belial

I walk into the Computer Room at Chez Boca to find a box sitting on my chair. It's a sealed and empty box that was shipped to me via FedEx. It can only mean one thing—it's the box to ship Belial, the annoying Mac Laptop back to The Enterprise. I was talking to The Enterprise about this on Tuesday (my last day there) and what do you know, here's the box.

So now Belial is packed and tomorrow I shall drop it off for its voyage home.

Saturday, October 08, 2022

What is a “unit test?”

Despite the emphasis on testing at The Enterprise, no one there was able to answer the simple question I would often ask, “what is a unit test?”

On thinking about it since I left, I don't think there's an answer to that question. I'm thinking it really depends upon the language being used, and it's a similar concept to Design Patterns, a collection of patterns seen in Smalltalk development and later forced onto other languages, applicability be damned.

Since most of the coding I do is in C, a “unit” would most likely be a function, or maybe a collection of functions known colloquially as “a library.” The various components I worked on, like “Project: Lumbergh” or “Project: Sippy-Cup” aren't libraries, and most functions in those projects are single use that exist just for organizational sake, so of course the “unit” ended up being the entire program.

But I'm also looking at some of my own projects, like mod_blog. There's a fair number of stand-alone functions in here I could possibly “unit test” if I were inclined. The first one is this function (found here):

int max_monthday(int year,int month)
{
  static int const days[] = { 31,0,31,30,31,30,31,31,30,31,30,31 } ;
  
  assert(year  > 1969);
  assert(month >    0);
  assert(month <   13);
  
  if (month == 2)
  {
    /*----------------------------------------------------------------------
    ; in case you didn't know, leap years are those years that are divisible
    ; by 4, except if it's divisible by 100, then it's not, unless it's
    ; divisible by 400, then it is.  1800 and 1900 were NOT leap years, but
    ; 2000 is.
    ;----------------------------------------------------------------------*/
    
    if ((year % 400) == 0) return 29;
    if ((year % 100) == 0) return 28;
    if ((year %   4) == 0) return 29;
    return 28;
  }
  else
    return days[month - 1];
}

I'm sorry, there's no way I'm going to even waste time writing unit tests for a function this simple. I didn't bother when I first wrote it in Debtember of 1999, and there's no point in writing one now. Even if the leap year rules change in 1,980 years, I probably still won't write unit tests for this function (probably because I'll be dead by then, but that's besides the point).

But that's not to say there aren't other functions that couldn't be “unit tested.” The next one I have in mind is simple, but I would love to see a unit test purist tell me how they would write a unit test for it.

Update on Friday, Debtember 23rd, 2022

I “unit tested” the code.


Discussions about this entry

Monday, October 10, 2022

Non-terrestrial calendars

The Martian Business Calendar describes a hypothetical calendar for Mars. It's only marginally more complex than the Gregorian calendar we currently use and the tradeoffs made are interesting to read about (it includes a “leap week” instead of our “leap day” and the reasons for it are both rational and irrational at the same time, depending upon your point of view). But what I would like to see is a Venusian calendar—what tradeoffs have to be made as the Venusian day is longer than the Venusian year.


An answer to my question about unit tests

I was browsing Gemini when I came across a reponse to my unit test question:

Sean Conner poses this question.

The answer is actually more sensible in C than it was in Smalltalk: a unit is a compilation unit. In C, it is a file.

Any changes to source will require changes to a file. Once a source file is altered, it may screw something up in the resultant binary. Therefore, there should be a unit test to check that the altered unit behaves as expected.

The easiest way to think of it in C is: assume make's view of the system.

Re: What is a unit test

That is not a bad answer for C. In fact, it's probably not a bad answer for several different languages. The only clarification I can see being made is to only test non-static functions (functions that have visibility outside the file they're defined in) and not have specific tests for static functions (functions that only have visibility to code in the C file) to allow greater flexibility in implemenation and prevent tests from breaking too often.

Wednesday, October 12, 2022

The clock that came in from the cold

The other day, my grandfather clock wasn't chiming correctly, so I took off the top portion (I think it's called a “hood”) and placed on a near-by chair. That was not a good idea as a few moments later, as I had my nose buried in the internals of the clock, I heard a horrible crash as the hood fell off the chair and was damaged.

Sigh.

Bunny and I dropped off the hood at Josef & Joseph for rapair. Back home, Bunny found a box, cut the side off of it, and placed it on the clock to keep the dust out of the clockworks.

[Image of a grandfather clock with a box acting as the hood to keep the dust out] Eh, it's twenty to six, ya hoser.

Maybe it's just me, but it looks like it's visiting from Canada.

Tuesday, October 18, 2022

These have to be legit offers for writers

I received the following two emails just minutes apart, although one was sent much earlier than the other. The first one I received (names have been changed; capitalization has not):

From
Ken Lee <XXXXX­XXXXX­Xofficial32@gmail.com>
To
Sean <sean@conman.org>
Subject
Guest post proposal
Date
Tue, 18 Oct 2022 01:20:19 -0400

Hi,

My name is Ken lee. I was wondering: do you accept guest posts on http://www.conman.org/? I’ve been brainstorming some topics that I think your readers would get a ton of value from my post. I am already writing regularly for techstuff.example.net.

If you are interested please revert back to this mail.

All the best

And the second one (again, names have been changed, capitalization has not):

From
Nosmo king <XXXXX­XXXXX­XXXofficial@gmail.com>
To
Sean <sean@conman.org>
Subject
 
Date
Mon, 17 Oct 2022 22:31:09 -0700

Hi,

My name is Nosmo King. I was wondering: do you accept guest posts on ? I’ve been brainstorming some topics that I think your readers would get a ton of value from my post. I am already writing regularly for techstuff.example.net.

If you are interested please revert back to this mail.

All the best

Nice to know their email address are their “official” email addresses.

And Yes, the second one to arrive before the first one was sent—it just took its time getting to me. It also seems the first sender had … um … issues with sending the email as the subject line is missing, and no mention of my website. I did check techstuff.example.net and found Ken Lee (not his real name) has written articles there. And the photo attached to Ken Lee appears to be him. I did not find any writer named Nosmo King (again not his real name) on the site. Perhaps he's a new writer there? I just found it amusing that two “different” writers, writing for the same site, decided to send me the same email shilling their work.

I'm also wondering if they expect me to pay for these articles, or are they doing it just for the exposure?

I'm thinking they're expecting to get paid.

Wednesday, October 19, 2022

The perils of selling out

I received some email from Remy about my post yesterday where they sent along some related links. They received their own badly written sponsored post email, and also linked to Kev Quirk's badly written sponsored post email. I was then reminded of the time I sold out to get that sweet-sweet sponsored money (it wasn't much—about $100 for seven ads) and the aftermath five years later.

Monday, October 24, 2022

Committing to the bit

Earlier this year I had to commit to a time for our yearly trip to Brevard and due to some deadlines at The Enterprise, the last week of October appeared to be the best time to go. Yet I was aprehensive about it because I had already used an unplanned week for my own mental health at the insistence of my second line manager (who I thought was my new manager but turned out not to be the case, which I still have to write about) because of the increasing amounts of stupidity and this would leave me less time to take off in Debtember (first world problems, I know).

Of course things were resolved at The Enterprise when I left for good and yet, here was the looming trip to Brevard. In the immediate aftermath of leaving work, I was unsure if I still wanted to go, and Bunny (who loves to travel) kept asking if we were going. I said yes, but even as late as last week, Bunny came and said that if I didn't want to go, we didn't have to.

But as I told Bunny, I had commited to the bit after watching this John Green video. Despite the grueling twelve hour drive, the freezing tempuratures (at least to us Floridians) and a change in staying location (more on that after we get there), I think the change of scenery (we're hitting peak leaf season! Woot!) and the break in routine is something I desperately need at this point.

Today, we're headed towards The Emerald City Brevard!


We have arrived!

We've arrived in Brevard!

The trip itself went smootthly. Well, except for one small disagreement about where the I-95N on-ramp was located when we were somewhere in Georgia getting gas. And the 18-wheelers hogging up the highway in South Carolina lowering our average speed for the trip. Oh, and there was the bumper-to-bumper traffic just south of Hendersonville on I-26W. Other than that, what have the Romans ever done for us? the trip was just smooth sailing.

When Bunny and I first started our yearly trips here, we stayed in the The Inn at Brevard, on the east end of town. A few years later we started staying at The Red House Inn, located on the west end of town. Unfortunately, the owners sold the place just after our visit last year, and now the Red House Inn is a private residence. The previous owners still have propery they were willing to rent out, but they're houses, and Bunny and I don't need an entire house for a vactation.

So we decided to try a new bed and breakfast, this time back on the east side of town, The Bromfield Inn, about a block away from The Inn at Brevard.

[Image of The Bromfield Inn] It's like the TARDIS—it's much bigger on the inside than it looks.

The suite we have feels like it's the size of Chez Boca.

[Image of the main room in our suite, a large four-post bed taking up most of the view] That bed is easily four feet (1.3m) in high!  That's a serious bed!

And it includes His and Hers changing areas:

[The smaller end of the changing room, where you can see the author] (Oh!  Hello!) Some space for my things. [The larger end of the changing room] Of course the larger end is for her things.

And the bathroom … well, the bathroom is getting a post of its own.

Update on Friday, November 4th, 2022

Our unfortunate review of The Bromfield Inn


Extreme bathrooms, Brevard NC edition

So, the bathroom in our suite at The Bromfield Inn. The only time I've seen as large a bathroom was at the house of John the paper millionaire of a dotcom. The entrance:

[An arched entry into the changing rooms, then an arch into the bathroom, of which you only see very little.] It's a portal into another dimension, a dimension of bathing.

Okay, it's the entrance to the changing rooms and then the bathroom. What you can't see is just how large it is.

Here's the vanity from the entry:

[A vanity with his and her sinks, beyond is the bathtub.] I really need a fisheye lens to get the scale of this place.

And the reverse shot, with me standing in the bathtub in an attempt to get back far enough to get a picture:

[The vanity from the other side, you can see a small desk just for makeup] Seriously, I'm having trouble getting everything in.

And because I've yet to fit it all in, the bathtub:

[A tub quite possibly large enough for two.] I wonder if the painting leads to Narnia?

But in addition to the his-and-her vanity, the bathtub built for two, and the makeup desk, we have the shower and watercloset!

[From left to right, in the back corner of the bathroom, the bathtub, the shower and the watercloset.] My God!  Will this bathroom  ever end?

And again, I have to stand in the bathtub to get this shot of the shower. I think it's mandatory for bed-and-breakfasts here in Brevard to have multiple shower heads. I'm not complaining; neither is Bunny.

[A show stall with two shower heads.] Two shower heads is still sweet.

And finally, we have the water closet with a piece of equipment I've only heard of and until now, have never actually seen one:

[On the left a toilet, and on the right, a bidet.] The bidet … only slightly less mysterious than the three clam shells.

A bidet!

I did not realize just how high that shoots water. Just letting you know.

And that ends our tour of the cavernous bathroom in our suite.

[The view from the bathroom back into the main suite.] And there, in the distance, is the bed in its normal habitat …

Seriously, the bathroom is about the size of our family room back at Chez Boca. It may even have its own area code. I may have to ask about that …

Update on Friday, November 4th, 2022

Our unfortunate review of The Bromfield Inn

Tuesday, October 25, 2022

Extreme shopping carts, Brevard, NC edition

It was a quite day today. We got up late, stopped by WallyWorld for some incidentals, had some food then back to The Bromfield Inn to rest.

But late in the evening we stopped by Ingles for some snacks. Ah, Ingles. You are always good for some extreme stuff (for the record, the General Interest reading section hasn't changed a bit) and this time is no different:

[A picture of what has to be the smallest shopping cart] I think somebody used water that was too hot to wash the carts.

I was half-expecting some Aussie to come strolling up with a 10′ (3m) cart and saying, “That's not a cart, this is a cart.”

Wednesday, October 26, 2022

Exteme mazes, Brevard NC edition

It's late October. I'm in Transylvania County. And I come across this sign:

[Picture of a sign that points to a “Sacred Labyrinth.” Behind the sign is a stone tower.] This way for the labyrinth.  Oh, the tower?  That's for our … unwelcomed guests.

This place? This time? I think I'll skip the labyrinth.

Thursday, October 27, 2022

Enoying the Big Blue Room

The sun is out, there's not a cloud in the sky, and the temperature is cool but not unbearibly so (for a Floridian) and I'm sitting out in, I guess for lack of a better term, the garden of The Bromfield Inn.

[The Bromfield Inn, some trees, manicured grass, and a relaxing scene.] I could get used to this.  I really could.

The only sound is the babbling of a fountain behind me. And before I could get the camera out, one of Brevard's famous white squirrels scurried past me. The entire scene is making me want to call out, “Jeeves! More tea please!”

Update at 5:02pm

A nearby church is giving an improptude concert with the church bells. I wasn't aware that American churches even had bells anymore. How neat!

Update on Friday, November 4th, 2022

Our unfortunate review of The Bromfield Inn


Extreme lizards, Brevard NC edition

“Ah yeah. Ooh ahh. That’s how it always starts. Then later there’s the running and the screaming.”

[A metal statue of a velociraptor in downtown Brevard, NC] He's just looking for a hug.

Friday, October 28, 2022

Extreme puzzle room, Brevard NC edition

So there's this, embedded into the wall:

[A small conrol panel to what looks like a media center] If this is a remote, what is it doing embedded into the wall?

It can't be a remote, since it's not … um … remotable. It's part of the wall. Evern weirder, it's in the bathroom!

[Picture of the bathroom, with the weird remote in the wall.] And of all things in the bathroom, there is no media center in here.

It might make sense if it had options like “water temperature” and “shower” or “bidet” but no, it's looks like it would control a media center that doesn't seem to exist anywhere in the suite. I asked the owner about it, and even she was clueless. Oh wait! This is an older house … could there possibly be a hidden room?

Update on Friday, November 4th, 2022

Our unfortunate review of The Bromfield Inn

Saturday, October 29, 2022

Extreme pumpkin, Asheville NC edition

Bunny and I visited the Western North Carolina Farmers Market in Asheville. Pumpkins were everywhere, but then there was this one:

[Picture of a pumpkin with that look like very scary cancerous growths all over it] “Tetsuooooooooooooooooooo!”

No need to carve that pumpkin; any spirits seeing this will flee away, screaming.

Sunday, October 30, 2022

Extreme bridge, Brevard NC edition

Today was a pretty miserable day here in Brevard, with it being both cold and rainy. Bunny and I didn't really go out much today. But a few days ago, when I sat in the garden I also took a stroll around the grounds here at the The Bromfield Inn. And it was on the grounds that I found this bridge:

[Picture of a wooden bridge that dead ends into a fence.] This bridge definitely won't take you to Terabithia.

I do have to wonder what, exactly, is the point of a bridge to nowhere. Maybe this is some Senator's idea of a make-work pork spending project.

Update on Friday, November 4th, 2022

Our unfortunate review of The Bromfield Inn

Monday, October 31, 2022

Extreme clouds, Brevard NC edition

Still rainy here in Brevard and the clouds are very low in the sky here:

[Clouds are very low, low enough to cover the tree tops behind a one story building.] Talk about having our heads in the clouds …

There is no real skyline anymore here, just trees disappearing into the mist …


Extreme, no, seriously, I mean it, extreme head in the clouds, Cleveland, SC edition

The clouds lifted, the sun came out, and round 3:30pm, I said to Bunny, “Let's go to Pretty Place!”

Pretty place, aka The Fred W. Symmes Chapel, is a church up on the side of a mountain, just across the North Carolina/South Carolina state line. 11 miles (18km) “as the crow flies” from The Bromfield Inn, or 17½m (28km) as the car drives. And I implore you, gentle reader, to check the link out, to get into the mind set Bunny and I were in as we headed out to Pretty Place.

Little did we expect fog. One minute, it was sunny. Then we rounded a bend and:

[Thick fog.  Think pea soup fog.  Visibility measured in yards (meters).] This isn't 7:00am, but 4:00pm, up in the mountains of South Carolina.

The last time I encountered fog this thick it was the late 90s, I was driving along Florida state 60 doing 70mph (110kmh) at 1:30am trying desperately to avoid a semi-truck reenacting “The Duel”. And the time before that I was in elementary school, being driven to Brevard Elementary School by my mom. But this? Today? This took us completely by surprise.

It gave the entire place this ethereal feel to it:

[Trees and fog near the top of a staircase.] You can't see the forest for the fog. [Trees with orange leaves, engulfed in fog.] It's the elves.  It has to be the elves doing this.

And then we entered the chapel and were greeted with:

[The pews, the Cross, and the expansive moutain view swallowed up in white.] I figured there'd be more harp playing than there was.  As it was, it was quiet.  And unearlthly.  Wow!

It was surreal. You look out, and there's nothing but this white void.

[The Cross holding back the white nothingness beyond.] Not much to say, really.

Driving back down, the fog just … vanished … just as quickly as we entered it going up.

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: https://boston.conman.org/, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

https://boston.conman.org/2000/08/01

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.