Archive: July, 2019

Being heard is a skill

posted by Jeff | Friday, July 26, 2019, 2:30 PM | comments: 0

I pride myself on being a thorough communicator. I think I write reasonably well, and I try to be clear and concise to convey the right information at the right time. As it turns out though, being heard is really a separate skill. Just because you're saying the right things to the right people at the right time doesn't mean that you're being heard.

This is an important distinction, and one I've learned about again this week. I've been expressing a series of concerns at work for some time, putting the words on "paper," but haven't followed up to make sure that the message was received. The concerns manifested themselves in a production problem, which got people's attention, but that's certainly not the kind of attention that anyone really wants. I take responsibility, because the larger category of work that I was advocating for should have already had buy-in and started, but I wasn't heard.

Being heard means that you can confirm that your message was received, it was considered, and it was acted upon (even if that means confirming that it was being dismissed). It's the follow-up. As my career has progressed, and I've had to operate in larger operating units, I've learned that this is an important skill. The more moving parts there are, the more important it is.


I built a comprooder

posted by Jeff | Saturday, July 20, 2019, 10:54 PM | comments: 0

About 14 years ago I bought my first Mac. Prior to that I had a continuously evolving desktop computer that I replaced or added components to. I bought a lot of video cards, and every other year or so I replaced the motherboard and CPU. Hard drives were almost a constant replacement, either because they were never big enough or they would sometimes fail (at one point I even did tape backups). But that first Mac I bought was the first one that used an Intel CPU. It was the first MacBook Pro, and you could do Bootcamp to dual-boot into Windows if you needed it (I did). A year after that I bought a Mac Pro, the classic "cheese grater" design. I replaced that in late 2009 with a 27" iMac, and replaced that one in 2015 with another iMac. I got a lot of mileage out of those computers.

Last year, I felt the squeeze on my laptop, a 2014 MacBook Pro (before they made the keyboard suck and added the useless touch bar). 8 gigs of memory wasn't enough when I needed to run Windows in a VM and Docker containers. I scored a really amazing HP laptop, and a year and change later I absolutely love it still. Windows is definitely not as refined as OS X, but only because they retained the classic administrative stuff in addition to the newer UI. But the hardware was so great. HP did a great job, and frankly there are great equivalents from Dell, Lenovo and others. I can roll with Windows as the primary OS.

For more than a year, Simon has been playing Planet Coaster on a Bootcamp partition on my iMac. It ran OK, but not great, especially for that high resolution monitor. Planet Zoo comes out later this year, and that looks amazing. But while I love my HP laptop, I really wanted a proper muscle computer for my office. Honestly the iMac is still pretty great. Apple's 5K screen alone is completely worth it. But as was the case for laptops, Apple has continued to stick to price points that don't match the value of the innards. For the longest time, if you really wanted the good stuff, even with a self-built machine, Apple was competitive. In the last two years or so, that stopped being the case.

So I figured, what the heck, I want a project to put a computer on my desk. 4K monitors finally became a real, bona fide thing outside of the Mac world, and Prime Day got me thinking about it even more when an LG monitor went from $480 to $300. Digging in deeper, I found a bunch of stuff was on sale, including a nice Corsair case and liquid cooling unit, a good video card. My budget was $2k (the last iMac I bought was $2,500), and at the end of the day landed at just $1,800 for some really great components. Here are the specs:

I also ended up with a big 1000W power supply from EVGA, after returning a 750W model that had cables that were too short. On the advice of a friend, I also bought a liquid cooler for the CPU because it's very quiet and would make it easier to overclock the CPU, if I so desired. Times sure have changed since the last time I looked at those. Back in the day, you had to add your own water, but these come as a sealed unit now!

So while I haven't built a computer in 14 years, some things are generally the same. Some things aren't, like the fact that there are no external facing drive bays. The top performing CPU's still cost in excess of a grand, but you can get crazy good stuff for less than $400. AMD recently introduced a line of great midlevel CPU's, and back in the day I had a few as well that were way cheaper than the Intel equivalent. In this case, the online consensus and data suggested that non-hyperthreading Intel CPU's benchmarked the best for gaming and for video editing (something I may potentially do more of), and even then, the cost difference was around $30. So I went Intel this time with a piece that seems to be a sweet spot on the performance/price curve. Plus, being unlocked, I can overclock the shit out of it if I want. Initial testing shows I can push it to 5GHz, well beyond the 3.6GHz it's rated for. Granted, I have to crank up the liquid cooler and fans to keep it from melting, but it's possible.

