Wednesday, January 31, 2007

Busy busy busy

My apartment finally got under contract. Getting the mortgage processed this week. Started the paperwork for the Cooperative Board interview in three weeks.

Finished my taxes tonight. A bit strange having an appointment at H&R Block at 9pm on a Wednesday, but it worked out well in the end. I don't owe as much as I thought, which is a pleasant change compared to previous years.

Had dinner and Dunkin Donuts hot chocolate with Kyle last night and got caught up.

Spent most of the day again tracking down a nasty race condition. Finally nailed it after a day and a half in front of a debugger. Work has slowed down a bit this week, which is a long desired change in pace. I'm sure it will pick up again in a couple of weeks, but in the meantime it's giving me a chance to do some cleanup work and plan for the next big thing.

Need to start packing, get things in order. Find a mover. Look into finding someone to resurface the floors before I move in. Fun fun fun.

Monday, January 29, 2007

Jeff on TV

Was at home plugging away on my laptop a few days ago and was distracted by what sounded like the company's office manager telling a joke in a fake English accent. I look up at the TV and there is Jeff, on national television, doing a commercial for Raisin Bran.

Very cool.

Pictures from Vermont

Finally got around to posting the pictures from Vermont.

Finished putting my kitchen back in order. Cleaned. Watched Studio 60.

Tired now. Sleep.

Sunday, January 28, 2007

Goofy Dork Camaraderie

In Philly. Vikki and I went out to the Helium Comedy Club last night with her friends Jayme and Jeremy. The act was pretty funny. Got Gelato afterward, which brings back fond memories of Venice.

Spent a good portion of yesterday afternoon in the Last Drop trying to get MythTV to compile under OS X. It would appear that my problem lies in how MythTV figures out what type of CPU my system has. While MythTV has been running under OS X, even the Intel version for some time, I was surprised to see it just though I had a basic x86 CPU.

Then I looked at the output of the OS X /usr/bin/hostinfo tool:

devin-heitmuellers-computer-2:~/mythtv/src/mythtv devinheitmueller$ /usr/bin/hostinfo
Mach kernel version:
Darwin Kernel Version 8.8.3: Wed Oct 18 21:57:10 PDT 2006; root:xnu-792.15.4.obj~4/RELEASE_I386
Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 512.00 megabytes
Default processor set: 49 tasks, 160 threads, 2 processors
Load average: 0.19, Mach factor: 1.79

My best guess is that Apple hasn't added support to OS X the CPU identifier for the Intel Core 2 Duo CPU in my new MacBook.

For some reason I found myself explaining my discovery to Vikki, which attracted the attention of some other Mac user in the coffee house to come over and take a look. He was asking if I run Parallels or something else that might throw it off. At this point Vikki noted that I was having a "Computer Bonding moment". After we left the coffee house, she later re-characterized it as "goofy dork camaraderie".

Wednesday, January 24, 2007

Resumption of normalcy

Took the day off. Got my second MythTV system setup for debugging. Installed the 300GB hard drive and Hauppauge card I bought last week. Isolated a couple of install related issues, and started to put together patches for submission to the trunk. Painted the kitchen (finally). Watched some TV. Hot chocolate from Starbucks and a book. A nice quiet day to myself.

Going to Philadelphia this weekend which will be nice.

Monday, January 22, 2007

64 bits is twice as fun as 32!

Day 21, worked 9:30 to 9:30.

Started looking at the 64 bit, version of the software. Uncovered a host of bugs not because its 64 bit instead of 32 bit, but rather because on 64 bit Windows the software gets installed into "c:\program files (x86)" instead of "c:\program files" and somebody never considered the possibility of executing a command line longer than 255 characters. Oh yeah, and he decided to do an unbounded sprintf so going over 255 characters caused a stack overflow crashing my software. Amateur hour. At least Microsoft's got a good remote debugger that works on 64 bit platforms, which is more than I can say from my experience with Suse Linux.

Other than that, things are looking ok. I'm still sick and completely exhausted and wondering when on Earth I can stop working 12 hours a day and weekends without a single day off in fucking 21 days.

Isolated a bug in Perl core today which was the root of the mysterious crashes in my multithreaded interpreter. That was cool. Modules are notoriously buggy, but to find a bug in the Perl core itself is pretty rare. It's like when you find a bug in the C/C++ optimizer. People always point fingers at the optimizer and 99.99% of the time it's you doing something stupid and not the optimizer. Submitted a patch via perlbug (RT 41318).

Going to bed early tonight, hopefully some rest will help me overcome the cold I have.

Sunday, January 21, 2007


Worked 11:00 to 7:00. Refactored a bunch of version management code, so it should be much easier to manage (fixed some bugs too).

Got XCode and Fink installed on the new laptop. Going to try to compile the mythtv frontend. Downloading the latest beta code so I can load it on the development rig.

Tired. Looks like I caught a cold too.

Saturday, January 20, 2007

What is, "burnout"?

Had a great deal of difficulty getting moving this morning and into the office. This is day 19 without a day off.

My girlfriend is downstairs at the Starbucks. I am up here in the office. We're going to the movies tonight to see Children of Men if I can ever get this shit working.

I have no motivation. Why am I even here?

I would rather be at home tinkering with my MythTV code, or playing Scrabble with Vikki.

Thursday, January 18, 2007


Worked from 11:00 to 11:00. Was actually a really productive day - made substantial progress on all three major subsystems required for Monday's deliverable. Still a ton of work left, but a number of the issues with a higher probability of causing headaches seem to have gone my way with less effort than expected.

