Wednesday, April 30, 2008

2am... Tired

It has been a harrowing day of HTML, CSS, and PHP debugging that has resulted in many a bug fix, one of which I was able to identify on the bus ride home from work. I just finished writing up the final resolution notes on two open issues that were on my plate about an hour and a half ago, when my coworkers and I wrapped up a group debugging session over the net. My boss and I were working from our homes, and the other two coworkers were in the office. It was quite an exercise in teamwork.

Tomorrow morning, we all regroup for a last batch of cross browser inspection tests, and barring any other problems, the rendering subsystem that I have put many hours into will go live for all of our customers. The switchover is scheduled for noon.

I'm going to bed now.

Sunday, April 27, 2008

The Death March that Wouldn't Die and a Near Death Experience

It's one thing when Anais gives me a much needed nudge to blog, it's a whole different ballgame when Her Majesty, Iris Über Alles, issues a royal inquiry regarding my status. I fear that it won't be too much longer before I inflame the wrath of her deity-sister Lola and face the loss of all my friends, so I'm dusting off the HTML form and filling it out for publication.

My lack of posting on both the work and 2am blog has been due to a severe scarcity of spare time. A hard deadline looms this week, and all stops have been pulled out to get code complete and bugs fixed in time for the big release on Wednesday. In the jargon of software development project management, this is often referred to as a "death march", but I wouldn't necessarily characterize our own project nearly as bleakly as the Wikipedia definition would suggest.

The project is the first major feature rollout that replaces a big block of code written by the original outsourced developers. We've been working on it for about three months now.

The new feature provides our customers with a huge increase in the degree of control over the appearance of their content. I've been responsible for most of the back end code used to configure and display the content. Over that time, I've had to learn a new programming language and a new API. I've also had to design, document, and implement the web service interfaces.

In the world of web development, it is often preached that content and presentation should be separate. We've taken this to a whole new level, wherein content and presentation services are distributed, handled by separate hosts altogether.

There have been some stumbling blocks along the way. My boss, who has been responsible for the user interface portion of the feature, has run into some problems from limitations in the user interface toolkit we use for Javascript development, and it has required me to adapt my own code to work past those limitations.

As of this evening, I can see light at the end of the tunnel. I've managed to work out a lot of the bugs that I've turned up the past week. I spent the weekend tracking down rendering bugs that are due to some migration code written by another developer. I've got two more APIs to implement and integrate with the user interface, and we should be ready to go.

We had a scare a week ago. My mother-in-law hasn't been feeling well. Among one of the symptoms was an enlarged spleen. On April 20, she went to the emergency room after experiencing very bad nausea. The local hospital couldn't tell if it was her spleen or something else, and they were worried that she had ruptured the spleen, so they whisked her via helicopter to a hospital in the Circle City.

Under more experienced observation, they determined that a stomach ulcer had ruptured. This had some impact on our own schedule because my wife went up to visit with her mom for most of the days and evenings. She wasn't able to connect to her employer's virtual private network using the hospital's public WiFi, so she fell behind on her work hours.

She spent a week there, and was released this afternoon. They still haven't figured out what is up with her spleen. She will probably have to undergo some more tests and see other local specialists to get to the bottom of this. Her absence has been rough on my father-in-law, who has been in a nursing home for close to three years due to a debilitating stroke. He gets very anxious if she isn't there during most of his waking hours.

For those of you tracking my social life, I did make it out on Friday a couple weeks ago for a company happy hour. I had three beers, and bought a couple tickets for a charity raffle, winning the grand prize, which was a Callaway golf bag. It wasn't something that I really needed, but it will most likely sell for way more than the $2 I plonked down on tickets.

This coming weekend is the big end-of-year fundraiser for the preschool co-operative. In another couple weeks, my wife will be breaking out the cake pans to bake a wedding cake for her best friend's daughter, trekking down to the Volunteer state for the wedding ceremony. It will be a nice quiet few days here