Despite inflation, the best non-top-of-the-line video cards seem to be in that $500 range. Apparently AMD forced that issue as well with a recently introduced line of GPU's, but that's been good for everyone. The 2070 cards offer a pretty crazy amount of pixel pushing without costing four figures, so I figured I'd get big-ish with one to make it last. The most I ever spent in the old days was probably $250, so this was a big deal to spend $430. I felt like this was OK given my ability to stay in budget overall, though I probably could have spent a hundred dollars less and still clocked some solid results. Regardless, on my first try running Planet Coaster, I was able to run it at 4K resolution, all effects on, and still maintain low 30's frame rates. If I overclocked the CPU, I could get low 40's. I know gaming nerds think you need 60fps, but for a sim like that, your eyes don't care as long as it's consistently higher than 30. Also, I can't believe how big video cards are now compared to 14 years ago.

Having SSD's in laptops (and my most recent iMac) now for about 8 years, I'd never go back to mechanical drives. These tiny M.2 slots offer crazy fast throughput, and a terabyte drive was under a $100. That's nuts. Choosing that was a no-brainer. This thing boots Windows in a few seconds. The motherboard makes it silly easy to overclock the CPU, and without pushing it too hard, I was able to do 5GHz, but settled on a more conservative 4.6GHz. It has 8 actual cores, and I'm amazed at the development workload I can give it. Should be interesting to see how I can load test my forum app, though realistically, I'd never allocate 8 cores or that much RAM to it in production.

The building went about as expected. As was the case back in the day, you don't want to spend too little on a case, because if you do, the inside will be made of razor blades. This Corsair case was one of the Prime Day deals or deal of the day or whatever. $100 for a case with tempered glass and LED lit fans seemed reasonable enough. It's fairly well designed, with good rubber gasket knockouts to hide most of your cabling on the back side. The power supply sits on rubber feet so as to isolate any vibration there. The top has a magnetic cover that you can pull off and clean. In my case, the radiator for the liquid cooler is up there, so with two fans I imagine it pulls in two fifths of the air. My only complaints are that the PSU cover is a little difficult to seat, and it would be nice to have a little more thickness on the back to route the power cables and other stuff. Getting those to sit flat was not something I entirely succeeded with, and there's a barely perceptible bulge at one corner.

The biggest fail was that the first power supply I bought couldn't adequately reach the motherboard and the video card when routing the power cables through the back of the case. Also, still surprised that video cards need their own power these days. The replacement I got (yay Prime Now!) does a full, over-provisioned 1,000W, and the cables detach at the PSU itself, meaning I don't have tons of unused cables sitting in there.

The thing I forgot is that these motherboards ship with old firmware, so in cases like this where the CPU is significantly newer than the motherboard, but uses the same socket, it'll be out of date. Windows kept blue-screening on install, when I remembered this old BIOS problem. I snatched the newer version to find the old one was more than a year old. After flashing it, the install went perfectly fine.

I haven't done any serious development with it, but can't wait to try it out. Simon keeps noticing all kinds of graphics effects that he couldn't see before on Planet Coaster. I'm looking forward to seeing how it looks when I run a full stack of products on my app (web app, SQL, Redis, ElasticSearch, Azure storage). It's fun to go back to these days of modular comprooders, knowing I can swap something out if I want. I don't know if I ever will, but it's nice to know I can. It was deeply satisfying to build.


Conservative: I do not think it means what you think it means

posted by Jeff | Saturday, July 20, 2019, 1:40 PM | comments: 0

I see the word "conservative" thrown around a lot in politics, and by people who self-identify as right-leaning. I'm pretty sure that they're just using it like one does in a sports rivalry, in part because anyone who disagrees with them is immediately labeled as a liberal. That's not entirely surprising, because the people they do agree with have done a good job of framing everything as an us versus them debate, so if you're not with me, you're against me. I'm disappointed that people are so willing to be manipulated like that, to feel safety in numbers for a position they can't even explain.

For real though, if we are to consider what "conservative" means in the context of modern American politics, the people identifying as such are completely wrong. Let's start with one of the fundamental tenants of conservatism: fiscal responsibility. While Reagan in many ways can be considered one of the key figures in modern conservative terms, he gave little more than lip service to fiscal responsibility. He started us down the road of increasing budget deficits, by cutting taxes and increasing spending. Ironically, relative centrist Bill Clinton was the only president in my lifetime to achieve a budget surplus. Reagan ran up consistently high deficits, both Bush's did better, Obama offset initially high deficits with lower ones, and Trump is back to high deficits. Our debt to GDP ratio is getting dangerously high, and you can thank the "conservative" president and Congress for that.

