There’s something wonderfully amusing in listening to the four year old talk smack with the thirteen year old.
Month: January 2010
Of Grasshoppers
Student: I am overwhelmed.
Master: Perhaps you do too much at once.
Of Grasshoppers
Student: I was very happy until I was told I wasn’t.
Master: With great effort, we climb to heights from which it is so easy to be knocked down.
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.
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?]
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.
And if the crik don’t rise…
Rains 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.
IRC Support for Zend Framework is on Freenode
The unofficial IRC support channel for Zend Framework is on Freenode at #zftalk.
Teens in ABC Documentary: Oral Sex Is the New Goodnight Kiss
One, there are some things a father does not want to hear:
Oral Sex is the New Goodnight Kiss [Source, Mashtrends, Teens in ABC Documentary: Oral Sex Is the New Goodnight Kiss]
Two, holy cow, I was born 25 years too early! In all seriousness, I hope this report is media hype and construed data:
After four years researching for the documentary, Azam told "Good Morning America" that oral sex is as common as kissing for teens and that casual prostitution — being paid at parties to strip, give sexual favors or have sex — is far more commonplace than once believed. [Source, Mashtrends, Teens in ABC Documentary: Oral Sex Is the New Goodnight Kiss]
Talk to your teens! The schools are certainly not giving adequate sex education.
Air America is gone
Announced today at AirAmerica.com:
It is with the greatest regret, on behalf of our Board, that we must announce that Air America Media is ceasing its live programming operations as of this afternoon, and that the Company will file soon under Chapter 7 of the Bankruptcy Code to carry out an orderly winding-down of the business. … Air America Radio launched in April, 2004. [Source, AirAmerica]
Current Magento Questions – getCustomerFormData
The Magento ecommerce question I am trying to answer right now is what does getCustomerFormData() do?
In AccountController.php and Register.php there is this reference $data = $this->_getSession()->getCustomerFormData(true); and this reference $data = new Varien_Object(Mage::getSingleton(‘customer/session’)->getCustomerFormData(true)); respectively. I’ve searched using grep and within eclipse’s file search but can find no other reference to getCustomerFormData.
I can find no reference to getCustomerFormData other than these two lines of code. So what is this supposed to be accomplishing?
Protected: Can you read this?
Magento – Developer Killer
While trying to add some functionality to my client’s Magento ecommerce store, I came across an article that summed up my Magento experience quite well:
Most of us in ecommerce application development have already heard of Magento. Some would call it new ecommerce killer app. I myself stand with that statement for many of reasons. However I would like to call it with one more name, developer killer app. This developer killer is what I literally had in mind. Magento is currently one of the most difficult PHP systems out there a developer could learn and master. [Source, {}activecodeline, What makes Magento so hard to learn (emphasis added)]
I have put so much effort into learning this system that I both never want to touch it again AND must do more Magento development so that this exercise of gaining knowledge does not go to waste.
Today’s links for Magento success:
The roads are not safe!
My daughter just passed her driving test. She’s licensed to drive sans parent! Congrats Sarah!
Of Grasshoppers
Student: Correcting the results of my poor judgments is ridiculously difficult.
Master: Much easier to use good judgment in the first place.