Posted on 1 Comment

My Life as a Comedy – Sarah’s Car Accident

Preface

To fully appreciate the events you are about to read, you must understand that Knoxville had a snow and ice storm over the weekend. The forecast was so certain that announcements on Thursday night declared all area schools closed for Friday, except Pellissippi State Community College where my oldest son attends. The snow came Friday afternoon and PTSCC closed early.

We are a seven person household with five children attending five different schools: pre-school, elementary, middle, high, and college. We have one functioning vehicle.

Setting

On Monday, schools delayed opening two hours due to icy roads. Normally, Sarah gets a ride to the high school with a neighbor who teaches at the high school. To protect identities, let’s call her Tonya. For the past decade, I have worked out of my basement, telecommuting to answer my client’s needs around the world. On this particular Monday, I actually had a rare onsite appointment from 8am to 5pm downtown. Before leaving, I asked Sarah, "Do you have a ride?" She replied, "I called last night and Tonya wasn’t there but they said she’d call back if she couldn’t give me a ride. She didn’t call back so I’m good." I left. At 9am, with 30 minutes left before Sarah’s 2 hour delayed pickup, Tonya’s husband called. To protect identities, let’s call him Randy. Randy explained that Tonya went to the high school early. I knew Cathy, my wife, was fighting a migraine and sleeping in so I called Sarah directly. Sarah explained her boy friend, let’s call him Zach, would drive her to school.

Calamity

Cathy calls me a little amped, "Sarah and Tonya have been in an accident! Air bags went off and Sarah won’t call an ambulance because she’s waiting for the police. You’ve got to call Randy and tell him that Tonya’s been in an accident."

Confusion

I stare into my half finished first cup of coffee trying to shake the fog out of my head and process what I’ve just heard, "Tonya. Sarah. Accident. Call Randy." That doesn’t make sense. Other thoughts: "The woman is always right" "Yes dear" "Want a happy life, keep a happy wife!" I call Randy and about the time his very confused question, "Tonya was in an accident?" hit my ear, I realized Cathy didn’t know Zach drove Sarah so I apologized to Randy for the confusion and called Cathy.

Enter Larry, Moe and Curly stage left

If Cathy could be sheepish over the phone, she pulled it off, "Whoops. I just told the elementary school they had a pregnant woman in a car accident in the parking lot and they needed to get her to a doctor." Later that night I apologize to Randy again who chuckles and asks, "Did you know I was in an accident today?" No way! Then he explains, "See, Tonya took my car in today and I drove hers. So when her principal, let’s call him Dr. Barlett, checked on her because he’d heard she’d been in an accident, probably from the elementary school, she just knew someone had seen her car in an accident, assumed it was her, she knew it had to be me, and called to see if I was okay." Cymbal crash.

Posted on 6 Comments

Red car syndrome for my heart

Over the weekend I was messing with my father-in-law’s blood pressure cuff and it came back with a reading of 216/119 for me. This put many people up in arms. When the cuff gave its reading, my inlaws and wife were staring at me like I was the walking dead. After HIPPA was broken and my numbers broadcast to the world, I committed to get back on blood pressure medicine. That hasn’t happen yet. Turns out the prescription which I ran out of 4, 5, or 6 months or more ago expired on January 29. Despite the tension in my chest, I cannot get a refill until I see the doctor. Let’s talk about that tension. Prior to the reading, the tension was there but I didn’t think about it. Now I feel like Fred Sanford. “Elizabeth I’m coming to ya!” How much tension? I just stretched and my ribs popped like cracking knuckles. Nothing has changed but perception. I’m fine but aware.

Posted on 1 Comment

So you want to work for youself

The grass is always greener on the other side. If you dream of escaping Cubeville to work as a freelancer or consultant taking business calls from the beach, setting your own schedule, working in pajamas or nothing at all, and taking vacations whenever you want, I am here to warn you about the brown spots in that greener grass. The biggest brown spot will be cash flow. That 8 to 5 job which you view as a prison to escape provides something unknown to the self-employed…predictable income. For instance, I expected a full payment from one client last night; instead, I received a half payment today. That should be no big deal since another client was scheduled to deliver a full payment today but instead delivered a message that the payment should come tomorrow. These scenarios are why people recommend keeping 6 months of income in the bank. If you don’t have that, the greener grass is too dangerous. Stay in Cubeville! If you are venturing over here from Cubeville with that 6 month income in the bank, your exit plan from self-employment back to Cubeville better be well before that reserve hits zero. Exit plan? Don’t have one? Well, that’s for a different post, but if you don’t have an exit plan, you aren’t ready for self-employment.

Posted on Leave a comment

My Snowy Saturday…working

