Goodbye, Farewell and Amen

In early 2002, Valentine’s Day in fact, I found myself the proud owner of a dotcom-era layoff pink slip.

That sucked.

The good news was that a small software company down the street needed a C++ programmer. That company was Seapine. So I applied and then rushed to beat the rust off of my C++ knowledge that I hadn’t used in years. I wasn’t overly excited about doing C++ work, but I needed a steady paycheck, so I figured I would try to get this job and then see if something else popped up once the economy recovered.

That was 11 years ago.

So much for a short term job.

Over those 11 years I got a chance to work on nearly every product Seapine makes, got to do some marketing, some product management, made life-long friends, had a ball and yes wrote more C++ than you can shake a pointer at.

Today though is my last day here. On Monday I’ll start a new adventure in a new city doing new things. One could make a really compelling argument that Seapine’s code will start improving dramatically on Monday as well. I’m sure though that there is no real correlation there, just an amazing coincidence. :-)

I wish nothing but the absolute best for Seapine and all my friends there. I hope that it keeps growing and is even more successful than it already is. Below is a picture of the entire company in 2002. Today we have more people than that signed up the for the company ping pong tournament alone.

The entire company of Seapine in the summer of 2002.

I have no idea how long this blog will stay running. If you want to keep up with me going forward my personal site is at http://www.lammi.com. (Update those RSS feeds accordingly.) If anything I plan to keep my next to never posting frequency.

My uncle never said goodbye instead he always parted with “Be good to yourself.” I pass along the same to you.

Until we meet again, be good to yourself.

Posted in Uncategorized | Leave a comment

What happens when the power goes off at a software company

There are three things that are near instant death to a software company:

  1. A backhoe cutting your internet connection
  2. Being stupid in the first place (see .com, Pets)
  3. Losing electrical power (from a storm or inability to pay your bills)

Unfortunately, right now, as I type this, we have been hit with Item 3. (The storm version.) However, because I exclusively use a Macbook Pro with no external monitor I’m up and running. And because we have a giant diesel generator the internet still works for me. That left me with two choices.

One, I could be a super productive employee and keep working.

Or…

Two, I could walk around with my camera, capture images and then mock those less fortunate than me.

Come on, like there was ever a choice here.

The first person we’ll visit is my neighbor Yan:

Yan is also a Macbook Pro user AND he’s like a Moldovan hybrid of Chuck Norris and the Honey Badger. The lack of wall power isn’t going to slow him down in the slightest.

Now Jonathan on the other hand:

He completely abandoned his desk at the first sign of no power. That sign, by the way, is all the lights going out and all the UPS’s beginning to beep uncontrollably.

I fear though that Jonathan fell into this group of roaming programmers:

You can just see their heads over the wall. I kept my distance and used my zoom since a pack of those without electricity is just one step above a group of zombies looking for brains.

Now much more civilized are the IT guys, Dave and LJ. This is because they were both smart enough to use laptops but also because they are routing what available emergency power is left from their secret nuclear generator in the basement to their conference room.

As a general life rule I don’t mess with people that have their own secret nuclear generator.

Back out in the streets gambling had broken out as a way for people to try to win more supplies to keep them alive in this crisis. I’m told that a second game was going on but three of the players left to scavenge and were never seen again.

Finally Jonathan broke away from the roving programmers long enough to give me a thumbs up. Not sure exactly what he is thumbs upping about but at least he’s keeping a positive attitude during this apocalypse.

That’s it friends, that’s what is currently going on in our powerless ship of software making. If for some reason the programmer horde catches me I won’t go down without a fight. Actually, I’ll probably just run away or just throw my iPad on the floor and yell, “Wifi still works and its fully charged!”

Like a zombie to brains, no way they could pass that up.

Posted in Uncategorized | 1 Comment

How Tudor England solved my installation problem

Yesterday I used a piece of technology to solve a problem that I’ve never before used successfully. To call me shocked would be something of an understatement. But before I get to that, let’s get some background.