So tired. Must sleep.

Tuesday, January 16, 2007


Worked 10:00 to 11:00 today. Making incremental progress but still have no idea how I'm going to make this work by Monday. Fifteen days so far without a day off. Looks like this weekend is shot too.

The light at the end of the tunnel is an oncoming train.

Monday, January 15, 2007

Jan. 15, 1969: White-Knuckle Ride

Here's a good read about a Soyuz mission gone awry.,72465-0.html?tw=wn_index_6

I especially like this part:

The craft reentering the atmosphere was much larger than it should have been and as aerobraking began it sought the most aerodynamically stable position possible. Unfortunately for Volynov, that position was nose forward into the air stream, leaving only the light metal entry hatch between him and certain death.

Saturday, January 13, 2007


Spent the better part of the day analyzing the code to mod_perl (the only thing other than Perl itself I could think of that embeds the Perl interpreter). Trying to get a handle on the most reliable way to use all the macros for calling eval_pv, eval_sv, call_pv, etc. (ENTER, LEAVE, PUTBACK, FREETMPS, PUSHMARK, SAVETMPS). What happens when you make multiple calls? When are the contexts cleaned up? The fun that is perlapi, perlcall, perlxs, perlxstut, perlthrtut, perlguts.

Then I discovered this wonderful little gem:

EmbeddedPerl *ep3 = new EmbeddedPerl();
EmbeddedPerl *ep2 = new EmbeddedPerl();
delete ep3;
delete ep2;

crashes my test rig. It turns up there is some bug in my code where if you have multiple interpreters defined at the same time in the same thread the perl_destroy() code doesn't do deallocation properly of the stack on the second instance (at least on Win32, that is).

Shit. Looks like the one XS module I have in the entire stack is not threadsafe. But this isn't even a thread-safeness issue since both interpreters are on the same thread. It's really multiplicity.

I'm going home now. I really need someone to help me write a series of test cases for my Embedded Perl. Marty, where the hell are you?

P.S. Xerces leaks about six kilobytes per instance of the interpreter. Need to look at whether their SWIG bindings expect some explicit deallocation routine to be called in an END block or something.

Friday, January 12, 2007

Moving right along...

Worked from 9:45 to 11:00. Spent the whole day isolating memory leaks in an embedded Perl implementation. Score one for Compuware BoundsChecker. Want to look at the mod_perl source though still, since the Perl docs are confusing at best and it would be very helpful to compare my stuff against an implementation that has been thoroughly vetted.

Wednesday, January 10, 2007


Worked 9:45 to 12:00 (took an hour off in the afternoon to deal with contracts for my apartment). Just getting home now. On the bright side, I think I pretty much got the stuff working that I wanted to.


Tuesday, January 9, 2007

The more you look...

Worked 9:45 to 1:00. The more I look, the more problems I find. I think things are under better control now though.


Monday, January 8, 2007

Work work work

Was at work from 9:45 to 10:30 today. Got a bunch done and some serious cleanup on the C++ code, but behind schedule a bit so will have to play catch-up tomorrow.

Had a busy weekend:

Paid my taxes
Worked ten hours at the office
Painted my kitchen
Replaced the video card in my MythTV, thereby fixing the color problems I was having.
Bought an apartment

Now I'm sure many of you are wondering why the hell I would paint my kitchen when I am buying an apartment. Good question. The whole apartment buying idea is something that literally transpired in the last six days from the time Vikki gave sent me the listing to my getting the offer accepted. Two weeks ago I had done all the prep/sanding/spackeling of the kitchen, so I had pretty much passed the point of no return already. Regardless of the fact that I won't be staying here much longer, at least I will be able to enjoy not having a kitchen that is what I can best describe as Sherbert green.

Regarding the apartment, I have received a couple of requests for what/where it is, etc. It's a loft studio apartment at 35th Street and 5th Avenue in Manhattan. It is on the 7th floor and has a picture window that looks up at the Empire State building. It has 12 foot ceilings and approximately 625 square feet. Kitchen and bathroom are both serviceable but nothing fancy. The building has a rooftop patio with tables. Will post some pictures when I get them.

Sunday, January 7, 2007

Holy crap

Holy Crap. I'm buying an apartment in midtown Manhattan (35th and 5th). Application was completed and sent in this morning and my offer was accepted this afternoon.

Holy crap.

Thursday, January 4, 2007

Exhausted but can't sleep

I'm absolutely exhausted. I've also been laying in bed wide awake for the last three or four hours. The anxiety over what is going on at work combined with the apartment situation (I'm making an offer tomorrow), and my mind just can't relax and go to sleep. I had the same problem last night too and only got a couple of hours sleep, which just makes it worse tonight.

Very annoying.

Looks like I'm going to have to work through the weekend too if I'm going to get this stuff working in time.

The hardware for my MythTV development rig showed up today. At this rate I won't get around to playing with it until who knows when, but at least it's here.

Tuesday, January 2, 2007

What a bitch

Still at work. Think I figured out the problem that was preventing cluster operations from working properly (something that held up a number of people most of the day).

I hate to blame it on "state management", but what a pain. I have done a bunch of work to clean up the code, but am suffering from a classic case where cleaning up the code exposes other problems. It's like the episode of "Flip this House" I was watching this weekend where a simple floor repair resulted in them discovering that all the floor joists were falling apart from terminate damage.

Will hopefully get out of here in the next few minutes. Just need to cleanup the regression rig.

Oh yeah, and I think I found an apartment I am going to buy in Manhattan.