Thursday, December 31, 2009

Late Night Listening XXXVI: I Went out Tonight Edition

The year, and arguably a decade, now come to a close. Three and a half years have passed since the events leading to this blog took place. I can't see myself ever wanting to return to that life. Yet, the last year or so has felt like a wandering in the wilderness, a time to shake out the remains of an life before moving on to Canaan.

I have visions of what a life after marriage looks like, but I have struggled with the inertia of making it a reality. Maybe there is a part of me that feels guilty for wanting these things. Or perhaps it is fear that some unexpected negative karmatic event will visit itself upon my life, making it impossible to get where I hope to go.

Indeed I have seen shades of such things in the past year or so. STBX's extended unemployment. The major breakdown of her van. My dad's hospitalization and his further deterioration of health.

I have not come to terms with Loss. This is an awareness that I have gained in recent days. I reflect on past experiences... unreliable parents, untimely deaths of relatives during times of celebration. I think the message I have submliminally garnered from these things is that there is no joy in life that could be so utterly destroyed by an indifferent, or even sadistic, divinity.

I keep the feelings of hurt buried well, but sometimes they come back to haunt me. Sometimes it is late at night when I am alone. Sometimes it happens when I see narratives of others' losses, even in cartoons like Up and The Pricess and the Frog. My daughters must think I'm nuts for bursting out in tears.

It's during these dark moments when I realize that my attachment to this world is tenuous, driven not by love for this world, but rather the sobering awareness that I have commitments to fulfill before my time here is through.

And so I bide my time here, ensuring that my children do not do without a father in their lives. Getting lost in the Flow of work helps me to escape this sorrow temporarily. Indeed the lost self awareness is the closest I can come to resolving the Absurdist Dilemma.

I cannot work through this stagnation alone. I need to reconnect with a greater community, someplace I can feel welcome. I don't know where that is, but I know that I cannot find it by staying at home. I need to accept that Loss will come again, and that the avoiding the pain by avoiding life will mean that I have no life.

To this end, I am forcing myself to go out tonight to a music venue I have never been to. To the best of my knowledge, I will know no one. The self consciousness has been weighing on me. Can I be happy in being alone in a crowd of many? Can I open myself to the possibility of meeting someone new, without indifference to the possibility of rejection? Can I be brave enough to be who I am regardless? It is a raw test of differentiation, self soothing in the face of projected exclusion.

I will go, and I will be.

Monday, December 21, 2009

Late Night Listening XXXV: First Day of Winter Edition

I don't think there has been a time in my life where this song has been more relevant than now.

The past month has been rough for me. Shorter days and colder weather usually don't help my spirits, but this year I couldn't even bring myself to listen to anything remotely Christmas themed until today, when I finally tuned in to the XM Pops channel to listen to chorales.

I don't think I'm turning into a Scrooge. I make a distinction between that spirit which is pure and good and rightly represents the season and the commercialism and the compulsion that drives peoples to misery in the quest of doing things that are believed to keep others happy.

I was generous with gifts to my employees, and I took them out for lunch on the day of the final release. I have been active in selecting and purchasing gifts for the kids. I have donated freely to charities, and I've even tried to set a good example for my daughters, teaching them to put money in the bell ringers' kettles.

I know that workaholism has been a recurring theme in posts here, but my funk isn't really a work/life balance problem. It's more like an everything else/me balance issue. I've been spending way too much time handling requests from others that I've neglected to tend to my own needs.

The condition of my house had deteriorated into an embarrassing mess over the past month. The family room had been cluttered with the girls' toys and art supplies. My kitchen table once again reached critical mass with bills and junk mail. I was behind on laundry, and nary a dish was clean. I hit rock bottom this past weekend and finally rolled up my sleeves, getting the house straightened up. The bathroom could use some work, and I still have an unruly pile of note pads from work, but the day-to-day stuff is caught up once again.

On the work front, we had a development cycle that ran between Thanksgiving and the middle of last week. As sometimes happens, some items required way more work than what was anticipated. There were even a couple of things that we hadn't anticipated working on. There was a lot of client side work, too, so I had to step up and code some JavaScript. There were even a couple of Bozo items that came up from some of our high maintenance clients.

The last two releases involved going into overtime with test completion times in the late evening. Just about four hours before the first release, our hosting provider had a power issue that wound up taking out 3/8 of our server capacity for a couple hours. The other release had to be delayed by a day to make sure that must have features were implemented.

On top of this, I was busy trying to find a new developer. After revisiting the resume pile, I picked out five candidates for consideration. One of the interviews lasted a mere six minutes because they weren't aware we were a Linux shop and they had no desire to learn that. The other four made it to the point where they got the mini project assignment. One of them didn't submit a response. The other three had problems serious enough that I sent them rejection letters.

On the personal front, my daughters and I attended the wedding and reception for my cousin whose mother is the aunt with whom I've had issues in the past. I really didn't want to go because it was back in my hometown, and I feared that I'd have to face and talk to people about my situation. In a small town like that, there isn't much respect for boundaries. Fortunately, most of the people there I didn't know, so I was able to remain in obscurity.

STBX asked me to work from home on the 11th because our younger daughter had a fever, so she couldn't go to her sitter. STBX had a full calendar that day, complete with a test for the secretary training course she had been taking and driving her mother up to a clinic to see a doctor. The doctor's visit ran way over, and her mom got sick on some medicine that she had taken, so I wound up staying late with the kids, missing the company Christmas party.

Then on the 16th, she asked me to take the day off to take the younger daughter to the pre-school co-op for her last day of school there. After about a month of elevated drama, STBX decided she couldn't take it anymore. The school's finances are a mess, and the executive director has been trying to pin the blame on STBX's close friend, who served as the co-op president the previous year and as treasurer the year before. They submitted complaints to the county prosecutor, who looked at the claims and decided there wasn't enough evidence to file charges.

When STBX found out what all had been going on, she was livid, so much so that she stopped taking our younger daughter to class. On some days, the younger daughter didn't go at all. On others, she was taken by the sitter.

It suffices to say that my day at the co-op was awkward. One of the mothers asked me whether there was anything they could do to change our minds. I said that I wasn't sure about the circumstances of the withdrawal and that I only wrote the tuition checks. My younger daughter volunteered during circle time that she was going to a different school after this.

The irony of all of this is that the co-op had been a social underpinning for STBX. For the past four years, she had been on the board, chaired fund raising efforts, had served as president, and had baked countless items. One of the things that had weighed on my reluctance to push forward with the divorce was that I didn't want her to have to pull the younger daughter out of school because she would have a full-time job. But now, it is a moot point.

I am still struggling with isolation. There's a part of me that wants to get out and connect with others, yet there is inertia. There are feelings of guilt that I can't quite explain other than I feel like it's wrong for me to have fun before I'm fully divorced, so I am stuck in limbo.

I have been listening to some local programs that promote local music acts, and I caught word of a parody lounge act that was going to be backed by a big band orchestra for a Christmas show at a popular jazz venue. I wanted to go badly, but I couldn't bring myself to go alone.

I ran a "strictly platonic" ad on CL a week prior to the show to see if anyone wanted to go along. I got one reply from a woman from the northern part of the state whose life I would find was rife with drama and lacking in reliable transportation. Another was from someone who planned to go to the show and said I should go alone regardless. On Friday, when I had resigned myself to going alone, I found that all seats were sold out for both shows.

If there is any consolation from this experience, it is that I will get another chance to see the lounge act, sans big band, on New Year's Eve at a great place on my side of town. So I've committed to that night by purchasing a ticket up front. At least I can take comfort in knowing that I won't be spending my New Year's Eve in isolation.

Three years ago, I used the phoenix as a metaphor for the self dissolution that I was undergoing in the big job search of 2006-7 and the collapse of my marriage. The phoenix certainly rose from the ashes on the career front, but my social life still lies dormant. The hiatus is taking a toll on my spirit, and I fear that if I don't take decisive action to break through this year, I may not be able to recover. My gut is that I'm going to have to build a social graph from scratch.

Just as a Scrabble player whose current set of tiles allows no useful word combination, I must cast them back and draw anew if I am to make progress.

Thursday, November 26, 2009

Thoughts on Thanksgiving 2009

Saw this e-card in referenced in an e-mail newsletter today. I couldn't help but laugh and share the sentiment.

This Thanksgiving, cherish the time spent with your family as a reminder of why you moved very far away from your family

Before I descend into the navel gazing stuff, I want to offer up a list of things for which I am thankful this year:

  • My older daughter has had a good transition to grade school and finds joy in learning from a teacher she loves.

  • Both of my daughters find so much joy in being creative.

  • My dog of eight years is still as healthy and happy as ever.

  • I received a promotion that has given me a chance to grow and provide better for my daughters.

  • My department has continued to do so well in getting projects done on time with high quality code.

  • I have public transportation nearby that can get me to work.

  • The DJs of WTTS-FM have helped me keep my sanity, especially Todd Berryman and Brad Holtz.

  • Amazon MP3, for making it so easy to locate and purchase music that I hear on my satellite radio.

  • The Mozilla Foundation, Yahoo, and Google, for providing tools that make web development fun.

  • Web comics like Basic Instructions, xkcd, and Dinosaur Comics, for giving me reasons to smile.

  • For a number of friends, who shall remain anonymous, who have helped put smiles on my face.