One of the side effects of ditching cable is that you end up spending your time watching TV series on Netflix that you had completely ignored before. Currently I am one episode away from being done with the first season of Showtime’s The Tudors, a series that more or less tells the story of England’s King Henry VIII.

210px Henry VIII kingofengland 1491 1547

The real King Henry VIII doesn’t look much like Jonathan Rhys Meyers. Weird.

Kinda.

Sorta.

It just takes the occasional liberty taken with people, places, events and a major liberty taken with overall cleanliness of 16th century England.

It does however capture the general idea of the history that Henry desperately wanted a male heir to the throne but was largely unsuccessful. When his first wife,  Catherine of Aragon doesn’t have a son she gets divorced and the Church of England splits from the Catholic Church.

170px Catherine aragon

Catherine of Aragon

When his second wife, Anne Boleyn also doesn’t have a son things got a little more drastic and Henry had her head removed from its spot upon her shoulders. This sort of thing would become something of a regular occurrence during the rest of his rein.

170px Anneboleyn2

Anne Boleyn with head

I actually went on a tour of the Tower of London where Boleyn was beheaded about ten years ago. I even took this picture since I thought it was funny that they had trashcans stationed about every ten feet.

London tower litter can

In retrospect I suppose with that many heads rolling you needed somewhere to dispose of them.

During the same trip I was standing on a corner trying to figure out which direction to look before crossing the street  when I noticed a guy wearing a shirt like this one:

5073730913 8fb5abc0f8

That’s the corporate symbol of the company Ximian, which along with places like Eazel, were trying to make a living selling open source desktop software. Remember, this was around 2000-2001, the .com bubble hadn’t burst yet and making money in software still meant following the old Slashdot plan:

  1. Write application
  2. Profit!

Eazel eventually went belly up, go figure, but Ximian did something that at the time shocked the Linux community. (Had Henry VIII been around he would have been so mad he’d have probably beheaded someone. It didn’t take much.) They started the Mono project to port Microsoft’s .Net framework to Linux/Unix.

At the time I remember thinking things like:

“You’ve got to be kidding.”

“There’s no way this ends well.”

“The day I use .Net code on Linux is they day take my gcc compiler out of my cold, dead fingers.”

Fast forward to present and I’m sure to your relief the actual *point* of this story. Here I find myself using Mono for something where it was the only tool that would solve my problem. The product I work on, the ALM Reporting Platform, is written in Grails with Groovy and Java and is packaged into InstallAnywhere installers for Windows, Mac OS X, and Linux. The problem I was facing was that the Windows installer was showing up as unknown publisher when I installed on Windows 7:

NewImage

That’s no good. What I needed to do was digitally sign the installer with our certificates so that instead of unknown we’d come up as verified.

The way to do this is to use some tools from Microsoft to sign the installer with your certificate. I even found an example of how to do it in InstallAnywhere’s knowledge base.

Trouble is, my build environment is a Mac. There is no Windows machine for me to use these tools on and I’d really hate to have to setup some convoluted two machine setup for my relative simple build needs. In a moment of a desperation I wondered if I could run signcode.exe under Mono on the Mac. Then I wondered even further if Mono shipped with a version of signcode.exe. Not having much hope I opened up a terminal and blindly gave it a shot.

Screen shot 2011 02 04 at 4 52 23 PM

Oh. My. God.

I ran the command with my cert and my installer, copied it over to my Windows 7 box, double-clicked and crossed my fingers. Here is what I saw:

NewImage

I then integrated the command into my official build environment and marked the bug as fixed. And to fix it I used Mono, the .Net of Unix. The very thing that ten years ago I thought I’d never use turns into the tool that saved my bacon. Whaddya know.

And I’ll bet when you started reading this you didn’t think I could tie Tudor England into digitally signing a software installer did you? I’m sure Anne Boleyn would be thrilled. Well maybe half thrilled.

 

 

 

Posted in .Net, Apple, Installers, Tudor | Leave a comment

[self isNostalgic: YES]; [year2010 release];

I read a story once about Steve Jobs and nostalgia in Wired:

It’s the 25th anniversary of the Apple Macintosh, but Steve Jobs’ eyes are dry. At the company headquarters in Silicon Valley, where he was presenting a set of new laptops to the press last October, I mentioned the birthday to him. Jobs recoiled at any suggestion of nostalgia. “I don’t think about that,” he said. “When I got back here in 1997, I was looking for more room, and I found an archive of old Macs and other stuff. I said, ‘Get it away!’ and I shipped all that shit off to Stanford. If you look backward in this business, you’ll be crushed. You have to look forward.”

As a general statement I don’t much pine for the “good old days.” I like things like iPhone’s and the Internet and not worrying about long distance telephone calls. Even though my TV viewing has gone down dramatically since the cutting of cable I can still, more or less, stream any show I want whenever I want it. It is all a far cry from having ABC, NBC, CBS, PBS, and the upstart FOX. And, for the most part, I think it is change for the better.

However, every once in a while, I do get into a nostalgic mood. And forever whatever reason, whether it be because today is the last day of 2010 or something else, I find myself looking back. I think it actually may have started this morning when I read about the last roll of Kodachrome film being developed.

From the NY Times:

PARSONS, Kan. — An unlikely pilgrimage is under way to Dwayne’s Photo, a small family business that has through luck and persistence become the last processor in the world of Kodachrome, the first successful color film and still the most beloved.

My dad was a hobbyist photographer when I was growing up. I remember him taking pictures with a Canon AE-1 all the time, from things like birthdays to just regular old daily activity. I also remember going with him to the corner drugstore to get film developed. Sometimes I’d even take film in from the little Pocket Instamatic camera that he had bought me.

220px-Kodak_Instamatic_100.jpg

In particular I remember anxiously waiting to see if a picture of a cardinal I took out our dining room window would be worthy of sending to National Geographic. Turns out the bird was a tiny red speck. On the bright side at the same corner store you could buy baseball cards so the trip wasn’t a complete waste.

1984_Topps.jpg

Anymore I take pictures with my iPhone, not because of the quality of the picture but because of the convenience of the device. The results are immediate, it can be shared in a second, and although I haven’t taken a picture of a cardinal with it I would assume that its publication quality is quite a bit higher.

The technology has moved forward and in about every way it is better.

At the same time there is an iPhone app called Instagram which I love because it takes pictures like the ones I took 25 years ago. The first one I took of my son essentially looks like a Kodachrome slide:

409dc83fbb644ebf8bfc7ac6ef3803af_7.jpg

What is new, is now old again.

So maybe deep down I am an old sentimental and I just don’t like to admit it. Or maybe since 2010 hasn’t been that great of a year (stupid ACL) like Don Draper says I’m just looking for the occasional time machine. Regardless, here’s to 2010, I won’t miss you. Let’s see what develops in 2011.

Mad Men ´The Carousel´ from Emilio on Vimeo.

YouTube link for iPhones

Posted in Cameras, iPhone, Looking Back | Leave a comment

Back with a new knee, different TV, a new product and bacon

So there I was, minding my own business and happily ignoring my complete and utter lack of blog posts since May. Then Katie went and referenced my happily sleeping blog.

homer_doh.png

On the bright she did call the blog “hilarious.”

So in the time since last we talked I’ve done three major things.

  1. Pwned people so bad in lunchtime basketball that I tore my ACL. I then had said ACL reconstructed and generally crutched, limped, and hobbled around until it was mostly as good as new.
  2. Cut the TV cable at home relying on my wits, guile, Internet, big old over-the-air antenna, Netflix and AppleTV to entertain myself.
  3. Developed a new product for Seapine

Whoa you say. Look at that #3, “Developed a new product for Seapine.” That’s some dope stuff there what is it and what is it all about. What is written in? Is it awesome? How awesome?

Don’t worry we’ll get to that. For right now, since it has been a while since the last post we need warm ourselves up before getting into something like that. If you don’t you could pull a hamstring. Or worse…

Item 1: Do something nice for you knee today

Before (where did that ligament go):

