My favorite television shows (updated)

Posted by – October 1, 2013

In 2009, I ranked my favorite television shows. After the finales of Dexter and Breaking Bad, and the introduction of some great new shows, I decided to update my rankings. A couple of these (marked with an asterisk) are only one season in, and the jury is out as to whether they’ll remain as good.

  1. The Wire
  2. West Wing
  3. Twin Peaks
  4. Breaking Bad
  5. Rescue Me
  6. The Black Donnellys
  7. Sopranos
  8. Orange is the New Black *
  9. The Walking Dead
  10. Sons of Anarchy
  11. Lost
  12. House of Cards *
  13. The Shield
  14. The Fall
  15. Californication
  16. Friday Night Lights
  17. American Horror Story
  18. It’s Always Sunny In Philadelphia
  19. Dexter
  20. Mad Men

As I remember it

Posted by – February 25, 2013

I just read Jonna’s blog post about Allie’s birth. It brought me back to that day, nearly nine months ago, and made me realize that I never recorded my version of the events. I’m nowhere near the writer that Jonna is, but I wrote about Samantha’s birth, and I want to write about Allie’s too.

Sadly, I can’t remember the specifics of where I was when Jonna informed me that she was having contractions. My memory begins with Jonna, Sam, and I driving to drop Sam off at school. We’d arranged for Jonna’s sister to pick Sam up, and we were planning on heading to the hospital after dropping her off. Or so I thought. Jonna was measuring her contractions with an iPhone app. She was talking normally and was quite relaxed. She was so relaxed that I didn’t ask her about the specifics.

As we pulled into the school, we bumped into a few of her girlfriends. My presence there was enough for them to quickly determine that Jonna was in labor. They clapped with excitement then asked, “How far along are you?” Jonna replied, “My contractions are five minutes apart.”

Um, what?

Now, I’m a fairly clueless dad. I don’t know half of the pregnancy stuff that Jonna knows, but this wasn’t my first rodeo. And from what I recalled, five minutes apart was pretty damn far along. As Jonna continued to CHIT CHAT with the other moms, my heart began to race and I started tugging her arm saying, “OK, time to go to the hospital.” After a couple of minutes she finally agreed and back in the car we went.

Then she told me that she needed to stop by the house to pick up some paperwork that she left there.

Um, what?

So, I dropped Jonna off at the house, while I ran out to pick up a prescription at CVS. Yes, I picked up a prescription. It sounds ridiculous, and it was, but I was gone for ten minutes while Jonna was grabbing her bag and her paperwork. When I got back to the house she was still dilly-dallying around, and I had to chase her out.

We got on the road and I punched in the address of the hospital into the GPS and began driving. I quickly realized it was taking me down an obnoxiously trafficy road for most of the way. I probably should’ve abandoned that route, but I didn’t want to get lost, so I stuck with it. Within 15 minutes we were in awful traffic.

Jonna continued to track her contractions on her app, and I continued to prefer blissful ignorance over asking her what it was reporting. I did notice that she was pushing the damn button really frequently though. After twenty minutes of fighting traffic, we were still only about halfway there. Jonna started to grimace and gyrate in her seat during contractions. At this point, I was seriously considering calling 911 to get a police escort. I was only a few minutes from the highway though, and I hoped that I could make up for lost time there.

By the time I got on the highway, Jonna’s contractions seemed constant. I turned into a Nascar driver at that point, doing 90 in a 55 and weaving through lanes. Jonna was so focused on her contractions that she didn’t notice this. If she did, she would’ve yelled at me (and the kid probably would’ve been born in the car). I remember thinking that if a cop tried to pull me over at that point, I wasn’t going to stop. I even practiced a hand motion to communicate “pregnant wife in labor.”

As we pulled into the hospital parking lot, I breathed a sigh of relief. This child was not going to be born in the car! I grabbed the bags and we quickly made our way to the maternity ward. We burst into the registration area looking frazzled, sweaty, and unprepared. The woman at the desk gave us a little contrived smile and asked us to take a seat while she finished up registering someone else.

Jonna said that she needed to use the bathroom. So, I grabbed the registration paperwork and began filling stuff out. There were two other couples in the waiting area. They seemed calm. I remember thinking how weird it was that for Sam’s labor, that’s how we looked, yet for our second child, instead of being relaxed by experience, we were acting like a couple strung out on crack. I took a deep breath to calm myself. And that’s when I heard a horrific moan coming from the bathroom.