As I did last year, I took a trip up to the north burbs to visit with my brother and his family. I wasn't all that enthusiastic about going.

I can't seem to get past this mental energy barrier that makes the thought of any family gathering extremely painful. It's not that I dislike my relatives, but there are some things about their behavior patterns that make interaction as grating as it is predictable, especially my mother and my aunt. Add to that the continuing cloud of my marital breakdown, and there's not a lot to get excited about.

Fortunately, so much of the conversation centered around my cousin's wedding next weekend that some of the old patterns were disrupted for this year. My aunt didn't seem to be as ready to rehash the old stories about my behavior as a two year-old for the umpteenth time. My mom wasn't ranting about how biased the Peacock Network's commentators are against the collegiate football team of Universitas Dominae Nostrae a Lacu and whether they should fire the coach.

Still, after everyone had left, my sister-in-law tried to get me to talk about the divorce, wondering where things stood. I gave some basic information... we were still technically married... we'd be filing in the new year... STBX is taking a unit secretary class... we were still civil.

She asked me if I had done any dating and whether anyone had tried to fix me up with someone. I told her that I hadn't and that I had intentionally stayed off of the social networks because I am not ready to reconnect with old acquaintances. I'm pretty sure that if I did have a profile, it would show my status as "It's Complicated". Moreover, I don't think I would respond well to one of those retrosexual, "You know, I had a thing for you way back when... but I never said anything about it."

I think she's still very curious about why the marriage broke down. I have been very quiet on the events leading up to it. Last year she told me that my mother had speculated about the sexual orientation of STBX, so I can only imagine what sorts of narratives that they have constructed since then.

My daughters are staying with me tonight because I have the day off tomorrow, and STBX has to get up early for her class. I'm not sure what we'll do. I've thought about taking them to the light ceremony show downtown tomorrow evening, but it's supposed to be cold and yucky, and for the most part they would be cooped up in my office until it was time for the lights to be switched on, so we might have a movie night instead. Once they are a bit bigger, I'd love to take them to see that show.

There has been less tension with my team than there was a few weeks ago. We managed to get commitments worked out for the "clean up" development cycle, and out of that came the fulfillment of all but the dumbest requests. Still, there are times when my employees express concern about where the company is headed. One thing that left the team rankled was that in lieu of our standard company meeting, where there is a recap of goals and how we met them, the President decided to make it a form of a quiz show, with questions created by managers based on things that their departments did for the month of October.

My boss has assured me that we as a company will dig deeper into that question at the beginning of the year when we do a strategic planning session. The CEO is very interested in opening up the architecture so that third parties can develop widgets and apps that integrate with the application. The President is fixated on totally revamping the system that is used to adjust the look and feel of content pages.

Nov. 17 was an awful day for the systems engineer and I as we had the worst outage that we've ever seen in our collective experiences. He was careless with the management of directories checked out under revision control. Instead of using the appropriate deletion command and committing the change, he used a standard file system command to delete the files. When he updated with the repository, the obsolete files were restored and pushed into production, causing a failure in our caching and bringing the application to a cascading failure. After getting things fixed, we had a long post mortem and worked on some systems and code level changes to keep that component from being a single point of failure.

The past couple of weeks have included budgeting meetings, and I have seen some tension between the CEO and the President there as well. The CEO, noting that we are getting a total of a million in funding from a state-sponsored fund, said we should aim for the fences and try to grow aggressively. The President is fixated on the goal of being in the black, which was a goal that we missed in November. I don't know all the details of why we missed that, but I suspect that it was because we hired on some new people in the customer service end of things.

At this time, my department will likely get everything I requested, which included big increases for professional development and reference materials. But I've also heard that some departments will get much less than what they requested because they asked for some pretty ungodly increases in their budgets.

The President floated an idea suggested by the company's advisory board -- eliminating salary increases for the entire year, replacing it with a company wide collective bonus based on whether the company met its targets, to be awarded at the end of the year. Given that none of the other departments meet their targets, or do so in a way that is laden with asterisks, I wasn't about to buy into this. I told them that moving the goalposts out from under my team when they have been working under a different compensation reward system would most likely motivate them to look for employment elsewhere.

On the recruiting front, we interviewed someone on site a couple weeks ago, and decided that there were enough red flags to not extend him an offer. I phone interviewed a couple of others who have proved to be promising, but one of them gave up on the sample code exercise when he couldn't get the software working on his computer. The other submitted a good result, so we will probably bring him in either next week or the week thereafter.

Another amusing item from the marketing end of things... Our marketing team decided it wanted to revive dead leads for whom we had offered a price quote. The package essentially offered twice the amount of priced units for the original price quote. All I could think of was some annoying informercial guy screaming, "Check this out! Well give you more of what you didn't want at the price you weren't willing to pay!"

Word came to me late last week that upper management was in the process of putting together an offer to a guy for a VP of Ops. According to the President, he was working for another start up in town that was crumbling because of a bad funding plan, and they saw a real opportunity by "scooping him up."

Never mind that they bypassed the rest of the company's managers in vetting him through a formal interview process. My guess is that this guy is connected in some sense and had the job handed to him. As someone who had to interview and earn jobs without the convenience of connections, I can't imagine just getting a job handed to me, much less feeling good about getting a job like that. Since this role currently doesn't exist within our organization, it's not clear what the org chart will look like this. I did some Google stalking and found out he was not technical, so I hope he won't have jurisdiction over our department.

On a completely unrelated note, I got a promotion from my cell phone carrier for an early upgrade, and being a fan of Do-No-Evil, I am falling prey to the siren song of getting a Droid.

Saturday, November 07, 2009

Late Night Listening XXXIV: Of Boiling Points and Breakdowns

Before I do the big information dump, let's pull out something out of the ordinary. I heard this unlikely cover on WTTS-FM's Over Easy a month or so ago. I was reminded of it last week while listening to a WICR-FM's Have You Heard?, where they had Sean Baker, a local jazz musician talking about vocal groups, and he brought up his soft spot for the Andrews Sisters.

Yeah, I'm a sucker for those harmonies, too. :-)

The last few weeks haven't been very easy on me.

On the work front, my team and I spent most of October working furiously on the last phase of a larger project that has consumed most of our development time since I took over the helm of my department.

It all started last summer when one of our sales reps got in touch with the purveyor of aftermarket vehicle accessories. This guy had a vision for using our application in ways we hadn't envisioned, and scale of some of the usage requirements would tax both the user interface and the back end so heavily that it would surely break both.

The development roadmap was rapidly shifted toward meeting these goals. What we envisioned at the beginning wound up being much of what we implemented, save for one administrative interface and one standard user interface item. We swapped those out for a couple of additional changes requested by the customer, so things balanced out.

The good news is that we met the letter of our commitments to upper management, so we were able to collect on a bonus funded out of money that had been budgeted originally for the employee we let go in early Sept. That money will be coming our way later this month.

The bad news is that one of the changes we made removed a feature that we warned management would go away, and it was explicitly listed in our work items, but the client management person who is the point person with our demanding customer didn't communicate this to him, so he wasn't happy.

Moreover, despite my advice to the President that she needed to communicate this change to Sales in advance, she chose not to follow through with this, so the sales team continued to plug this feature in their demos right up through the day of its removal.

Pile on top of that various observations and complaints for customers to a dysfunctional client management team that doesn't know how to manage such situations effectively, and all of the sudden our department was under pressure from upper management to restore the old feature.

It suffices to say that my team was not happy with this. I pushed back and negotiated a compromise. The old feature would remain dead, but we would extend an existing feature, currently available only to administrator roles, to regular roles but limited to viewing things rather than having the ability to make changes that administrators could.

Of itself, that exchange wasn't awful, but a number of other events started to strain my relationship with the President. We have a standing brief 1:1 status meeting in the afternoon. Normally it's small administrative items that can be taken care of in short order. A new pattern started to emerge last week, where she started to ask me about changes to the application and whether we could fit them in before taking on the next big project.

For about a year and a half, our department has used a project management style that has proven to be very effective. We let management set strategic priorities from an ongoing wish list, and we gradually work down that list developing concrete lists of work items and time commitments. We also have a shorter term planning process that lets us respond to tactical issues, like bugs.

For the most part, we hit our targets, and the execution is the envy of other departments in the organization. Some of the departments have established "cargo cult" style practices that emulate what we're doing but they lack some key ingredients -- one is they don't make actionable commitments, and the second is that there is no accountability for failure to meet them.

Anyway, the nature of the requests from the President started to look like ways to circumvent that process because they asked for specific things rather than asking us to solve classes of problems. Almost all of the requests were specific to either a single customer or a small group of customers. At least two of them were driven either by personal connections between the President and the client. She also seemed to be pushing for commitments to resolve them without me discussing the details with my team.