The children are playing in the snow and taking breaks to warm in front of various video games from killing zombies, to fighting a Legoized Darth Vader, to playing songs with the Beetles. In the meantime, I’m day dreaming of working on the house while pounding keys on the computer. I just overcame one of my weekend’s technical hurdles. I think that calls for a lunch break. After lunch, I return to programming.

Posted on 1 Comment

BBC explains why people vote against their own interests

The BBC has delivered some excellent commentary on what we are living in American politics. These quotes hit the nail on the head:

[Thomas Frank] believes that the voters’ preference for emotional engagement over reasonable argument has allowed the Republican Party to blind them to their own real interests.

Right-wing politics has become a vehicle for channelling this popular anger against intellectual snobs. The result is that many of America’s poorest citizens have a deep emotional attachment to a party that serves the interests of its richest.

[Source, BBC, Why do people often vote against their own interests?]

…whatever disadvantaged Americans think they are voting for, they get something quite different:
"You vote to strike a blow against elitism and you receive a social order in which wealth is more concentrated than ever before in our life times, workers have been stripped of power, and CEOs are rewarded in a manner that is beyond imagining." [Source, BBC, Why do people often vote against their own interests?]

And here’s my favorite. One for the history books:

"It’s like a French Revolution in reverse in which the workers come pouring down the street screaming more power to the aristocracy." [Source, BBC, Why do people often vote against their own interests?]

Posted on Leave a comment

Magento – Not currently favorite color

Why is debugging and troubleshooting in Magento so difficult? Because of error messages like this:

Notice: Undefined variable: rootNode in C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Eav\Model\Entity\Attribute\Source\Config.php on line 53
Trace:
#0 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Eav\Model\Entity\Attribute\Source\Config.php(53): mageCoreErrorHandler(8, ‘Undefined varia…’, ‘C:\Domains\exam…’, 53, Array)
#1 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Adminhtml\Block\Widget\Form.php(196): Mage_Eav_Model_Entity_Attribute_Source_Config->getAllOptions(true, true)
#2 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Adminhtml\Block\Customer\Edit\Tab\Account.php(54): Mage_Adminhtml_Block_Widget_Form->_setFieldset(Array, Object(Varien_Data_Form_Element_Fieldset))
#3 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Adminhtml\Block\Customer\Edit\Tabs.php(58): Mage_Adminhtml_Block_Customer_Edit_Tab_Account->initForm()
#4 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Abstract.php(642): Mage_Adminhtml_Block_Customer_Edit_Tabs->_beforeToHtml()
#5 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Text\List.php(43): Mage_Core_Block_Abstract->toHtml()
#6 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Abstract.php(643): Mage_Core_Block_Text_List->_toHtml()
#7 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Abstract.php(503): Mage_Core_Block_Abstract->toHtml()
#8 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Abstract.php(454): Mage_Core_Block_Abstract->_getChildHtml(‘left’, true)
#9 C:\Domains\example.com\wwwroot\magento\app\design\adminhtml\default\default\template\page.phtml(58): Mage_Core_Block_Abstract->getChildHtml(‘left’)
#10 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Template.php(144): include(‘C:\Domains\leoa…’)
#11 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Template.php(176): Mage_Core_Block_Template->fetchView(‘adminhtml\defau…’)
#12 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Template.php(193): Mage_Core_Block_Template->renderView()
#13 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Adminhtml\Block\Template.php(81): Mage_Core_Block_Template->_toHtml()
#14 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Block\Abstract.php(643): Mage_Adminhtml_Block_Template->_toHtml()
#15 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Model\Layout.php(526): Mage_Core_Block_Abstract->toHtml()
#16 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(347): Mage_Core_Model_Layout->getOutput()
#17 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Adminhtml\controllers\CustomerController.php(117): Mage_Core_Controller_Varien_Action->renderLayout()
#18 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(376): Mage_Adminhtml_CustomerController->editAction()
#19 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch(‘edit’)
#20 C:\Domains\example.com\wwwroot\magento\app\code\core\Mage\Core\Controller\Varien\Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#21 C:\Domains\example.com\wwwroot\magento\app\Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
#22 C:\Domains\example.com\wwwroot\magento\index.php(65): Mage::run()
#23 {main}

Yes, it screams "undefined variable" which is rootNode but through Magento’s excellent use of object oriented spaghetti, the error does not in anyway reveal what is truly causing rootNode to be undefined nor where to even begin looking.

Posted on 3 Comments

And if the crik don’t rise…

working the trenchesRains have come. The creek out back has enough water in it that we can see the water from the house. I just checked the trench, wanna be French drain, that protects our basement from flood and sure enough, the sides have collapsed. We don’t have water in the basement yet but will if I don’t get out there and dig us out. I need to be programming every second of today but this has to take priority. Back to the Mosquito Coast.


Note: On the above video, after the first twenty seconds or so I figure out how to not have that obnoxious noise.


The creek in this video is at least 5 feet deep.