31312_448397159125_709994125_6046734_5403326_n.jpg

After (oh there, it is. Too bad we had to build a new one from my hamstring)

31312_448397549125_709994125_6046736_5817512_n.jpg

In short, if you can, don’t rip up your knee. It sucks.

Item 2: Cable TV, you’re not the boss of me

For the longest time we had considered ditching cable TV in favor of something less costly. Also we found if we had cable we’d end up having inane things on like shows about buying houses or remodeling houses or cleaning houses that are packed to the brim with junk. We already had Netflix (and so should you) so when the new AppleTV came out we figured we’d go all in and ditch cable.

 

product-product.jpg

After living this way for a few months I can say I don’t miss cable much at all. Here are some keys to success though.

  1. Install a big, directional over-the-air antenna outside your house and connect it to your TV. While we don’t have a DVR for this stuff I do have free HD for ABC, CBS, FOX, NBC and a metric ton of PBS stations. I also have two kids under six years old so I’m basically always at home after 8pm so missing something I want to watch doesn’t really happen anymore.
  2. Get Netflix. Stream stuff from their site through the AppleTV. Get the past seasons of Mad Men on DVD delivered to your door.
  3. Pick a year when your favorite sports  teams are either going to have a down year or just plain suck. Xavier basketball is a little down, the Cincinnati Bengals, well, if you can’t say anything nice…
  4. If you are going to rent something from iTunes, DON’T use the AppleTV. Rent it through your Mac (you should have one of those too) and then AirPlay it to the TV. I’ve tried to rent one HD movie and it said it would take 18 hours to download. Granted I think my ADSL connection was being, ahem, temperamental but since it is all streaming if you reboot the box or anything it has to start over.
  5. Fast internet is your friend.

Clearly this isn’t for everyone. I mean if you HAVE to see how the clean out the super messy house show turns out the day it broadcasts then this probably isn’t the answer.

Item 3: The software of awesome

Ok, how we doing? All stretched out? Feeling loose? Let’s get to it then.

A very common feature request from our customers is the ability to report across all of our products from the same place. So say you have fifty TestTrack projects and five Surround SCM mainlines and you want to see all the activity that user Joe has done across all of these things. You want to see this information because Joe is an idiot and the chances of him ruining your company increase exponentially the more stuff he touches. On the plus side Joe has a lovely singing voice is nearly unbeatable in toss-the-pencil-at-the-ceiling-and-make-it-stick. It’s a gift.

What you used to have to do is write a report or a filter in every single TestTrack project and every single Surround SCM mainline and then run each of those to see what was going on. Then if you wanted to see them all together you’d need an industrial sized printer, a lot of tape, and a little patience.

Starting with the v2011 product releases we now have the ALM Reporting Platform. This guy is a Grails app that does the work of pulling TestTrack and Surround SCM data from their RDBMS databases and imports it into a SQL Server or Oracle database that is specifically designed for reporting. A bunch of sample reports are even shipped too because what good is breakfast without bacon.

I’ll talk more about this later, especially since the first version is finally done and I can crawl out of my secured Groovy coding bunker.

The big conclusion

Ok, that’s enough of a workout for the first post back. It is proper to have good nutrition after a strenuous activity, particularly after having been laid up for so long. To that end for your view enjoyment I present Epic Meal Time.

Warning: The language is somewhat crude, but bleeped out. Its a cooking show, sort of, although I’ve never seen Julia Child use that much Jack Daniels. Probably be careful if you’re a vegetarian. Or a cardiologist.



 

 

Posted in ACL, AppleTV, Bacon, Grails, Groovy, Netflix | 1 Comment

In honor of Star Wars day

May the 4th be with you.

Posted in GPS, Star Wars | Leave a comment

No PC should be without it

Watch and you’ll never get this five minutes of your life back. Consider yourself warned.

Posted in Marketing, MS-DOS, Pretty Darn Useless | 1 Comment

Just imagine if it was an iPad instead of a camera