Conservatives also favor more civil liberties and less restrictions. That starts with getting out of bedrooms and healthcare, and we're seeing the opposite with the constant attacks on the LGBTQ+ community and women's health. Worse, the so-called conservatives root this toxicity in religion. If you're really conservative, you're not interested in getting involved in religion or forcing your religious views on others. Getting out of religion was a founding principle of this nation, and that sentiment is enshrined in the Constitution.

So whatever this current notion of "conservative" is, it's not. Sure, there are variations on the theme when you tack on a modifier, but they turn the core intentions into generally vile and inhuman emotions. Don't be that person.


2018-2019 Orlando Broadway Series review

posted by Jeff | Monday, July 15, 2019, 11:10 AM | comments: 0

To say that this was our best season yet at the still shiny Dr. Phillips Center for the Performing Arts is selling it short. This year was beyond great. We didn't get the add-on this year, which was Jersey Boys, and I'm OK with that. I saw Hamilton three times to make up for it. This is way overdue, so the shows aren't particularly fresh in my mind, but I'll do my best.

Hello Dolly

This is one of those classic musicals that I feel obligated to see, since my education needs some catching up. As revivals go, this one was selling Betty Buckley over the title. She's over 70, and won a Tony for Cats. Honestly, the most I knew about this show was the song they use in the movie Wall-E, but I knew the premise.

It was entertaining, for sure. Buckley was charming and frankly pretty good for her age. It turns out, she called out the rest of the run (Wednesday is our night) in Orlando, and word is that the understudy was pretty amazing. Still, I liked the show and it made for a fun date night.

White Christmas

This isn't technically an old show, it's just a 15-year-old show based on a really old movie. It's one of Diana's favorite movies, and I end up seeing it most years. I admit I'm not fond of old movies, but this one does convey a sense of innocence with its quaint misunderstandings and what not. The show is everything that you like about classic musicals, with lots of dancing and big numbers. It's the kind of old school spectacle that I associate with those Hollywood golden age musicals, but it's far more exhilarating when it's live on stage.

Hamilton

I called this one out and already wrote a review, because I saw it three times. First time I got what I think was the last seat, and it was opening night. Second time was our normal subscription time, then the third time was a matinee with Simon and Diana. The #PhilipTour was something special, for sure.

Fiddler On The Roof

This was the sleeper of the season. It seems there's always one non-Equity show every year that ends up being kind of "meh." This was that show. The lead playing Tevye was solid, and the two oldest daughters did OK, but that's where the skill ended in this show. The choreography was the same drill, over and over again, mostly people moving around in circles. Overall it was disappointing. Old shows don't need to be "fresh" per se, but I do expect them to be well crafted considering what ticket prices cost these days.

Broadway

OK, so this isn't technically a part of the season, but it's the second straight year that we did it, and it was awesome. As much as I know there are a million things to do in New York, it's impossible not to love going to the city and seeing as many shows as possible. I already did reviews for those shows: King Kong, The Prom, Waitress and Harry Potter and The Cursed Child. Yes, Waitress was a repeat for us (played Orlando last season), but I regretted not seeing it a second time. The big surprise was The Prom, which was so, so great, and I feel fortunate that we got to see the original cast.

Dear Evan Hanson

Hanson was one of the two shows I tried very hard not to learn too much about. I knew the basic premise, but I tried hard to avoid hearing the music. I just wanted to wait and see it for myself, knowing full well after the hype that it would certainly tour. I relented the day of the show, when I listened to the original cast recording.

Without giving too much away, a miserable bully kid commits suicide, and one of his regular victims is mistakenly thought to be one of his friends. He runs with it, persisting the lie, and inadvertently takes up the cause of making sure that lonely kids are heard, so they know that they matter. It's timely given the rise in teenage suicide. The story works pretty well to a point, but in the second act you have to wait a little long for Even to be found out. The pay off comes a little late, when there's still stories to tell about the wreck that frankly all of the characters embody.

But the music is pretty great. The swelling and amazing "You Will Be Found" is worth the price of admission alone, but others like "Requiem" and "So Big/So Small" are the kinds of songs that are emotionally exhausting in a good way, that force you to feel. It's a great body of work, even if the second act needs a little work.

Anastasia