After about five days of this, my team was starting to wonder what the deal was with upper management. Were they abandoning longer term roadmap items for revenue chasing one-offs? Two of my three charges were seriously concerned about the future of the company because they had seen similar patterns in prior jobs and weren't happy about it.

On Wednesday this past week, I met with the President and had a long talk about what I was seeing, offering a willingness to work with her to meet company goals but needing a better sense that these smaller items were going to be addressed through our usual procedures, which ensure accountability on both sides. It was a useful discussion, and I got in writing a concrete plan for dealing with both the short term issues that had been occupying her as well as the need for longer term vision.

The week ended with a timetable for getting these things straightened out, which left both my team and I in a better emotional state.

Another recurring battle I have been dealing with is the influence of consultants who claim to know how to get search engine rankings. This is field that is rife with poseurs, hacks, and quacks. Advice is dispensed with handwaving and minimal statistical backing, sometimes justified by claims that they got high rankings for their clients. Most of these people have no background in computer science, let alone understanding of network protocols and indexing algorithms.

My employer has been very concerned with how consultants view our application, be it as something that is of no use to them or as a direct competitor. Nonetheless, local and national consultants both have weighed in and given bad advice with authoritative voices. As a result, I've spent more time than what I would have liked researching claims and determining their credibility.

It's gotten to the point where I think we need to invest resources on our own independent research using controlled experiments. Much of the more exotic advice we have received would require major application modifications, and if the techniques were later ruled as disreputable by the search engines, all that work would have been for naught.

I've also decided that my next dream job would be to go work for the spam detection folks at Do No Evil and work to ferret out the shady tactics these guys ply and destroy them, but that's just my Aspiness showing through.

Job applications have started to come in over the past month, and I've been doing phone interviews. The quality of developers around here is really hit-and-miss. Out of four candidates, there has been only one which has been worth bringing in on site. (side note to Drunken Housewife: I suspect that I might be just as picky as Sober Husband about screening, which could make this painful)

STBX started a six-week Unit Secretary training class with a local hospital a couple weeks ago. The hope is that this will help her get hired on there, but there is no guarantee of employment, and the cost of the training is being paid entirely by her.

On the kids front, our older daughter is doing well in school. Some days she has problems with some homework items if the task is unfamiliar, but once she gets familiar she does really well. She is really into writing. This weekend, she has been working a composition about what Thanksgiving foods she likes.

I took off early on the Friday before Halloween to attend both kids' Halloween parties. Their trick-or-treat choices for the older and younger daughter were Batgirl and Daphne from Scooby Doo respectively.

This morning, I took the girls up to a dinner theater on the northwest side of town for a children's performance of Jack and the Beanstalk. One of the preschool moms works at the theater and arranged for a good discount on admission. They both loved the watching the show, and they got to get the cast's autographs afterward.

Had a bit of a scare earlier this past week with my car. I drove out on Monday evening to get something from the grocery, and my car started running really rough, so badly I feared that I wouldn't make it home. I took it to the mechanic, and it turned out to be ignition issues. I needed a new coil and new plugs. I also had them fix a slow coolant leak I had been deferring for several months. It turned out to be a bad hose. Set me back about $480, but the car is really running well now.

To speak to Anais' recurring question on my sex life. I'm still keeping a low profile on such things until we get the divorce taken care of, modulo a few encounters of the type described by ChelseaGirl, which happened back in early February (blushes).

I've been dealing the lack of touch by getting massages, which have become much more affordable with my increased income. That's been especially helpful in dealing with the stress, but it doesn't entirely address the loneliness anxiety that crops up from time to time.

I also wanted to thank everyone who commented on my post about the "I would be honored to be your first" woman. It was good to get some other perspectives and finally get that whole story out there. It's a secret I had carried around in my mind for some time. Bonus points go to Desmond for pointing out that the song is a cover.

Speaking of secrets, I was amused by a post from Tech Crunch a few weeks back. There is now a microblogging site for people to post about their relationships. The site's tag line pretty much sums up the nature of the Diggersphere -- "It stays between us (and the web)." :-)

Saturday, October 17, 2009

Late Night Listening XXXIII: I Should Have Forgotten by Now, but I Haven't

I'm going to indulge in some self-absorption tonight, sort of a Post Secret confessional, extended dance mix version.

Let's set the mood by pulling out a copy of a forgotten 90s hit...

... my mind goes back to 18 years ago...

October 1991
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

... a Thursday night, just before the midterm break at Universitas Dominae Nostrae a Lacu... a gathering at my apartment. A couple days before, I had disclosed to you and another classmate that I had not yet had my "first time"... While we were alone on the balcony, you spoke to me with an admiring voice and riveting eye contact. You took my hands, holding a glass of wine, into yours and told me that you'd be honored to be my first. We never found the time or place to give you a chance to live up to those words, but we did dance to this song at the senior bar later that night.

I will never know the motivations behind that conversation. By your own admission in a conversation a couple weeks later, I would learn that the statements were just "mental gymnastics". The time in between, I experienced feelings of confusion and euphoria... things a man at the age of 22 should not have felt. For the first time in my life, I thought someone had found me to be truly desirable. I thought, spoke, and wrote things that were truly foolish. Indeed, I was your fool for a night.

If I could set the time machine and find myself on 10/16/1991, I would slap myself silly and say, "Don't go on that balcony tomorrow night. Go out, drink, try to have fun, get a cab. Just stay away from her."

(recovers composure)

I hate that this specter lurks in the reaches of my memory. It's a petty grudge, certainly not worth carrying for all of these years. Most people get past these things and wind up forgetting they ever happened.

Over our time up there, she went on to shack up with another classmate for a couple of years. I know from Google that after earning her doctorate she married another grad student who would earn his pay writing about politics, sociology, and food. I think she's since divorced and remarried, living out in the Mountain timezone. I doubt if she remembers me at all.

At the core, it really isn't about her. It's about a set of beliefs about myself that I have struggled so hard to bury, but they keep resurfacing, like a band of tireless zombies. I am not good looking... I am uninteresting... I lack some unnamed essence that makes women crave men... I cannot satisfy a woman...

To my credit the list used to be much longer, laden with lots of negatives about my potential as a professional. My latest job has taken me past those feelings. I am a much more productive and skilled person as a result.

I sometimes buy myself respite with mental affirmations or rationalizations... I'm unique... I don't think like most, so I won't be compatible with most... I need to live somewhere else... I need to be at peace with myself before I can relate to others. I need time to heal from the changes I've been through... There so many suffering so much worse... Other times, the loneliness overwhelms me, and I wallow in self pity.

So tonight, I fess up to this intermittent replay of insecurity and resentment, hoping that by committing it to text, giving it form, it will be exorcised from my soul and imprisoned in these paragraphs. Rather than seeking to remind myself of past injustices visited upon me, I should live in the here-and-now, doing my part to be loving and just to others.

Sunday, September 20, 2009

Sunday Morning Sing-a-Long VII: Triphoppin'

As I mentioned in the Twittersphere last night, the local good radio station played the Nightmares on Wax song "70s 80s":

I can't get that guitar loop out of my head.

The week was busy. It was stressful, but in the end it was all for the good. Last week, I blogged about the Big Switchover in the code base at work. This week is the week that code made its way into production.

A release candidate was cut and put on the test environment on Tuesday. I felt bad for the systems engineer and user interface engineer who had to code review and test the changes because there was a lot of code going into this release. Between my ex-boss and I, there was something on the order of 1,600 new lines of code. To aid them in their efforts, I wrote up a detailed test plan of things for them to do to flex different parts of the code.

Late in the afternoon, there was a false alarm bug that was really system configuration issue. The new code relies on asynchronous execution of tasks, and the queue that was dispatching the requests was not up and running.

After I got home that evening, I found a bug in my own code for something I had not taken into account in the testing. I worked with the system engineer to get the fix merged into the release candidate.

The push to production on Wednesday morning had issues.

It turned out that code I had written for doing synchronous population of a data store had not been tested for multiple sites. I had a stray line of code that was breaking the execution of a loop, so we had to fix that.

Then once the code went live, we started getting alerts about fatal errors. A fatal error happens when a script cannot execute to completion. It was being caused by some validation code that I had written as part of this release. I was checking the value of a variable using the wrong name.

Within an hour, I had coded the fix, got the system engineer to test it, and then got it pushed into production. Lucky for us, the bug was exercised only when an "about us" type of page was requested. According to the logs, most of the hits were being generated by search engine crawlers rather than real humans.

On Thursday, another issue was detected. A database query had been written without adequate entity constraints, so there were situations where if you requested a post by its permalink URL, and there was another post in the database with an identical title, you would wind up with another person's content. Fortunately, it was a two-line fix, and the issue was resolved within a couple hours of detection.

I've also been busy with some external development stuff. We have another company who wishes to integrate with our application. Since we have ways for third parties to use our services programmatically, this is pretty easy to do.

In fact, we have one company who did just this thing this past summer, and their development team was really happy with the design. This other company isn't quite as web services savvy, so educating them on ways to get what they want done quickly has been a challenge.

To make their work much easier, I will need to make one change to our application that gives them much more flexibility. I took the lead on implementing that over the weekend. It won't be a breaking change, thankfully, but it will need to be vetted before we push it into production, so I will be using our group code review time to put it under peer scrutiny.

