I have not been keeping up with my weekly postings. Truly I am sorry. Every time I open my standard set of daily links, the WordPress login screen is there staring at me, making me feel guilty.
Things have been crazy busy in December. When life gets totally insane, I tend to live too much inside my own head. I get a bit mental. The universe has a way of bringing a person back to the present and enhancing your awareness of the physical world. Here is how it happened to me.
We (my wife and three kids) have outgrown our current house. Not really, but we want more room, so this summer we were looking at houses in the area that cost way more than we could afford. It was fun to just dream. In August we found a house that would be a short sale. That mean the people owe more than they can get when they sell the house.
This house is great, it was their dream house. All the little extras are there. We put in an offer, and it got approved. This was in late August. Because it is a short sale, the original mortgage holder has to review and approve the offer. They loose money, but avoid a foreclosure, so I understand why they want to look at these sales very closely. If there was no approval, the bank would foreclose on the house in December.
That was August. We finally heard the offer was approved the Wednesday before Thanksgiving. The file for this house was in a different department, where it did not belong. It was only due to lucky chance and our great real-estate person that it was found. Of course, that day we were leaving town, the kids were running around and it was completely nuts.
At the same time we are going back and forth with a new home offer, getting funds (we have to get the down payment without selling our current home, short sell hell), and starting to pack 9 years and 3 kids of stuff, work was also going off the rails. We shipped a major release in December. In this release the main application for one of our products included the completely refactored code I wrote. Mostly things were good, really good compared to rewrites I have lived through in the past.
We have a problem in a third party library we use. It gets serial communication errors that are fatal. The recovery is to close everything and re-initialize the serial port and library. It is ugly. I have spent all of last week digging though C code I did not write, searching for the error. This is not kind, clear C code. It uses multiple global flags and the “?” operator in if statements. Bad.
Still, it works. The errors only happen one in 100-1000 packets. On some devices, they never happen. Some devices are really bad, then get better. I honestly have no idea what the exact cause of the error could be. Every firmware engineer has had a go at this problem. There are lots of institutional myths built up around it, which are misleading black holes.
So, last Wednesday, I have been deep in this code for the past 7 hours, trying to find the error path or combination of flags that cause the error. In addition I was not sure if funds from my 401(k) would make it in time for the closing on the new house. I was tired and stressed.
With all this running in my head, I went to take the last piss of the day, start overnight tests and go home. As I said, I was too much lost in my own head. Suddenly, as I zipped up, I caught a tiny bit of foreskin in my zipper. Not quite a seen from Something About Mary but enough to wake me up and bring me right back to ground.
Thanks Universe, I needed a wake up call.
So the closing was delayed, the check made it in time. I found a work around that recovers as soon as the error is detected, not the root cause, but better.
I will get back to posting too.