Anastasia came out in a rough year to compete, with Hamilton and Waitress, two of my favorite shows ever. School of Rock was that year as well. Calling this an adaptation of the film, which is often incorrectly attributed to Disney, is a stretch, because it only uses a few songs, in a show that's otherwise too damn long. Seriously, it needs editing because it just drags on, even after the conflict has resolved itself.

Still, it's a solid show despite the length. The performances were all pretty good, especially the lead, with beautiful sets and one of the more clever uses of video walls and projection, with probably the best blending to practical scenery that I've seen. I liked the music, even though half of it was somewhat forgettable. Like I said, the show just needs some editing.

Come From Away

This is another show where I knew the premise, but I avoided learning anything more. It's about 9/11, and the 38 planes that were diverted to Gander, Newfoundland, Canada shortly after the terrorist attacks. There were 7,000 people added to a town of 9,000, so what happened next involved a lot of stories to tell. To that end, they tell a lot of stories based on the real people and events of that week. The story is told in one continuous stride, without intermission, about 100 minutes straight (bummer for concessions at the theater). The cast plays multiple people, usually a plane person and a local from Gander, and they change so quickly that they often have costume changes right on stage, adding or removing a jacket or hat. It all works surprisingly well, and with a set that's little more than chairs.

The rapid story development keeps things moving, certainly, but it also conveys a sense of urgency, which was undoubtedly felt on the ground that day. It's surprisingly funny for a show about 9/11, but it also has some deeply moving parts where the action seemingly takes the air out of the theater. There's a brilliant arrangement for a song called "Prayer" that uses what I find is often called "The Prayer of Saint Francis," but it's mixed with lyrics in Hebrew, Hindu and Arabic, to really drive home the point about the common points of religion. Then there are other songs involving fatigue, anxiety, fear and other dark feelings. It's emotionally exhausting, even to listen to the soundtrack, but at its heart, it's a show about how people can come together in the worst of situations. There are some real happy endings though, and the finale, as the band keeps playing when the lights come up, is amazing.

This is my second favorite show of the season, and if it's still running next time we visit New York, I'm pretty sure we're going to see it again.


The horrible archetype alpha software developer

posted by Jeff | Monday, July 15, 2019, 10:05 AM | comments: 0

There was this crazy Twitter thread where some dude extolled the virtues and value of the "10x developer." I thought he was just trolling, but then he doubled down about how serious he was. The larger community called him out pretty hard, but it's still surprising that anyone would think this way. A socially challenged guy (it's always a guy) who codes 12 hours or more a day, every day, praised for "getting shit done," doesn't communicate well, feels entitled because of the volume of work that he does... that's the alpha dev. You don't want him, I assure you.

I saw examples of this pretty early in my career, and I still see it constantly. It's not just young, smart, college drop outs, either. I've seen guys who have operated that way for 30 years and are still employed. The worse flavor of it, dude was two years from retirement. They're terrible to work with, they're the only ones who know about the innards of the software, they believe they're untouchable and they rarely help out the junior folks on the team. They're also pretty much at the center of the toxic bro culture that seems prevalent at a lot of companies, and especially in the valley.