We also made plans this week for the development week the next couple of weeks. We will be adding a user interface for adding accounts that doesn't require a call to our support team. When I announced this at our company mini-meeting on Friday, I got cheers from the support team, which made me feel good.

To finish off the week, the President and CEO took my team and I to lunch at a brew pub downtown. It was one of my favorite restaurants, and luckily it has enough breadth to keep the diversity of my teams tastes happy. One is a vegetarian, another is a teetotaler, and another is on a high protein diet.

I think the meeting was good because we got the ear of upper management, and they got to know us better. We have a good reputation within our company because we consistently get stuff done, usually on time or pretty close. The CEO said that at the last startup he was at, software releases involved nail biting and stress. He said he doesn't worry about that stuff with us. I told him, "We worry, so you don't have to."

Despite having one less team member, I feel good about where we are headed. I gave a new job description to the President on Friday, and it's a major rewrite of what my ex-boss used. After 1 3/4 years on this job, I've got a good sense of what the good hires and not-so-great hires are like, and I've got a better sense of the soft criteria that discerns the two. The description takes that into account.

With the quarter coming to a close, I will be sitting down with my team members to set goals for their own personal development for the next quarter. While it is important for us to get the releases done on time, I know it's also important for our team to grow in our expertise and skill.

On the home front, STBX started one of her part-time jobs last week. She has to be at the workplace at 5 pm on Wednesdays, so I have to take off work early. That's not such a big deal because I go in early on Wednesdays because of releases. Since my older daughter has to be in bed earlier these days, that gives me more time to spend with the kids.

My older got her first progress report this week, and she got good marks. She's really enjoying school, and it's so neat to see her grow in her abilities. The younger daughter is in preschool three days of the week now. The other part-time job that STBX has is working as a substitute in the school cafeteria. Since that has the possibility of conflicting with getting the younger daughter to and from school, she has arranged for the preschool teacher's mom to be a sitter. The rate isn't too awful, and I'm picking up 75 % of the tab for that.

In a few hours, I'll be picking up the girls to take them up to the north burbs. My mom is house sitting for my brother, so she's invited us up there for a cookout. That's about all that's news here.

Monday, September 14, 2009

An xkcd Comic that Hits too Close to Home

Be sure to mouse over the image to get the tooltip that makes yet another analogy.


Saturday, September 12, 2009

Late Night Listening XXXII: Tetering on the Edge of the Known Edition

(picks self up off of pavement after being hit by what felt like the bus I ride to and from work)

Tonight we set the wayback machine for the mid 70s and find the nearest arena to rock out to Kansas' "Point of Know Return".

I always loved the cover art for the album on which this track appears, and it is of symbolic significance this week because on late Friday afternoon, I got the OK to push through a significant change way that our application works.

This project has been a long time coming. Both my ex-boss and I had long eyed the possibility of replacing a naive algorithm for content sorting with something more industrial grade. A business development opportunity which threatened to push the existing code past it limits created a the motivation to push forward with it.

Changing the algorithm wasn't without risks. The end result of this sorting algorithm is user-visible, and a major shift in the sort profiles threatened to hurt the search engine cred for some of our customers. To protect against damage, I ran extensive comparison tests for almost 20,000 different content aggregations, identifying which ones might be hurt most.

Fortunately over half of the aggregations remained unchanged. About 30 percent shrank, and the remainder increased. After some additional number crunching by other departments, and adding a bunch of subjective measures, they came back with a list of adjustments that they thought would be needed.

A couple of product support workers got the task of refining the sorting criteria, running into issues along the way. It seemed as if no matter what they did to loosen up the criteria, they still wound up with bad results. Fortunately our team was able to tune the sorting system to get better results.

There was a lot of tension along the way, with upper management at the point where they were wanting to delay the switchover to the new algorithm even later than what we had done already. In the end, I managed to persuade them that some of the shifts they were worried about would lead to better results in the long run because the sorting would mean something.

So all of that was enough to keep me busy this week, but there was more, and it put me through a wringer.

First, I had to deliver the "break up" message to the problem employee. Thankfully he took things well, and wasn't totally blindsided by the announcement. It probably helped that upper management had authorized a week's extra severance as part of the package. Still, the experience was emotionally draining, and afterward, I jokingly told the remaining workers, "Please don't make me do that again."

Still the newly ousted employee had some chutzpah. The next day, he e-mailed my boss to say that he had done some thinking about the agreement and said that he wanted one month's pay instead. Keep in mind, he had been with us only three months. My bosses did not budge, thankfully.

But there was more. On the afternoon of testing day, I found a couple of bugs in a major user interface feature for the week. They were show stoppers, and to ship with the bugs would have been insane. Since we were already doing the release on Thursday, instead of Wednesday, due to the short work week, to postpone the release would mean no release for the week at all since we don't do releases on Fridays as a rule.

So I worked late with the UI engineer to debug one of the issues. It was a tricky bug caused by a lingering subscription to a change event that fires when an asynchronous HTTP request is finished. It turned out that the developer of the user interface was using the web service code in way that it was never envisioned. We made changes that wound up making the problem just go away. By the time the UI engineer fixed the other bug, it was 2:30 am on Thursday, and both of us had to be in the office by 7:30 am for the push to production. It was a looong day.

On top of all of this, I was working with another manager to finish up the draft proposal for our outage emergency policy, attending management meetings where there was debate over the values and mission statement of the company, and preparing presentation materials for the company meeting that was supposed to be on Friday, but got moved to next week.

Which brings us back to the code switchover. This sorting change was a big effort. It was started by my ex boss, who did the foundation work and some prototyping. I had to refine it and handle a lot of edge case nastiness. None of these items, let along testing, could get done in a week's time. So we had to commit changes to a branch that lasted over a month.

At two points over the past month and a half, I was able to merge subsets of this code into trunk to handle new functionality, but the merge I did early this morning marked , for all practical purposes, a crossing of the Rubicon. Although there were some pieces in place to roll back after the switch, the reversion would be a risky operation that would only be employed in the event of an emergency. So in essence, we have now crossed that point of no return.

Indeed, when I committed the merged changes back into trunk, I included a lyrical reference to tonight's song. The sad thing is that I think not one person on my dev team was born when this song was big.

On the personal front, I didn't make it out for the testing today. My mom had to work, so the kids were all mine all the day. We went out for lunch and then went out for a couple hours later to go to the library and do some shopping.

I've been taking it easy this weekend. With my nerves as raw as they were on Friday afternoon, I need the downtime to recharge.

Monday, September 07, 2009

Late Night Listening XXXI: For the Love of Labor

Tonight's selection is an obscurity... Thompson Twins' "You Take Me Up".

This track is not my absolute favorite from this group, but since it touches on the theme of labor, I thought it appropos for a posting on this holiday.

Within the depth of this Aspergic mind of mine, there is a region that obsesses over the reinterpretation of songs in different styles, much like what Jack White did with the Racontuers' "Old Enough", by getting Ricky Skaggs and Ashley Monroe to sing a bluegrass version. I could see a rearrangement of "You Take Me Up" sung in a more traditional gospel/bluegrass style, and having it work pretty well.

On a superficial level, Jack White creeps me out. Yet, the Skaggs/Monroe recording and his work with Loretta Lynn (c.f. "Portland, Oregon") hints at a musical transcendence that bespeaks creative genius. I'll drink a slow gin fizz to that any time.

Getting back to Thompson Twins... my favorite song from their canon is "Lay Your Hands on Me", which has a refrain that has a religious revival feel to it. (looks away wistfully) I... miss touch... badly.

So where are things with me? Overall pretty good. House is a disaster area, mostly toy scatterage. I'm starting to catch up on laundry. Bills are paid, and the bank account balance has been slowly and steadily rising.

STBX has a couple of very part time jobs lined up that should allow her to keep our younger daughter in the preschool cooperative for her last year. First, she got on as a substitute cafeteria worker where our older daughter goes to school, and she's going to be working a couple of days a week for a frozen custard chain, doing detail on their cakes.

I didn't do too much over the weekend. Wrapped up some odds-and-ends tasks, and I'm code complete for the Tuesday end-of-business cutoff, save for some fill-in-the blank things I'm waiting to get from a coworker. That's a good thing because I have 4 1/2 hours of meetings scheduled on my calendar for Tuesday, which leaves very little for coding tasks.

I wasn't supposed to have the girls this weekend, but I got some Daddy time in. They went down to my dad and stepmom's on Friday, and I went down to pick them up yesterday afternoon. STBX had to go to training for her cake detailing job today, so I came over and got them. We took a bus trip to downtown, which is something they have been wanting to do ever since I started riding what they refer to as "the work bus". We met my mom for lunch at the big mall (those of you at the blogger gathering last October would know where this is). We also stopped at a chocolate shop for some ice cream. Here is a picture of them ogling the deserts...

... the moment that picture caught was one of those warm-and-fuzzy times that makes being a dad so much fun. Just watching them off by themselves... in a state of wonder... enjoying life.