I froze for a moment, looking at the other couples as their eyes got big. Then I sprang up, walked over to the registration desk and said, “No more waiting, we gotta go.” Another moan came from the bathroom and the woman at the desk immediately picked up the phone and called a nurse. Jonna came out of the bathroom just as we were approaching it. She looked scared and said, “I need to push.”

Oh shit.

From that moment on, we hit the fast forward button three times. Two nurses put Jonna on a gurney and whisked her into a small room. I grabbed our bags and struggled to keep up. By the time I got into the room, I heard them say, “the baby’s head is crowning, it’s time.”

Jonna kept repeating, “I have to push.” And they kept saying, “just hold on a sec, hon.”

Jonna then asked for an epidural.

“Sorry, it’s too late for that.” they replied.

Jonna got MAD and huffed, “I need one!”

“Sorry, it’s too late.”

Jonna became belligerent. “Well, I’m not doing it without an epidural.”

They calmly replied, “You’re already doing it, sweetie.”

Oh fuck.

They whisked her away to another room while a nurse tried to explain to me what was about to happen. Again, I picked up our bags and tried to keep up with the gurney. By the time I got into the new room, Jonna was pushing… sans drugs. In her blog post, she describes her moans as cavewoman-like. Yup, exactly that. I mean these moans were coming from a deep, dark place. And right at that moment, Jonna’s sister texted me asking for our wireless password. Of course, why would she think that we’d be in the middle of labor at that point.

Allie was born while Jonna was wearing her dress and I still had a bag strapped to my shoulders. As I did with Sam, I got to see Allie’s first breath. That is the most magical thing in the world and I’m so thankful that I got to see it again, considering the circumstances.

Unlike Sam’s birth though, Allie didn’t cry immediately. The nurse did the little snot suction thing and wrapped her up, but Allie just kinda sat there, quiet as can be. At first it didn’t bother me because I could see her moving around, but after a minute, I started getting nervous. They took Allie to the other end of the room and began poking around, but still no crying. Jonna was in bad shape at this point, so I didn’t want to make her nervous. She kept asking me, “Is she OK?” And I kept saying, “Yup, looks like it.”

I kept walking from one end of the room where Jonna was starring in a very gory horror film, to the other end of the room where a bunch of people were poking my silent daughter. I kept asking the nurse, “Is she OK?” And she kept replying, “Yeah, she’s fiiiine.” But her voice kept going up at the end and I didn’t entirely believe her.

Eventually, I stuck to Allie’s side of the room. Not because she needed me more, but because Jonna was fully sparring with the nurses at that point while they tried to fix her up with still no meds. My wife is the nicest person I’ve ever met, but those poor nurses took a beating that day.

It took about 30 minutes of poking and prodding, but we finally got the thumbs up that Allie was fine. My favorite explanation was that it all happened so fast that she had no idea she was outside of the womb. Labor is typically traumatic for the child, but in Allie’s case, she was basically teleported from womb to a comfy little basket.

And that’s the fittingly-dramatic story of how our family became five (don’t forget Sunny) and how I realized that I was married to a superhero.

Test driving JRuby 1.6

Posted by – April 7, 2011

I’ve been hacking away at ruby on rails for some time now, but I’ve never stopped to try out JRuby. That’s probably because I initially fell in love with rails after an eight-year stint in the java insane asylum. However, with the release of JRuby 1.6, I decided it was finally time to forgive Java, and see how hard it’d be to run our fairly mature ruby (1.9.2) on rails codebase with JRuby.

I already used RVM, so I used that to install JRuby 1.6:

$ rvm install jruby-1.6.0

Two minutes later, JRuby was installed. Easy enough. Let’s use it:

$ rvm jruby
$ which ruby
/Users/adam/.rvm/rubies/jruby-1.6.0/bin/ruby

OK, we’re in business. I’m still not sure how different JRuby is, so let’s see what gems I have to start with:

$ gem list

*** LOCAL GEMS ***

bouncy-castle-java (1.5.0145.2)
jruby-launcher (1.0.7 java)
jruby-openssl (0.7.3)
rake (0.8.7)
sources (0.0.1)

Let’s get bunder installed:

$ sudo gem install bundler
...

And now, before I switch to my project and try a bundle install, let’s just see if I can easily install the rails gem:

$ sudo gem install rails
...
Successfully installed rails-3.0.6
23 gems installed

Easy! Alright, enough of this tip-toeing around, let’s see what happens when I switch to my project and try a bundle install:

$ bundle install
Fetching git://github.com/nhowell/subdomain-fu.git
Fetching git://github.com/flori/json.git
Fetching git://github.com/adamrubin/acts-as-taggable-on.git
Fetching source index for http://rubygems.org/
Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.6) 
Using builder (2.1.2) 
...
Installing mysql2 (0.2.6) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
...

Ugh. An error with the mysql gem. Is this the beginning of the end? Well, maybe not. A few minutes of googling and I discovered that JRuby needs a different gem for mysql. And there’s an easy way to conditionalize my Gemfile:

if defined?(JRUBY_VERSION)
  gem 'jdbc-mysql'
    gem 'activerecord-jdbc-adapter', :require => false
    gem 'rmagick4j'
else
    gem 'mysql2'
    gem 'rmagick'
end

(I ran into the similar problem with rmagick)

After making that change and running bundle install again, there were no issues reported. Hrm. This is too easy. Let’s see what happens when I try to start the server:

$ rails s
JRuby limited openssl loaded. http://jruby.org/openssl
gem install jruby-openssl for full support.
=> Booting WEBrick
=> Rails 3.0.6 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-04-07 20:39:37] INFO  WEBrick 1.3.1
[2011-04-07 20:39:37] INFO  ruby 1.8.7 (2011-03-15) 
[2011-04-07 20:39:37] INFO  WEBrick::HTTPServer#start: pid=50128 port=3000

The server started up fine. I opened the browser and did a smoke test of the app and couldn’t find a single problem. HOLY CRAP that was easy! JRuby is an option. I’ll sleep a little better tonight knowing that.

The cost of not listening

Posted by – April 1, 2010

I quit smoking a couple years back with the aid of nicotine lozenges. I had tried countless different ways to quit, but for me, the lozenges (and the right attitude) were what finally worked. Yet, as the proverbial joke goes, I became addicted to the damn lozenges. I was able to transition from the 4mg to the 2mg (the lowest dosage), but struggled mightily to stop using them all together.

I tried mint flavored candy, but it wouldn’t last as long, wasn’t the same shape, and didn’t have the same minty taste. I tried chewing on gum, straws, fingernails, etc. I tried going cold turkey. At one point, I got down to one lozenge per day, but that one lozenge was a huge security blanket.

After doing this for *too long to admit*, I googled a bit and found others in the same situation. And as I read their stories, I realized that there might be an untapped market. I found the website of the company which produced the lozenges and wrote them a nice email. I explained how grateful I was for their product, but that I was having a difficult time weaning myself off it. I asked if they had ever considered a 1mg option, or even a 0mg option with the same flavor, texture, size, etc. I suggested that if they could sell the 0mg option for a cheaper price, they might have an opportunity to create a long(er) lasting relationship with their customer base.

Now, I didn’t know the first thing about the inner-workings of their business, or what it takes to produce those lozenges, but I figured it was worth a shot. Who knows, maybe I would lead them to a gold mine of untapped revenue. I figured, worst case scenario, I’d get a response saying “We’ve explored that option, but it wasn’t feasible.”

After a few days, I received their response. I’ve edited it to protect their identity:

Dear Mr. Rubin,

We have received your e-mail message regarding our product.

Thank you for notifying us of your experience with a XYZ product. While we expect that the majority of people will be able to use XYZ with no problems, we realize that individual reactions are always possible.

Since you encountered a problem while using XYZ, we recommend that you contact your doctor or other healthcare professional.

So that we can collect additional information about your experience, please call one of our Representatives at 1-888-888-8888 weekdays between 9:00 am and 4:30 pm Eastern Time. To help us expedite this process, we ask that you also have the product in hand at the time of your call. There is important coding information that will enable us to thoroughly investigate your complaint.

All of this additional information is valuable and enables us to continue to monitor and evaluate the safety of our products.

So that we may better assist you, please refer to the case number below when you call. We appreciate your bringing this matter to our attention and look forward to hearing from you again soon. If we may be of further assistance, please call us weekdays at 1-888-888-8888.

Sincerely,

Jane Doe
[company name]

Uh, what? I understand the need to for a large corporation to protect themselves from any legal issues — this was a nicotine product after all, but my email was not a complaint, nor a cry for help. I was merely a loyal customer presenting a potential business opportunity. There MUST have been a better way of acknowledging the positive intent of my email, without supporting the extended usage of their product. But to completely ignore my message and reply with a canned response? C’mon, I don’t care what size company you have, those days are over. Not only did they alienate a customer, but they may have missed out on a million dollar idea.

