Christmas mission 2023

Apparently this is just going to be a thing now.

This past Christmas marked the third annual Christmas Mission for my son.  It started simple enough, with a semi-educational crypto puzzle two years ago.  Then there was last year's mission, which involved multiple puzzles and a theme.  And he loved both of them, which is great.  But now it looks like I'm going to be coming up with one every year for the foreseeable future.

This year's mission was very involved.  Maybe a little too involved.  The Word document I used to take notes and print out the clues was eleven pages this time, including charts and graphics.  It had five "quests", plus the introduction and conclusion notes.  It took a while to complete, but apparently this one was a hit too, so I guess I'm doing something right.

This year, Zane wanted to be included in designing his mission.  Obviously the puzzles were up to me, but he had some requests for the theme.  Last year was Peanuts/World War I.  This year, he wanted it to be based on Minecraft.  And not just "regular Minecraft".  He came up with an elaborate plot outline involving an actualization of the Internet drama war between Minecraft and Fortnite, because apparently that's a thing.  It involved a spy mission, crafting things, resurrecting the Ender Dragon, and getting messages from various Mojang staffers.  I jotted all this down in OneNote and Zane double-checked my notes several times leading up to Christmas.  So at least he was engaged, which is good.

My first task was to try to hammer these notes into a semi-coherent story.  Since it was supposed to be a spy mission that involved an "actual war" between Minecraft and Fortnite and the resurrection of the Ender Dragon, I somehow got the rather dark idea of a mission to use the dragon as a biological weapon to destroy the world of Fortnite.  Granted, that probably constitutes genocide and is certainly a war crime, so not exactly a happy Christmas story.  But it made sense as a motivation and used the desired plot elements, so I ran with it.

The second task was to break this up into a series of missions.  One of Zane's notes involved creating an End Portal using the Eye of Ender.  Apparently you can craft this from some glass, a Ghast tear, and an Eye of Ender.  So I decided to base the missions around that.  We would gather the ingredients for an Eye of Ender so that he could craft the End Portal and send the Ender Dragon to the world of Fortnite.

But how do you resurrect an Ender Dragon?  I don't play Minecraft, so I've got no freakin' clue.  However, my sister-in-law was giving Zane a Dungeons and Dragons themed gift, which gave me an idea - magic!  Why not?  I mean, how would you resurrect a dragon?  When in doubt, just call it magic and get on with your life.

So with that, I came up with five quests.  For each one, I wrote a note from one of the aforementioned Minecraft staffers giving a puzzle to solve with a hint on the location of the next letter.  It started with an introduction letter laying out the quest to wipe out the world of Fortnite and directing him to the living room to find the first quest letter.  For the first three quests, I also included a printout of the ingredient itself, lifted from the Minecraft wiki.  The quests were as follows:

  1. First quest: Get the glass.  This involved solving a simple logic puzzle.  The glass was in one of the kitchen cabinets, but he couldn't just look in all of them because it's very delicate and too many vibrations would shatter it.  So the puzzle laid out a few rules and Zane had to deduce which cabinet it was in.  
  2. Second quest: Get the Ghast tear.  This one was a simple Morse code message.  The letter included a hint directing Zane to the bathroom to find a key to decode the Morse hidden with the spare toilet paper.  The decoded message directed him back to the living room to look under the coffee table.
  3. Third quest: Get the Eye of Ender.  This one was another relatively simple decoding, this time of an ASCII-encoded message.  This one was a two-step problem, as the letter contained a series of 8-bit binary numbers and a hint pointing to the kitchen silverware drawer, which contained an ASCII chart.  So Zane had to convert the binary to decimal and then do the character lookup.  The decoded message pointed to the bathroom sink, where the next message was hidden in the cabinet underneath.
  4. Fourth quest: Build the End portal.  This quest was a bit more involved.  The puzzle was to decode some text, but there was a different key for each line.  (There was only one word per line, so I was nice about that.)  A hint pointed Zane to a "decoder disk" that he got at a gift shop on our trip to Gettysburg last summer.  It came with directions on how to use a two-character key to decode a message.  So the letter said that each line had a different key at the start, followed by a space and then the message.  It actually took a bit to get Zane to figure out how that was supposed to work, but he did get it eventually.  The message led him to the coat closet, which had a Minecraft storage box that was supposed to serve as the crafting table to make the portal.
  5. Fifth quest: Resurrect the Ender Dragon.  This one was difficult.  To resurrect the Ender Dragon, the letter directed Zane to see his aunt, who was holding a "magic scroll" for him which would serve as the key.  The "scroll" was actually a printout of a page from an old Dungeons and Dragons manual, particularly the page for the "Wish" spell, which seemed an appropriate way to resurrect a dragon.  The puzzle was actually a set of 4--tuples, one per line, values separated by dashes.  At the bottom was a hint that these were coordinates, hinting that the page was divided into columns, which had lines, which had words, which had letters.  The idea was that, e.g. 2-5-3-4 would map to the fourth letter of the third word of the fifth line of the second column.  Clearly this was not as clear to Zane as it was in my head, because he had a hard time trying to figure out what he was supposed to do.  I eventually had to guide him through it, but once he got the idea he was able to decode the message successfully.  

The last message pointed Zane to his laptop.  His success letter was tucked inside, telling him that I'd installed a copies of Minecraft Java Edition and Minecraft Education Edition, as well as setting up a Minecraft server for him to play with.  He's been into Minecraft for a while, but hadn't had it on his computer, so that seemed like a suitable way to finish out a Minecraft-themed quest.

At the end of the day, Zane seemed pretty happy.  This was definitely a more involved mission than last year, and the puzzles were more challenging for him, but he said he enjoyed it.  So I count that as a success.  And at this rate, I suspect he'll want another mission this year, so I'll have to start planning earlier.

DuoLingo is actually pretty fun

Last summer, I started playing with the DuoLingo app.  My wife originally started looking at it as a resource for teaching our son a foreign language (which is going to be part of his curriculum this year), and I thought I'd check it out.  After all, I figured we had an upcoming vacation in Mexico and it couldn't hurt to brush up on my Spanish, right?  (Turned out it wasn't really necessary - we spent the whole time on the resort and nearly everybody spoke enough English to communicate.  But that's not the point.)

Turns out it's kind of a fun little app.  Sure, the presentation is very cartoonish and oriented toward children, but not distractingly so.  More importantly, it offers enough gamification to keep it interesting and allows you to do lessons in very small bites.

I subscribed to the premium package (since I figured it would be a family thing), so I haven't really messed with the free version much.  I'm not sure how much of a difference that makes to the user experience, so caveat emptor.

The exercises cover a good range of capabilities.  They include basic written translation exercises, where you read a sentence in one language and translate it to the other, either though free-form typing or a pick-a-word interface; fill-in-the-blank exercises where you have to complete a sentence; listening exercises where you type back what you hear; speaking exercises where you read/repeat a sentence; and stories that you listen to and then answer comprehension questions.  For most exercises, the interface allows you to tap a word to get the definition, which is handy.  There are also tips that you can access and which get displayed if you get a question wrong too many times.

The gamification aspect is what I find interesting and enjoyable.  There are a number of aspects to it, so you can go as deep as you want.  These include daily challenges, like completing 12 listening exercises; long-term challenges, like learning a certain number of new words; levels to progress through; various streaks to establish and maintain; leagues to compete in; and even "friend quests" to work with another user to collectively reach a goal, like a certain number of lessons completed in a week.  You can earn "points" for leagues and challenges by completing lessons and "gems" that can be used to buy power-ups by completing challenges.  You can also buy gems with cash, if you're so inclined, but they're really only used to buy "streak freezes" or "time boosts", which you don't really need.

The thing that really helps me stay with the app, though, is the lesson sizes.  They're very short.  It varies, of course, depending on what type of lesson you're doing, but it's not a big time commitment at all.  The fastest can be as short as one minute, up to maybe 6 or 7 minutes.  Sure, you're not going to learn all that much in 5 minutes, but reinforcement helps.  Smaller lessons give you lots of opportunity for review, so you can pick up new stuff slowly and get comfortable using it.  And most importantly, if you're busy, you're more likely to actually do small lessons on a regular basis.  Is that the path to rapid fluency?  Clearly not.  But it's still a way to improve your skill with a language.

This year's Christmas mission

Once more this year I devised a Christmas mission for my son.  I posted about the one I made up for him last year, and he liked it so much that he requested another one this year.  In fact, he requested it multiple times in the weeks before Christmas, so I pretty much had to come up with one.

This year's mission was based on the Peanuts comics where Snoopy pretends he's a World War I flying ace fighting the Red Baron.  That became my son's latest obsession this year (I'm not even sure how) and he's constantly making up games and stories about it, so that seemed like a good theme.