Let's pay a visit to the office now...

Getting used to the management role has been fairly smooth. I am now at a point where I have an idea of where our department is and how the other departments are doing, and I've been able to keep up my coding commitments.

The feedback I have gotten from my boss, the President, is that I am doing really well. She also added that if I needed flexibility in my schedule for family stuff, she's give me leeway since she knew that I had put in a lot of extra hours through all of this. Their main concern is that they don't overwork me to the point that the "break 2am".

One sign of confidence from upper management... Back when I took on this role, I was promoted at a "Director" level, not the "Vice President" level that my boss held. They envisioned getting someone who was more into doing business development work for that role, and that was fine by me. I've been able to keep things going well enough that they've decided that they could postpone hiring for that VP role, with them reconsidering reopening that search on a month-to-month basis.

We've made good progress on the big project that we started at the beginning of August. My ex-boss chipped in some trailblazing work, and I was able to use that as a starting point, and refine it to handle all of the edge cases. What emerged from that is a really good system that should make our customers happier than the old system. However, our customer service team is nervous and needed more in-depth data over the impact of the change, so its release has been delayed by a week. I have been more than transparent, giving them solid and complete before/after data sets.

The one thorn in my side is the guy we hired on back in mid-June. He has been something of a slacker since day one... coming in late morning, cutting out some afternoons early, missing deadlines, writing shoddy code. Before he left, I know that my ex-boss had a talk with him about his performance.

And when I took on the director role, I had another talk with him. I had learned that he had gone to the President with his complaints... including our rapid development pace and the fact that our developers also had to do testing. He thought we needed to hire on a full-time QA person. I tried to address his complaints and explained how our system had some benefits for him as well.

When we started this new project, I gave him more leeway than usual to work on the design for a new user interface component. He spent way too much time on it, and again, deadlines crept out and out. This was starting to really annoy the other UI developer, too. We reached a point where I told him that we needed to move from the prototype to a full version. We mapped out a day-to-day schedule to ensure he understood that we needed to see this into production this past week.

Still, he dragged his feet. My boss was concerned about his progress, and she could tell he was starting be a real problem for me. We talked about what we could do, and agreed we would try to keep him on board until we wrapped up this project and then look seriously about getting rid of him.

On Tuesday afternoon last week, just before the code-complete deadline. We realized that there would be more time needed to get things done, so I agreed to have the first release candidate cut on Wednesday morning. I didn't see the slacker online when I signed on at 9 pm that night. The diligent UI guy was online, too, and was miffed that the slacker had not been available to help with some code integration work, so he started working on the slacker's code to fix the issues.

The slacker signed on after 11 pm, irritated that the other developer had worked on his code, and then he IMed me saying he wanted to speak with me the next day about his future with the company. I told him that I would be willing to speak with him, but not on testing day, when things are super hectic. I opted for a meeting after lunch on Thursday.

During the meeting, he rattled off what was bugging him about the job... his ideas weren't taken seriously, he didn't like our frequent release schedule, we put too much time into engineering things, he felt like he was being micromanaged. Everything was everybody else's fault.

His solution? Move him out of the department to be a "product manager", so that he could concentrate on less time sensitive things that required creativity, like prototyping. I asked him whom he thought he would report to. He said he thought that he should report directly to the President, my boss. He also said that if this move wasn't possible, he might have to start looking elsewhere.

The sense of entitlement was completely annoying. This was basically a shoot-from-the-hip whiz kid in his 20s who was being paid way more than what he had given us in output, and at no point had he ever owned up to mistakes he had made along the way, many of which resulted in either bug reports or emergency fixes.

I spoke with the President after that meeting, communicating what he had told me. We both agreed that he needed to go. Keeping him on while he was looking made no sense because he had never put in full effort at this job. The checkout would have made him complete deadweight. Since he had already scheduled to be out of the office on Friday, I arranged for the axe to fall on Tuesday (tomorrow), at a meeting with the Presdient, him, and me late in the afternoon.

So with two months of experience in this role, I've managed one of the largest development projects the company has had, and I've had to fire someone along the way.

On other matters...

The system engineer who overslept a few weeks back took a much deserved vacation the last week of August, half of it spent at Hilton Head, and the other half at Sin City. I went out of my way to make sure that I did not interrupt his vacation for anything, and fortunately we did not encounter any issues that would have required his help.

Also, Anais has recommended that I get involved with the local Mensa group to build some new friendships. It turns out they have admissions testing this coming Saturday. If I can get my mom to watch the girls for a few hours then, I will head out to do that. If I can't make it then, there is a larger testing event in town in mid-October.

Saturday, August 22, 2009

More on the Vanilla Sex Magazine Article

Anais writes in a comment:

I want to know why a magazine has to "sell" vanilla sex to anyone. I'd be interested in reading the article just because I can't imagine what it says that could possibly interest me in participating in more vanilla sex and less kinky sex. I mean, yes, vanilla sex can be VERY hot -- but I would never voluntarily damp down the kinkiness factor in my sex life and I doubt any article will convince me to try it.

(Actually, I know a little about magazine titles, and of course this is just one more way to get the word "sex" on the cover, to make people want to buy the magazine.)

I think the question she raises at the beginning of her comment expresses what I was thinking when I first saw the cover. To me, the line "Vanilla Sex: Why It's So Great" register as "Settle for less. It's more than you think." Try recasting that statement in terms of something other than sex, and you can easily create statements of profound absurdity.

I did check the magazine's website to see if I could find the article in question. The only thing on their carousel about sex was this article:

Better Sex Now

but it's more about spicing things up in a moderately non-threatening way. I also Googled the headline as a quoted phrase and turned up another article for a Canadian magazine of a similar title that is cited as having been published in Oct. 2008.

Vanilla sex: The best you've ever had?