Or maybe they were trying to alienate me and it was a brilliant strategy to get me to stop using their product. If so, it worked.

Regardless, I was frustrated enough, that I decided to give them a taste of their own medicine:

Thank you for efficiently selecting a canned response. Reading emails and responding appropriately is not a cost-effective way to run a company. I applaud your agility and shall follow suit.

> scanning your message…
> picking canned response…

Dear customer communications,

Thank you for passing along your contact information. Unfortunately, we are not hiring at this time.

To apply for positions in the future, please use the following reference code: NA1MB1LA

Sincerely,
Adam Rubin

Are we having fun yet?

Posted by – March 29, 2010

In 1998, I took a position with a budding start-up named JuniorNet. It was the height of the dotcom boom and a new generation of entrepreneurs were attempting to change the business landscape forever. While at JuniorNet, we raised — and subsequently blew — more than $80 million. It was the quintessential dotcom story, which came to an abrupt end as the bubble burst. And yet, no matter how ridiculous those times were, they yielded some valuable lessons for today’s entrepreneurs.

Like many start-ups during those days, JuniorNet put a ton of effort into making the office fun. Plus, it was an online service for children, so all of the decor was meant to bring out the child in everyone. There were Nerf guns, medicine balls, slinkys, action figures, RC cars, and play sets in every room. The walls were brightly painted and the desks had fun little designs on them. There were video game consoles, projection screens, comfortable couches, fully stocked Coke and Snapple vending machines (free, of course), and enough bagels to feed an army.
And, for when we wanted to act like adults, there was a fully stocked bar, appropriately called the “nav bar.” We had everything — and did everything –that would make old-timers in large, traditional corporations roll their eyes.

The result of pepping up the office, and focusing so heavily on the culture and morale of the company was that people showed up to work happy every day. We worked late into the night (often sleeping in the office), showed up on weekends, and rarely used our allotted vacation time. Whatever time was “wasted” playing video games or goofing off paled in comparison to the extra hours the company got from its employees.

Was it excessive? Yes, of course. But that wasn’t why the company failed. We didn’t blow $80 million on making the office fun; we blew it on a terrible marketing plan, a worthless acquisition, an insane amount of legal costs, and the same idiotic things that other dotcoms were doing back then. We paid LaVar Burton a ton of money to be our spokesperson. Yes, the guy from Star Trek: The Next Generation and Reading Rainbow. In addition to the spokesperson salary, we paid for him and his family to fly first class to various events, yet I think he said a total of three sentences about the company at said events.

If only we had thought to get William Shatner instead.

In the years since JuniorNet went under, I’ve had the good fortune to work for a handful of start-ups; some successful, some not. I’ve worked with some brilliant people on causes that I believed in, but I’ve never been a part of the same culture that JuniorNet had. Unsurprisingly, I’ve never seen the same work ethic and camaraderie either. One start-up in particular took the exact opposite approach of JuniorNet. The office was cold and industrial-feeling. Consuming alcohol was forbidden. Kibitzing with a co-worker about non-work-related topics was frowned upon. There were virtually no company outings, except for a few times when we left the office only to talk about work the entire time we were out. Company parties were as fun as funerals.

As a result of this culture, there was constant bickering between employees, everyone was starved for vacation time, and the entire place would empty out at 5PM on the dot.

The lesson here is simple: By their very nature, startups are a grind. There’s a lot of work, and too few people to do it. You’re likely to suffer a lot of failure before finding the right path. Those failures eat away at morale and confidence, which, if not treated, can lead to the team imploding. Frowning upon your staff for blowing off steam between 9-5 not only tells them that work shouldn’t be fun, but it also insinuates that work should only happen between 9-5. Start-ups need to blur those lines. Instead of guilting people into working long hours, make them jealous for missing out on all of the fun.

Buy a ping-pong table, or invent a silly game. Ask someone to bring in an old video game console, or buy one for cheap on eBay. On Mondays, make the rounds and talk to everyone about their weekend. Hire a masseuse, manicurist, florist, yoga instructor, clown, etc. to come by the office for an afternoon. Give the company a surprise three-day weekend. Encourage the men to grow moustaches. Organize a potluck for Talk Like A Pirate Day. Bring donuts in on a random morning. Give $10 giftcards to iTunes at random times. Have a movie night in the office.

The dotcom infancy may be over, but the change in business culture it brought is here to stay. Embrace it and you’ll have a team that will counter any bump in the road with the humility, energy, and passion needed to make your startup a success.