My ex-coworker's last day on the Titanic was Friday. The claim by the two founders is that they are planning on buying a software development company in California to do their work, but I don't know where they'll be getting the money to do that.

In the meantime, I'll try to get some more train photos posted before National Train Day. :-)

Monday, April 14, 2008

Wednesday, April 09, 2008

Remembering the F40

From the delivery of the first units in the late 70s, up through their phase out in the mid-to-late 90s, General Motors' Electro-Motive Division's F40PH was the workhorse of Amtrak's passenger service. When the photo below was taken, Amtrak was in the process of rolling out a fleet of General Electric P40BH (or AMD103, depending on whom your talking to) locomotives to replace the F40s. Below we see Amtrak F40PH 406 pulling a pair of Superliner cars. The scene transpired on an overcast April afternoon in 1995 at Chesterton, IN. The line, I believe, is an ex-New York Central line that was spun off to Amtrak by Conrail, and my guess is that this train is one of several dailies that rain between Detroit and Chicago.

Monday, April 07, 2008

A Day Worth Celebrating in My Book

Saw a banner ad for this on a website, and it just made my day... Amtrak is trying to foster awareness of passenger rail travel through a six-week promotion, leading up to National Train Day on May 10 (click on graphic to follow a link to the site).

I think I'll join in on the fun in the next few weeks by putting up some photos from my collection, including some passenger shots.

While I probably won't be able to indulge myself in a train trip on that day, I've been succeeding in my efforts to use public transportation for the 8 mile commute to downtown. Since the start of the year, I've driven to work only three times, relying instead on the city bus system. My older daughter refers to it as the "work bus" to distinguish it from the school bus she rides on Tuesdays and Thursdays.

Saturday, April 05, 2008

Popping the Event Stack... NPR style