I wondered if the magazines might have a common publisher. If you look at the "favicon" (that little image that appears adjacent to the site's address on most browsers), you'll see the silhouette of Pegasus, which is a trademark held by the publishers of Reader's Digest[1].

If you click on the Subscribe link on the Canadian magazine, you'll find that it takes you to a server hosted on the domain. I think this gives us good reason to believe that the article is being repurposed in a sister publication in the US.

I read through the article and have mixed opinions. On one hand, he is right about the overemphasis on techniques when it comes to advice. Sexuality has mental and spiritual dimensions that make it more satisfying. But on the other hand, the article has a subtext that good sex requires the abolition of the unusual or the anxiety provoking. Indeed, it sounds as if he is cheerleading for Scharff's notion of "good enough sex".

Then there is this passage toward the end:

Now that I’m married, sex has assumed its proper place in my life. It generally happens at a preordained time. Sometimes circumstances prevent it; other times there’s a bonus. It’s pretty basic, stripped of all its bells and whistles. Afterwards, one of us might casually say, “That was fun.” Then we roll over and fall into a delicious sleep. Or we might get up and go about the rest of our business, of which—with three boys and two careers —there’s plenty.

He seems so... contentedly suburban, which is anything but what I am. Maybe that's why I found it so irksome?

For an alternative perspective, refer to "White Collar Holler", recorded originally by Stan Rogers and covered here by the Rambling Sailors.

I remember hearing Rogers' version of this for the first time on an episode of Dr. Dimento way back in 1984 and laughing my @$$ off.

[1] -- One of my casual Aspie interests is being able to recognize trademarks and know the formal names of companies.

Thursday, August 20, 2009

Says Who?

Saw this magazine cover at the drug store near work. I'm sure quite a few of my readers would call into question that headline in the left column. If you need a higher resolution image, you can click on it.

Sunday, August 16, 2009

Schnarch Rebranding

Longtime readers of this site will be well aware of my affinity for the writings of David Schnarch. I'm still on his therapy site's mailing list and got an announcement from them a couple of days ago. The key excerpt is quoted below:
We have two completely new web sites on the Internet.

The Marriage & Family Health Center is no longer located at Our new home is Check us out! is now exclusively devoted to our international best-selling book Passionate Marriage

I have updated the link to their site in the sidebar accordingly.

Also of note is that a new edition of Passionate Marriage is out with a new foreword and a key concepts guide.

Given the weightiness of that book, I think the addition should make the text more accessible to newcomers. I wish them the best of luck.

Where Did the Week Go?

AUTHOR'S NOTE: Edited at 9:20 am on 8/16 for polishing and corrections. The original revision was written in the wee hours of Sunday morning as I was nodding off to sleep.

It's widely accepted that the passage of time seems to accelerate as we age. Minutes don't seem to take as long as they did in the past. I don't know if I crossed some sort of threshold when I turned 40 back in February, but it seems as if things have been really flying since I accepted the promotion a little over a month ago. I'm still trying to piece together what happened to my week.

I had high hopes starting. On Monday, I got up extra early and drove over to STBX's so that I could see my older daughter head off to her first day of first grade. As for work, I was going to be working on stuff that would be key development project items, taking over from some foundational work done by my ex-boss the week after he left the company. But the fates would have nothing to do with that.

On Monday evening, a flurry of system alerts about the site being down sporadically kept the systems engineer and I on edge up through the evening, and the cause was something that was entirely avoidable. One of the database servers had run out of disk space because the engineer had set the database up to write to a smaller disk partition rather than a much larger one which had been created just for that purpose.

Tuesday was chock full of meetings, and the night my time with the kids.

The weekly release was problem free, but my system engineer had been up so late rebuilding our test environment that he overslept. I called him six minutes after we were supposed to start pushing to production, and he answered saying that he had just woke up. We started the release with him talking our IT support guy through the process over the phone.

The other two developers were out of the office. One had arranged to work from home because his son started kindergarten that day, and the other e-mailed in that he was going to work from home because his car battery was dead. Given some other things that indicate his motivation may be less than up-to-snuff, I was skeptical about his claim.

On Wednesday night, I wound up writing a test script that would be used to judge the quality of the new approach we were taking on this development project. While auditing the stats, I found that the numbers did not agree with what I saw in production and tracked it down to an issue with the database again. This time, it was a secondary server that was used to create the snapshots.

Thursday night, I spent re-running the numbers that I was hoping to have done on Wednesday and trying to figure out how we would implement a new web service in production across multiple data centers. The application didn't have build in replication, so we would have to roll our own.

I time shifted my work schedule on Friday, going in over two hours early, so that I could take off early to pick up the girls while STBX worked a concession stand at the overpriced taxpayer financed athletic facility, which earns her tuition offsets for the kids dance classes.

Friday night and Saturday were spent rewriting major portions of code I had written in May 2008. It was core stuff that related to how content was fetched, and this new algorithm would break major portions of it. I managed to get it working for all but a couple of edge cases and one bug in a display widget. I checked all of that code in a couple hours ago, just prior to when our IT support engineer was taking that system down for some much needed maintenance.

A big event going on in the Circle City this weekend is a downtown convention that is aimed primarily toward gamers, but it has grown into a cultural event above and beyond the original audience.

Contrary to what you might expect from someone in my line of work, the event is not something I would be interested in. It does make for amusing people watching at lunch time, though. I would go so far as to say that you could make a drinking game out of it... sip of beer for someone dressed in all black, two drinks if they have dyed hair, a shot whiskey for cosplay, two shots if they are wielding weapons. I could go on and on, but as someone with a low tolerance for alcohol, I'd pass out before this paragraph was completed.

In the midst of the people watching on Friday, an awareness came to mind... While the demographics are strongly skewed toward the male side, the crowds do include some females. Some appear to be just as into the goings on. Others are just part of a couple. Some are both.

Going by appearances, most of the couples appeared to be in their 20s. Seeing them brought forth some unanticipated and painful emotions inside of me.

I've written in the past about how I struggle with this feeling that I am so unusual, at least for this area, that there is no one with whom I have enough in common for form a every close bond. In private conversations with others, I have described this state as "unknowability," a gut feeling that no one would find me worth the time of wanting to know and understand me.

As I watched these couples, I felt envy. It wasn't because I found myself attracted to the women in the couples[1]. It was because these men had found acceptance in the eyes of someone else so early in their lives, in spite of the fact that their alienation from society at large

That got me thinking about the subculture upon which the convention is based as well as other cliques that permeate our society. With the aid of social networks which draw people together who would have otherwise never known about each other, people manage to form associations and groups with those who have similar interests. Sooner or later, people find the tribe they call home, even the geeks.

I just happen to have niche interests that are so orthogonal to one another that it's hard for me to find a tribe of my own. My mind, arguably vexed with Asperger Syndrome, has left me with a clutter of knowledge of arcane areas such as railroads, math, radio station history, MGM cartoons of the 40s - 60s, musical genres of many tastes, software engineering, and erotic explorations, economics, existentialism, and non-traditional relationships. I am all over the place, so dispersed that it is as if I am nowhere... and I live in a metro area that is about as non-cerebral as you can get.

Despite all of this talk about being yourself and pursuing your dreams, most of society aligns itself with a set of life scripts. This allows different interests to accumulate size and form a community. The inability to connect on this level can lead to feelings of alienation, which ultimately leads to depression. Perhaps we are wired to do this because being a part of a sustainable group enhanced the likelihood of survival. Perhaps this is the basis of the envy and grief I felt.

The voice of Schnarch appears in my head to protest the sadness. Self validation, I picture him saying, means that you don't need the acceptance of a significant other to believe that you are good. Differentiation, first and foremost, is the ability to stand on one's own emotional two feet, and pining for a steady stream of acceptance isn't going to be a guarantee that everything will be OK. It's a crutch. Maybe this is just loneliness anxiety by any other name. I just know it was there in a big way, and I don't want it to engulf me.

[1] -- Although on Friday afternoon I did see a girl walking down the street, decked out in an outfit that included a short skirt and suspenders that gave her an arousing kick@$$ bad girl. She was not part of a couple, though.

Wednesday, August 12, 2009

Should I Start to Worry Myself If I See Myself in T-Rex?

Despite the fact that it uses the same d@mned panels for every strip, I find Dinosaur Comics to be hilarious. Today's strip, especially panel (3), for some reason reminds me of some of my more off-the-deep-end anayltic posts in this space.

Saturday, August 08, 2009

Late Night Listening XXX -- Wanderin' in the Rain

It's been a long, long time since I lost myself.
Put my pride down on the table, put my fear on the shelf.
So I bought myself a throne to reside and let myself go.
But I've traveled much too far, where I've gone, I'll never know.

What a long, long time...
Long, long time.
It's been a little old while since I felt so fine.
Wanderin' in the rain...
Losing my mind.
What a long, long time.
What a long, long time.

-- O.A.R. "King of the Thing", 34th And 8th

Heard a live version of this song being played on the Groove Show last weekend. I fell in love with the refrain, and it speaks to how I've been feeling lately.

Last Sunday, a post appeared on I Am Doing the Best I Can that struck a chord in me. I'll pull the relevant paragraphs and quote them here:

When you drop off the entire Bloggy planet and don't read any of your friends, even though you Love them...but participating in the bloggy world become just too much to bear because that means, well INTERACTING and shit...

When you decide after two years, which, lets face - is antediluvian in the time epochs of the internets - to wander back and try to find all of your peeps, your homies, your original Phi Delta Badass...

They ain't all there.

In recent weeks, my life seems to be filtering down to something. Wheels turning. Pulp falling to bottom of glass. I twist and squirm in my skin, trying to figure out what it is that I seem to be morphing into, but it still has no recognizable shape or form. I can only tell you is that it is Different.

I feel like I walked back into a playground that was waiting for me to arrive...but there is no one left on the swings. No one on the slides. No one over there by the fence telling ghostly tales and urban myths to each other.


"I'm sorry! I'm sorry I withdrew so deeply into myself that I locked the door to the yard and refused to go out. I'm sorry I missed babies being born, babies being lost and the million other joys and sorrows that happened in your lives. Marriages. Divorces. The terrible. The frightening, the sublime. I didn't mean to abandon you."

And I wait here in the edge of the yard...just on the edge of the dark peering out waiting for a noise. A whisper. Anything. I pick up a small stone and throw it up into the air and watch the bats dive and turn towards it.

I can wait.

It's bad enough that the third anniversary of this blog came and went without so much of a post on my behalf. Adding insult to the injury is the fact that I have been equally as bad about keeping pace with the many blogs I read on a regular basis and left comments regularly over the course of 2006 - 07.

Looking back, I see a similar pattern that happened over time with real-life friends. My dissatisfaction with my marriage and job some four or so years ago resulted in me pulling away from them. Not keeping in touch. Not answering e-mails. I just didn't think I could share this struggle with them. I built a cocoon, with the blogosphere as a lifeline to the outside.

With the change of jobs, I found myself swept up deeply in my work, which was good in to an extent because it helped me jump start a stagnating professional life, and it took my mind off of having to live under the same roof with an estranged spouse.

When STBX moved out, I had hopes of starting up a new circle of friends. I put up profiles on a couple of sites and I started to have some conversations, one of which led to an adventurous beneficial friendship with someone else who was in a similar situation. She has since moved on, but we keep in touch every now and then.

The e-mail nastygram from STBX in early December throttled my socializing. The addition of STBX to the ranks of the unemployed didn't help much either.

It was at that time that I really lost momentum for filing the divorce proceedings. For one thing, it seemed downright cold to have STBX served with a summons after having lost a job. Second, I wasn't sure how the courts would look upon the child support figures that STBX and I had agreed on back when she moved out, since they were based on her weekly gross earnings at the time. Third, the costly van repair at the beginning of the year made be fearful of my own finances, and the cost of paying the fees associated with the divorce seemed like a luxury.

The past eight months have gone by quickly. Up to and beyond the firing of the underperforming co-worker, I have increasingly allowed my life to be consumed by two things... work and my kids. Although I have put in some crazy hours at the office (and from my home), I have never backed out of a commitment to spend time with my kids. I spend time with them doing things when they are in my custody, and I show up for their performances.

Over this time, I regrettably started to neglect this blog and the relationships with those whom through this blog I had become acquainted. The cocoon was sealing, leaving room for only a few friends I had made over the past few months plus intermittent IM pings and e-mails with a few long time readers. In retrospect, this has not been a Good Thing.

Over the past month, several big changes have come down the line that are threatening to shake up the status quo.

Let's look at the home front. First of all, STBX's desire to get the divorce done has increased. A couple weeks ago, she said she'd like to get it filed sooner rather than later so that it isn't hanging over everyone's head during the holidays. Second, she is verging on running out of unemployment benefits, with no job in sight. She actually had an interview for an instructional aide position with our daughter's school system, but she didn't get the job.

On the work front, a month ago, my boss announced to our team that he had turned in his resignation to upper management and would be leaving the company at the end of the month to go work for "So You Think You Can Search".

The announcement caught us all off guard because we thought he was in it for the long haul and that he wouldn't ever think of hiring on at the search startup because of its non-existent progress over the past three years and its notoriously dysfunctional managerial environment.

He cited two reasons for the decision:

  • The work he had done to stabilize and solidify the source code and create a team to develop it was mostly accomplished, and he believed we could pick up from where he left off. He needed a more chaotic environment.

  • The role he was in, VP of Product, was transitioning to more of a business development role, and that wasn't his forte.

He said that his departure shouldn't be construed as a vote of no-confidence against the company. In fact, he said, he was purchasing the options he had accumulated over the years so that he would have a stake in the company's future success.

After the big announcement, he called me into his office to discuss something in private. He said that they were going to try to find someone outside the company to fill the business development role, but he didn't see the company finding someone to do that in the time he had remaining with the company.

He also brought up our past conversations on how he saw in me the potential to take on more of a leadership role. Upper management also agreed that I would be a good candidate to take over leadership of the Product team under the role Director of Engineering.

He added that there was a chance that the Product Support team, which was merged into our group in October of last year, might be moved out of our department and placed under the control of the new VP of Client Success.

I was given an offer letter on the spot, with a 12 % increase in salary and lots more options. He said he knew I would need time to think about it, but they would really want me to make a decision by the company meeting, which would take place on the afternoon of the next day. The offer didn't surprise me given the circumstances, but the increase in pay was more than I had anticipated.

I weighed what I would be throwing myself into. I would be trading off relatively long days of coding solitude for lots more meeting commitments. I would be responsible for managing things outside the scope of my expertise, like the systems engineering and IT guys. I would more than likely have to be on call 24/7 for server outage alerts. It would be the first time that I would have people reporting to me on a regular basis. I also knew that I would be the only server-side developer left on the team.

On the other hand, here I was at the age of 40 and really in need of experience with leadership. I recalled Drunken Housewife's remark from April where she suggested that I needed to accumulate some management experience. The department would have a leadership vacuum in our boss' absence, and they needed someone to help maintain the positive progress we had made over the past year and a half.

In an act of self-validation, I turned in a signed acceptance of the offer the next day. When the news was announced to the team, there was a collective sigh of relief on my coworkers' faces, which was reassuring. I know that I am looked upon as a reliable resource of information, but being viewed as a leader is a totally different thing.

The remaining days in July were a whirlwind. My life became so full of meetings that I felt like I was working for a completely different company.

As my boss predicted, there was a restructuring that put the Product Support folks under Client Success, which was a bummer for the Product Support team, but it did reduce the amount of fires I had to fight.

Then a week into the job, we closed a very big deal with a client wherein it became clear to our team that they wanted to use the applications in ways that would push parts of our server and user interface code to its limits, if not breaking them. So the focus of our work the next couple of months will be on making it so our app will be able to handle these demands. It will keep us very busy.

With the promotion, I revisited the child support calculation that I did a year ago and updated the numbers with current wages and insurance, turning in the new form on Monday this week I priced STBX's numbers as 40 hours at minimum wage. She got a boost of about 40 or so dollars per week, and I adjusted my direct deposit numbers accordingly.

The next day, after she had interviewed for the instructional aide position, she IMed me at work saying this:
1:18:03 PM STBX: well i just called daycare/preschools for (younger daughter) in case i get the job. it will be anywhere from $600-$800/month for (younger daughter) to go all day. i will probably need your help with this if it happens

As we found out earlier in this post, she didn't get the job.

But nonetheless, that maxed out my stress level for the day. On Thursday night, one of the nights when I had the kids, I was giving them a bath at her place while she was at our older daughter's PTO meeting. I noticed that she left out a notebook where she had taken notes when calling child care places. The three she had listed indeed ranged in the values she said, but all of them were also high end places, which confirmed my suspicion.

If she continues to push this issue, this may transition from an uncontested divorce to a contested one. This week, I will be scoping out divorce attorneys to be ready.

Finally, it should be worth mentioning that I have made a new friend via one of my profiles. She was shy about approaching me, but I'm glad she made the move. We have some commonality of experiences, musical tastes, thought processes, and desires which leads us to enjoy each others' company very much. She has been a source of peace in the malestrom that has been my July and August. I have added her to my blogroll, for those who may be interested in her story.

Wednesday, June 17, 2009

For the Recovering Pr0n Users , a Lighter Look at the Habit

For those of us who may have struggled with compulsive pr0n consumption at one time or another, the comic strip xkcd offers up a dose of laughter.

Wednesday, June 10, 2009

When Bereft of Blog Post Ideas...

... blog about why other people gave up blogging.

But seriously, the New York Times ran an article a few days ago about why people give up blogging. It's definitely worth the peek if you're looking for some good reading material.

The story mentions the following as possible reasons that blogs go quiet or die:

  • Disappointment over the failure to build a large, loyal audience.

  • Increasing difficulty in maintaining anonymity with the rise of social networks.

  • Decreasing availability of free time.

  • Migration to other forms/media, like Twitter.

  • Depletion of ideas.

This topic is of interest to me on two fronts.

First of all, the decline of activity in my own blog has been rehashed over the past year. For me, free time and ideas shortages have been the biggest drains on blogging output. While I still take a peek at the Sitemeter and Google Analytics stats for this blog, I've never had the illusion that I'd build up a huge audience. I don't think this site ever saw more than 100 visits a day, even when the storyline was at its peak level of tension.

Comments always have been welcome. Accumulating a large quantity of them never was a hope, but along the way I accumulated a blogroll and network of friends with whom I could share the parts of my life that I wasn't ready to discuss with others. These days I look upon this blog not so much part of a real-time conversation as an archive of one person's experiences with a series of trying times at the end of the 30s. It's a story far too obscure to be worth a movie, but it's also worth sharing.

And then there's the other front... I've noticed over the past year that activity of most of the blogs on my RSS reader waned. Some have moved on because their blogs outlived their usefulness. Others have disappeared with vague references to anonymity breaches. A few others have gone private, with invitation-only.

A couple of years ago, if I didn't make an effort to read new content on my feeds, after a few days, the backlog would get so large that I would have to "declare bankruptcy" and hit "mark all as read". Now I can go a full week without touching the feed reader, and I can still keep reasonable pace.

I've blogged about the notion of a social graph before. It's the representation of relationships between people, expressed as a mathematical abstraction that's used extensively in computer science. The blogosphere, both via blogrolls and RSS feed subscriptions, give evidence to pieces of the social graph. Some are hubs, with lots of incoming and outbound links. Others are less connected.

Visualized, the set of nodes to which my blog belongs is looking very much like a the seed head of a dandelion. With the passage of time, the seeds drift away from the flower. And so, the nodes fade on this cluster of the graph. For now, I am reluctant to let loose into the free and open blue that is the sky... not while there are still other posts to read and conversations to be had.

So now I'm goin' back again,
I got to get to her somehow.
All the people we used to know
They're an illusion to me now.
Some are mathematicians
Some are carpenter's wives.
Don't know how it all got started,
I don't know what they're doin' with their lives.
But me, I'm still on the road
Headin' for another joint
We always did feel the same,
We just saw it from a different point of view,
Tangled up in blue.

-- Bob Dylan, "Tangled up in Blue", Blood on the Tracks

Cue that harmonica coda.

Saturday, June 06, 2009

All Kids, All the Time

(sitting down on the couch with a glass of Fünf Riesling, listening to the grown up radio station's Saturday night mix of funk, reggae, and jam bands)

Work commitments haven't been as insane of late, but they have kept me busy nonetheless. Lately, the big thing has been kid commitments. Not that there's anything wrong with that. :-)

For both of my kids, the school year wrapped up just before Memorial Day weekend. I took off the Friday morning prior to that weekend so that I could see the end-of-the year presentation put on by my older daughter's kindergarten class.

I had them for the full holiday weekend, from Friday afternoon all the way through Monday evening. We did quite a bit, playing miniature golf (older daughter loved it, younger daughter was good for nine holes), grilling out, and going to see the (cringe) Hannah Montana movie.

Our younger daughter has been having a more difficult time doing without me of late. A lot of evenings, STBX says, the daughter will say that she wants to go stay with me for the night. A couple of times, she has put the younger daughter on the phone as she cries about missing me. According to STBX, the crying doesn't happen after she's gotten into trouble with STBX, so she didn't think it was manipulation of any kind.

Normally, last weekend would have been kid-free, but the fates had other plans. The grown up radio station in town has contests. I sign up for them on their website. Usually, the contests are for free tickets, ranging from private concerts locally to big events like Bonnaroo.

I wound up winning a prize in early May, but it was for the two free tickets to the not-so-far-away theme park where the soft drinks and sunscreen are in abundance and free of cost. The catch was that they were good only up through the end of May, so I made plans with STBX to take her and them on the final Saturday.

We wound up changing plans when the day's forecast showed showers. In light of my younger daughter's desire to see more of me, I picked them up for a few hours that day and took them out to lunch and miniature golf. Although my younger daughter said she wouldn't give up this time around, she lost interest around the ninth hole again.

So we decided to go the next day, which turned out to be a good move because the weather was perfect. Although the park had a good size attendance, lines on the rides subsided after the first couple of hours as people made their way over to the water park.

We went over to the park after eating lunch as well, and the kids seemed to have a better time with sliding down the water slides ad infinitum than they did with the rides, so I'm glad we packed our swim suits.

This trip was the longest I had been around STBX since I had to stay over at her place on Christmas Eve. We managed to stay civil, although at times she seemed edgy with me. I drove us down and back in the same day, so we were able to sidestep the expense and thorny issue of overnight accommodations.

This weekend is the girls' dance school recital, so they are not staying with me. STBX booked them in a lot of classes this year, so both kids will be making a lot of appearances. The younger daughter had two routines, one tumbling and one dance act. The older daugther has three performances -- a tap routine, her competition act, and another hip hop routine that all of the competition team members are performing. Both of them have parts in the finale.

The school is celebrating its 15th anniversary, and it's doing so by making its already grueling recital even longer. Normally the number of acts is somewhere in the low-to-mid 40s. This year, they have 52 of them.

This will be the third year that I will be working one of the follow spotlights they use on solo and duet acts, so I had to be there for the dress rehearsal today. I was there just before 9 am and didn't get out until 5:30 pm. We'll have to be there around 1 pm on Sunday, and between routines and the post show presentation of awards, we probably will be there past 5 again.

Come Monday, evening, I'll have to take off work and get the kids from STBX because she has a preschool co-op meeting around 5:30 pm, so the kids will get some more daddy time. I have the kids next weekend, too.

Although I enjoy being a daddy, I don't feel like I've had much in the way of time to myself away from either work or kids, so I'll be glad to get some quiet time in a couple of weeks. I think the motivation to finish off the divorce paper work will be pretty high by then.

Wednesday, June 03, 2009

Have I Mentioned that I love xkcd?

My wild speculation is that a good chunk of my readership have at one time had a conversation that resembles the first panel of this strip.

If you've got a spare few moments, click on the comic to view some of the other fine creations of this cartoonist.

Friday, May 29, 2009

The Word from the Salt Mine

It's been a week and a half since we wrapped up the project that has consumed so much of my mental energy, and my mind still doesn't feel like it's fully recovered from the experience. Don't get me wrong, I'm proud of the work that my coworkers and I put in to make things ready for prime time. We just operated on a level that is not long-term sustainable.

So, what were we working on? We were busy replacing two user interfaces that were used to approve and decline content. These were old-style web pages that were state of the art, say 10 years ago.

One interface was a confusing list of pending content items that employed radio buttons, and the other was a slow-loading form of checkboxes that showed all content, both pending and moderated.

We ripped both of them out and put into place a design that was modeled more after a web-based e-mail application, where you have a folder list, a message list, and a preview pane.

The new page was AJAX-style, so changes to the page did not require navigation from the page or wholesale refreshes. The problem was that we hand to build a big chunk of server side-support for these AJAX calls from the ground up.

On the front end, we built the user interface using some new approaches that made it possible for us to partition the labor of creating the components, meaning much of it could be done in parallel. While getting some of the interface behaviors to work in a way that people would be most familiar, getting the pieces to talk to one another worked way better than all of us could have imagined.

Emerging from this development cycle, I can certainly say that I am way better at programming in JavaScript than I was a year ago. This project pushed me to my limits in that area and then some.

As far as the rest of my life is concerned, there isn't a whole lot new to report. STBX is still job hunting, at least as much as she needs to to qualify for her unemployment benefits. I know that she actually took a skills test for a temporary agency a couple weeks ago.

My older daughter finished her first year of kindergarten last week and will be heading off to first grade. We're still waiting on the final report card, but I'm pretty sure it will show that she made good progress.

She's become a lot more self-disciplined over the year. When we first would sit down to work with her homework, it was very hard for her to focus on the task. By the end of the year, she was really enjoying it. She's getting more confident in sounding out words, and she's been interested in doing arithmetic.

We've also had some chances to break out my Schoolhouse Rock DVD to learn about things like adjectives and verbs because those things have been brought up in her homeworks. Her favorite of the SR canon is "Interjection."

My younger daughter wrapped up her second-to-last year of preschool and has taken an intense interest in art. She loves coloring, both in coloring books and creating new pictures. I keep an ample stockpile of both crayons and paper so that she can keep occupied.

She did have one bad moment about a month ago. One Monday night, I got a call from STBX shortly after 9 pm, telling me that I needed to come over and speak to my daughter right away because she was running out of patience with her.

Over the prior week, the younger daughter had become increasingly resistant to going to bed, and she had gone over the top in her defiance. She was crying, hitting her mother and throwing toys around. STBX had collected most of her toys and put them in a tote. I had a talk with our daughter and sent her off to bed. I then agreed to take the totes so that the younger daughter would be without toys for a week. It suffices to say that she started going to bed without any more hassle.

Both daughters are also wrapping up their third year at dance school. The recital will be next Sunday. The older daughter was on the competition team this year, and they've participated in four meets locally. They have gotten a lot of recognition for the routine, and in the last week of June, they will be going up a national competition up in Wisconsin.

Moving on to a reader comment, John over at Dad's Life writes:
As a long time follower, I'm becoming a bit puzzled/disappointed. After doing so much hard work in your marriage and leaving, after doing all the Schnarch work, now what? Is this really consistent with Schnarch's principle's? I don't mean to be harsh; as someone who used Schnarch himself, I often wondered what he would have us do if our marriage is not salvageable. I seem to have salvaged mine, and I'm thankful for that. But I could just have easily taken your path and so I follow and wonder: what now

It's a question worth pondering and it's one I don't have a complete answer to it. One of Schnarch's key concepts is the notion of development cycles, where one moves from comfort to growth and back. Over the course of this blog, I believe that I have been through five separate cycles.

  1. Self confrontation over my intimate relationship.

  2. Self confrontation over the direction of my career.

  3. Self confrontation over my technical skills.

  4. Self confrontation over my leadership skills.

  5. Self confrontation over my spiritual foundation.

This blog started at a time in my life where the first cycle was just about to begin. I knew that something was not right in my marriage, but I couldn't quite bring myself to destabilize it.

After about three or four months of blogging, the second growth cycle began to shift into motion. I was facing the possibility of losing a job and fearful that I might not be able to find one.

Once I found a new job, a new challenge lay before me -- thoroughly retooling my skills. I knew I had a lot to learn coming into the job, and I rose to the challenge, but I still had a lot of moments where I didn't trust my judgment because I didn't feel like I had adequate experience to make the call.

My boss, who is 10 years younger than me but very much a confident leader, picked up on this and made it a priority for us to work on me becoming more of a leader within the group. These two crucibles have been a big part of why I have sunk so many hours into my labors. While it's true that I've had a lot on my plate, that sheer volume and the stress it's put me under is part and parcel the "pain for growth" that Schnarch talks about.

I can say one thing for certain from all of this. Had I had half as much motivation as I do now some 18 years ago, I would not have lost my way in graduate school. By that yardstick, I have grown immensely in this job.

Finally, there is the spiritual crucible, and it's one I haven't put a much energy into as I probably should. The changes I have been through over the past three years have been disorienting, causing me to call into question a lot of core beliefs. Every once in a while I go there, and I wind up writing something like "Fall on Me[1]", but I don't stay there too long.

Over time, I have come to realize that some of the central issues brought up in Schnarch tie into Existentialism. How do we deal with the realization that it's up to ourselves to perform the ultimate act of self-validation and give our lives meaning in a universe where we are at a distance seemingly insignificant.

Indeed, in his larger treatise, Constructing the Sexual Crucible, Schnarch draws upon Kierkegaard, one of the pillars of Existentialism, and his concept of Teleological Suspension of the Ethical to take on the poorly differentiated approach to sexual recovery.

I'm still trying to sift out where my beliefs lie. I have moved past loneliness anxiety for the most part, but I am vexed by fears of the future and the loss of autonomy. My father's accident and hospitalization a couple months ago have weighed heavily on me. I don't want to be in that situation in my latter years, for to me the loss is worse than that of death. Life is a gift, to be sure. Yet, I don't want the cost of a prolonged subexistence to be carried by my family.

In the meantime, I plunge myself into the act of creation, be that in writing code or the raising of my daughters. For when I am creating, I feel less aware of these fears, and I feel integrated with the pulse of the universe. Things may be quiet, but I am by no means adrift.