That's not to say that senior developers, true battled-tested folks who have worked in large teams on large scale things, aren't extremely valuable. At a previous job, when I was still writing code, I worked for a company that hired those folks almost exclusively (until they couldn't find any more). That was a dream situation, unsustainable as it was in terms of hiring and cost. But even when the company started spreading out with a better mix of junior and mid-level developers, those good senior devs wrote maintainable, scalable code, and they were generous with their time with the rest of the team.

Is there a multiplier for their output? You might be able to argue that, but what they provide is different. They can lead by example, in code and in process. They know how to work with people from all parts of the business. They're thoughtful about the decisions they make and the long term impact they have. They understand the balance between urgency and importance, and can advocate for the resolution of non-obvious technical challenges. Best of all, if you set them up right, they're going to train their eventual replacements.

But that guy on Twitter and his mythical creature? You don't want one of those.


Why self-help and best practices aren't

posted by Jeff | Thursday, July 11, 2019, 10:45 AM | comments: 0

It's astounding at how big of an industry "self-help" has become. Ditto for the countless books about business and professional development, as well as countless consultants and bloggers, are a big deal. Even in software, we have so many experts that are anxious to prescribe process and practice for you.

I think that self-improvement is a noble and even necessary pursuit. However, if there's anything I can generalize about all of this stuff it's that it's... generalized. It's all high-level, starting points, abstract, general. Its usefulness is limited because it's not contextual. Real life has a lot of nuance.

So what do you do with that? You engage professionals who can work with you in context after you've exhausted the usefulness of the general stuff. I can read a book on self-confidence, but if I'm going to really have a shot at improving it, I need to see a therapist. I can read a book about how some CEO worked hard to be successful, but I have to consider that person is an anomaly and an exception to the rule. I can see a talk on implementing some stellar best practice at work, but my chances of success with it are higher if it's done by someone who has experienced using it in a similar situation.

The harsh reality that I've come to accept is that experience (or inexperience) plays a huge role in everything we do. I know, duh, we do really stupid things as teenagers, somewhat less in our 20's, and by the time we really have things figured out, we're closer to retirement, or empty-nesters, or unfortunately on non-first marriages. Experience seems to be the only thing really indicative of long-term success, which makes sense considering how environment becomes such a huge influence early in life.

If that reality is bona fide, then I wish someone would have explained that to me around the time I was in college. The early success in my first career came rapidly because I pursued experience, but the advice I was given was to be relentless. That relentlessness only served to make me tired, in retrospect. Today I'm back to looking for the experience, and have worked very hard to build a network of people who can help me with that. TED Talks and books aren't enough.


$90 per dose for a drug, that's totally fine, right?

posted by Jeff | Wednesday, July 10, 2019, 12:16 PM | comments: 0

Diana's neurologist would like for her to take a drug when her migraines get particularly bad. The "good" news is that insurance will cover four doses per month, and after that, they cost $90 a hit. Wrap your head around that.

Simon has been on and off various ADHD meds, as it takes some amount of experimentation to find what works, and it changes over time since little humans are constantly changing. Some of them have been well over $100 per month. Yes, I'm complaining, but it could be worse. If any of us were Type 1 diabetics, we would have to spend far more on insulin just to stay alive. This while politicians make stupid comments about eating better or getting in shape (if you don't know the difference between Type 1 and 2 diabetes, look it up).

I'm in the fortunate position that my line of work means I can reasonably pay what I have to make sure my family gets what they need. What's annoying is that this is after I spend nearly $10,000 on health insurance per year, and my employer frankly gets an OK deal on insurance compared to some. But what does someone do who makes less or doesn't get any employer-subsidized insurance? If you answered, "They get sick and die," yeah, that's pretty much it. Even a $50 co-pay for some people is the difference between making rent or not.

The frustrating thing about this is that the people so against overhauling the health care system are the people who are likely hurting the most. Explain to me why this current state is OK?

I don't have any solutions. I'm not a clever economist, I only see people in every other civilized nation not have this problem. Huh.


Silly abstract questions in tech interviews

posted by Jeff | Monday, July 8, 2019, 7:58 PM | comments: 0

I encountered yet another Twitter post where a guy is super proud of the abstract brain teaser question he asks of interviews. Why is this still even a thing?

If you're not familiar, there is a long history of the big and famous tech companies having interview processes with all kinds of ridiculous and abstract questions. The justification for this usually goes along the lines of, "It shows how people think," or, "We want to filter out people who aren't good at critical thinking." It's usually splashed with some arrogance about how great their process and company is, and how important the job of software development is. And nothing proves that you're innovative like explaining why manhole covers are round!

Learning how to interview software people is often like learning how to exist in a relationship. So if your parents engaged in a toxic relationship, that might seem normal to you. Similarly, this interviewing process is learned behavior and I'm surprised at how often smart people persist doing things in a way that ultimately probably doesn't serve them. Microsoft used to be that way, and I know Google and Amazon often still do it. Valley startup types are known to take it one step further by testing to see if you'll even donate blood and work 80-hour weeks for a cash-out that won't happen.

I've been hiring and interviewing people on and off my whole career, and I've been a part of some really amazing, high-functioning, innovative teams (and only one of them was on the West Coast). My interviews in every one of those situations was consistent: I was quizzed on practical knowledge, applied to real situations. I was also probed for soft skills as appropriate, but never for some nebulous "culture fit," which tends to be code for "drinking buddy" or "not better than us." I was often tested for broad conceptual knowledge, but rarely for encyclopedic knowledge that was easy to look up.

Let's break it down. Hiring people is hard, because the indicators for success are really only discovered in the course of a person actually doing the job. You can usually sniff out the fakers and bullshit, but sometimes they show up and you know pretty quickly that you made a mistake. It's certainly happened to me. So your best bet is to test the ability of a developer by seeing if they can... wait for it... write code. The depth to which you do this depends in part on the career level that you're hiring for. It's not inappropriate to have a junior or mid-level developer actually write code in front of you. For more senior people, at the very least you want them to look at actual code and see if they can identify anti-patterns and ways to optimize things or design a larger system. At every level, you need to ascertain what they actually did at previous jobs, and be on the look out for "we" and "they" and no context that includes "I."