The mission this year was a bit longer than last year, consisting of a series of seven messages which build on each other and lead to a series of surprises.

  1. The first message was an unsigned, cryptic note placed in an envelope on the Christmas tree.  This one was intended to be found and contained an encoded message at the bottom.  The accompanying plain-text informed him that this was a "substitution cipher" and that the cats had the key with their treats.  
  2. The second message was hidden with the cat food.  It was a note from Captain Snoopy giving him the key to use with the first message.  The "key" was simple chart a mapping each plain-text character to a cipher-text character.
  3. The message from the first note decoded to "your stocking is in the cat tree", which led my son to...the cat tree, where his stocking and the next note were hidden.  This note was a message from General Pershing laying out the mission: to save Christmas by engaging the Red Baron and preventing him from shooting down Santa Claus.  It gave him the hint that he need to be in tip-top condition for this mission, so his next clue was with the training equipment.
  4. The next note was in the basement, between two presents, next to my barbel and squat rack.  The presents were some exercise equipment - some "workout dice", an agility ladder, and a kids punching bag set.  The note, signed "Agent Fifi" (apparently Fifi was Snoopy's girlfriend), told him to use these to get in shape to fight the Red Baron and included an excerpt from the Wikipedia article for the Battle of Verdun.  The clue said that the next message was in a room where the number of seasons matched the result of a simple subtraction problem based on the start and end dates of the battle, which yielded three.
  5. Note number five was in the three-season room (get it?) off the back of the house.  I left that one in plain sight, because it was cold and I didn't want to spend a lot of time out there hunting for it.  In addition to the note, it contained a "poster" my wife got on Etsy - a color print of Snoopy sitting on his dog house in his World War I outfit, printed on an old dictionary page.  The note, signed "Captain Linus van Pelt", contained a "double encrypted" message, with instructions to use the same key as the previous message, but to shift the letters by two.  The message told him to "look in the drier".
  6. The sixth note was in the laundry room,  hidden inside the drier.  With it was a hat in the style of a World War I era aviator, complete with goggles.  The note from "Colonel Charlie Brown" (I'm not sure how I came up with the fake ranks) told him that this was the last piece of equipment he needed to face the Red Baron.  The final clue to the Baron's location was another "double encrypted" message, this time with the clue to shift the key by the number of letters in the Baron's first name, again including an excerpt from the relevant Wikipedia page.  The message told him to look "under your laptop".
  7. The final message (hidden under his laptop) was from the Red Baron himself.  It was a taunt, daring my son to come and face him.  It included instructions on how to start up an old "Snoopy vs the Red Baron" video game that I found.  I thought that seemed like a nice prize at the end, and also gave him something to do until the rest of the family arrived and we could open presents.

It took me about an hour and a half to come up with this and write up all the clues.  Of course, I was far too lazy to do the encoded messages by hand, so I wrote a little program to encode and decode them for me.  I even printed it out and hid it with the last message, on the off chance that my son might be interested (spoiler: he wasn't).

While I feared that I might have gone a little overboard, the mission was a big hit.  My son was a little unsure about the encoded messages at first, but once we showed him how to do it he took right to it.  By the last message, he was completely engrossed and dove right into it.  He seemed to enjoy the rest of the mission and seemed to like having the series of gifts worked into it.

But the aftermath was what really showed me how much my son enjoyed himself.  You see, he saved all the individual notes, and when his grandparents came over to open presents, he insisted on giving them a debriefing of his mission.  He read them all the notes, told them about the presents and the decoding process, and how he figured out the clues.  And the next day, when his other grandparents came to visit, he repeated the whole debriefing again.  

The only question is: How am I going to top that for next year?

My son beat his first Switch game

Today we experienced a somewhat significant event: my son beat his very first Nintendo Switch game.  It was Splatoon 3, which he got for Christmas.  He's been playing it since then and just this morning he finally beat the final boss for the first time.

I've never played the game, so I have no idea how difficult it actually is.  However, several times I've seen my son get frustrated and upset because he was having trouble with it.  So it's a life-lesson - a small one, but a lesson nonetheless.  He struggled, he stuck with it, and eventually persevered.  Games can be very useful for that sort of thing.

My son was very happy to finally beat the game.  He called me in to watch the end and called his grandmother afterward to tell her about it.  It was really nice to see him to excited and to be there with him to share this small triumph.  Call it one of the joys of parenthood.

New keyboard - and not the computer kind

Earlier this year, I decided to treat myself to a new keyboard.  No, not a replacement for my UHK, but a digital piano.  Specifically, a Roland FP-30X, the white one, complete with stand and pedal bar.

I got the idea from a music shop in the Colonie Mall in Albany.  We stayed at a nearby hotel on the way home from our vacation this summer and were walking around the mall to stretch our legs after the long drive.  The shop had a bunch of digital pianos set up, and the FP-30X was one of them.

I tried a out a few and quite enjoyed playing the Roland.  The main attraction was the keyboard action, which was very realistic - much closer to a real piano than most keyboards I've tried.  The keys were well weighted and, even though they're plastic, they felt close to ivory.  It was also pretty compact - only about a foot deep - while still having a full-sized keyboard.  That's actually what made me think about buying one.

IMG_20221125_185547-small.jpg

Our old upright piano is nice, but it takes up a pretty good chunk of the living room, which is the only place we have to put it.  It's also getting very out of tune.  I mean, it's been very out of tune, but for a long time it was "in tune with itself", i.e. everything was out of tune in the same direction, so if you were playing by yourself, you didn't really notice.  However, that's increasingly not the case anymore.  And that's the piano I learned to play on when I was in high school, which my mother bought second-hand when I was a kid, so it's not exactly new.  I'm not sure how much it would take to get it make into proper tune and repair, but I figured it would probably cost about as much as the retail price of that Roland keyboard.  So why not just replace the piano with the keyboard?  It would probably cost the same and it's small enough to fit in my office, so it fixes two problems at once.

So that's what I did.  I bought the keyboard a few months ago.  It fits comfortably against the back wall of my office.  I even got a matching bench to go with it.  And we just got rid of the old upright today.  My wife put it on Facebook marketplace and a very nice couple took it off our hands for their daughters to use.  It served me well for many years and I hope they enjoy it.

But back to the new keyboard.

IMG_20221212_203528-small.jpg

I already mentioned that I really like the action and feel of the FP-30X.  I'm no audiophile, but the sounds is pretty good as well.  The maximum volume level is just about what I would expect for a "real" piano and the internal speakers project the sound well.  But one of the "killer features" to me was the plain, simple headphone jack.  (Actually, there are two - a 3.5mm and a 6.35mm, if I'm not mistaken.)  One of the main down-sides of the old acoustic piano was the fact that you can't play it while people are using the living room or trying to sleep.  I mean, you can try to keep the noise down, but that doesn't really work all that well.  But with the Roland, I just plug in some headphones and now I can play after my son has gone to bed.  It's great!

The one thing that's kind of a mixed blessing about the FP-30X is the control scheme.  As you can see from the picture, there's no display of any kind and there aren't exactly a lot of buttons either.  On the one hand, I really like this from an aesthetic standpoint.  It makes the unit look more like a musical instrument and less like something they pulled out of an air traffic control console.  But on the other hand, that makes it a little awkward to change the settings.  Of course, you can configure pretty much everything using just the keyboard, but that involves combinations of holding down control buttons and pressing specific keys.  It's weird and you really can't do it unless you have the reference sheet right there.

However, the preferred control method is Bluetooth.  The FP-30X supports MIDI over Bluetooth, so you can pair the piano to your mobile device and control it using Roland's Piano App.  The app itself is...fine.  The interface and control scheme is decent, but not remarkable.  The pairing and connection is sometimes a little slow and doesn't always work the first time, but it does work as advertised and it does allow you to twiddle with all the settings of the keyboard.  It also includes some paid extras, like downloading sheet music in the app and things like that which I haven't played with much.  However, using the app to control the more advanced features is definitely preferable to using key combinations.

If you want to read more about the Roland FP-30X, I found this review very helpful and informative.  Honestly, a lot of the details there went over my head, but the gist is that it's pretty darn good for a budget digital piano.  I just know that it meets my needs well and I've been having a very good time using it to play Christmas songs this week.

New desk

After working from home for the last two years, I finally broke down and got myself a new desk.  This one is significantly smaller than the one in my previous home office setup.  That one was a larger L-shaped desk.  However, I found that I actually didn't need that much space.  The L extension meant that it was hard to reach and hence use the far corner.  I also didn't really have any need for the extension and it basically turned into a dumping ground for random stuff.

IMG_20220804_150947-small.jpg

This one is much more compact.  That means that, not only do I actually use all of the space, but my office (which is pretty small) feels bigger.

The other big win is that this is a standing desk.  I got a 60-inch by 30-inch Uplift V2 adjustable height desk with the rubberwood surface and I'm very happy with it.  The Uplift desks are fun because there's a lot of customization you can do.  Of course, that also means that the price can vary wildly.  I mean, they start at $600 for a basic 42-inch model, but as you upgrade the size, material, add-ons, etc., it adds up quickly.  The price tag for mine ended up at around $1300.

There are lots of fun add-ons, though.  I got:

  • The casters so I can roll the desk around easily.
  • The bamboo drawer.
  • The upgraded programmable adjustment control.
  • The upgraded cable management system.
  • Three shelves for monitors etc.
  • Two of the powered grommet covers
  • The extra power outlets (so I actually have 2 USB and 6 conventional plugs on the desk).
  • The foot hammock.
  • A standing mat.
  • The bamboo Rocker-X board (with comfort pad), which is surprisingly satisfying.

The assembly took a while, but wasn't too bad.  The main challenge for me was that I had to assemble the desk more or less in-place with the other desk still in the room.  That's because I had no place to put my work setup while I assembled the desk (which I did over a couple of days) and, due to the door and hall size, the new desk couldn't easily be moved into my office after it was assembled (it would have to be turned on one edge, and that's a two-man job).  However, the instructions were fairly clear and the assembly wasn't too difficult.  There were a few steps where I needed to drill holes in the underside of the desktop, but other than that it was pretty much just screw drivers and Allen wrenches.  It takes some time, but it's not especially complicated - though some of it depends on what add-ons you get.

So if you're looking for a standing desk, the Uplift V2 is a good choice.  And if you've never used a standing desk, you might want to look into it.  I find that it really does help.  With my old desk, I sometimes found my legs starting to get stiff or cramped from sitting too long.  But if I get up and walk around frequently, that can sometimes interrupt my flow and make it harder to get things done.  A standing desk is a good compromise, because you can keep working, but still stretch your legs and move around.

I also found that the combination of the standing mat and the Rocker-X board really helps.  Just standing on the hard floor can be better than sitting, but it's still not super comfortable, especially if you're working at home and not wearing shoes.  The standing mat gives you a nice cushion, which makes standing for long periods in socks or bare feet much more comfortable.  And the Rocker-X board, while it looks like a silly gimmick, is awesome, especially if you're a fidgeter like me.  Even when I'm sitting, I'm constantly moving my legs and feet around.  The Rocker-X board lets you shift your weight and move your feet constantly, while still keeping you in a position where you can work.  I highly recommend giving it a try.

Belated birthday post

This year's birthday post is a few weeks late because...well, I just didn't feel like writing it.

There's not much to say anyway.  We spent the week on vacation in Cape Cod.  We rented the same place in Hyannis that we stay every two or three years.  It's a nice spot, about a mile from main street and a two-minute walk from the beach, and the weather was very nice this year.

I had a fairly restful and uneventful birthday.  It was kind of a re-run of 2019, which is the last time we were in Cape Cod.  I spent a while wandering around Parnassus Books, though nothing really struck my fancy - all I got was a couple of Zane Grey novels.  We followed that up with a family lunch at the Flashback retro arcade and bar and then some mini-golf and a tasting at Barnstable Brewing (which are actually right next to each other).  We finished the day off with a delicious taco dinner at Añejo Mexican Bistro and some cupcakes from Little Miss Cupcape.

That's about it.  Just some good food and some fun activities with the family.  Nothing terribly exciting, but a good day none the less.  

So I finally watched Dune

So a few weeks ago I finally got around to watching Denis Villeneuve's 2021 adaptation of Dune. I'd been putting it off for some time because I was afraid I would be disappointed. Spoiler alert: I was.

See, last summer I read the original Dune novel for the first time. I'm not a big sci-fi buff, but I'd been watching some YouTube videos from Quinn's Ideas, a channel that's largely focused on the Dune franchise, and it sounded like it might be interesting. Turns out I really loved it - enough that I read the next three books in the original series and the other three are on my list. That's saying something, since I haven't read a novel series since I was in high school.  (I don't have any interest in the ones written by Brian Herbert, Frank Herbert's son. From the reviews, they sound like the standard mediocre sci-fi novel fair, which doesn't interest me.) 

The thing I loved about Dune is not the characters or the world building.  Both of those were great, and are worth the read by themselves if you're into sci-fi, but they weren't the main point.  What I liked were the themes that ran throughout the book and how they were illustrated and developed.

The first was the deep political intrigue - the plans within plans within plans.  Everyone in the noble houses was trying to play a life-or-death version of four-dimensional chess, with varying degrees of success, and I found it fascinating to watch this play out.  There wasn't just a single, grand plan that was being carried out - different factions had different, competing plots going, and the book illustrates these conflicts and interactions well.  And they're not morally simplistic, either - even the "good guys" are manipulators and unrepentant killers.  That's down-played a little, since they're mostly directing that against the "bad guys", but it's definitely present.

The second thing I loved about the book was that the story was compelling, but utterly devoid of surprises.  If you haven't read the book, it's devoid of surprises because Frank Herbert deliberately gives away the ending and all the big plot twists.  He does this with quotes at the beginning of each chapter, which are from historical works in the Dune universe written many years after the events of the novel.  So from fairly early on, you already know how the story ends.  And yet the story is constructed in such a way that you still feel like you need to know the "how" and "why" that get you to that ending.  I routinely found myself hoping that the characters would somehow manage to wriggle out of their fate, even though I already knew for certain what it was.

One of the interesting things about this is that it effectively puts the reader in the position of Paul Atreides.  One of the major themes of the novel (and especially the sequel, Dune Messiah) is Paul's struggle with his prescient visions.  He can see his terrible fate coming from far away, and yet he feels unable to prevent it.  The quotes from Princess Irulan's histories and other works presented before each chapter put the reader in this exact position.  We know the end of the story, and we watch the characters move toward that end.  At various points it looks like they might escape, that they could cheat their fate, only to be pulled back onto that path.  It adds to the sense that the end is inevitable, free will and agency be damned.

But back to the movie.  I said at the top that I was disappointed, but just to be clear, this was not a bad movie.  It's just that it didn't do justice to the book.  However, I think that's less because of problems with the movie and more because of the nature of the book.

As you probably noticed from my comments above, much of what I liked about the book was a little more abstract.  It wasn't the action-driven parts of the plot or other things that lend themselves to being displayed on a screen.  They're also things that take a long time to set up.  Even though the movie was two and a half hours long, and it's only part one.  The novel was over 600 pages long, and it wasn't 600 pages of filler, either - even the chapters that didn't have major plot events served as important motivational and establishing material.  That was one of my main worries - when I thought about the book, it didn't seem like there wasn't that much that you could cut without sacrificing some of the story.

And I think that's where the movie fell down.  As I said, the movie has a lot going for it.  And in fairness to Denis Villeneuve, it really is a very faithful adaptation of the novel.  The problem is that the story is just too deep to compress into a movie - even a five hour one.  Of course, it didn't help that the movie spent a lot of time on scenes that consisted mostly of CGI beauty shots of space ships with nothing really happening.  But even if they hadn't done that, it wouldn't have worked.

The problem is that, in the movie, nothing felt earned.  The novel spends a lot of time building up to the big events.  For example, there are numerous scenes with Doctor Yueh that establish his trusted relationship with the Atreides family, establish the "unbreakable conditioning" of the Suk School that put him beyond suspicion, and discuss his inner turmoil that leads to his betrayal of them.  (No, I'm not doing spoiler alerts for a story that's over 50 years old.  Deal with it.)  The movie has none of that.  Yeah, we see a few scenes with the doctor, but we don't really get Lady Jessica confiding in him, we don't hear about the Suk School, and we certainly don't get any of his inner monolog.  He just tells us that he's betraying the Duke because of his wife.  No foreshadowing or anything.

Yes, this movie is faithful to the book in the sense that it shows what actually happens in the plot.  And I do think they did a pretty good job getting the right aesthetic and mood.  But when you remove all the background information and scenes establishing his motivations and position, it just comes across flat.  In fact, I feel like the movie would have been a little confusing if I hadn't already read the novel.  Too much of the action feels unmotivated based just on what's in the film.  To be fair, much of the establishing material is things like Yueh's internal monolog, which isn't very amenable to film adaptation, so it's not really Villeneuve's fault.  But still, the movie suffers for it.

But maybe I'm just being overly critical.  I mean, it was a decent movie that's worth watching.  It's just that the book was so good that it was almost impossible that a movie could really live up to it.  So if you're so inclined, give the movie a watch.  And if you like it, definitely read the book.  It's way better.

Renaissance Periodization Gym-Free Review

It's time for another workout program review!  I've been sort of jumping around and experimenting a little as I get more experienced, so there's not a lot of consistency in what I'm reviewing here.  But that's OK.  If nothing else, it gives others an idea of what the different options out there look like.

Today, we're going to talk about the Gym-Free training template from Renaissance Periodization.  I first learned about RP from their YouTube channel, where I frequently listen to Dr. Mike Israetel explain fitness and muscle building concepts.  In addition to having lots of interesting information, I enjoy his dry sense of humor.

General Structure

The RP gym-free program is, as the name suggests, intended to be done from home.  It's a six-week program that is designed to be do-able with nothing but a pair of dumbbells.  Obviously it's easier if you have a range of weights available (either a set of dumbbells or an adjustable one), but the program includes guidance on what to do if you have limited weight available. I actually did three rounds of this, which I'll talk more about below. 

When you purchase the plan, you select two option: your sex (there's a men's plan and a women's plan) and how many days per week you want to train, between two and six.  I chose the men's plan at four days per week, so that's what I'll be reviewing.  I assume the other options probably have a similar structure, but I have not seen them.  In the 4-day version, there is no split - every workout is total-body.  

As I mentioned, this is a six-week program, but you only get one week of workouts.  You do a different workout each day of the week, and then progress the next week by doing the same workout, but adding one set of each exercise.  After being used to the Athlean-X programs, this put me off a bit at first.  After a while, though, I actually came to like it.  Doing the same workout each week means that you can more easily see your progress in terms of getting stronger and gives you more practice in refining your technique for each exercise.

The exercises themselves were mostly old classics - pushup variations, rows, deadlifts, squats, lateral raises, etc.  Nothing crazy or exotic here.  Again, this was a change from the almost pathological variety in programs like AX, but I actually found that I enjoyed the consistency and focus on the basics.  

The most interesting thing about the workouts is the structure.  There's a little bit of variation between days, but the basic pattern is three exercises for myoreps and then three sets of supersets.   I was not familiar with the concept of myoreps and the program doesn't really use the text-book version of them, but the idea is that you take almost no rest time.  So you take the first set to failure, rest for only 5 - 10 seconds, and then immediately start the next set, repeating until you finish all the tests.  You follow those up with supersets, which involve doing two exercises back-to-back with no rest.  So you'd do exercise 1 to failure and immediately transition to exercise 2 and that would be one set.  Then you rest for 30 seconds and do the next set.

As I mentioned above, progression is done by adding sets.  So the first week, you do two sets of each exercise.  That's 6 total sets of myoreps plus 6 sets of supersets for a total of 18 sets.  The next week you do three of everything.  Then four, then five, then six.  On the sixth week, you get a deload week, so you only do one set of everything.  After completing the first cycle, the recommended progression is to start again, but add another set every week, so starting at 3 and going up to 7.

Program Presentation

In terms of the actual product you get and use, the RP gym-free plan is pretty basic.  (I haven't used their other templates, but I would assume they're similar.)  Basically, you just get a few PDF files and a spreadsheet.  That's it.  I got a one-page "orientation" PDF, a two-page FAQ PDF, an Excel spreadsheet for progress tracking, and a four-page PDF of the actual workouts (one page per day).  The workout PDF did include links to YouTube videos demonstrating each of the exercises, but the videos were very short (just 10 - 20 seconds or so) and didn't include more than a sentence or two of instructions or commentary.

I found this presentation to be...fine.  I mean, it conveys the required information, which is all you really need.  It would have been nice to have some more detail or discussion in some of the demo videos, as there were a few things I had to figure out for myself.  (The extra discussion and background was actually my favorite part about the Athlean-X programs.)  On the up side, the workout PDF looks nice and is laid out well, so it's good as a reference tool.  The general feeling I got from the materials was that this was written by and for people with some weight lifting experience.  It wasn't unfriendly to less experienced lifters, but it didn't do a whole lot of hand-holding.

In terms of tracking the workouts, I tried using the Excel sheet for a few weeks, but ended up just writing them down in a notebook.  I found that using the sheet was a little awkward on my tablet.  I mean, you can do it, but trying to type into Excel sheet cells on a touch screen while you're sweaty and breathing hard isn't great.  I guess I could have printed out the spreadsheets, but that seemed like too much trouble.  I had a spare spiral notebook laying around, so I just hand-wrote my own table with the same information.  I found that easier to do in the moment and easier to look back at, because you can just turn the page rather than having to scroll up and down.

My Experience

I found this to be a very challenging program.  As I mentioned, I did three rounds of this.  The second round, I increased the weight I was using and continued doing the same number of sets.  The third time, I increased the number of tests.

As you might have noticed, but the time you get to week 5 of this program, you're getting a lot of volume.  That's six sets of everything, which comes to 54 sets in all.  When I did the set-bump for my third round, week five was 7 sets of everything for a total of 63 sets.  That's one workout.  Granted, the myorep sets tend to be short (because you're going to failure on the first one and not resting), but that's still a lot of sets.

The good part of this is that it really works - I'm no expert, but from my understanding, volume is one of the big drivers of hypertrophy.  So if you can maintain the level of intensity, adding more sets is likely to lead to more muscle development.  And I feel like I did see some noticeable growth from doing three rounds of this program.  I certainly noticed some increases in strength.

Sadly, there are also some down sides to this approach.  The first is that all this volume can really drag out the workouts.  By week five of my third round, I was closing in on 90 minutes per workout.  And even on the first round, it was around an hour by week 5.  So if you're habitually pressed for time, this might not be a great program for you.

My more serious problem, though, was fatigue.  This program has you doing a lot of sets, and they're all to failure.  I frequently found myself exhausted and sore after workouts and managed to mildly injure myself a couple of times.  It was just a couple of minor pulls or tweaks - not enough to stop me from working out, but enough to make me adapt my form for a couple of exercises.  But still, it underscores that it's important to be mindful of your form, especially as you get more tired.

But it wasn't just getting tired during the workouts.  Although there was a lot of that.  By the end of the program (especially round three), I was getting more out of breath from lifting weights than get from running.  But there was also a lot of carry over of that fatigue from one workout to the next.  This meant that I wasn't able to keep up the same level of intensity though the entire program.  I fact, I noticed that even with the same weight, the number of reps I could do on the first set of an exercise started to fall over the weeks.

Never having done a deload week before, I was a little skeptical when I saw that on the program, but by week five it was pretty clear to me that this was absolutely necessary.  And as a matter of fact, I found that one week was barely sufficient at best.  After the third round, I didn't feel like I'd fully recovered until the second or third week of the next program!

To sum up

Overall, I liked this program.  It was pretty no-frills, but I feel like I learned a lot and made good strength progress.  However, it's very challenging and I had some trouble recovering from the workouts.  Your mileage may vary.  Definitely worth the money, though.

Holiday mission

Last year, I gave my son an assignment for Christmas: help me assemble the RetroPie we got him.  He enjoyed that process and subsequently became a fan of Contra.  This year, we were a little at a loss as to what to get, and eventually decided on making the big family gift a Nintendo Switch.  Still video game themed, but not really amenable to being a DIY project.

But then, a few days before Christmas, we were talking about the vacation we took in Florida at the beginning of 2020, right before everything got locked down.  My son mentioned how much he enjoyed our trip to the science museum, which had a special exhibit on spies.  So I decided to make this year's "Christmas mission" a spy-themed scavenger hunt.  

I figured it would be nice to make it semi-educational, so I wrote a simple "encryption" program (just ROT13 in Python), commented it heavily, and e-mailed it to him.  Then I came up with four clues to lead him to, first, his stocking, and second, the Switch.  I wrote a short letter describing his mission and including the encrypted text for the first clue.  Then I encrypted the other three clues, printed them out, and hid them in the appropriate places.  I put the letter in an envelope and hid it semi-conspicuously in the Christmas tree.

Here's the program I sent him, in case anyone is interested:

# This program does a ROT13 encoding on a message to encrypt or decrypt it.
# ROT13 is a simple "substitution cipher", also called a "Caesar cipher" after
# Julius Caesar, who was one of the first people to use it.

# A substitution cipher means that you replace one character in the message with
# a different character according to certain rules.  ROT13 stands for "rotate by 13",
# because the rule is that you replace with the character that's 13 places farther in 
# the alphabet (when you get to "Z", you loop back around to "A" and keep going).

# One of the cool things about this is that, because there are 26 letters in the 
# alphabet, ROT13 can both encrypt and decrypt a message using the same method.
# You don't need to do anything different!

# Here's how the program works:

# We'll put the decryption in a function and pass it the message
def decrypt_message(message):

    # This is where we're going to store the decrypted message
    decrypted_message = ''

    # We decrypt by going through the message one character at a time.
    for character in message:
        # If the character is an upper-case or lower-case letter, let's rotate it.
        if character.islower() or character.isupper():
            # First we figure out the letter's position in the alphabet.  We can do
            # this by using it's ASCII code, which is the way we represent letters and
            # other printable characters in binary, see https://www.asciitable.com
            starting_ascii_code = ord('A') if character.isupper() else ord('a')
            # To get the position, we get the ASCII value of the letter and then subtract
            # the ASCII value for "A".  (Lower-case and upper case have different codes.)
            position_in_alphabet = ord(character) - starting_ascii_code
            # Then we add 13 and take the modulus with 26.  The "modulus" is the remainder
            # when you do division, so 30 / 26 is 1 with a remainder of 4, so the 30 % 26 is 4.
            new_position = (position_in_alphabet + 13) % 26
            # Now we add back the value we subtracted to get the position to make it
            # an ASCII code again.
            new_character = chr(new_position + starting_ascii_code)
            # Now we can add the the new letter to the decrypted message.
            decrypted_message += new_character
        else:
            # If the character isn't a letter (e.g. a space or punctuation), we'll
            # just leave it alone and add it to the decrypted message.
            decrypted_message += character

    # Now we can print out the result!
    print("The decrypted message is:")
    print(decrypted_message)
    print()


print('Ready to decrypt!  Type "exit" to quit.')
message = ''
while message != 'exit':
    print("Enter the message:")
    message = input()
    decrypt_message(message)

Zane actually found the letter on his own before I even had a chance to nudge him toward it.  He was really excited and immediately wanted to get started.  So we went and downloaded the ROT13 program and I showed him how to open it in IDLE.  He read some of the comments and then we ran it and he typed in the first message.  That led him to the second one hidden in the advent calendar, which in turn led him to his stocking in the basement.  Since we weren't doing presents until the extended family came over for lunch, the third message in his stocking told him to talk to his aunt, who I enlisted to deliver the last clue, which led to the Switch strategically hidden under the bed.

Apparently it was a good idea, because Zane was really into it and had a great time.  After finding the Switch, he even held a "debriefing" where he explained the entire mission in detail to his grandparents.  I count this as a very successful Christmas.

Back from the holidays

In the spirit of not freaking out and overdoing it for the holidays, for Christmas this year I've scheduled another "from the archives" post.  If you haven't been keeping track, that's my lazy posting series where I slap a preamble on something that's been sitting in my drafts folder forever and call it "new content".

This one is actually seasonal, though, as it's dated December 28, 2007.  It's also completely non-technical and yet was also tagged "Software Engineering" for some reason.  Maybe I intended to add something to it, or maybe I just fat-fingered the tag widget.  But that's neither here nor there.  The point is that my scheduled Saturday post falls on Christmas day, and this is related to Christmas.

Since this one is super-short, I'm going to add some inline commentary to it because, well, otherwise it's just boring.  But this is also purely biographical, which means that nobody else cares anyway.  So this is largely a "me" post.

The post is below the line with current-day comments in italics.  Hopefully it'll be at least modestly entertaining.  Enjoy and happy holidays!


Boy, it's been a long time since I did any blogging. (Now: Exactly a week, to be precise.)  I've been meaning to get back to it, but it seems like I just haven't been able to find the time or energy.  Hopefully that will change now that things are finally settling down.  (Now: This actually still applies, sadly.  Despite being part of the "zoomocracy" and hence managing the pandemic as well as can be expected, I've found the whole thing has been a constant slow sap on my energy.  I've tried to maintain healthy habits and schedules and have managed fairly well, but still....)

There's been a lot going on here in the last couple of months.  Of course, there was the usual holiday hubbub.  My wife always insists on making a big production for Thanksgiving and Christmas, even when she doesn't have time to.  (Now: One up-ish side of the pandemic is that this hasn't been an issue the last couple of years.  That's not precisely a "good" thing, it does put the stress of big holiday plans in perspective.  Although I do miss some of it.  For instance, I was just thinking the other day about how every year I would make and package a bunch of cookie dough for my grandmother at Christmas.  She passed in early 2020 at the age of 89, in the first wave of the pandemic.  She was never very good at making cookies - when they were kids, apparently when she mentioned to my uncles that she might make some cookies, they would tell here that maybe she should wait for my mom to come home and let her do it.  So every year I would freeze her a bunch of pre-rolled cookies that she could just pop in the oven.  She would take them to events at church and people would tell her what good cookies she made.)  We also found a buyer for our house in Corning and moved the last of stuff out.  I've been trying to unpack and organize things, but it's very slow going.  

In the moving process, we also acquired a piano.  It's actually my mom's piano, which she doesn't play and has been wanting to get out of the house for some time.  I, however, do play and I've been immensely enjoying trying to get back in practice.  (Now: This is also still relevant.  I don't play that much anymore, but I still find it relaxing to do every now and then.  The last few weeks I've broken out the old Christmas carol sheet music in honor of the holidays.  Even though things are better than last Christmas, we're still not really back to normal.  So in these weird times, I find playing the piano a nice way to decompress, put aside the worries, and think about better days.)

Back to the movies: The Eternals

A couple of weeks ago, my wife and I took a nice, relaxing long weekend at Keuka Lake.  We had some nice meals; went to the Glenn Curtis museum, which I'd never visited before; and we tasted some very nice wines, particularly the Cabernet Frank from Domaine LeSeurre and several of the wines at Dr. Konstantin Frank.  We even did something we haven't done in the almost two years since the pandemic started - we went to a movie!  It was a late afternoon show and there were only a couple of other people in the theater, so it was pretty nice.

The only down side was that the movie we saw was Marvel's Eternals.  Spoiler alert: it wasn't very good.  (But seriously, there are a couple of spoilers.)

Honestly, I didn't have high hopes going into this movie.  I saw the last two Avengers films and, frankly, after those I'm kind of done with the Marvel Cinematic Universe.  It's not that those particular movies were bad, it's just that I'm tired of the whole concept.  There's too many characters, too many movies, too many attempts to tie them together.  The movies aren't that good and I just don't care enough to even try to keep up with them.  And I went into this film knowing basically nothing about The Eternals other than being vaguely aware that it was the title of a comic book in the Marvel Universe.

On the up side, the special effects were very good.  I mean, for the most part.  (But for the kind of budget Marvel movies get, they damned well better be.)  And I guess some of the action scenes were entertaining.  Unfortunately, that's about it.

I had a number of problems with this film.  One of the overriding issues is probably that they actually try to develop all of the Eternals as characters, at least to some extent.  Normally, this would be a good thing.  But there are like ten Eternals and this is only a two and a half hour film.  There just isn't time to develop that many characters to a significant extent and it didn't really work.  They gave most of the characters a little development, but it wasn't enough to make me actually care about them.  So all it really did was drag out the movie and slow down the pace.

The two characters that they did put more effort into were the leads, Sersi and Ikaris.  This was also a problem, because they didn't do a good job.  These characters were supposed to have had a very long-term romantic relationship in the past, which was shown in a number of flashbacks.  However, the actors had absolutely no chemistry at all.  I mean, to me it not only didn't look like they were in love, I wasn't even convinced that they liked each other all that much.  The end result was that the relationship angle didn't land at all and the scenes that were trying to develop it were just tedious and unengaging.  The only silver lining was that the leads were so boring and unlikable that they made the other characters more relatable.

Not that most of those were much better.  The actors didn't necessarily do a bad job, but they didn't have much to work with.  And I'm a little mystified by the casting.  I mean, aren't Salma Hayek and Angelina Jolie kind of big names to be taking what amounted to bit parts?  Are their careers in the toilet or something and I just didn't know it?  It's not like they got no screen time, but they were definitely not focal characters.  Most of the focus was on Gemma Chan and Richard Madden, who are not unknowns, but are decidedly "small" names by comparison (as were most of the other Eternals).  And it's not like this was a compelling artistic choice, like Milos Foreman casting a relatively unknown Tom Hulce as Mozart in Amadeus.  Chan and Madden weren't a phenomenal combination, they didn't have amazing chemistry - they were "fine" at best.  It just seems really odd to have such big names in the film if you're not going to use them.

But, of course, my main issue was with the writing.  Inspired by this movie, I'd like to propose a new law: Screenwriters are hereby prohibited from writing characters who are supposed to be significantly older than the average human life span.  

Seriously, the Eternals are supposed to be 7000 years old.  They've been around humans that entire time.  They were supposed to have disbanded as a team and assimilated into the human population something like 500 years ago.  And yet their actions and motivations are portrayed as the kind of thing you'd see from a teenager or twenty-something.  It's absurd.  I know they're technically not supposed to be human, but they're certainly portrayed that way.  Yet we're supposed to believe that they haven't matured or developed a wider perspective in 7000 years?  Come on!  I know everybody has issues, but I kind of feel like a few centuries should be more than enough time to deal with them.  But maybe my expectations are a little high.  

The one I found especially galling was Ajak's change of heart.  She actually remembered all of planets that she'd helped Arishem destroy to hatch new celestials, but when she saw the Avengers undo Thanos' "snap", she decided that this planet was different, that the people on this world deserved to live.  But what about all those other worlds she helped destroy?  Were they just populated by no-account NPCs who didn't deserve to live?  What about the dynamism added to the universe by the rise of new celestials and their continued creation of innumerable new worlds and galaxies?  Does she just not think that's important anymore?  Does creating a handful of super heroes really make Earth so much more special than all the others?  So nothing she saw in the previous 7000 years convinced her that humanity was worth saving, but the Avengers completely changed everything?  To put it generously, the moral calculus of that analysis seems a little sketchy.  You'd think someone who's been around that long would have put some more thought into ethics.

Sorry, but this whole thing is just stupid.  And that's my main problem at the end of the day: the plot was just stupid.  They spent too much time trying to the develop the characters and didn't leave enough time to make the plot actually make sense.  If they'd been successful in making a compelling, character driven story, then maybe it could have been OK.  But they weren't.  The dialog was clumsy and the characters were one-dimensional, with the result that I couldn't maintain enough suspension of disbelief to overlook the plot holes and simplistic characterization.  This is why I stopped caring about the MCU.

Cali Move Home Workout Review

My last fitness post was on the CaliMove mobility program. Well, I just finished their at-home program as well. And (spoiler alert) I really liked it.

General Structure

This program is a bit different from the mobility program. It's also different from the Athlean-X strength training programs, in that the workouts all time-based.  The exact details vary depending on what phase of the program you're in, but this means that the length of any given workout is fixed, so you know going into it exactly how long it will take.  Personally, I really liked this, as one of my main issues with the mobility program, as well as the Athlean-X Xero calisthenics program, was that the workouts could drag on for an hour or more.  With this program, you know the length up front and it's never too long - I think they top out at around 40 minutes, which isn't bad at all.

I started this program when I was half way through the mobility program. At the time, it was a good fit because you start out only training three days a week.  Also, they advertise that, while this isn't meant to be done with other training programs, it's OK to do the mobility program at the same time.  If you're going to do that, though, I would recommend staggering them like I did.  As I mentioned, the mobility program ramps up to six days a week and probably an hour or more per workout by the end.  Combine that with four days a week of 30 to 40 minutes of the at-home workout and you've got a pretty long and tiring workout there.

Anyway, like the mobility program, the at-home workout program is six months long, with a one-week de-load half way through.  Each month is a different "phase", with a slightly different training schedule and approach.  The phases vary, with some focusing on circuit training, some doing straight sets, supersets, AMRAP intervals, etc.  They're all challenging and give you enough variation to keep the program interesting and engaging.

In terms of the exercises, there's nothing really new or revolutionary here.  The program is designed to be done at home, with no exercise equipment at all (not even a pullup bar), so there's only so many options available.  So lots of variations on pushups, crunches, planks, lunges, squats, and so forth.  The only thing that requires any "equipment" is the row variations, which can be done with a pair of folding chairs or something equivalent.  But that said, there are actually a lot of variations in this program.  And the exercises rotate and progress as you move through the program, so the workouts stay challenging and change often enough that you don't get bored.

Program Presentation

In terms of presentation, this program is quite different from the mobility program.  Since this one is time-based, each session has a follow-along video (also available as downloadable audio) that tells you the intervals and exercises.  It also has a very spiffy set of graphics that summarize the workout.  Basically, they're animated GIFs that show the exercise, the time on and off, number of repetitions, and an indication of the workout flow (so for circuits the images flow together).

2021-09-11T14-17-36-527Z-med.png

I have to say, I really like this presentation.  Of the programs I've done so far, this is by far the most visually interesting and and easy to follow workout summary.  Once you get used to it, you can get all of the information you need in a single glance, without having to search the page or think about the instructions.  This is especially nice for the circuits and supersets.  When dealing with simple text presentations of more complicated flows, I find that it's easy to get lost when I start to get tired.  The graphics make it easy to reorient yourself and prepare for the next exercise, while the video helps keep you from getting lost in the first place.

The rest of the program presentation is also quite good.  Each phase starts with a brief video overview describing the approach and a set of demo videos for the exercises employed in that stage.  As usual for CaliMove, the exercise demo videos are exceptional.  Each phase also has an Excel spreadsheet that you can download to track your progress.  This is a little inconvenient, in that it's a little hard to compare between phases with each one being a different file and the spreadsheet doesn't break down sets, but that's not a big deal.  With a calisthenics program there's no weight to track, so really all you care about is that the number of reps keeps going up.  Besides, if you don't like it, you can always track things on your own, whether in your own spreadsheet or just on paper.

Nutrition

I also purchased the "nutrition upgrade" with this program.  The base program is just the workouts - it doesn't come with any kind of nutrition information, or eating plan, or anything like that.  If you want that stuff, you have to buy it as an add-on.

The nutrition upgrade was...fine, I guess.  I watched the videos and read the PDFs, but ended up deciding not to follow the nutrition program.  It had a lot of good information, as well as some that seemed iffy.  There was some mention of "detox" and a couple of other things that made me cringe a little.  For the most part, though, it seemed sane and reasonable.  As I recall, the plan involved using food categorization and relative portion sizes to reach specific macro targets that change week by week.  To me, it seemed like yet another way to track macros without actually tracking them. 

Personally, I didn't care for this approach and ended up just doing plain-old food tracking with Cronometer.  I was already in a place where I was eating a healthy, balanced diet, and just needed to change my energy balance a little to drop 5 - 10 pounds.  I was up to close to 170lbs after the holidays and wanted to get down to around 160, so I tried to cut my calorie intake back by an average of 250kcal per day (give or take - some days I was at maintenance, others I was 500 under) for five or six months.  That worked well for me and averaged out to around half a pound per week of weight loss.  I know some people really hate tracking their food, but I don't mind it all that much.  At least, I don't really find it any more painful than the "no-tracking tracking" alternatives like this program uses.  I'd rather just look at the numbers than have to figure out what group and portion size each of my foods fits in.  But that's just me.

Conclusion

Overall, I really liked the at-home program.  It's extremely well presented and easy to follow.  The workouts themselves are good and stay challenging, despite the lack of any equipment.  I also really liked the relatively short duration and fixed time.  If I had it to do over, I wouldn't bother with the nutrition upgrade, but if you're looking for a more structure nutrition plan, then maybe it could be helpful to you.  But if you're looking to stay in shape, get a bit stronger, and do it at home without equipment, then I highly recommend this program.

Obligatory birthday post

It's that time of year again.  I always take the day off for my birthday (unless it's on a weekend, of course).  This year we did sort of a rerun of last year's birthday.  Except this year we went to Sonnenberg Gardens the day before and had a nice picnic at the beach for my actual birthday.

It was a nice, cool day for walking around the gardens.  (My wife always complains that I want to go there on the hottest day of the year.)  Sadly we're far past peak rose season, but the other flowers were looking pretty good thanks to all the rain we've had recently.

IMG_20210815_140134-small.jpg

Likewise, we had a very nice day for the picnic at Hamlin Beach.  It was in the upper 70's and sunny.  It was a little windy at the lake, but not unpleasantly so.  Zane and I played ball a little and went for a nice walk, but mostly we just laid on the sand and relaxed.  I brought my tablet and did some reading - I started Frank Herbert's Dune last week, and I've been blowing through it.

IMG_20210816_124215-small.jpg

And after the beach, we got some nice fancy cake slices from Phillips European.  I got the peanut butter torte.  Their stuff is always delicious and just buying it requires no work.  Also, I don't have to have an entire cake sitting around for the rest of the week.

So nothing fancy this year.  Just a nice, restful weekend with the family.  Which is all I really wanted anyway.

It's Olympics time!

It's finally time for the Olympics!  Hooray!

I was very disappointed that the Olympic games were postponed last year.  I'm not too big on watching sports, but the Olympics is the one event that I always look forward to.  And now that the pandemic has receded (at least to some extent), the games are on again.

The one problem with the Olympics is how to watch it.  The problem is that the NBC network has the exclusive rights to show the Olympics in the US.  So yea, I mean, it's on TV, but who watches regular old TV anymore?  I don't want to have to sit in front of the television and listen to commercials every 15 minutes.  And I don't want to have to watch at particular times (and I'm not about to set up a DVR just for one week).  As I recall from the last games, you could watch online, but you had to have a cable subscription.  I cut the cord years ago, and I'm certainly not going to call Spectrum to sign up and then spend an hour on hold trying to cancel the next week.

This year, though, things are better.  NBC now has a streaming service, PeacockTV, and it shows the Olympics!  I signed up for it this week and it's not too bad.  You do have to create an account, but it offers a free tier that includes some Olympic coverage.  I actually signed up for the premium tier because that gets you all of the events and there are "limited" ads.

I have yet to catch up on the opening ceremonies, but I did watch a few of the softball games.  So far, my only complaint is the "limited ads".  Maybe it'll be different for the top-tier events, but for the softball games, it turns out that "limited ads" appears to mean that they just take the normal TV footage and put a slide saying "the event will resume soon" where the ads would go.  But they don't actually cut out the commercial time, they just leave that slide up for two minutes.  And sometimes, they don't cut it correctly and you see the first or last 5 seconds of a Geico ad or something.  It's really kinda cheesy and bush-league.  You'd expect at least an attempt at professional editing from an organization like NBC, so it's clear that this feature is  very much an after-thought.

But regardless of shortcomings, it's nice to have a good, affordable streaming option available for the Olympics.  And it's even better to have one that does replays rather than requiring you to watch live.  So if you like watching the games and don't want to be tied to the prime-time TV schedule, I definitely recommend giving PeacockTV a look.

New new office setup

Last year I posted a picture of my work-from-home office setup.  Well, it turns out that working from home is actually a significantly less temporary condition than I thought at the time.  So I moved and re-jiggered my office a little bit.

I moved my desk from the basement upstairs to what was the spare bedroom (it's actually not much of a bedroom anyway - just barely big enough for a queen-sized bed) and moved the spare bed down to the basement.  This was a major improvement over the winter, as the heating situation in the basement is not great.  It also gives me a lot more natural light, which is just makes things more pleasant in general.

In terms of hardware, things are much the same, but with some minor changes.  As you can see, I kept my old monitor setup, with my crappy old monitors.  Not because I'm particularly attached to them, but just because it's convenient and I don't have a lot of desk space to work with.  I also have my trusty Ultimate Hacking Keyboard, which I still love.

I did get an upgraded laptop - still a ThinkPad, so you can't really tell the difference, just a newer model with more RAM.  I also added the tablet I got myself for Christmas (in lieu of exchanging gifts, my wife and I decided to upgrade our tablets), a Samsung Galaxy Tab 6 Lite.  It's actually a fairly nice little tablet, especially for the $250 price tag.  It's also really nice as an additional screen to play videos, podcasts, or music in the background while I work.  That way that stuff doesn't get in the way as it might if I put it on my computer (and it also doesn't have to go over the VPN). 

I've also upgraded my trackball from a Logitech Marble Mouse to a Kensington Expert Mouse.  This was actually necessitated by the fact that my Marble Mouse was really old and the left-click button finally started to die.  I've actually wanted to try an Expert Mouse style trackball for a long time - pretty much ever since I've been using left-handed trackballs.  But until relatively recently, I was too cheap to justify spending $100 on a trackball, so I settled for the Marble Mouse, which is much less expensive, but still good.  However, this time I decided to give the Expert Mouse a shot.  There aren't really that many choices for ambidextrous trackballs anyway, so why not get a nice one?  And so far it is pretty nice.  The large trackball takes a little getting used to, but it controls well enough and is fairly comfortable with the wrist rest.  It's got a scroll wheel that's nicer than the buttons on the Marble Mouse, and the configuration software works pretty well.  The Expert Mouse actually has four physical buttons and the scroll wheel, compared to the four buttons total (including scroll) on the Marble Mouse, and will treat clicking both top or bottom buttons at once as fifth and sixth buttons.  That's nice because it actually gives you a little more slack to do something useful with the extra buttons. So I have the top buttons configured for universal scroll, copy, and paste.  However, I did find that there's not way in the UI to control the concurrent-click detection time, so using the click-both feature on the bottom two buttons (right- and left-click by default) doesn't work well - it's easy for it to confused and do things like swallow double-clicks.  Still, I'm happy with the change.

Right now I'm quite happy with my home office.  The hardware and desk space situation is good; I get plenty of sunlight, but due to the angles the sun never shines straight in the window; and I can even open the windows and get some fresh air!  And this is a good thing, because I'm going to be in it for a while.  My company isn't planning to require anyone to return to the office until at least October.  The offices are currently open with various COVID restrictions in place, but non-essential employees are returning on a purely voluntary basis.  And so far there aren't that many people in the office, so unless working from home is a problem for some reason, we don't really have much of a reason to go back.

I guess we'll see what happens toward the end of the year.  I know a lot of people are rooting for a "part-time office" model where we could go into the office two or three days a week for meetings and work from home the rest of the time.  So far there are no plans for that model, but I find it appealing as well.  My team was already distributed across two offices, so just having everyone work from home wasn't really that disruptive to us.  In fact, it might actually be easier in some expects, since while it does take away the in-person aspect, it also takes away the risks associated with that in a distributed team.  Sure, we can't have spontaneous, ad hoc conversations, but we also are less likely to leave important people out of those spontaneous conversations. I experienced that several times in a previous team where we had one remote person, who we would frequently forget to include in or notify of decisions we made in those spontaneous discussions.  Instead, we just have the conversation in the Slack channel and everybody can see it and join in if they want.  

Rediscovering wrestling

Last year I posted about a cool site that details the deaths of famous pro wrestlers.  Since then, I've gotten back into professional wrestling.  Well, at least a little bit.

To be honest, I'm probably more interested in the meta-commentary than in the shows themselves.  Although I do pull up the occasional match (or even an old special event) on YouTube, I don't follow any of the regular broadcasts or story lines.  It's not necessarily that I'm not interested, it's just that I don't have the time.  Wrestling is a highly visual medium, so it's not the sort of thing you can easily put on in the background while you work (at least not if you want to absorb any of it at all).  I'd rather read a synopsis or watch a summary montage.  

What I have been watching is a lot of behind-the-scenes documentaries and interviews.  It turns out the real stories behind pro wrestling are at least as interesting as the ones on TV, if not more so.  It's a tough business that blurs the lines between fantasy and reality, full of creative people whose job is to get attention.  How could there not be lots of interesting drama?  And, as it turns out, lots of compelling tragedy.

Most recently, I've been watching Vice TV's documentary series The Dark Side of the Ring.  It's very well done.  It covers a range of characters and scandals in the wrestling industry, ranging from the "industry drama" of things like the Montreal screwjob to genuine, out and out tragedies, like the story of Chris Benoit.  They include interview with a variety of wrestling insiders (though there are several frequent contributors, like Jim Cornette) and do a pretty good job of expressing the uncertainty and ambiguity of many of these events.

That's actually what I find compelling about many of these stories - the ambiguity.  Many of the interviewees are, naturally, pro wrestlers, which means they're performers.  That means they can speak engagingly, with passion and conviction, about these events.  But for many of these stories, you see that from people on both sides, which makes it clear that these passionate, straight-forward accounts really aren't the whole story.  While the on-screen world of wrestling is very black-and-white, with designated good guys and bad guys, the off-screen world is much more gray.  For all the larger-than-life personas that they put on, these are actually just regular people who are trying to navigate difficult and sometimes unclear situations.  The messiness of these situations is part of what makes them so impactful. 

I've also been watching a number of the "full shoot" interviews from The Hannibal TV.  These are interviews conducted by Devon Nicholson, a.k.a. Hannibal, with a variety of wrestling personalities about their careers.  They discuss not only their in-ring and on-screen rivalries, but also the kind of things that happened back-stage and what it was like being on the road as a wrestler.  They all have lots of good stories, but it's sometimes hard to tell exactly how factual they are.  Joe Rogan has also had some good episodes featuring interviews with pro wrestlers.  In particular, I enjoyed his interviews with Jake "The Snake" Roberts, Diamond Dallas Page, and Mark "The Undertaker" Calloway.

If you're interested in a feature-length documentary, both Andre the Giant and The Ressurection of Jake The Snake Roberts were quite good.  Both men are interesting case studies on the life of a successful professional wrestler.  These documentaries detail the struggles these men went through and how wrestling contributed to them.  The latter also describes Jake's eventual recovery with the help of Diamond Dallas Page.

For me, this real-life stuff does a lot to enhance the wrestling performances that I do watch.  Between the COVID lock-downs and the crazy political situations of the past year, I find wrestling to be a welcoming break.  The on-screen performances, while hardly Shakespeare, can be entertaining and offer a familiar and somewhat comforting "good vs. bad" narrative.  And if nothing else, they certainly are impressive athletic displays.  (Yes, the results are predetermined, so it might not be a "sport", but that doesn't mean the participants aren't athletes.)  Meanwhile, the peeks back-stage are a good reminder than nothing is clear-cut and that while people can be complicated and sometimes contradictory, they all still have value and people who care about them.  That's something that's worth remembering and holding onto amidst the toxic stew that is our current media and online discourse.

Christmas cats

Merry slightly belated Christmas to all! This year we managed to have a nice holiday despite the global pandemic. Sadly, that meant we were not able to do the traditional Christmas eve party with the entire family and lots of friends.  Instead, my wife made a fancy dinner of beef Wellington for the immediate family.  Not quite the same, but still nice.

Of course, our big news this year was the new additions to our household: a pair of kittens!  When our son was born, we had three cats.  The last one, who was with us for 20 years, died this past July.  After six months, we decided we were ready for some new friends.  We didn't originally plan to get them right away, but it was nice to have kitties under the tree for Christmas.

The new kittens, Pixel and Sprite, laying in their kitty condo.

These two adorable little guys came to us from Keller's Kats Rescue on Christmas Eve.  They're both about six months old and were fostered together, so they already know each other and get along great.  My wife wanted to make the smaller one Pixel after the cat in Robert Heinlein's The Cat Who Walks Through Walls.  I jokingly suggested that if the small one was a pixel, maybe the bigger one should be a sprite.  She and our son liked that, so Pixel and Sprite it is!

Animaniacs is returning

A few weeks ago, I heard some very good news: Animaniacs is coming back!  I loved this show when it was on the air 20 years ago and in 2020, we really need something like this.  The new season is going to show on Hulu and is scheduled to start on November 20.  

Animaniacs logo with the Warners

If you've never seem Animaniacs, I recommend you check it out.  It only ran for a few seasons in the mid-90's, but even though some of the jokes are a little dated it's still funny.  It's technically a children's show, but it's produced by Steven Spielberg and is the type that has lots of jokes only the adults are going to get.  

As an added bonus, I can watch it as a family event!  When my wife told me about the new season, our son was curious about it.  So we showed him some of the original episodes and he loved it!  Now he wants to watch an episode or two every night.  It's a nice, light, family-friendly way to end the day.

Solo should have had this discussion

Earlier this year, before the entire world caught fire, I posted a review of Solo: A Star Wars Story.  (Spoiler: it stinks.)  In that post, I mentioned that Solo raised the topic of droid slavery (which, if droids are actually sentient, is the only word for it) but failed to do anything substantive with it.  Well, it turns out somebody made a video on that very topic.

The video is quite interesting and well argued.  It gets into a bit of the sci-fi history of using robots as an allegory for various sorts of social oppression and digs deep into the specifics of how droids are depicted in Start Wars.  Its a very good analysis with lots of examples drawn from the various films, including Solo.

The narrator makes an interesting point that the Star Wars franchise in general has tried to have it both ways on droids.  On the one hand, the heroic droids like R2-D2 and C-3PO are clearly intended to be fully sentient characters, with feelings, desires, and distinct personalities.  But on the other hand, all those expendable droids, like the battle droids from the prequel trilogy, seem intended to be viewed as "just machines".  That allows the Jedi and Naboo to slaughter bad guys by the thousands without any blood or mess moral consequences.

I'd often been confused by that.  Given the various depictions, it wasn't always clear how droid sentience was supposed to be viewed.  It's nice to know that, apparently, it's not just me being thick - its equivocation in the stories themselves.  

Actually, maybe that disappearing "knowledge" is OK

A couple of weeks ago I posted an entry about the disappearance of online academic journals and how that's a bad thing.  Well, this article made me rethink that a little bit.

The author, Alvaro de Menard (who seems knowledgeable, but on whom I could find no background information, so caveat emptor), apparently participated in Replication Markets, which is a prediction market focused on the replicability of scientific research.  This is not something I was familiar with, but the idea of a prediction market is basically to use the model of economic markets to predict other things.  The idea is that the participants "bet" on specific outcomes and that incentives are aligned in such a way that they gain if the get it right, lose if they get it wrong, and maintain the status quo if they don't bet.

In this case, the market was about predicting whether or not the findings of social science studies could be replicated.  As you probably know, half the point of formalized scientific studies is that other researchers should be able to repeat the study and replicate the results.  If the result can be replicated consistently, that's good evidence that the effect you're observing is real.  You probably also know that science in general, and social science in particular, has been in the midst of a replication crisis for some time, meaning that for a disturbingly large number of studies, the results cannot be replicated.  The exact percentage varies, depending on what research area you're looking at, but it looks like the overall rate is around 50%.

It's a long article, but I highly recommend reading de Menard's account.  The volume of papers he looked at gives him a very interesting perspective on the replication crisis.  He skimmed over 2500 social science papers and assessed whether they were likely to replicate.  He says that he only spent about 2.5 minutes on each paper, but that his results were in line with the consensus of the other assessors in the project and with the results of actual replication attempts.

The picture painted by this essay is actually pretty bleak.  Some areas are not as bad as you might think, but others are much worse.  To me, the worst part is that the problem is systemic.  It's not just the pressure to "publish or perish".  Even of the studies that do replicate, many are not what you'd call "good" - they might be poorly designed (which is not the same thing as not replicable) or just reach conclusions that were pretty obvious in the first place.  As de Menard argues, everyone's incentives are set up in a perverse way that fails to promote quality research.  The focus is on things like statistical significance (which is routinely gamed via p-hacking), citation counts (which doesn't seem to correlate with replicability), and journal rankings.  It's all about producing and publishing "impactful" studies that tick all the right boxes.  If the results turn out to be true, so much the better, but that's not really the main point.  But the saddest part is that it seems like everybody knows this, but nobody is really in a position to change it.

So...yeah.  Maybe it's actually not such a tragedy that all those journals went dark after all.  I mean, on one level I think that is kinda still is a bad thing when potentially useful information disappears.  But on the other hand, there probably wasn't an awful lot of knowledge in the majority of those studies.  In fact, most of them were probably either useless or misleading.  And is it really a loss when useless or misleading information disappears?  I don't know.  Maybe it has some usefulness in terms of historical context.  Or maybe it's just occupying space in libraries, servers, and our brains for no good reason.

Adorbale cats and also birthdays

It's been kind of a busy weekend and I didn't have any good posts queued up, so in lieu of real content, this week I'm posting kitty pictures.

These are Cagney and Lacey, my mother's new kittens.  They're about two months old and yes, they're named after the TV show.  We went to visit this weekend to celebrate my son's birthday and got to see them for the first time.  My son has never gotten to play with kittens before and had a wonderful time with them.

In fact, the kittens were a big hit all around.  We had a small family party with my cousins' kids and they all spent quite a bit of time playing with Cagney and Lacey. 

We had originally been planning to have a big birthday party at the Brick Lab and invite all the kids from school, but the pandemic blew that plan out of the water.  So instead he had a little party with five of his cousins.  We had pizza and cupcakes out in the yard.  The weather was beautiful.  The kids had a treasure hunt, played with foam swords, and generally had a great time.  It wasn't what we originally wanted, but it was a very good day.

Birthday garden trip

It's time for the obligatory annual birthday post!

My son and I in the rock garden

This year, we didn't do anything fancy.  We just celebrated with a simple picnic lunch in the park by Canadaigua Lake and a trip to Sonnenberg Gardens, followed by some ice cream from Cheshire Farms Creamery.  We also had cake from Phillips European the night before, so I didn't go without birthday cake.  (I guess that's a little fancy - they have exceptional cake.  My wife and I get cake from there for our anniversary every year.)

The Japanese garden and tea house

This was the first time I've been able to get to the gardens this year.  I had been hoping to go in June when the roses were in bloom, but that didn't work out.  The grounds are pretty big and I enjoy just walking around them.  It's nice to get out in nature, and the beautiful assortment of flowers and other plants they have enhances the experience.  

Inside one of the conservatory buildings

I was afraid we were going to get rained out this time, but we managed to time our trip perfectly.  Dark clouds were threatening when we had lunch, but the sun came out while we were at the gardens.  The clouds came back as we were on our way out of the gardens and headed to the creamery, but the rain didn't start until we were literally getting into the car after finishing our ice cream.  All in all, a very nice, restful day.

The garden maze

Coronavirus info for fellow New Yorkers

For my own future reference, and for the benefit of any fellow residents of New York State, here are a few links to some useful information on coronavirus cases.

The thing I like about these pages is that they're broken down by county.  We all know that the number of cases and infection rates vary by state, but it's important to remember that they also vary within the state.  This is useful for judging the relative risk of activities based on where you are.

In general, the more rural counties have lower infection rates than those with major cities.  In fact, the virus is practically absent from some of the more rural counties.  Does this mean you can just ignore the pandemic?  No.  But it's useful information to include in your risk assessments.  Maybe knowing that the infection rate in your area is very low will take some weight off your mind.  Or maybe you can take a vacation or a long weekend in a county with a very low rate and do some of those activities that you might not feel comfortable with at home.

But that's just my two cents.  As always with the pandemic, decisions have trade-offs and we're operating with incomplete information.  All we can do is to try our best to think clearly, assess the risks and rewards of the choices available to us, and make the best decision we can with what we have at the time.

Vacation chipmunk post

We have a bunch of stuff going on in the next week, so I'm taking a couple of days off for an early birthday semi-celebration.  In that spirit, rather than something technical, this week's post is about chipmunks.

If you haven't noticed, chipmunks are everywhere this year.  And it's not just your imagination.  Apparently there was a very large crop of acorns and other nuts last fall and this enabled a larger portion of the chipmunk population to survive the winter.  So now they've inundated the entire north east.  

A chipmunk eating out of a cat bowl near my front steps.

In a typical summer I would see a chipmunk once in a while.  They're definitely around in western New York, but they're normally a lot less common (at least in residential areas) than gray squirrels.  But this year I see them multiple times almost every day.  In fact, one even took up residence under our front porch.  Since I have a soft spot for them, and they don't seem to be bothering our plants, we put out an old cat dish and filled it with bird seed.  Needless to say, the chipmunk seems to appreciate this - the sunflower seeds were a particular hit.

A chipmunk sitting on my in-laws' back steps.

They've gotten pretty brazen, too.  The picture above is a chipmunk on my in-laws' back steps.  He had just been sitting up, staring down their golden retriever, as if mocking him for not being able to catch him through the glass.  Probably not a good habit for a chipmunk, but at least it's entertaining.

Though they're a pest to some, I don't mind the chipmunks.  Even if they do cause some problems, of all the plagues that have been unleashed this year, they're by far the cutest and most endearing.

A substitute for the Olympics

I'm not a big sports fan.  I'll watch a fight now and then (boxing, Muay Thai, or MMA), but that's about it.  I don't have favorite teams and I don't follow the careers of individual athletes.

However, I do make an exception for the Olympics.  Every other year I become an avid sports fan for a couple of weeks and watch as much coverage of the Olympic games as I can.  And I don't really even care what the events are, either.  I'll watch everything from racing to curling - anything I can find.  Because, for me, it's not about the sports per se.  It's more the atmosphere of (usually) good-natured competition between nations.  It's a chance to celebrate the success of individual athletes while simultaneously cheering for your "team".

Sadly, this year the Olympics have been postponed due to coronavirus.  However, my wife found an acceptable substitute on Netflix in the form of the Ultimate Beastmaster.

I know that probably sounds crazy, but stick with me.

If you haven't seen the show, the basic premise is that it's a game show where contestants have to run through an obstacle course.  They take turns running the course and get points for getting past the obstacles.  Whoever ends up with the most points wins.  There are multiple "levels" to the course and the game is run as an elimination tournament to get to the final level where the winner is determined.

So how is that like the Olympics?  Well, for starters, there's a meeting of nations.  Each episode features six teams of athletes, each representing a different country.  And I say "athletes" rather than "contestants" because that's what you have to be to get through this obstacle course.  Like the Olympics, the course requires some strategy and is very physically challenging.  Actually, that's an understatement - it's not "challenging", it's absurdly difficult.  The course varies between seasons and episodes, but I swear some of them are borderline impossible.

But more importantly, the Ultimate Beastmaster has very much the same vibe as the Olympics.  There are two announcers from each country represented, and yes, they talk a lot of crap to each other, but they keep the overall mood very positive.  Everyone roots for their team, and when their team is eliminated, they root for the another team.  The sportsmanship and camaraderie, both from the athletes and announcers, is inspiring.

So while it's not the Olympics, Ultimate Beastmaster gives me a lot of the same things - global community mixed with national pride, intense competition, and celebrating great personal achievements.  If you're missing that Olympic feeling this summer (and you're a Netflix subscriber), then give it a try.

What happened to your favorite wrestlers

Like many kids, I watched professional wrestling when I was growing up.  From the time I was about 10 or 12 I was a big fan of the WWF and WCCW.  For a while I would religiously watch the regular programs on TV and even rented the older Wrestlemania VHS tapes from the local video store.  I lost track of it when I was in college, but it was great fun for a kid - lots of bold, flashy characters and enough action to be exciting, but not scary.

A few weeks ago I listened to Joe Rogan's interview with Diamond Dallas Page and it made me wonder what happened to some of the other iconic wrestling figures I remembered from my childhood.  Some of them I knew about - Hulk Hogan has been in the news; I knew Andre the Giant had died; I'd listened to Jake the Snake Roberts on Joe Rogan a few months ago.  But what about all the others?  What about people like Mr. Perfect, Bam Bam Bigelow, Ravishing Rick Rude, or the Ultimate Warrior?

Well, it turns out they're all dead.

I learned this from an unexpectedly captivating site called the Ten Bell Salute.  It's a database and tribute site dedicated to memorializing the deaths of professional wrestlers.  And it turns out there are a lot of them.

Part of the reason the site is both captivating and depressing is that it really brings home how tough the life of a pro wrestler actually is.  According to their data page, of the 2024 wrestler deaths in their database, 473 died before the age of 50 and the average age of death was only 61.  It's actually strangely comforting when you happen across one who was old enough to collect social security.

Each wrestler listed on the site has their own story, but many of them are quite tragic.  Many were due to drug use or complications thereof - sometimes from the performance-enhancing drugs used to build muscle, other times from narcotics to deal with injury or stress.  And some, like Kerry Von Erich, who committed suicide at 33, or Chris Benoit, who killed his family and then himself, are their own special kind of tragic.

Beyond the stories themselves, these deaths seem so impactful because it's the first time I've really looked at them as actual people.  On TV, I knew them only as their characters - big, muscular, walking down to the ring in elaborate costumes, putting on larger-than-life personalities and engaging in epic feuds with each other.  They hardly seemed capable of having the same problems as regular people.

But, of course, they were regular people. 

The fact is, you don't get into a line of work like that if you have a Harvard degree and a trust fund.  Wrestling may be "fake" in the sense that the outcomes are predetermined, but it's still incredibly physically demanding.  It's hard to take that amount of punishment, as often as they do, without your body starting to break down.  These people lived tough lives and it took a toll.  

So if you, too, loved pro wrestling as a kid, I recommend browsing through the Ten Bell Salute.  It's a nice way to bring back those childhood memories and, at the same time, reflect on the transience of life and the reality of the human beings behind the heroes and villains that we know from the media.  That may sound a bit heavy, but it's a surprisingly rewarding experience.

How about some flowers?

It's a long weekend for Memorial Day.  I spent most of yesterday and this morning cleaning.  And I had a late and very large lunch of braised pork ribs, which was delicious but filling.  So I just don't feel like coming up with anything substantial right now.  So how about some flowers?

The lilac trees from my yard are starting to bloom

Since the Rochester Lilac Festival was postponed this year, here's a picture of the lilac trees from my side yard.  They've got quite a few flowers this year.  Last year they didn't do as well because I didn't prune them sufficiently the previous season.  However, I did a better job last season.

Actually, it's just as well the festival was postponed.  The blossoms have only come out in the last week or so, and the festival is normally early in May.  So it probably would have been a lilac festival without many actual lilacs.  Though it still would have been nice to get out and roam around the park....

Making the best of quarantine

So what do you do when there's a pandemic on and you can't really leave the house?  Fix up the house, of course!

Actually, I had been planning to take a week off to work on my house before the pandemic hit.  Our floors were in very bad need of refinishing.  And since we had to sand them down for that anyway, my decided to stain them as well.  And since we were doing that, we figured we might as well paint the walls and ceiling too.

Unfortunately I can't find a good picture of the floor, but this one has a cat in it, so that makes up for it.  As you can see, it was that light, honey color.  What you can't see is that in many place the finish had worn completely off.

My living room (and cat), before the refresh.

Here's the "after" picture of that same corner of the living room.  We stained it an "espresso" brown.  It was a slow job - two coats of stain at about six hours per coat to apply - but I think it turned out really well.  

My living room after the refresh.

The new paint is a brownish-gray color called "armadillo".  We also got some new lamps for the living room and put the "daylight" LED bulbs in them.  The old paint and soft lighting made the room very yellow.  The whiter light and new paint actually make it feel brighter.

Of course, there's always more work to do, but we're making progress.  Being stuck at home sucks, but at least we're doing something productive with the time.

Working from home

As everyone continues to work from home, I figured I'd share what my workspace looks like.  As I mentioned in a previous entry, I've been using the desk I have set up in the basement that I've barely touched in several years.

Unlike one of my co-workers, who on the last day in the office brought home his mounted entire four-screen setup, I didn't bring back everything I had on my desk.  However, I did bring the important things: my laptop and my UHK.  After a day or two of working with just the laptop screen, I then proceeded to scavenge a couple of monitors to get back to a three-screen setup.  One of them is actually my main desktop monitor, which was still hooked up to the KVM switch that I used years ago when I worked from home for deviantART.

My work-from-home space.My work-from-home space, with improvised three-monitor setup.

So far this setup is working pretty well for me. That's a good thing, because it's going to be at least another two weeks - the state is still on "pause" until May 15th, assuming they don't extend the "pause" again.  And even then we probably won't go back to the office right away.

A good take from a doctor

Apropos of my previous post, here is a similar take, this time from an actual doctor specializing in infectious disease.  So it's not just me.

The short version: while COVID-19 is a serious matter, right now he's more concerned about the response to it than the virus itself.  People are losing their composure and doing crazy things, and it just makes the situation worse than it needs to be.

So keep calm.  If you're relatively young and healthy, you'll probably be fine, even of you catch the virus.  Just wash your hands and take reasonable precautions to protect the sick and elderly around you. 

And actually think about what you're doing.  Don't be like the clerk in Home Depot who insisted on standing a foot and a half away from me, or like the woman in Wegmans who was wearing a face mask while carrying around a cup of coffee.  Be sensible.   I know things are stressful right now, but it's not the end of the world - we will get through this.

A nice support package from work

On Friday I got a nice care package from the office.  They sent one out to everybody as a nice reminder of normalcy.  If we can't get to the free snacks, they'll send the free snacks to us!

My care package from the officeThe good people in Datto operations are the best.  They always do a fantastic job of keeping up morale and taking care of everyone.  Thanks, guys!

Hunkering down for the pandemic

This week started "work from home for the foreseeable future."  It's pretty much going to be nothing but sitting around the house and going out in the yard for a while.

This is because, in response to the coronavirus epidemic, pretty much everything is cancelled.  Last Thursday the news announced the first case of COVID-19 in my Monroe County, New York, where I live. That morning my boss advised all his reports to feel free to work from home.  The next day, the CEO sent out a message that we were closing most of our offices and ordering everybody to work from home.  On Saturday the county closed down all the schools.  Over the course of the rest of the week, the state government announced progressively more closures, and yesterday put the state on "pause".  This means pretty much everything is closed, i.e. all businesses deemed non-essential. I'm still not 100% clear what counts as "essential", but it's not much beyond food and medical care.

Fortunately for me and my family, I made good career choices in my youth.  As a professional software developer, working remotely is generally not a challenge for me.  I'm also fortunate to be working for a company that sells BCDR solutions with a subscription model.  Particularly with the increased move to telecommuting, the need for backup solutions is not going to go away, and our subscription services mean that the company will have recurring revenue even if new sales decline.  So not only am I in a profession that is well positioned to weather a crisis like this, I'm working for a company that is not in any immediate danger of going out of business.

Sadly, this is not the case for many people.  My brother, who works for the state unemployment agency, is already preparing for a massive influx of claims as people who aren't able to work from home go on unemployment. Local non-profits have already started sending out solicitations for donations and people on social media are calling for everyone to support local businesses that will be hard-hit by the closures.  I don't know what impact this pandemic will have on economy, either locally or nationally, but it will definitely be bad.

And let's not forget the maniacs who are hording toilet paper and hand sanitizer and generally causing way more problems than they're protecting themselves from.  Or the other maniacs who are convinced that the pandemic is some kind of political conspiracy theory and take pride in flouting even common-sense safety measures.  I don't mean to downplay the seriousness of CONVID-19, but some of the reactions have been completely out of proportion to the threat.  This is not the "insta-death virus", but it's not just a case of the sniffles either.  It needs to be taken very seriously, but it's not a reason to panic.  Panicking always makes any situation worse.

At this point, my only hope is that the response to the virus won't do too much damage to society as a whole.  Yes, it's a serious issue; yes, lots of people will die; yes, the state needs to take decisive action to slow or halt the spread of the virus.  But let us not forget that while the risk of illness is shared by all of us equally, the costs of the response are not.  More of the weight will undoubtedly fall on those least able to carry it.  While people like me will probably be pretty much OK, the status of those affected by business closures an quarantines is far less certain.  So while it's important that we take steps to protect the people who are most in danger from the virus, it's also important to protect the people who are harmed by those steps.  There are no free lunches - everything has a cost and everyone is worthy of consideration.

Theme parks and microchips

This year, we spent our son's spring break in Florida.  My parents rented an apartment down there for a few weeks and invited us to come stay with them for the week.  It was a very nice week and we enjoyed some good family time and lots of unseasonably warm weather (it was in the 80's most of the week, which I'm told is a good 10 to 15 degrees higher than normal).

One of our outings for the week was a trip to Universal Studios in Orlando.  It turned out to be a beautiful day (despite predictions of rain) and we had a good time.  My son was especially excited about the Harry Potter areas.  We got the "park hopper" tickets, so we were able to visit both their "Adventure Island" park, which had a Hogsmeade area, and then take the Hogwarts' Express to the main Universal Studios park, which had Diagon Alley.  We didn't do many rides, since he's still a little young for most of the ones they have at Universal, but we had fun shopping and doing some of the non-ride activities.

Anyway, on a vaguely geeky note, they had kind of a neat drink package at Universal.  We went to Sea World two days before and they had a similar thing, but more manual (I assume it must be common for theme parks now).  Basically, rather than spend $3 or $4 per bottle of soda or water, you can spend $16 on a souvenir cup and get unlimited refills all day.  This was actually a pretty good deal, because it was unseasonably hot and we wanted to do the park all in one day (both because we were staying an hour away and because we didn't want to pay for multiple tickets).  At Sea World, you could just take our cup to any concession stand to get it filled.  At Universal, you could take it to a concession stand, but there were also free-standing Coke Freestyle machines throughout the park that you could use.  You're allowed to refill your cup every ten minutes until 2:00am the morning after you buy it.

Of course, this immediately raised the question "how do they enforce this?"  You don't have to show a receipt or talk to anyone to use the Freestyle machines.  What's to stop you from just bringing your own cup and not paying for anything?

Well, it turns out the souvenir cups actually have a microchip in the bottom.  If you look closely, you can see it in the bottom.  You can test this by not actually fully placing the cup down on the Freestyle machine.  We know this because somebody had dumped their slushie on the cup holder of one of the machines and just tipping your cup under the dispenser didn't work, presumably because it couldn't read the cup's chip.

I found this both kinda cool and kinda weird.  It was convenient, but at the same time it seems weird to have a computerized soda cup.  It's just one of those applications that I wouldn't have thought of.  Although it does explain why the Universal drink cups cost the same as the ones at Sea World despite the Sea World ones being way nicer.

OK, that one wasn't good either

In my review of Star Wars: The Rise of Skywalker a few weeks ago, I mentioned that I'd enjoyed the other new Star Wars movies, with the exception of Solo: A Star Wars Story, which I hadn't seen yet.

Well, I saw it.  And...yeah.

On the up side, it was definitely better than The Rise of Skywalker.  But that doesn't make it good.  That would be like saying that Anders Breivik wasn't such a bad guy because he killed fewer people that Stalin.  It doesn't work that way.  So it was pretty bad.  I'd rank it as the second worst Star Wars movie so far.

The disappointing part was that for the first third to half of the movie, I was enjoying it.  It wasn't fantastic, but is seemed like a decent, straight-forward action/adventure movie.  I distinctly remember thinking, "I don't know what people were complaining about.  This is actually not bad." 

Then in the second half the story started going down hill.  They started throwing in plot twists and flipping the "good guys" and the "bad guys" and it just didn't really work.  Especially since a lot of the "good guys" were career criminals - are we really surprised they're not so good?  Come on.  Add in the corny dialog and some iffy acting that left the characters feeling unrelatable and that just killed it for me.

And then there were the parts that seemed like they were supposed to be some form of ham-handed social commentary.  For instance, Lando's droid that was constantly agitating for droid rights.  That could have been an interesting sub-plot.  Are droids really sentient?  What does sentience actually mean?  And if they are, why doesn't galactic civilization have a problem with basically enslaving them?  And for that matter, why don't they seem to have a problem with enslaving humans or other humanoids?  How do the characters relate to these questions?

But no - they don't even try to explore any of that.  They just have the droid assert that droids are sentient and need to be liberated and then walk around ranting about it like that friend who spends way too much time on Twitter and won't stop talking about politics.  "Yeah, we get it Bob, the patriarch is bad.  Now what do you want on your damn pizza?"  It ends up just being a punchline.

Bottom line: if you haven't seen Solo, don't bother.  My only consolation was that I was cleaning the house while I watched it, so at least the time wasn't wasted.  If you want a good Star Wars story, go watch season 1 of The Mandalorian.

Thank goodness Star Wars is over

My company has this cool tradition - when a new Star Wars movie comes out, they buy everybody a ticket to it.  In fact, for the larger offices, they even buy out a theater, which is really cool.  So, naturally, this year they sent us all to see Star Wars: The Rise of Skywalker.  And you know what?  I kinda wish they hadn't.

Warning: Spoilers Ahead!

I give that spoiler warning even though I don't think it's actually possible to spoil the movie.  Seriously, it's that bad.  If you haven't seen it, don't bother.  It's so bad I think it actually made Revenge of the Sith look good.

Lest I be accused of unfairness, let me clarify that I did not go into this movie expecting to hate it.  I hadn't read any reviews or rumors about it, so I really didn't know what to expect.  I like the previous movies well enough and expected the same from this one.  I thought The Force Awakens was good and while The Last Jedi had some issues, I still enjoyed it.  I didn't see Solo, but I liked Rogue One a lot (in my opinion, it was the best of the new movies by far) and have been thoroughly enamored The Mandalorian.  So I like Star Wars.  But I'm not a die-hard fanboy.  I'm not really familiar with the books, comics, games, or any of the other extended universe stuff - just the movies.  So I'm not looking to pick this apart in light of other sources.  All I'm really expecting is a good movie.  If not a great cinematic masterpiece, at least an entertaining action film.

I did not get what I was expecting.

On the up side, the special effects were top-notch, and the acting was generally fine given what the actors had to work with.  On the down side, everything else about the movie was awful!  The dialog was bad, but that's forgivable - this is Star Wars, not Citizen Kane, so you have to temper your expectations; the pacing was a mess, with suspenseful plot points that were resolved ten seconds later in the very next scene, like when you think Chewbacca is dead for maybe 30 seconds; the action scenes were a mixed bag, with some that were decent and others that were underwhelming, such as the big lightsaber duel on the ruins of the Death Star that actually inducing me to yawn.  But my main complaint was the story.

The plot of this film was just...impossibly bad.  And when I say that, I mean I actually find it hard to believe that it was written and approved by highly paid professionals working for a major studio with a huge budget.  It's the kind of story I would expect from a not-very-talented 13-year-old fan-fiction writer.  It's trite and uninteresting, full of holes and poorly motivated twists, loaded with plot points that don't really make sense, and littered with distracting and pointless "fan service" call-outs. 

Shadiversity has a good break-down of the plethora of problems with the plot, but I'll give a a short list of a few of my complaints.

  1. Palpatine?  Really?  Yes, the opening story roll, in the first 30 seconds of the film, reveals the twist that Emperor Palpatine is still alive and is planning to take his revenge on the galaxy.  It's never explained how he survived the Death Star or why he's been in hiding for however many years.  It wasn't alluded to in the previous movies, as far as I can tell.  But sure, why not?  Apparently they've just run out of original ideas.
  2. Another armada from nowhere?  The previous movies showed us the First Order, which apparently built a huge armada in the outer reaches of the galaxy and then started taking it over.  Well, apparently Palpatine did the same thing.  So now he has a gigantic fleet of Star Destroyers that also all have planet-killing lasers a la the Death Star.  Because...why not?  Apparently those are a dime a dozen now.
  3. Is it really that secret?  Palpatine built this fleet on the Sith home-world.  Much of the first half of the movie is spent trying to find the special navigation unit which will take the heroes to that planet so they can confront Palpatine.  Apparently only two of those units were ever made and they're the only way to get to the planet.  Kylo Ren has one of them and when he finds the planet, it's shown as being pretty much a barren wasteland with one big building (which for some reason seems to be floating about eight feet off the ground).  And yet they managed to build hundreds, if not thousands, of Star Destroyers here.  How?  Where did they get the resources?  And the crew?  So nobody can get there except for the tens of thousands of people who are responsible for those Star Destroyers?
  4. What's with the dagger?  The heroes find the coordinates at which to locate the above mentioned navigation unit inscribed on a dagger.  It must be an ancient Sith relic which will lead them to a long-forgotten temple or something, right?  Wrong.  It leads them to Endor and the wreckage of the Death Star.  So...that means that like 30 years ago, somebody knew that unit was in the Death Star and decided to...carve the coordinates on a dagger?  Why would you do that?  And then it turned out the dagger has some sort of pull-out thing in the hilt that allows Rey to match up exactly where in the Death Star the unit was.  No instructions on how to use that or where to stand to make it line up right - Rey just notices it's there and uses it at a random place.  The entire thing just makes no sense at all.
  5. What about that thing with Finn?  Two or three times they raised a point about Finn wanting to tell Rey about his feelings for her or something.  At least, I assume that's what it was.  It was one of those "he wants to say something, but never gets a good chance" things.  It comes up a few times and then they never do anything with it.  They just drop it and the movie ends without any attempt at a resolution.
  6. What happened to the Force?  The Force was always powerful and mysterious, but the previous eight movies established some precedents for the type of things the Force can do.  And that list did not include healing wounds, teleporting physical objects, or generating enough Force lightning to simultaneously attack an entire fleet of starships!  I'm not saying that new movies can't introduce new Force powers, it's just that this movie really piles them on.  It seems like at this point the Force has become "magic".  It can just do anything, for no reason, without explanation of how or why it's possible.

That's enough for now, but I could go on.  The entire movie is like this.  The characters are constantly doing things that don't make sense, seemingly at random, either to drive this ridiculous plot or as an excuse for some special effect.  And this goes on for over two hours!  There's no character development to speak of and the plot doesn't seem to develop so much as jump around.  It's as if they had a long list of things they were required to include in the movie and just tried to cram everything in without taking the time to make it work.  If it doesn't make sense, well, we'll distract them with this shiny new thing!  After a while, it becomes difficult to actually care about any of the characters or the story at all .  They just don't feel real enough to be interesting.

Overall, I regard this film as a disaster.  It's the first Star Wars film I can remember watching and not enjoying.  It has caused me to officially lose all respect for J. J. Abrams.  There were actually several sections where I actually started getting bored and wished it would just end.  If you haven't seen it, then don't.  It was a waste of two and a half hours.

The Joy of Gaming With Your Child

For this Christmas post, I wanted to share an experience from a couple of weekends ago that I hope will be entertaining, especially for any parents out there.  Let me set the scene.

As you may know, I have a young child - a seven-year-old son.  Like many (if not most) little boys, he really likes video games.  We limit his screen time, usually to an hour a day, but we allow him to choose what he wants to do with it.  He can watch TV, or use his Kindle, or, on the weekends, play the Wii.  (Not WiiU or Switch - just a plain-old Wii that we've had forever and barely used before he was born.)

Important background information: While my son is generally a very happy child, he's growing and losing teeth at the moment, so he's a little...difficult on some days.

So on this particular Saturday, around 3:30 in the afternoon, my son announces that he hasn't had his electronics yet today and would like me to play Wii with him.  OK, that's fine. Usually he wants to play Mario Kart or Super Smash Brothers, but the previous week he discovered Super Mario Wii, so that's what he wants to play.

Super Mario Wii box art Super Mario Wii box, courtesy of WikiMedia

This is bad news.  Why?  Because inexperienced seven-year-olds and platformers don't mix well.  His hand-eye coordination is still developing and he doesn't really "get" the puzzle aspect of platforming.  So, needless to say, he doesn't do very well.

Now, in the good old days of the original Super Mario Brothers, this would not have been a problem.  He would die quickly and then I'd take my turn and we'd go back and forth.  But Super Mario Wii is a cooperative multi-player game, so you actually both play at the same time.  And not only is it cooperative, but the players can interact with each other, meaning that you can bounce off another player's head, or push them along the screen.

At this point you might see where I'm going.  I'm sure this can be a very fun way to play, but when you're playing with someone who can't really control their character and doesn't fully understand the objective of the game, this is a recipe for frustration.  I end up playing the same levels over and over because my adorable and wonderful child whom I love very much keeps getting in my way and getting us both killed.

Fortunately, on this particular day I had the foresight to grab that bottle of Jack's Abbey bourbon-barrel aged lager wine that's been in the refrigerator for the two months (as I mentioned in my fitness post, I don't drink much these days) before I sat down to play.  That helped me get through the gaming session and see the humor in the situation.  But on those days when things aren't going well or I didn't get much sleep, these sessions can be very trying.

But at least he's having fun and hopefully building some good memories.  And he is improving, slow but sure.  So I'm glad we can do this together, even if it's not always easy.  Thus is parenthood.

Getting fit

The other week, I watched a Jarvis Johnson video about losing 50 pounds.  For the zero people who've been following my blog for over ten years, you might know that I did something similar in 2007 and documented my progress here.  (Although, unlike Jarvis, I did do some exercise.  Not a lot, but some.)

I've actually been on a similar journey this year.  It's a little different this time, though, both to what I did ten years ago and to what Jarvis did.  This time, instead of just trying to "lose weight", my goal is to actually get healthier and improve my overall fitness.

Motivation

The last time I lost weight, the goal was just the traditional "to lose X pounds" or "get to X weight".  This time, the goal is more specific: to lose fat (not the same as "losing weight"), build lean muscle, and develop healthier eating habits.  Why?  Well, there are several reasons.  For one, I want to be in sufficiently good shape to play with my son until he's too old to think I'm cool.  I also want to stay strong and healthy long enough that when I one day (hopefully) have grandchildren, I'll still be able to run around and play with them too.  In fact, I'd like be able to stay healthy and mobile for as long as humanly possible - preferably until I die.  And the best way to ensure that is to start taking better care of myself and building better habits now.

But it's more than just that (as if that wasn't enough).  There's also a self-actualization aspect to it.  Part of living a fulfilling life is constantly trying to develop yourself and becoming better than you were before. There are many axes along which you can do that: social, intellectual, moral, spiritual, etc.  Well, I came to the realization that physical development is also a valid form of self-improvement.  We often forget that our physical and mental health are not independent - they directly impact each other.  Your mind is connected to your body, in a very literal sense.  So the healthier you are physically, the more mental energy and stamina you can muster, which in turn helps you grow in other areas.  Penn Jillette summed this aspect up nicely in his interview with Joe Rogan here:

Another important motivation is to serve as a role-model.  As I mentioned above, I have a young son and I want him to grow up to be a mentally and physically strong, healthy, confident, and independent adult.  He's still too young to appreciate the implications, but I want him to learn how to eat a healthy diet, exercise safely and productively, and develop the discipline to maintain the good habits he'll need to succeed in live.  We live in a society that doesn't encourage healthy living, in either the physical or emotional sense, so I can't count on him to pick this up on his own.  I figure if I can start living a healthy life-style myself, I can help him learn the skills he needs early and not have to figure it out later in life like me.

Inspiration

So, why bother to change?  Yes, I've given some good reasons above, but let's be honest - most people could give those same reasons.  And the fact is, most people don't act on them, as I didn't for many years.  So clearly I needed more than just motivation to change my lifestyle.  I needed inspiration.

It's kind of lame, but I'll be honest.  The truth is that I got inspired by allowing myself to be sucked down a YouTube rabbit-hole.  There, I said it.

It started with martial arts channels.  In particular, some of Ramsey Dewey's videos.  He had a video where he talked about training to be a fighter and gave this simple piece of advice - just do something to improve yourself every day.  It doesn't have to be a big, dramatic change - small things work too.  The key is to just do something, consistently, every day.  And if you keep at it and you will get better.  It might not happen fast, and your progress might not be even, but that's OK.  The important thing is to put in consistent effort towards your goal.

At that point, I felt like I'd like to be a little stronger (sitting behind a keyboard all day is not conducive to muscle development), so I decided to take Ramsey's advice and start doing some strength exercises every night.  Nothing fancy - just some push-ups and sit-ups before bed.  But it was something and I was doing it consistently.  And after a few weeks, I noticed that I was able to do more of them than when I started, so I was making progress.  That prompted me to start increasing the number of reps, trying different techniques, and adding some squats and other leg exercises.

Looking for more exercise ideas led me to the world of YouTube fitness, which, like the rest of the internet, has some great content as well as a whole lot of morons.  Fortunately, good channels aren't hard to find, so I quickly discovered Athlean-X and Calisthenicmovement.  Both offer lots of excellent exercise demonstrations, workout ideas, and lots of background information about nutrition, the bio-mechanics of various movements, and how they fit together.  From there, I branched out into channels that focus less on demonstrations and workout specifics and more on commentary and criticism, such as Every Damn Day Fitness and Shredded Sports Science, both of which offer humor combined with reality-checks intended to cut through the nonsense that permeates much of the fitness industry.

I think the main thing I took from these channels, and what inspired me to get into shape, was to really internalize the idea that your fitness is something that is within your control.  Quite often people think about fitness as something that happens to them - that either you're naturally thin and athletic, or you're not, and there's not really that much you can do about it either way.  But that's not the case.  Sure, there are people who have legitimate medical issues that impact their diet or ability to exercise, but the majority of over-weight or out-of-shape people do have the ability to change their body composition and fitness level.  And it's not a choice between "dad bod" and spending four hours a day in the gym, either.  Different people can have different goals in line with their lifestyle and other commitments, and there are different ways to achieve those goals.  It's not always easy, but it's certainly not impossible.

This sounds like a fairly obvious thing, and I think it's something I sort of knew on an intellectual level, but I didn't really "get it".  But after a while, I realized that, conceptually, getting in shape is no different than learning a new programming language or technology.  It requires hard work, and it's easier if you have a plan and someone to guide you, but it is achievable if you're willing to put in the time and effort.  There are no shortcuts, no silver bullets, no magic formula - just time and hard work.  And while it's true that this stuff comes easier to some people than to others, nobody is born into it - the limiting factors are time and energy, not genetics.

Taking Action

For me, internalizing this message and seeing a few good examples was enough to move me to action.  When you think about "getting in shape" in terms of "natural athletes" vs. "regular people", it's easy to write off the possibility of meaningful change.  But when you think of it in terms of "just putting in the work"...that's a different story.  At that point, I realized: I can do this.  I know how to work hard, maintain discipline, and follow and monitor a plan.  Heck, I do that in my work all the time.  This is something I can realistically achieve.  

So I started putting changes in place.  After a few months of doing the body-weight exercises I mentioned above, I decided to start adjusting my diet.  I didn't "go on a diet", but rather started trying to build healthier eating habits.  Basically, this meant moving towards a the kind of diet your grandmother always said you should be eating - cut down on the breads and sweets, cut down on between-meal snacks, and eat lots of vegetables.  In fact, for the first few months I completely cut out between meal snacks.  I also cut way down on my alcohol consumption.  I went from "a drink or two before bed" down to "one drink once in a while".

For my meals, I started making a point of having a sizable serving of green vegetables with every lunch and dinner and cutting down on the refined carbohydrates (breads, pasta, etc.).  To facilitate this, I started pre-cooking my lunches for the week.  On Sunday evening, I prepare four days worth of lunch (I still take advantage of "free lunch Friday" at the office) which I then portion out so that I can just grab them each morning before I leave.  As an example, last week I made turkey burgers and chicken breast (for alternate days), roasted sweet potatoes, broccoli sautéed with onions, and some chopped kale salad from Wegmans.  Lest this sound boring, I make liberal use of the spice cabinet to jazz things up.  We have a number of interesting spice mixes from Pennzey's that add a lot of flavor to the meat and veggies.

After about three months of this, I was down about 15 pounds (from 191 to around 175) and was feeling stronger from the strength training.  However, it was also becoming clear that I needed to be more organized about my training.  This whole "cobble together a workout from YouTube videos" think worked fine initially, but it was becoming clear that I didn't really know what I was doing.  I was starting to notice some strength imbalances and mobility issues and I didn't know how to address them or work around them.  So I decided to get myself on an organized training program.

I decided to go with the Athlean-X "AX-1 Training Camp" program.  I chose this partly because I was already familiar with the YouTube channel and trusted the quality of the material.  But the program had several other aspects that I found very appealing:

  1. It takes a "don't waste time" philosophy, which they sum up as "trading time for intensity".  The short version is that, unless you have difficulty executing one or more of the exercises (which did occasionally happen to me), the workouts shouldn't last more than 40 minutes (about 45 if you do the optional "six-pack shuffle" abdominal workouts that are included).  In fact, some of the conditioning workouts can take as little as ten minutes (just don't mistake "short" for "easy").
  2. The entire program can be accessed from your phone.  It's a mobile-friendly website that lets you access your workouts, watch the demo videos, and keep track of your weight and repetition numbers for each exercise.
  3. You can do the all the workouts from home with relatively little equipment.  I only had to buy a doorway pull-up bar, a physio ball, and a set of adjustable dumbbells.  Not only does it save money over a gym membership, it also saves time - no driving back and forth.  (Note that really do need an adjustable dumbbell set.  The program is based on lifting to failure in a certain range of repetitions, so you need to be able to move the weight up and down in fairly small increments, and the only way to do that is to have adjustable dumbbells or have a rack of a dozen dumbbells in five-pound increments, which is both costly and takes up a lot of space.)  In fact, the entire program has a "no excuses" philosophy to exercise, offering adaptations and substitutions you can make to the exercises.  One of the "extras" is a set of videos showing various ways to get an exercise in even if you don't have the "proper" equipment for it.  There are also plenty of options offered for the conditioning workouts, including ones that can be done indoors with zero equipment.

I've been really enjoying this program so far and would definitely recommend it.  The one thing to keep in mind is that when Athlean-X uses the tagline "if you want to look like an athlete, you have to train like an athlete," they aren't kidding.  Even though it's the "beginner-level" program, AX-1 is definitely challenging and requires dedication.  If you are extremely over-weight or if you haven't been exercising at all, then don't expect to have an easy time with it.  You might want to consider starting with something less demanding or be prepared in advance to repeat the first month several times.  (The program is structured around three one-month phases, each of which ends in a "challenge".  If you don't "pass" the challenge, you're supposed to repeat the current phase until you can pass.  You also repeat the challenges in later months, so you can track the changes in your performance.)

Results

Long story short: so far, my results have been very good.  

At this point, I'm down to about 168 pounds and in the best shape of my life by far.  I don't look like a fitness magazine model or anything, but I look better and feel stronger than I ever have and my energy and endurance levels, both physical and mental, are higher than before.  I'm also discovering bones and muscles that I didn't even know I had, which is cool but kinda weird at the same time.

In terms of lifestyle changes, things are going quite well.  I started the basic body-weight exercises last November, changed my diet in March, and switched over to doing AX-1 in June.  I'm currently maintaining a six-day training schedule (I'm on my second round of AX-1, this time including one of their "TNT" plugins, which adds an extra workout), doing my workouts first thing in the morning before work.  I am still pre-cooking my lunches and maintaining a healthy diet without too much difficulty or feeling of restriction.  I'm also being more mindful of my sleep schedule and getting to bed at a reasonable time.  While all of this does require some effort and discipline, I'm not finding it to be burdensome and I'm feeling really good, so the extra effort is definitely worth it.  At this point I can see myself maintaining this lifestyle for a very long time, which was exactly the point in the first place.

Birthday book acquisitions

This is my more-than-slightly belated birthday post. cool

This year, my birthday fell on the last day of our vacation in Cape Cod.  We've been there several times, so we've seen most of the attractions we're interested in at least once.  Thus we had a nice, restful, laid-back week.

I'm not usually much for shopping, but one of my traditional activities on the cape is to go shopping for used books.  (Actually, I do that pretty much everywhere.)  However, this year I was very disappointed to find that my favorite used book shop on Main St. in downtown Hyannis had closed! I'd shopped there every time we've been to the cape and they had a really nice selection.  I define a "nice selection" at a used book store as one that includes a wide range of unusual books on a wide variety of topics (such as this one, which I bought at that shop two years ago and spent my vacation week reading), as opposed to used book stores that carry mostly mass-market paperbacks, usually in the mystery and romance genres.  

Fortunately, I was able to find another good used book shop - Parnassus Book Services in Yarmouth.  We always stay in Hyannis, so it's not as convenient as the other one was, but they've got a great selection.  In fact, it's a bit daunting - the shelves literally go up to the ceiling and they're completely packed.

Yet even with the abbreviated browsing time I had when shopping with a small child, I still managed to find several interesting volumes, including:

  1. Islam by Karen Armstong
  2. A History of the Vikings by Gwyn Jones
  3. The Book of J by Bloom and Rosenberg
  4. Dinosaur Lives by John Horner
  5. Aristophanes' The Forgs
  6. Exodus: The True Story by Ian Wilson 
  7. Discovering Dinosaurs by Norell, Gaffney, and Dingus
  8. Fundamentals of Elcetronic Data Processing: An Introduction To Business Computer Programming, edited by Rice and Freidman

My birthday book haul

As you can see, my book tastes are a bit eclectic.  Two themes that are obvious are my interest in studying religion and Dinosaurs.  The former is a legacy of my BA in Philosophy, while the latter is a result of being the father of a six-year-old boy - I loved dinosaurs when I was young too, and my son's interest in them re-sparked mine.

I couldn't resist the one on the bottom, though: Fundamentals of Electronic Data Processing: An Introduction to Business Computer Programming.  It's from the 1960's, so basically a piece of computing history.  I've got a couple of other computing books of similar vintage sitting on my shelf, though this is certainly the oldest.  One of these days I'll have to read them all the way through and write up some reviews, like I did with my copy of The Mythical Man-Month.  It's always interesting to see just how much has stayed the same despite the radical changes in technology.

The local Red Baron

Author's note: Here's another random "from the archives" post.  This is from May 6, 2007.  It's more of a "personal reminiscience" type post, more in keeping with the "personal journal" nature of a blog than my usual subject matter.  But hey, it's my website, so I can post whatever the heck I want.

I live in Corning. It's a small city in central New York, about 30 minutes from the Pennsylvania border. As locations for software developers and other technologists go, it's not quite in the middle of nowhere, but it's close.

However, there are still advantages to be had. For example, there are the air shows. It just so happens that the Elmira/Corning regional airport is also the location of the National Warplane Museum (note: that has changed - now it's the Wings of Eagles), and the airport just happens to be across the street from the local mall. So when we went shopping on Sunday, we got a nice view of the day's airshow while we were driving around. The part we saw was a bright red biplane doing loops, barrel rolls, flying in low over the highway exit. It was actually very cool. I wish I'd had a camera....

Commentary: I remember watching this plane as my wife and I walk though the parking lot of the Tops supermarket in the plaza across the street from the mall.  I don't remember exactly why we were there (it wasn't our normal market) or what we'd done before, but I do remember that it was a sunny afternoon and I kept looking up at the red biplane doing loops and barrel rolls overhead.  It was a symbol of freedom - rolling unfettered through the blue sky, no cares about what was going on below.  I was a little jealous - I'd been feeling trapped in a job that I increasingly disliked and I wanted to be like that plane.

It's funny how images like that will stick with you sometimes.  It's been seven years, but I still remember that plane, even though I don't remember any of the context.  In fact, the only other thing I remember doing that day was working in my garden and thinking about that plane.  Perhaps it's not a coincidence that my garden was one of my main sources of escapism....

Happy birthday, Grandma

Today is a special day - it's my grandma's 100th birthday. My parternal grandmother, Althea Geer, was born a century ago today. I'm not much on the sappy personal posts, but I figured this deserved mention. Birthdays happen every year, but it's not often you get to celebrate a milestone like that in your family.

My grandmother visiting with her my son.

My grandmother still lives by herself in a tiny village in upstate New York, in the same house where she raised my father. She's lived there most of her life - I remember playing in the back yard as a child. We'll be going over there to visit her for an open-house celebration on Saturday. I'm sure we'll have a pretty good crowd coming through. And then on Sunday the plan is to have a family celebration at my parents house.

I'm hoping to get some nice pictures of the occasion. In particular, some of grandma with my son. He's her only great-grandchild and she adores him. Unfortunately, it's a pretty long trip, so she doesn't get to see him very often. So it'll be nice for him to be there for such a special occasion. Of course, he's still too young to remember it when he's grown up, but I hope to get some picture to commemorate the occasion.

So even though you're never going to see this entry (I don't think she's ever even used a computer), happy birthday, Grandma!

Edit: A correspondent from the Walton Reporter had a conversation with my grandmother for the occasion and wrote a very nice article about it.

Programming humor

Two quick humorous items that came up in the last couple of days.

First, some animated GIFs describing moments in the life of a programmer. They're funny because they're true.

Second, a joke that evolved during a two-hour conference call I had on Tuesday:
VP of Engineering: "There are really only two problems in programming: cache invalidation and naming things."
CTO: "And off-by-one errors."
<Laughter slowly builds as people start to get the joke.>

New job - at home

Well, it's been a while since I've posted anything here. That's because I've been busy with a new job.

The new job is doing LAMP development for a major online community site. True to form, I'm not (yet) going to name the company. That policy has served me well so far. However, I will share some details of my new position and some of the challenges I've faced with it, both expected and unexpected.

The first innovation with regard to this job is it's location - my house. Yes, it's a 100% telecommute, work-from-home position. In fact, it's a totally distributed team, so everybody on the development works from home. And while that's great, so far I've actually found it to be one of the biggest challenges with the job. The challenge isn't motivating myself to actually work, which my mother thought it would be (seriously, she was concerned about that). In fact, quite the opposite. Until recently, I've had more problems with spending too much time working.

There are a three main reasons for this. Part of it is because I was still learning our system and felt like I had to "catch up" to the rest of the team. Another part is simply schedule diversity. We communicate primarily via Skype chatrooms, so we can when people are online. And since we have developers literally from California in the west to Russia in the east, many of them work non-standard schedules, there's always somebody "on", which adds some subconscious pressure. And lastly, of course, part of it is probably emotional damage from my last job. At that (highly dysfunctional) company, we were allowed to work from home on occasion, but if we did it too often, the CEO would make needling comments to the VP of Engineering suggesting that "working form home" was a code-word for "taking the day off". So I think I've partly been stuck in the mindset of trying to prove that, "No, really, I am actually working!"

The other new feature of this position is the sheer size of the operation. And I mean that in pretty much every conceivable way - the amount of traffic, the infrastructure, the size of the code-base, the size of the development team. In fact, pretty much the only thing that isn't big (to me) is the size of the overall company. By way of comparison:

  • The largest site I'd work on was when I was at ebaumsworld.com, where we had something like 30 servers in our environment and were ranked about 1200 in the world by Alexa. The current job has nearly 100 web servers alone and is ranked in the top 150 in the world by Alexa.
  • The largest code-base I'd worked on was at my last job - a little over 200K total LOC when you include unit tests. The new job has over 500K lines of just PHP code (that's not counting CSS or JavaScript) in just the web portion of the tree.
  • The largest group I'd worked in was when I was with the county IT department - about 30 people total, about 9 of them programmers, no collaborative projects to speak of. My last two teams have been very tight 4-man operations. At the new job, we have about 30 people on the tech team, all of them programmers and all of them very good.

So, needless to say, I've been very busy figuring things out in my new position. I've been there for about three months now and I think I'm finally getting comfortable. I'm still learning the code-base, of course (nobody understands the entire thing - it's just too big), but I'm getting more confident and feel like I'm making progress. So in other words, so far, so good.

And most importantly, I'm much happier than I was at my last job. It's nice to feel like you can trust your colleagues and that the work you're doing is helpful. Amazing how increased morale boosts productivity.

The truth about government

Leon Bambrick had a really great blog post today. You know the "one laptop per child" program? Well, he thinks it's great that the IT industry is doing this and that other industries should have similar programs, such as "one handgun per child." My favorite, though, was the program for government:

Governments could offer "One soul-destroying job in a miasma of bureaucratic inconsequentiality Per Child"

If you're a regular reader of this blog, or a member of my family, then you probably know that my last job was as a Systems Analyst in the IT department of a local government, so that quote really spoke to me. I know you hear people say things like that about public sector jobs all the time, but based on 6 years of experience, I can say that it's all true. There's a general atmosphere of hopelessness, where most things don't make any sense, lots of them don't really work, and everything is more complicated than it needs to be, yet nobody seems to think this is a problem. The only way to keep your sanity in such an environment is to simply stop caring. After all, nobody else has.

Of course, the private sector is no panacea. But at least there's always the possibility that you can improve your organization or you lot within it. Or at least change something.

The one thing I will say for government work is that if gives you a different angle on conspiracy theories. After a job in public service, it's impossible to waste even a second seriously considering any of those grand, sweeping government conspiracy theories you see floating around the internet. I mean, most government offices can just barely manage the job they're supposed to be doing. How are they going to manage some sort of vast cover-up? That would require motivation and initiative, and those aren't allowed in public service.

The new job and new facts

I started my new job yesterday. After a whopping 4 days of work, I'm actually feeling pretty good about it. I've been leaving the office feeling energized and enthused about my work - or at least not run-down (though the 1.5 hour commute fixes that). This is quite a change from my last job.

On Tuesday I started work on my first project. Of course, I really only got in a couple of hours of real work. Most of the day I spent with another programmer going over the database schema, application architecture, and all that good stuff. You know, the things you need to know to be able to sensibly make an addition to a substantial piece of software. I managed to get a bunch of work done Wednesday and today, though. It's really not that big of a project, it's just that I'm not used to the codebase and it's a somewhat large and complicated.

So far, this job is a lot more fast-paced than my last one. In fact, I've already learned a few things.

  1. In PHP library files, you don't need to close the <?php ?> tag. You can just have the opening <?php and not have to worry about stray space at the end of the file. For some reason, I just never knew that.
  2. Writing PHP will error reporting turned off really sucks. Well, technically it's not completely off. The errors are logged - to a 200MB file on another server. Which still sucks.
  3. MySQL throws really weird errors when you try to declare a foreign key and give it the wrong size integer for the key column.
  4. I had never used ti before, but the jQuery JavaScript library is very cool. For example, it allows you to select DOM nodes with XPath expressions. How cool is that? Though on the down side, the syntax is a little...weird.

I'm sure the learning is just beginning. Methinks this job will make for much better technical blog-fodder than the last one.

The end of an era

It's official: as of about 5 and a half hours ago, I am no longer a public servant. My job search is over and I've had my last day at my unnamed local government employer.

I'll be starting my new job on Monday. I was hoping to have a week or two off between jobs, but their (semi-official?) lead developer is leaving at the end of the month and they wanted me to have some time to work with him and get the hang of things before that. On the up side, this also means I have less time to worry and stew, so it's probably not such a bad thing.

The new job is as a web developer for a fairly large and well-known video site, which will remain nameless. I'll be working on a team with 3 other developers doing all the front and back-end coding and design for the site. I figure that that, combined with the large volume of hits the site gets, should be a pretty good learning experience. Certainly much better than my civil service job, where everything was a one-man project with maybe a handful of users if you're lucky. Plus the new job is a LAMP shop, so I'll actually get to do UNIXy stuff at work for a change, which is kind of neat.

I should probably note that, since my professional experience is 100% Windows-based, I got this job based largely on my open-source hobby projects. That and the rest of my resume, a code sample, a good score on their truly evil knowledge-based written test, and a very long interview. But the point is, let it not be said that working on free software isn't useful! I have now proven to my wife and mother-in-law that all that time I spent coding for fun was not wasted! Victory!!!

On the down side, the new job is about 95 miles from my house. That's an hour and a half drive one way. It's also about $18 a day in gas at current prices. And we can't move right away. And I'm not getting a raise (at least not to start), so after fuel costs, I'm actually taking a net pay cut.

So all is not sweetness and light with the new job. But if nothing else, at least this is a step forward career-wise. It will be a good opportunity to grow as a software developer and to get some higher-end experience. It's also kind of a scary change, after being in the same place for the last 6 years. But it'll be good for me. I need to move on to bigger and better things, and this is a good first step in that direction.

Back home

I'm finally back home, sitting on my back porch with the laptop, sipping a diet W-up (the Wegman's-brand version of 7-up).

My class in Hartford finished up early on Wednesday afternoon, so Sarah and I spent the rest of the day walking through the rose garden in Elizaeth Park. On Thursday morning, we took the hour drive down to Mystic.We spent the morning and early afternoon at the aquarium and then browsed around the shops at the Old Mystic Village. My two big purchases were my first ever chocolate-covered frozen banana (yum!) and a decorative bokuto.

After a very nice dinner at the Steak Loft, we spent the night at the local Comfort Inn. I found it somewhat annoying that the $100 per night room at the Comfort Inn was actually much nicer than the $150 per night room at the Hartford Crowne Plaza. The Comfort Inn had more storage space, better TV channels, complimentary breakfast, and didn't charge for internet. The worst part is that I didn't find this all that surprising. For some reason, the fancy, expensive hotels always nickle and dime you to death. Apparently they can't scrape by on the higher room charges and over-priced room service.

On Thursday, we wandered around downtown Mystic and then went to the Mystic Seaport. The seaport is actually one big museum. It's a recreation of a 19th-century costal town and has a rather an active program to preserve period ships. It was actually very interesting.

After that, we headed back to New York. We stopped at my parents' house for the night, since it's on the way, and came home this morning. Of course, we had to make a stop to pick up the latest Harry potter book. By now, Sarah's probably about half-way through it. The speed at which she goes through novels is just disgusting.

The goal approacheth: 183.0

My weight-loss goal creeps ever closer, even with the loosened summer diet. This morning I weighed in at 183.0. That means only 3 more pounds to go.

It also means it's time for me to go shopping. My pants size is now a 34 waist, down from a 38. That means that nothing I have fits anymore. And they don't just not fit, they kind of look funny. My dress slacks in particular look like "clown pants" according to my wife. (Which is too bad, because I got some of new dress clothes just last fall.) I actually had to go out and buy new clothes so that I could go to my cousin's wedding a few weeks ago. Unfortunately I didn't think of that until the same morning. But that at least meant I got the early-morning sale at J. C. Penny.

I'm also going to have to have my wedding ring resized. I've lost enough weight that it literally slides off my left ring finger. I was wearing it on my right hand for a while, but now my right ring finger is getting too small too. So now I'm starting to put it on the middle finger of my left hand.

The weird thing is that I"ve lost 50 pounds and I still have a lot more fat on my body than I thought I would. I guess that's not surprising, since I'm still overweight according to the BMI charts, but it still feels strange. I mean, those weights always seemed kind of low. After all, many people who are technically "overweight" don't look like they need to lose any weight. But I guess the BMI charts are just biased toward being very lean. It's all a matter of where you draw the line on what's acceptable.

Down to the last 5: 184.6

After succesfully forgetting to weigh myself in the morning for several days, I finally managed to get a couple of readings in a row last week. For a while, I had been hovering around 187, but last Friday, I got a consistent reading of 184.6. That puts me at a total loss of 49 pounds and within 5 pounds of my goal of 180.

I've actually been loosening up on the diet lately. Partly it's because it's summer time, which means it's time for ice cream and cooking burgers on the grill. I've been careful not to over-do it, though - only 1 ice cream cone a week and mostly chicken and turkey on the grill.)

The bigger problem is that we've been very busy lately. I think we've been out of town four or five weekends in the last two months, which generally means we eat out. (Plus my cousin's wedding - he got married across town, but we still ate out for that.) Most of the other weekends we've spent most of the day working on the house or in the garden, and after that we often just don't feel like cooking. But so far, it doesn't seem to be a problem. Even when we eat out, I'm trying to choose the healthier foods and stick to sensible portions. (Translation: no, you don't have to eat that whole plate of fries!) At the very least, I'm not seeing any negative effects yet.

I think learning proper portion control has been a big help to me so far. I've learned to try to eat slowly and not force myself to finish an overly large serving. Most of us are used to the gigantic portions they give you at chain restaurants like Applebee's or Chili's, but the truth is that they normally give you enough food to feed two people. It was a big step for me just to realize how much food it takes to fill me up and stop there. Since it typically takes longer for my body to send the "full" message than it does for me to overeat, I've found that eating slowly helps to narrow the gap and keep me to a sane amount.

Desk upgrade

The second half of my latest upgrade arrived from NewEgg today. I ordered two more gigabytes of RAM - one for my desktop, one for my laptop.

As a brief aside, the laptop upgrade was much smoother than I expected. I'd never tried upgrading a laptop, so I wasn't sure how hard it would be. Turns out adding more RAM to my Inspiron B120 was actually pretty easy. I just followed the Dell service manual. The process was pretty much "open up the correct panel, then slide in RAM module."

The desktop upgrade arrived just in time, since I was about to disassemble and move the system anyway. That's because I just finished "upgrading" my computer desk.
My new computer desk
We've consolidated office space, so Sarah and I are now sharing one large desk. Of course, I still have to finish putting the doors and drawers back in and get some keyboard trays, but it's basically done. I built it out of kitchen cabinets and laminate counter. It's a little higher than a normal desk, but it should serve us well. It will also be a lot sturdier than the pre-fab fiber-board desks its replacing.

Advance your career by losing hope

This week I finally decided to take the plunge: I started working on my résumé. That's right! After six years I have finally decided that it's time to get my career moving and so I have officially entered the job market.

Ah, job hunting! It's quite the experience, isn't it? I'd almost forgotten what it was like. There really is nothing like a good job search to make you feel like a useless, incompetent sack of crap!

I don't know about other industries, but this is definitely the case in the IT world. If you've ever looked for a job in software development, you know what I'm talking about. For every reasonable job listing you see, there are twelve that absolutely require a 10 years using laundry-list of excruciatingly specific technologies, strong interpersonal skills, a Mensa membership, and a strong track record of miraculous healing. And that's for an entry-level position. With a typical career path, if you start early, you should be ready for their grunt-work jobs by about the time your kids are graduating from college and moving back in with you.

The listings that have really been killing me, though, are the absurdly specialized ones. Not the ones that require 5 years experience with ASP.NET, C#, Java, Oracle, SQL Server, SAP, Netware, Active Directory, LDAP, UNIX, SONY, Twix, and iPod - they're just asking for the kitchen sink and hoping they get lucky. I'm talking about listings like the one I saw that required advanced training in computer science, a doctorate in medical imaging, and 10 years of experience developing imaging software. Or, perhaps, all those listings for a particular defense contractor that required experience with technologies I had never even heard of. I mean, I couldn't even begin to guess what these abbreviations were supposed to stand for, and I'm pretty up on my technology! When you come across a lot of listings like that at once, it can be a little depressing. "How am I ever going to find a job? I don't even know about grombulating with FR/ZQ5 and Fizzizle Crapulence GammaVY5477 or how to do basic testing of quantum microcircuits using radiation harmonics with frequency-oscillating nano-tubes on a neural net. Every idiot understands that!"

But the real killer for me is location. I'm in the southern tier of New York state, which is not exactly a hotbed of tech startups. I like the area and don't really want to move, but there's practically nothing here in terms of software development. The best possibility I found was a local consulting company 10 minutes form home. However, when I sent them a résumé, I got a message back saying that they were currently unable to add new positions due to the fact that they were going out of business. I've applied for a couple of other semi-local positions, but of all the possibilities I've found, the closest is about 50 miles from my house. Workable, but not a situation I'm crazy about.

I'm now starting to think seriously about relocating. I don't really want to move to the west coast, both because of the cost of living and on general principle, so I'm thinking of looking either downstate (i.e. New York City) or south to the Washington, D.C. or Atlanta metropolitan areas. All three of those seem to have a fair number of positions in software development.

However, I'm faced with something of a moral dilemma. You see, having been born and raised in upstate New York, it is my patriotic duty to hate New York City. But as a New Yorker, it is also my patriotic duty to look down on the South and New Jersey. That leaves me wondering whether I'm forced in to choosing Washington, or whether it counts as "the South" too and I'm just out of luck.

In the end, I guess I'm just not that patriotic. All three of those cities sound good to me. But New Jersey is another story.

On motivation and brain rust

Things at work have been slow lately. Really slow. The fact is we're severely over-staffed and there just isn't enough work to go around right now. This has left me with an amount of down-time that I find...uncomfortable.

You'd think this might be a good position to be in. After all, it leaves me plenty of time to read up on development practices, the latest technologies, and keep up on my tech blogs. I have spare time to experiment with Ruby on Rails and play with Mono. I can browse through Code Complete or Refactoring at my leisure. What more could a programmer want?

As I've been discovering, this isn't quite as nice in practice as it seemed at first. For starters, there are still the miscellaneous menial tasks that need to be done - software installations, security and configuration changes, and just general support calls. These are excellent for knocking you out of the zone. Furthermore, the constant threat of them makes it a bit harder to concentrate in the first place.

Second, while reading and experimenting to build your skill-set is great, you need the right environment to make it truly profitable. You need some degree of freedom and some goal to work towards. Or at least I do. I find I learn the most when I have something I'm trying to accomplish. I also need periodic breaks to process and assimilate what I'm studying. It just doesn't seem to work as well when my "goal" is to stave off boredom and my breaks are scheduled.

Last, I've found that it's becoming a challenge just to stay sharp at times like this. You see, I need some sense of purpose to stay sharp. I feel like I'm chained in a room for 8 hours a day being forced to do nothing but pour water back and forth from one bucket into another. It feels like my brain is starting to rust.

This is exactly the opposite of how to motivate programmers. We need crave interesting progblems to solve. Or, at the very least, some problems to solve. Playing the point-and-click Windows monkey won't do it and I can only stand to read so many hours a day.

The problem is, the more I try to spend my time improving my knowledge and skills, the more unbearable I find my condition. I feel like I should be "out there" putting what I learn to use, but instead I have to sit at my desk for...no particular purpose. And what's worse, it's sapping my mental and emotional energy. After being stuck in the office all day, trying to keep from going stir-crazy, I feel like I've got nothing left when I get home. It's turning into a vicious cycle.

Have other people been in a situation like this? How do you deal with it? I mean, short of quitting (which I'd do if not for that damn mortgage). Are their any coping strategies to hold me over until I can get out?

Bear fight and gator feeding

Digital cameras are a great thing. They're easy to use, have a high picture capacity, and you don't have to pay for film. Plus, when you take a weird or interesting picture, it's easy to put it on your blog.

While at the Buffalo Zoo the weekend before last, I managed to capture two things I had never seen before. Here they are for the curious.

The first is a bear fight. On the way out, we witnessed the Grizzly bear and the Kodiak bear play-fighting. They would tackle each other, bite and paw, and chase one another around the habitat. They didn't appear to be hurting each other, just playing like dogs or house cats might. I never knew bears did that, though I guess I shouldn't be surprised. Still, it was quite the sight.
Bear pawing at another.
Bear tackles another bear and bites at it.

This second picture is of the alligator feeding. We happened upon the alligator habitat just as the zookeepers were going in to feed it. It seems like the kind of job that should include hazard pay, because they kept having to push the gator's nose back with a stick to discourage it from coming too close.

As for the meal itself, it was somewhat unpleasant: dead rats. I don't know what I was expecting, but it wasn't that. Though I guess I shouldn't be surprised. I don't imagine an alligator would do too well on a diet of rice and tofu.
Alligator being fed dead rats.

Last week's weigh-in: 192.6

I'm calling last week's weight 192.6. That puts me down another pound from last week for a grand total of 40.6 pounds to date. Only 12.6 more to hit my goal. Although I may change that goal and just go for "technically no longer overweight."

It's strange how your weight can fluctuate from day to do. When I weighed myself on Thursday morning, the scale read 194.6, which was up a pound from the previous week. When I tried again Thursday night, it was down to 191.0. On Friday, I got 192.0 and later 192.6.

I guess I shouldn't be surprised. You can easily gain or lose a pound or two due to (de)hydration, not having gone to the bathroom, having a full stomach, and so forth. I suppose the lesson is simply to average out the readings and not put too much stock in any particular number.

On the blogging surge

As you may have noticed, I've severely stepped up my blog posting rate lately. I'm trying get into the habit of posting on a consistent schedule. I'm doing this in an effort to improve my communication skills and prevent brain atrophy.

Writing is an important skill to have, especially for a programmer. There are two reasons for this. First, it makes you look good by comparison, as many programmers are half-literate code junkies who can just barely put a coherent sentence toegether. Second, and more importantly, a lot of the communciation we engage in is over the internet, i.e. written. We thrive on mailing lists, comment boards, e-mail, IRC, and the like. This is especially true in the FOSS world, where you may easily find yourself working closely with someone you will never see face to face.

Given that, it is clearly important that we be able to express our thoughts clearly, succinctly, and without putting the reader to sleep. You develop that ability the same way you learn anything else: practice. And for me, the most convenient way to practice is to blog.

In addition to becoming a better writer, I'm hoping that using a blog as my practice medium will also make me a faster writer. You see, I'm a painfully slow writer. I'm not at all good at coming up with witty, insightful commentary off the top of my head. Instead, I overthink what I'm trying to say, rewrite the same paragraph a dozen times, and eventually spend so much time on a relatively small amount of text that I feel like I've wasted a lot of time and have to rush to get it done. By setting myself a regular schedule of 1 post per business day, I'm hoping that my brain will adapt and get a little quicker on the draw.

And last but not least, it's just nice to have place to hash out whatever I might be thinking along a computing vein. Writing your thoughts down forces you to process them a bit more, to shape them into a point that you can articulate. When it comes to technical topics, particularly related to software development, I don't have a lot of people around to discuss things with, so writing is the most readily available outlet.

I guess we'll see how that all turns out. With any luck, you'll notice this blog getting progressively better in the months to come. If not, then maybe I'll just have to accept that I'm not as smart as I always thought I was. But let's hope it doesn't come to that!

Weighing in at 193.6

This weeks official weigh-in result is 193.6 pounds. That's down 1.2 pounds from last week and 39.6 total.

Now that the weather is turning nice, the carb counting is really starting to suck. We've got to watch the pasta salad, buns for burgers and hot dogs, and worst of all, no ice cream. It just doesn't seem the same without the traditional summer food. At least we can cheat a couple of days a month without breaking the diet.

Averaging out to 194.8

We'll call this week's weigh-in result 194.8. The scale said 195.8 on Thursday, but 193.8 on Friday, so I'm going to just split the difference this week. That puts me down two more pounds from last week for a grand total of 38.4 pounds to date.

While it's great to be making progress this fast, I'm currently in kind of an uncomfortable spot. See, none of my clothes fit right anymore. I'm basically walking around looking funny all the time. But since I've got another 15 pounds to go, there's no point in buying new clothes, because I'd just have to replace them again in a few months.

Not that I'm complaining. If that's the biggest problem I'm having, then I guess all is going well. Though I do really miss Chinese food....

Down to 196.8

Well, this at week's weigh-in I was down to 196.8. That's down 2.4 pounds from last week and puts me down a grand total of 36.4 pounds.

Now at 199.2

This week I finally got below 200 pounds: 199.2 to be precise. That's the first time I've seen that since my first year of college. And just in time to blow it all on Easter dinner too....

201.2...or 202.6

I weighed myself twice this week - yesterday and today. The Thursday number was 202.6, down 0.6 pounds from last week. I wasn't sure I trusted that number, though, because I weighed myself later in the day than usual and had been swilling ungodly amounts of water all morning. The Friday measurement of 201.2, down 2.0 pounds from last week, seems a little more in line with what I expected.

I was actually expecting to be down more than average this week because I spent most of it on a time-honored weight-loss system known as "the flu." I actually registered fevers of over 101 degrees on both Sunday and Thursday, with a brief reprive on Tuesday. It's the sickest I've been in a long time. This was probably canceled out by the fact that I didn't really feel up to doing any real exercise most of the week.

On the up side, I discovered that a cup of low-sodium Progresso chicken noodle soup only has 12g of carbohydrates and 1g of fiber. My other two primary foods, diet ginger ale and Advil, were zero in both.

It's across the hall

There is one good thing about working from a cubicle: you get to overhear an interesting converstation every now and then. The following is from the tail end of a conversation I overheard this afternoon. It was between one of our a help desk techs and our telecom person about a user trying to send a fax from one office to another. Note that I was not involved in this conversation. I thought about sticking my nose in, but I had nothing useful to add and figured it would be unprofessional to ask about it just so I could mock the user.

Telecom: "I don't know why she'd dial that. It doesn't make sense."
Help desk: "But if it's a direct inward dialing, it shouldn't matter. She should be able to just dial the extension."
Telecom: "Yeah, but that extension was a phone."
Help desk: "But still, if the fax machine is on a DID line and she dialed its extension, it should have worked."
Telecom: "Well, yeah. But what really didn't make sense to me is why she would send a fax instead of just walking over and handing her the paper."
Help desk: "Yeah, I know. It's across the hall."

So there you have it. A user tried to fax a document to someone just across the hall, but screwed it up and ended up wasting her time and the help desks' time. What is the world coming to? The building isn't even that big, for God's sake! Even if the user was crippled, it still would have ended up taking less time to walk the paper across the hall.

Oddly enough, this reminds me of a Slashdot story I read some years ago about an interview with a well-known UNIX elder. I want to say it was Ken Thompson or Dennis Ritchie, but I really don't remember. Anyway, the interviewee said his current work involved moving multi-terabyte of GIS databases across continents. When asked what technology they used to do this, his answer was "FedEx." They just put the data on a server set up with some flavor of Linux with pre-configured NFS and Samba, so the customer can just plug the box into a network port and turn it on. His argument was that, when trying to move that amount of data, FedEx overnight shipping was actually faster and more reliable than a network transfer.

This incident is sort of the opposite of that: using technology, despite all reason, to make a five-minute delivery into a big ordeal. There truly is no limit to what mankind can accomplish.

203.2

The scale varied a bit again this morning, but it looks like the most reliable reading is 203.2. That's another three pounds from last week. That's considerably less that the 4.8 pounds from the previous week, which I found a little alarming. Hopfully, I'm moving back toward a more constant rate.

Side effects of diet

While the diet is progressing nicely, there is one side-effect that I hadn't expected: I've completely lost my tolerance for alcohol. I had one glass of wine tonight and I'm light-headed. What the heck is that!?! It used to take at about three before I started to feel it. I guess that's not a bad thing...just weird.

Down to 206.2

It's Thursday again - that means weigh-in day. It looks like I'm down 4.8 pounds from last week. That makes a total of 27.4 pounds in the last 8 weeks.

This diet is progressing much faster than I expected. In fact, I'm afraid it might be going a little too fast. My rate of weight loss has been increasing in the last three weeks. In fact, of those 27.4 pound, 12.4 has been in the last three weeks. I'm supposed to be averaging about 2 pounds per week on the second phase of the diet, so I've been losing twice what I was expecting. I'm not sure why, though. My eating habits haven't changed appreciably in the last three weeks. Maybe my metabolism is up?

Really? 211.0?

I've been losing more weight than I expected the last two week. This morning, the highest number I got on the scale was 211.0, which puts me down a total of 22.6 pounds. That's after seven weeks on the diet. That seems like an awful lot.

Come to think of it, that's four pounds since last week, assuming the number I picked for last week was accurate. And last week I was down 3.6 pounds from the week before. That seems like an awful lot. In fact, it seems like too much. I haven't changed my diet from the previous weeks, so I don't know why my weight loss would be accelerating.

Speaking of my eating habits, I figured this week would be a good time to talk about them. Diet or not, I tend to eat pretty much the same thing every day on week-days. This is mostly because I bring my breakfast and lunch to work with me every day. This is because 1) it's cheaper than eating out and 2) there aren't any good restaurants in the town where I work.

The recommended breakfast on the F-Factor diet is a high-fiber cereal and yogurt. I eat a half-cup or Fiber One and a container of Dannon Crave Control yogurt. It's actually surprisingly filling for a relatively small volume of food. I also have my coffee, but since the diet recommends limiting yourself to a single caffeinated beverage a day, I've had to switch to decaf. Well, less-than-half-caff, actually. This was actually quite the change, as I'm a pretty heavy coffee drinker. In fact, I'm actually drinking more of it now, since having too much decaf doesn't make me jittery.

For lunch, I've been having a turkey sandwich on two slices of that Weight-Watchers bread I mentioned last time, accompanied by a serving of carrot sticks and a piece of string cheese.

My afternoon snack is pretty much a repeat of lunch, with some deli-sliced ham and Laughing Cow brand spreadable cheese on some bran crispbread and another string cheese. Depending on when dinner is, I may supplement this with some veggies or another couple of crackers after I get home.

Dinner is the only part that I usually vary. We normally have a large spinach salad to start and finish with our serving of fresh fruit. I like raspberries for this - with a bit of the diet Cool-Whip added, they really feels like dessert. For the main course, it's some kind of meat and a side of rice, veggies, or whatever we have room for on our carb allowance.

And the scale says...215.0

The diet is progressing well, although I'm still having trouble with the scale. As I mentioned last week, I seem to be getting incosistent weights depending on where I put the scale and how I stand on it. Today, the highest weight I could get to come up was 215.0. I'm going by that one because the other options were 211 and 210, which can't possibly be right.

One nifty note: it seems the support aspect of fatblogging is working for me. Yesterday I found this comment on my last entry, from none other than Tanya Zuckerbrot, author of The F-Factor Diet, the book I'm following. Now that's service, huh? Thanks for the support Tanya!

So today I thought I'd talk a little about what I'm actually eating on this diet. The nice thing about it is that, if you're careful about what you choos, you can eat pretty much any kind of food. Some of it doesn't even feel like diet food.

The trick, of course, is to read labels. For example, I've been having turkey sandwiches for lunch. Normally, the two slices of bread would use up two of the three extra servings of carbs I'm allowed on phase 2. However, I've been getting the Weight Watchers whole-wheat bread, which has 17g of carbs and 4g of fiber in 2 slices.

Another good example is dessert. I've occasionally been using a serving of carbs to have some chocolate for dessert. Of course, things like Hershey bars and those oh-so-tasty Cadbury cream eggs are out of the question. However, a few dark chocolate products that are actually pretty good on the carb count. My favorite is probably the Guylian assorted chocolates. A 6 square serving only has 12g of carbs, 4g of fiber, and 160 calories. Another good one is the endangered species bars, several of which have 15g of carbs and 5g of fiber in a half-bar serving. They're not quite as good on fat or calories, but they're awfuly tasty.

Another week, another couple pounds: 218.6

Weigh-in day again. I'm down two more pounds from last week (that's 15 total) to 218.6 today. Or 214.0, depending on whether I put the scale in the bathroon or the hall. What a pain. At least I know which number is more likely to be right.

Last time, I said I'd talk a little about the diet I'm on, the F-Factor diet. It's a high-fiber, carb-counting diet. The idea is that you limit your carbohydrate intake, because carbs are really easy to overeat, and increase your fiber intake. The extra fiber, combined with protein, keeps you feeling full longer, and limiting your carbs helps keep your calorie count down.

The actual implementation isn't that difficult. Basically, you write down everything you eat and keep track of the carbs and fiber in it. You don't have to count fats or proteins (the carbs in non-starchy vegetables don't count either), but you're supposed to stick mostly to lean protein and go easy on the fats. You're allowed a certain number of 15 gram servings of carbs, depending on what phase of the diet you're on, but you have to fit 30 to 35 grams of fiber into those.

So far, it's working quite well. The only time I've been hungry on this diet is when I miss a meal. And judging from the numbers, it's obviously working. In fact, this week I had to move to the fifth hole in my belt. I've been going back and forth between the the third and fourth holes for years, but I've never been able to get to the fifth.

Diet progress: 220.6

Apparently there's a new meme sweeping the blogosphere. Or, at least, Jason Calacanis's blog. Jason calls it fatblogging, and the idea is for sedentary, overweight techno-geeks to support eachother in their attempts to lose weight.

It's actually not a bad idea. Having a record of your progress is always a good way to provide motivation. And what with all this wonderful technology, why not use it to build support systems? So, seeing how I've been on a diet for the last month, I think I'll get in on this too. I was planning to blog about it anyway, so why not? (However, I'm not going to follow Jason's format exactly and blog about it every day. I'm only weighing myself once a week, and even if I wasn't, I just can't be bothered to write about my daily routine. "I lost another 4 ounces doing exactly what I did yesterday!" Not exactly compelling reading.)

When I started my diet on January 18, I weighed in at around 233.6 pounds. At my weekly weigh-in yesterday, I was down to 220.6, for a total of 13 lbs. in 4 weeks. My goal weight, which the BMI charts still say is overweight for my height, is 180 lbs. For reference, that's actually ten pounds less than I weighed when I started college.

My weight-loss method so far has adding an actual organized diet to my usual light exercise regimen of doing 20 or 30 minutes on the elliptical machine every morning before work. I picked up a copy of "The F-Factor Diet" by Tanya Zuckerbrot in Bares & Noble and have been following that. It's a carb-counting, high-fiber diet and it's actually not that difficult to follow. But that's a post for another day....

MP3's? Hell yes!

I has a surprisingly good experience buying a CD this evening. The album was Superhero, by Stephen Lynch. I saw him on Comedy Central again today, and this time I just had to buy the album. I highly recommend him to anyone with a slightly warped sense of humor.

Anyway, when I clicked the "buy" link for this album on Stephen's website, it took me to a site called What Are Records. The surprise? They had two purchase options for this album: buy the CD for $14.99 or download a zip file of the MP3's for $10.99. Needless to say, I decided to take that option.

To top it off, the MP3's were actually good quality. The ID3 tags were filled in, they were encoded at 192kbps, and even came with MacOSX metadata files (not that that does me any good, but it's a nice touch). No DRM worries, no special software; just a download link to a vanilla zip archive full of standard MP3 files.

This is how buying digital music should be. You give them your credit card number, they give you some media files you can play on your computer, put on your MP3 player, or burn to a CD for the car. No special software, obscure formats, no encryption. Just the files I want with no hoops to jump through. What Are Records: you rock!

Too bad Apple can't learn from these guys. They're the people who are supposed to make everything "just work" and produce such a great user experice with everything, but it's really all just a lie. In their eyes, it's either their way or the highway. If you have a Mac and an iPod, you'll get a great media experience. However, if you don't go Apple all the way, then you can pretty much drop dead for all they care.

Not that I really have anything against Apple. To me, they're no different than Microsoft: just another company doing what's best for their bottom line. There's nothing wrong with that. It just annoys me that Apple gets credit for being the "good guys" of the proprietary software world when, in fact, they're just as evil as everyone else. They just have better "image" people.

New URL

Just a quick site change notice. The URL of this blog has changed to http://linlog.skepticats.com/. This is thanks to the new web host that supports subdomains and my adding subdomain support to LnBlog.

Thanks to the magic of Apache's mod_write, the old URLs should all still work. Just FYI.

New phones and fun

Wednesday was fun. First, it was Sarah's birthday. Second, and on a more technical note, it was time to renew my Verizon Wireless contract, which means new phones.

I went to pick up the new phones and sign the new contract right after work, while I was waiting for Sarah to get home. This time, instead of going to the actual Verizon store, I went to the local Wireless World on Market St., which is an authorized Verizon dealer. I found this to have a number of benefits;

  1. It's closer - Wireless World is across town, whereas the Verizon store is a 10 mile drive.
  2. The Wireless World wasn't too busy, whereas the Verizon store is always mobbed.
  3. Wireless World has a deal with my employer, so I got a 20% discount on accessories.
  4. The guy I worked with actually knew what he was doing, as opposed to the Verizon sales people who are usually clueless.


Suffice it to say that in the future, I'll be going to Wireless World for my Verizon dealings.

I had actually been hoping to renew my contract a little early, in order to avoid the inevitable Christmas shopping season rush at the Verizon store, but it turns out that wasn't allowed. It worked out quite well, though, because I ended up getting a better deal than I was planning to. Instead of the RAZR or SCH-a930 like I was planning on, I ended up getting a pair of LG VX8300s. It turns out that they had comparable features and verizon was doing a "buy one, get one free" deal on them. (Note: that was actually "free after rebate," but it's still a better deal.)