If that was the case he wouldn’t have stopped to get the spear instead. Although, upon reflection, now the octopus is armed (Ha! Get it? ARMED! Octopus. I need to take this act on the road) he can steal anything he wants.

Posted in Pretty Darn Useless, Unbelievable | Leave a comment

A bit (or eight) of Atari

So when you wear an Atari shirt like this to work:

Photo on 2010-04-08 at 11.03

…you get two things.

1. Comments like “Man, that’s old school!” Translation: You’re old.

2. Links to awesomeness like this:


PIXELS by PATRICK JEAN.
Uploaded by onemoreprod. – Discover more animation and arts videos.

Posted in Atari, Video games | Leave a comment

Ubuntu, upgrades, insanity and me

“Insanity: doing the same thing over and over again and expecting different results.”
—Albert Einstein

“‘Holy crap no way that actually worked’: doing something, failing, ignoring it for years, coming back, trying again and having it work.”
—Grant Lammi

“Insane in da membrane (Insane in da brain)”
—Cyprus Hill

One of the things about working on a product that is cross platform is that every so often you have to jump to some other operating system to make sure that the bugs you just wrote perform equally as well everywhere. The other day I dusted off my Ubuntu Linux virtual machine and fired it up to do some testing. I hadn’t started it in a long time, probably six months or so since I had been using a different virtual machine. As I got to working the “You aren’t up to date why aren’t you up to date don’t you want to be up to date” nag dialog popped up.

Normally I don’t pay these things much attention, particularly for a VM I don’t use that much, and just click whatever makes it install everything. (That’s the “Shut up” button.) Before I made it there though I saw the button above it:

Update a distro?

Does that say a new distribution is available by just clicking an upgrade button?

Does clicking on that upgrade this entire distro to the new version and actually work?

No way.

Or way?

Now before I go into what happened after I pressed the “Super magic I can’t believe this is possible because of my old jaded Linux experience” button let’s take a walk down memory lane.

I first starting using Linux in college in 1994. Back then it was the perfect storm of:

1. Being able to run Unix at home and not have to go to the labs
2. Being able to run Unix at home for free which was good since I was broke
3. Having enough free time on my hands to spend all night monkeying with kernel compilation settings trying to get my Opti Mad 16 sound card to actually, well, play sound.

I did configure; make; make install.

I did rpm -Uvh *.

I broke my local system by installing Evolution and its 60 bajillion dependencies so many times I can’t count.

When it came time to upgrade the distro I popped in the InfoMagic CD, backed up my /home directory, did whatever the README said, then sat around and watched the kernel compile.

LinuxInfoMagic

And then I got a Mac with OS X. A new perfect storm hit:

1. I was able to still run a Unix at home, this time with a nice UI.
2. I had a job and was no longer broke.
3. I had a job and no longer had the tons of free time I had before.

Installing and upgrading turned into an exercise of clicking the shiny blue button and then getting a soda. I gave Linux a hearty handshake, thanked him for his service and wished him the best of luck in all his future endeavors.

So back to today. I hadn’t done a Linux upgrade in years. I hadn’t compiled a Linux kernel in years. Anymore I’d just toss out the VM and install from scratch. Today, however, I clicked the “Magic upgrade my Linux distro” button.

(What? Did you think I wouldn’t click on it? What kind of blog post would this be then with all that lead up? I’ll tell you what kind, a darned funny one. Oh well, sometimes you sacrifice comedy for operating system upgrades.)

So after The Click this happened:

UbuntuUpgrade_2

Followed by this:

UbuntuUpgrade_3

Which after a reboot resulted in this:

UbuntuUpgrade_4

*Blinks*

*Points*

*Blinks*

Wow. It worked.*

So color me impressed and man has this stuff come a long way since the olden days. Does this mean I’m going back to Linux and giving up my seamless, rounded cornered Apple Mac fanboy membership card?

Of course I’m not. I didn’t click the “Go insane” button.

*Yes, I understand that Ubuntu has had this ability for years and I’m super lame for just now noticing it. In my defense it has been the Year of the Linux desktop for a decade.

Posted in Linux | 1 Comment