(cue theme music from NPR's All Things Considered)

A startup in the Circle City experiences rapid growth.

A drawn-out schedule results in a mid-April crunch and a shortage of precious personal blogging time.

Signals that the Titanic is taking on more water.

An estranged wife's presses for a timetable for withdrawal.

Puking plagues household prior to Easter.

And an essay on the idiosynchracies of metropolitan public transit travelers by Andrei Codrescu.

All this... on this evening's edition of All Things Considered.

(obligatory 5 minute update from some NPR news reader in Washington)

(obligatory acknowledgment of support for this program)

(cue transitional musical snippet)

This is All Things Considered. I'm 2amsomewhere and Linda Wertheimer is nowhere to be found.

My employer has grown quite a bit since I started three months ago. I was the 10th full-time employee to be hired. Two who had hired on before me have since moved on. We've taken on 14 new employees plus one intern. One of those employees only lasted a few weeks. So right now we're at 22. Within my own department, we're now four strong.

Both founders have given me a lot of compliments on my work blog both in public and private. At the company's monthly meeting on St. Patrick's Day, the President told everyone to look at my corporate blog as an example of what they should be doing on their own blogs. And a couple weeks ago, the CEO used my blog as an example in a webinar to potential customers.

(cue high brow jazz transitional snippet)

I've been working hard on a new feature project. It's been going on for two months. We're running a few weeks behind where we had hoped to be, and that has presented some short-term frustration for me, but it's not from a lack of progress or effort on my end.

Since late February, we've taken on two employees in the technology group. One is a software engineer, and the other is a system engineer. Getting them brought up to speed has been a drain on time.

One of the personnel changes I mentioned earlier in this post left the company with a knowledge/skill vacuum over in the department that handles customer training. The lack of technical acumen in two of the group's members has resulted in a lot of questions being directed to members of the technical team.

My boss has been aggravated by this and has been working to create a stronger procedural barrier to contacting the technology group (i.e. all technical questions go through a group mailing list) because he believes that the time spent answering these kinds of questions is diverting too much energy from the technology group. I don't know if I fully agree with his take on the situation, but I'm complying, tactfully turning away in-person and IM requests for answers to questions, because I don't want to undermine his leadership.

We're currently looking to do a roll-out of the feature for internal use by the 17th. Drop-dead date for coding is less than a week away. The time in between will be devoted to testing. I've been putting in long days and churning out lots of PHP and XSLT code. We've still got a lot of ground to cover, but I've been able to keep pace on my to-do list for each end-of-the-day stand-up meeting.

(cue some avant garde orchestral music)

I've been keeping in touch with my ex co-worker at the Titanic. He's been through a roller coaster ride over there, taking a last minute trip out to the east coast as recently as this past Thursday.

He and the CTO went to meet with the same group of people at the Red Arc Cable Company, giving the same group of people they met out in November of last year the same presentation that they did when they met in November. As best he could tell, the only reason he was there was to be a warm body because he didn't say one word.

The CTO was in the Circle City a few weeks back, and it was the first time since mid-December that he had been in town. In the meantime, he had been shuttling back and forth to Tinseltown, doing consulting work.

During that time, my ex-coworker had been searching for jobs. I gave him the names and numbers of several recruiters I knew in the area, and most of them said that they were looking for mostly Java Enterprise Edition and .NET developers. He had a couple of interviews downtown recently, and we met for lunch to catch up on things.

This week, he got an offer in writing from a IT staffing agency that an old college buddy of his helped co-found. The job would be 80 percent overseeing the restructuring of a largely unstructured IT infrastructure, and there would be 20 percent spent developing web applications for a consulting client of theirs.

On Friday, one day after the trip to the east coast, the ex-coworker talked to the CEO to break the news to her that he was starting his new job at the beginning of May. When I talked to him on Friday evening during my bus ride home, he said that the CEO was gracious about the news, but she did give him the backhanded reminder of all that they had supposedly done for him.

Where that leaves the company, I'm not sure. All that's left are the founders. One is technical, the other one not so much so. Both are ideas people, long on schmoozing and power point, but short on details and execution. I suspect they will try to keep up the charade for a while longer, but eventually they will have to face reality that they are not serious players in the market they were targeting with their software.

As far as technology is concerned, their code-base is minimally maintainable because all the people who contributed most of the code are now long gone. When I started this blog in the summer of 2006, one developer had left three months prior. Two founders left in the last five months of 2006.

The core product itself doesn't have most of the components that would make the product truly marketable. I didn't work much on those pieces, but I looked at the code base to know enough about its design.

The choice of platform, Java, was ill-suited to the performance requirements that would have been needed to be competitive. There were some poor choices of design, like the use of hash tables where linked lists or trees would have been perfect. The inflow of data system was based on a pull model, making it more of an asynchronous graphical scripting language than a high performance event processing system.

I'm just glad I'm far removed from the house of cards that was that company. I did learn some useful things in spite of the lack of management focus, and it certainly imparted wisdom regarding what to look for in a successful startup. It's also made me more appreciative of the people I work with now.

(short synthesizer snippet)

Coexistence has pretty much been the watchword for the domestic front. I get up and go to work. I get home around 6, spending time with the kids and browsing the web when they're keeping themselves occupied and out of trouble. Once they are in bed, I retire to my own bed sometimes working a couple more hours.

About a week before Easter, my wife confronted me about a timetable for separation and telling the relatives. The conversation was similar to the one we had back in mid-January.

I said that I was waiting for her to figure out whether she wanted to move to the township to the east of us. She said that she had looked at some rentals over there, but the ones she thought were the most promising had waiting lists, and she said that the school system over there was opening its enrollment for the next academic year in mid-August.

I asked her whether she could afford the cost of the rental. She said she didn't know because she didn't know how much she was going to get from me in child support. I asked her whether she had considered getting a different job, and she said she didn't see herself having many other options.

She complained about how all I did was work and that she didn't like living in limbo. She asked if we were going to live like this forever. I told her that it sounded like she was expressing displeasure about how I spent my time. I said that while I didn't feel like spending too much time talking to her, I was doing things around the house and taking care of the kids a lot on the evenings and weekends so that she could get her own hours in.

The conversation really didn't resolve anything. I did at least talk her out of selling the house, which would be just another in a series of bad financial ideas she's come up with. The market here is awful, so the idea of trying to sell the house now was just insane.

She brought up the idea of me moving out and over to the township instead, so that we could use that address to enroll the kids in that school system. I said that idea smacked of fraud and that it wouldn't make sense because I'd be giving up the cost savings that comes with taking the bus to work, both in terms of fuel and parking. Plus, she'd be burning a lot of gas schlepping 15-20 minutes one-way to take the kids to school every day.

In retrospect, I realize that the conversation took place a few days before she started her period. A couple months ago, she said she had been noticing that she had been extra emotional during those times. Combine that with the awkward issue of what to do over the Easter holiday probably got the better of her.

I am thinking that regardless of whoever moves out of the house, the best time to do it would be in late June or early July. She will be done with her term as president of the preschool co-op, a role for which she will not seek re-election. Dance class will be out of session, and she will have wrapped up another two major commitments: going to her best friend's daughter's wedding in the Volunteer State, and taking the kids on that dance school to the Sunshine State.

I think also she backed down from her "you don't do anything for the family stance" when I stayed home from work on the Thursday before Easter. To look after both her and the kids. Over the week before, both of our kids had been stricken with a nasty virus that came with vomiting and fever. My wife never weathers those bugs well because for her, it is a... shall we say a... bidirectional digestive full system reset.

She seemed grateful that I had stayed home on Friday, but threw guilt in my direction for refusing to take off a half day of work for an Easter egg hunt at the preschool co-op. In my own defense, I had taken off a few hours a couple weeks before to join her and the kids for a co-op field trip to a puppet theatre. At that event, I was the only daddy in attendance.

On the "time for myself" front... Beside the Gladys Knight concert in early March, I made it to my local independent coffee shop a week ago Friday. It was the first time I had been there since my first visit in February. I stayed an extra half hour after work this past Friday to join in on an in-office happy hour, and next week, there is a company social at the nearby brew pub after the monthly company meeting. The wife and kids will be gone a few days in May for her best friend's daughter's wedding.

I am in dire need of a massage because the touch deprivation levels have been hurtfully high of late.

This weekend, I am mostly single daddy. For some odd reason, my wife's best friend's daughter, who is now 24, wanted her mom and my wife to join her friends for a bachelorette party, which will involve going to at least one bar, lots of drinking, and perhaps an overnight stay in a hotel downtown. My wife said that if they didn't get drunk, and there wasn't enough room at the hotel, they would probably come home instead.

On Sunday, my wife will go to a bridal shower for the friend's daughter over in a town about 30 miles southwest of here. It is being given by relatives of the best friend's ex-husband. My wife was asked by the bride-to-be (not the ones giving the shower) to make a cake, and she obliged, creating a two -tier cake made of four layers with chocolate butter creme icing and custom shaped fondant effects.

She worked on the fondant Thursday evening, baked the cakes on Friday evening, and spent most of Saturday morning and early afternoon assembling and decorating it. I suspect she put at least six hours of labor into a free cake. I know she's supposed to make and decorate the wedding cake in May, too.

This coming Saturday is the preschool co-op, and I suspect that she will be occupied with baking for that as well. I'll be watching the kids all day that day, too.

(some obscure oldie with hip undertones given the prior story)

OK, so I lied about the Codrescu essay. In lieu of that, I provide you with a picture taken with the on-board camera on my laptop. The snapshot occurred two weeks ago, shortly after my younger daughter, who is now three, climbed up onto my belly and fell asleep. In moments like this, I am grateful that I did not move across the country to take a different job.

(rattle off a bunch of names for credits)

This has been All Things Considered.