If you're a manager and accountable for a development team, then you are probably measured on things like the volume of work performed, the quality of the work, the overall execution. You aren't going to be judged on whether or not your devs know why manhole covers are round. That's not a proxy to the ability to deliver code that advances the business, so why would you assess that in your interview process? The ability of a candidate to answer abstract nonsense is only indicative of their ability to interview, not perform the job.


Return of the radio dead air dream

posted by Jeff | Sunday, July 7, 2019, 11:30 AM | comments: 0

It has been years, but I had the radio dead air dream the other night. The way that this usually goes is that I'm in some situation where I'm back on the air at a radio station, and I can't find the next CD to cue up a song, so I'm transmitting silence. (And give me a break about it being CD's... that's what we had when I was working professionally as an "air personality.")

This particular instance of the dream was interesting, because it bled a little into the moving into a dorm dream, and I remember a ton of the context and feelings. I was moving into a college dorm, but apparently that already happened. I was returning to a broadcast complex on campus that was totally unfamiliar, so not where I went to school. The radio station was dormant, which makes sense since my last visit to my college station some years ago was rarely on the air during the day (and it's a damn shame). At this point in the dream, I remember now feeling very adult, that my intention of being there was to teach others. That's a little presumptuous, because I haven't been on the air in almost ten years, but dreams never make any kind of chronological sense.

So when I couldn't find the next song, or any CD's at all (ha! maybe that was the problem), I remember the intense feeling that I had to set a good example for the kids who would be learning from me. When the failure occurred, I remember calmly trying to diagnose the problem and not freaking out, much in the way that I would today approach debugging software instead of pounding my keyboard in frustration. That's a distinctive difference in this instance of the dream, in that I did not experience the normal anxiety that I associate with it.

Still, there's a lot to unpack here. I'm not sure why I still think about radio, with a decade since that last air shift for fun at my college station, and 13 years before that when I did it professionally. I'll always tell people it was a lousy, low-paying profession, full of egos and nonsense, but spinning tunes for people is fun, and I was pretty good at it.

The teaching angle makes a lot of contextual sense in my life now. Obviously I'm a parent, but I'm also in the largest scope leadership position of my career. Professional development is intensely important to me, sure, but I don't teach software developers in an instructional sense. Heck, if I'm hiring right, they should all be better at it than me. But that accountability for people getting better, that obviously weighs on me and I take it seriously. I think it's healthy to worry about that sort of thing.

I imagine there's a little bit of desire there to prove myself as well. If I had to be top technical guy at work and less of a manager, there would be some areas that I'm definitely not experienced enough even if I conceptually understand those areas. That's a minor motivator for continuing to work on my open source project, for sure, to maintain some street cred so I'm never the out-of-touch manager. I've worked for those people before and they suck.


Suboptimal vacation

posted by Jeff | Wednesday, July 3, 2019, 5:22 PM | comments: 0

We just got back from our annual 5-night cruise with two stops at Disney's Castaway Cay, and it didn't go well, to say the least. Diana started with a minor sore throat about a week ago, which turned into full-on bronchitis. We hoped on Saturday, while in Nassau, that a solid afternoon and evening of rest would help, but it did not. The worst part of it was that she couldn't lie down without going into coughing fits, so there was little rest to be had. We got her to the doctor within a few hours of disembarking the ship, for a treatment including a nebulizer, a steroid and some antibiotics just in case, to head off any potential for pneumonia.

I didn't really get bummed out about the situation until today, after leaving the ship. In the moment, I think I was just trying to take care of everyone. I did my best to take care of Simon (and we had some quality beach time, for sure), while Diana got to rest. Simon has become very independent on cruises, fortunately, and he largely can do whatever he wants. That means me and Diana could hang out in a bar and meet people from all over, usually, but she was obviously in no shape for that. I was really looking forward to that time together.

I'll bitch and moan, because it's the week of my birthday, and get over it just as fast. I still think that we banked a lot of vacation karma when it all went sour on the trip to Cedar Point to do a GKTW fundraiser (the great water main break), but maybe we cashed those points in on two relatively great trips to NYC the last two years. Mostly I feel bad for Diana though, because while I was splashing around in clear ocean water, she felt like barfing up a lung in 200 square feet of stateroom. She's the one who deserves a do-over.