I didn't get to play with the new phones until later that night. After getting home, it was time to do some tiling in the kitchen. After that, it was back to Market St. for a lovely dinner with Sarah at the London Underground. A bit expensive, but very good.

When I got a chance to do a little research, I was peasantly surprised to find I got even more features than I bargained for. The main features I wanted were a (relatively) high-resolution digital camera, Bluetooth support, full-duplex speaker phone, and a microSD card slot. The VX8300 has all these. However, after a little research, I discovered that the VX8300 also has real MP3 support. It's not even hard to enable - it's an option in the service menu. Contrast this to the RAZR V3m, which requires using unsupported firmware.

of course, I won't really know how well it works until later this week, when my new data cable comes in. Then we'll see what this model can really do.

And for reference

And now, because I thought it would be nice to have a point of reference for yesterday's low-quality picture (and because I like animal photos), here's a shot from the same zoo, taken at comparable distance with a real digital camera.
Two Siberian tigers

This one was taken with my Canon Power Shot A70. It's not the greatest camera in the world, but it's good enough for me. (I wouldn't know how to use a really good one anyway.) It's 3.2 mega-pixels with an actual optical zoom. By contrast, the digital camera only has software zoom, and only at the lower quality settings.

What I'd really like is to have a digital camera with a telephoto lens and enough speed to capture action shots. However, I don't want to pay that much for a camera (upwards of $500 according to my brother, who is a professional artist), particularly given that I know nothing about photography. And, really, unless you're sickeningly rich and have money to burn, it's silly to spend that much on a camera.

And as long as I'm at it, here's another of my favorite zoo shots:
Giant Flemish rabbit
This is the giant Flemish rabbit we saw in the Toronto zoo. It was keeping the wallaby company. (Seriously, that's what the sign said.) It's hard to tell in the picture, but this rabbit is the size of a small dog, i.e. upwards of 20 pounds. Apparently you can breed them and keep them as pets. Just imagine having the Easter bunny hopping around your living room. How cool would that be?

Travel log

Happy (slightly belated) birthday to me! I officially turned 0x1d years old yesterday. If you don't understand what that means, then go look up hexadecimal. It builds character, as my Sarah always says.

I've been trying to keep up with the blogging more lately, but I've been on vacation most of the past week, so I just didn't feel like it. Sarah and I left for Washington, DC on Thursday, got back late Sunday, and took Monday to recuperate. I actually went to work Tuesday (because I was trying to conserve vacation days), had a wretched day, and took my birthday to recover.

We had a nice trip down to DC on Thursday. The six hour drive was made somewhat more enjoyable by my recent purchase of an MP3onchannel from New Egg. It's basically just a car radio adapter for MP3 players and other audio devices. You plug the headphone jack of your MP3/CD/whatever player into the device, set your car radio to a particular FM channel, and you can get the audio on you car stereo system. Much handier than trying to share headphones (which isn't really safe when you're driving anyway). In addition to an analog audio input jack, this particular device also has a USB port with an integrated MP3 player, so you can just stick a USB thumb drive loaded with music into it and hit the play button on the device. A nice, cheap way to increase your music capacity.

Even without music, the drive down US-15 through rural Pennsylvania was actually very pleasant. It was clear and sunny and the scenery was breathtaking in several places.

My only complaint was the disproportionate number of flee markets and porn shops along the road. And I mean really disproportionate. In one place, I actually saw two porn shops within a mile of each other. Over the whole length of the trip, we probably passed a dozen adult video and novelty stores on US-15, most of the really seedy looking. We even passed one called the "Adult Gift Shoppe." Both Sarah and I agreed that there should be a law against using the archaic spelling of "shop" for porn stores.

We arrived at the Omni Shoreham in Washington at around 7:00 PM on Thursday, despite the fact that it's a 6 hour drive and we left at 11:00 AM. I blame MapQuest. I don't know why I still use their site. The directions are only right about half the time.

Actually, that's not really fair. The directions are usually pretty good, and as far as highways and major thoroughfares go, they're almost always right. The problem is with the details. In this case, MapQuest got us into Chevy Chase, MD (if you haven't heard, the town really is named after the actor), but sent us the wrong direction. We eventually ended up in White Flint, where we stopped at the Borders Books in the mall and consulted a few maps to get our bearings. On the up side, getting to the hotel from the mall was easy, so we ended up coming back to the mall on Friday night to eat at the Cheesecake Factory. (Yes, the Cheesecake Factory sells actual dinners, not just cheesecake. Although I didn't know that until we got there.)

On Friday morning, we went to the national zoo for what was probably a once in a lifetime experience: we saw Tai-Shan, the baby giant panda. This was a special treat for me because:

  1. I love zoos. If I lived closer to a zoo, I would literally visit it every weekend.
  2. I love giant pandas, too.
  3. I've never seen a giant panda in person.
  4. Giant pandas are very rare and rarely breed in captivity, so you hardly ever see the babies outside of China.

Of course, the rest of the zoo was very enjoyable as well. They had some very interesting features, including a series of towers with cables strung between them which the orangutans used to get from one habitat to the other. They also had free-range tamarins. Apparently the just let them run around in the trees. We didn't actually see any of them, but the concept was pretty neat.

Saturday was museum day. We went to the natural history museum and the museum of American history. They were both quite interesting. The American history museum was featuring a small Jim Henson exhibit, so we got to see some of the original Muppets, including a couple of the ones from The Dark Crystal, which still weirds me out nearly as much as it did when I first saw it as a kid over 20 years ago.

They also had a neat Information Age exhibit, featuring a number of really, really old computers. I was taken in by one that had buttons for memory addresses and various other CPU instructions right on the operator's console. I find it amazing that we've come so far, and yet, in many ways, we're still in the dark ages of computing.

We wrapped up our trip on Sunday, because the hotel prices doubled on Sunday night. In the morning, we went to the Freer and Sackler galleries to see the Asian art exhibit. They had beautiful collections, including some very lovely Japanese prints.

In the afternoon, we finished our tour off with a visit to the International Spy Museum. That was really cool, and much larger than I had expected. They actually had displays of real spy equipment, such as cigarette-box cameras, cyanide capsules, and assassination weapons. On a computing-related note, they even had a one-time pad - the paper variety. Very cool, but decrypting a message using a paper key must have been kind of a pain.

My birthday relaxation yesterday consisted of a trip to Ithaca with my mother and brother. We had lunch at the Moosewood Restaurant and then went shopping on the Commons. I love browsing used book stores, and Ithaca has quite a few of them. I ended up getting the second volume of a treatise on Buddhist Logic, a retelling of the Ramayana, and a small volume of collected works by Erasmus.

The only thing I don't like about Ithaca is that it's a little too pretentious. I guess that's not unexpected, what with it being the home of Cornell University, but does all the graffiti really have to be leftist political slogans? Can't the kids at Cornell just write the name of their favorite bands on the bathroom walls like everywhere else? I have no problem with feminism or pacifism, but when I see slogans advocating them drawn into the concrete on the sidewalk, it just seems...a little off.