Friday, December 26, 2008

The Day After Christmas


A friend of mine, John Austin wrote a song about the day after Christmas and it's pretty good. It paints a picture of the strewn detritus that is pretty inevitable after the typical family Christmas. It would work as a pretty good "morning after" song in general, and he just picked December 26th as the biggest let-down day of them all. It's a hopeful song, though, and like a lot of John's songs points to hope in tragedy.

My parents countered that inevitable post-holiday letdown in their own way. They were married on Boxing Day in England. In all fairness, Boxing day is really still a pretty big deal in the UK. It's the day after Christmas when people still give gifts and everything is still closed. This, of course, made it hard to find things like florists and caterers, but all the same, there they were.

My Dad is a small-town methodist, and my Mom was as Catholic as they come. They were married in England after a really quick courtship. I'm not sure my Dad's family even made the trip from upstate New York. I know my Mom's Catholic great-aunt almost boycotted the wedding because they would be serving communion to a protestant. But there they were, married nonetheless.

So they added some joy to the day after Christmas that wasn't there before. For our family, the time between Thanksgiving and New Year's is one event after another. I, my sister, and my grandmother all have December birthdays. We celebrate our parents' anniversary, and, oh yeah, there's Christmas.

December was stressful growing up. There was a lot to remember, and we always seemed to have lots to do and gifts to buy. Looking back, though, I think my parents made the right call - picking the 26th for their wedding. For them, the day after Christmas is not just changing batteries, cleaning the mess, and eating leftovers. It is a dinner out, sweet gifts, and a memory of a wedding that happened 41 years ago, across an ocean, in a small chapel, on a day when everything else was closed.

So Merry Day After Christmas to you all. And happy anniversary, Mom and Dad.

Tuesday, December 23, 2008

My wife brought this home from a Christmas Party

Stupid white elephant gift exchange. Seriously.

Saturday, December 20, 2008

She rocks the Old MacDonald

Our five year old had her first piano recital on Thursday. She practiced Old MacDonald like mad and here was the result:



Unfortuately, my friend Bart called in the middle of the performance, so we missed the thrilling "here a song, there a song, everywhere a song song." but it was good. My favorite part was when she held out a whole note, she would sing "hooold two three four" - like we needed to know she was pausing on purpose.




The teachers, God bless' em made the kids do a rock-n-roll bow at the end a-la Spinal Tap. It was thrilling to say the least.



I was pretty surprised when the teacher said that her pitch and rhythm were advanced for her age, and that she could pitch-match with her voice. I guess I hadn't been noticing (bad Dad!), but I've always loved it when she sings. I think she wants a violin next.

Wednesday, December 17, 2008

Dining out: Restaurants named after foods

I have an informal rule about dining out.
When dining at a restaurant that has a "famous" dish (e.g. "El Famous Burrito"), or an eponymous dish (Steak and Shake), one must always order said dish on the first visit to that restaurant.
Usually it works out, with the obvious exceptions of Red Lobster and Olive Garden. And I did bend the rule at the Chicago Chop House, by ordering steak instead of chops. But I've had prime rib at Lawry's, Burritos at numerous establishments. I've eaten Chicken at Harold's Chicken Shack and, of course, numerous burgers and pizzas.

The real treat comes when restaurants have a special that is named for the restaurant. Such as the "Combinacion El Tapatio" at El Tapatio in Chicago on Ashland and Roscoe. Ordered that the first time I went there and loved it. I've probably ordered that a dozen times. Still don't know what it is... I think some kind of tacos and enchiladas. But it's great, and I'll order it again.

The dilemma occurs, of course, when numerous items are named after the restaurant (e.g. the "Lloyd's house salad", and the "Lloyd's burger" and the "Lloyd's chipped beef on toast"). When that happens, I usually forego the rule because - let's face it - there is obviously no sacred bond between Lloyd and that salad. Probably Lloyd just paid attention during the brand and marketing class in business school.

The rule has served me well, and I will most certainly continue to follow it. Of course, I will need to venture carefully if I ever go to Hooters.

Monday, December 15, 2008

Sugar and my daughter, Grendel-Beast

We had Beck's brother over on Saturday to build gingerbread houses and mingle the cousins. We had a great time. The above photo is me holding a sugar-crazed daughter who miraculously stopped moving long enough to get a picture.

The houses were great. Except for my friend Laura's house that didn't exactly stick together using frosting. So... we went to the hot glue gun. FYI - if you need to build a gingerbread house in a hurry (and hey, who doesn't) a hot glue gun works WAY better than frosting. And... the glue is non-toxic, so therefore everything is officially edible. Of course, no one eats a gingerbread house anyway. They just sit on their cardboard getting stale while we all pick the jujubees off the roof.

Anyway good time was had by all - until about 10 o'clock. We had geniusly timed my two-year -old's sugar rush to dissipate at 9 pm, so she went to sleep while I was reading her stories (LOVE when that happens). But my five year old turned in to Grendel the beast at about 10:30. She was that unholy combination of sugar, lack-of-sleep, and being five. She spun a legendary tantrum that not only woke her sister, but invoked the dreaded Santa threat ("you think Santa's going to bring you presents if you keep acting like this?") Histrionics ensued, and then finally, peace.

It's worth it though. Parents only get about five or six years to create magic Christmases and after that it's all i-Tunes gift cards and mountain bikes. So we'll keep making the gingerbread and cookies, and deal with the tantrums. I say it's an even trade. But, if someone knows of a good sugar-free Christmas treat, I'm all ears.

Thursday, December 11, 2008

It's the hypocrisy, stupid

I hate hypocrisy. I think we all do. Especially this time of year.

Christmas is an extremely dishonest time of year - we greet each other with "Merry Christmas" and extol the "Christmas Spirit." The truth is one in ten of us are out of a job and the other nine are scared to death. I'm stressed out about shopping and bills. I don't know how this is going to end.

So I think that is what galls us so much about Blago. He is the hypocrite's hypocrite. He lies as a first option, not a last resort. He was elected to root out the corrupt state government and restore honor to the gov-ship of Illinois after the Ryan debacle. Instead he's just as sleazy.

That actually makes him worse because not only did he rip us off, he played holier than thou while he was doing it by differentiating himself from the other crooks. Kind of like an anti-gay congressman being caught in a men's room stall.

It just seems particularly bad at Christmas.

Friday, December 05, 2008

How they will view the recession in 100 years

I have been thinking a lot about the current recession, like every other American, and I was wondering if part of our problem was that we have a very narrow historical view of what is happening.

What got me thinking was the way people are running around saying that the current problem is all Clinton's fault. Or Reagan's. Or Carter's. I'll betcha that the crisis in the 70's could be traced back to the 50s, and the way the economy was restructured to accommodate the suburban explosion of post-war America. 1950s America was the result of a deficit-friendly government providing college educations and jobs to most white Americans.

Before that, we had the war-industrial complex with a depression sandwiched between two huge wars. But what came before World War I? What was so significant about the last third of the 19th century?

How bout this for a thought. The problems we are facing now are just a continuation of the economic structure that was invented in the second half of the 19th century and the first few years of the 20th. That was when a few significant things happened:

  1. America began to become a dominant industrial economy
  2. The focus of our economy moved from farming and slavery to industry and ownership
  3. We stopped focusing on producing and started to focus on owning
I'll probably formulate this more later. But an economy based on consuming more than it can produce, and a constant borrowing to pay it "later". I have a feeling that maybe we've reached the end of this. I'd love to read a really macro historical view of the last 150 years or so in terms of economics.

ok enough for now. wake up people - dancing with the stars is on.

Sunday, November 23, 2008

Basement Rewiring

I earned some more home improvement snaps today. My brother-in-law Horacio helped me do some rewiring in the basement. Basically, I thought this would be easy. We were just going to take lighting fixtures that were currently on pull-chains and convert them to be controlled by two three-way wall switches.

Well, my 100year old house had some different ideas. Apparently every friggin outlet on the north side of my house is powered by the same breaker that feeds these three light bulbs. A day and a half later, I crack the code of the wires.

Now my basement is totally dark most of the time and then gloriously bright whenever I want. We used to have to leave a small flourescent light on because the basement was un-navigable without it, but now everything is controlled by the same switch. I'm proud of this, but only until the house burns down. I'm only half joking.

Wednesday, November 19, 2008

How Many Indictments Until You're Voted Out

I guess Ted Stevens found out. I don't know much, except that he solld his vote and got busted for it. He's finally gone and Palin-land has a Democratic Senator for the next six years. You betcha. http://mobile.nytimes.com/

Tuesday, November 18, 2008

Another Roadside Attraction

We were driving through middle america a few weeks ago and we saw this. A 40 foot white cross in the middle of a cornfield. I suppose it was some sort of war memorial or something. But something about it struck me as really wrong.

I'm sure it cost this small town a decent amount to build it. They chose to build this huge monument instead of building schools or hospitals or library books. So I thought what's so important about this monument that this town would decide to donate private or public money at the expense of other things?

It occurred to me that this was a picture of everything that was wrong about the last 8 years in America. We have been living in a charade of public displays of patriotism and religiosity. Hypocrisy festers when the only standard is how devoted you appear to be to God and country.

A huge aluminum cross in a cornfield does nothing to make America better. Instead it glorifies the patriotism and religiosity of the builders. What we need is authentic love of God and country and our fellow man, and not shallow gestures.

Friday, November 14, 2008

Definition of Insanity

Business, it seems is the art of doing something over and over again and expecting different results. We are all insane. Right now, everyone is cutting costs - layoffs and staff adjustments abound. Unfortunately, unless there is a fundamental change in process, productivity will drop. Fewer people will do less work than more people, presumably, unless they go about it in a fundamentally different way.

One thing we know about process change is that it is expensive. No one wants to buy new tools, or revamp old ways of doing things, because there is time expense or capital expense, and besides the old way was successful once, right? Only a fool would lay out cash to re-engineer a process in the middle of a weak market, right? Wrong.

Here's the insanity. If you trim staff and resources during a downturn, to adjust for low order volume, you will greatly hinder your chances of ever coming back. You will be out the cost of the turnover (severance, unemployment, recruiting, training), before you can take one step beyond your low order level. By trimming staff, you effectively say, "we are at this low level until further notice." Inertia inevitably sets in and you become accustomed to the lower volume of business and the smaller staff size.

The BEST thing to do at times like this is take the staff you would lay off, and put them on a task force and require them to revamp and retool processes, and then train the rest of the team. Give them solid benchmarks and goals, constantly measure KPIs and use metrics that actually matter. That way, you are not out the cost of the turnover, you can accomodate growth, and when the growth eventually does happen, you can handle it even more efficiently than before the downturn.

Instead, as we see all over America, companies are not making themselves better, they are just making themselves weaker.

Wednesday, November 12, 2008

Two dollar gas

Isn't it funny how we freak out about gas prices? I was in Mattoon, IL and saw this gas station. Being from the city - land of the 60 dollar fill up - I was shocked and immediately snapped a picture. Then I began to think about it.

We use about 13 gallons of gas a week. I'm no expert, but that probably puts us at about average. At $2 per gallon, that's about $26. At $4 per gallon it's $52. Over 52 weeks, I'm paying $1352 more when gas is at $4 per gallon than when it's at $2. Seems like a lot.

Actually that comes to 3.70 per day. Or, alternatively, the cost of a frothy cappucino. So the difference between unreasonably high gas prices and super-cheap gas is about a cappucino per day. For a lot of us, that's pretty insignificant.

Makes me wonder why the election made such a big deal about "pain at the pump." Fox News wouldn't shut up about how offshore drilling would "solve" gas prices. Obama and Biden spent a lot of stump time going on about alterrnative energy, which although good for the environment was also intended to ease people's fears about gas prices.

You know why I think that everyone panics? Because gas prices change every day. And we all have to buy it every week. It's just so visible. We have so many other problems, I think we are just spending too much time haggling over so little.

Saturday, November 08, 2008

Road to Greenville

Beck and I are on the road to Greenville, IL for our friend Joel's wedding. We left our kids with my mom & dad and hit the road. So far the most exciting thing is that the check engine light went on in Matoon. More from the wedding later.

Friday, November 07, 2008

Alfie's, home of the Loinburger

Andrew and Liz managing the greatest cheeseburgers in the world.

Wednesday, November 05, 2008

Yes we did



I'm pretty proud of America today.

I'm proud that more people voted than ever before, and that the highest percentage voted since 1908.

I'm proud that we elected the son of an African to be president. And finally silenced all those who continually defamed America as only benefitting rich white men.

I'm proud that America mandated that the funneling of wealth from the middle class to the wealthiest Americans has got to stop.

I'm proud that we expressed our demand for and end to the wars and bullheaded diplomacy.

I'm proud that we finally recognized that the lack of affordable quality healthcare is the biggest domestic problem we face.

I'm proud that I voted.

Most of all, I'm proud that we got it right.

(My friend, Karen took this picture from her balcony)

Tuesday, November 04, 2008

Bush Still Making Hay

Did anyone else see what GWB is doing with his last month or so of power? Seriously. He's single handedly dismantling as much as he can. The economy is in shambles, the wars are out of control, and here he is destroying everything from civil liberties to the tax code. He's not even closing Guantanamo - a promise he made to avoid looking like a blatant war criminal. We're all caught up in the next administration while this one is SERIOUSLY out of control.

Monday, November 03, 2008

Posting a Contact form Using Ajax

Here's the challenge - to make a form that appears by ajax, post to a page, and then have it return the response text. My friend digitalbart pointed out the futility of server side validation on a form that is only visible by javascript, but hey, that's just how I roll.

I would have posted the actual code here, but syntax highlighter doesn't seem to like me very much. I'll try to get the code posted in a bit.

Ah here we go - As you can see, the primaryAction button drives the post. There are five arguments to the $.ajax function... and they are type, url, data, success and dataType.

<script>
$(function(){

$(".primaryAction").click(
function(){
var name = $("input#name").val();
var email = $("input#email").val();
var subject = $("input#subject").val();
var message = $("textarea#message").val();
var office_email = $("input#office_email").val();
var urlt = $("input#urlt").val();
dataString = "name="+name+"&email="+email+"&subject="+subject+"&message="+message+"&office_email="+office_email+"&urlt="+urlt;


$.ajax({
type: "POST",
url: "/includes/emailform.php",
ata: dataString,
success: function(data) {
alert (dataString);
$("#ajaxresults_"+urlt).html(data);
},
dataType: "html"
});

return false;
});
});
</script>

Halloween-election joke

Q: What did John McCain say to the trick-or-treaters?
A: Get out of here you redistributionists! I worked hard for this candy and I'm not going to give it away to you just because you're too lazy to get your own!

Saturday, November 01, 2008

Batting Practice

She's only five, but she can hit. After I made this video she hit one over our fence.

Mmmm... bacon

What is it about bacon? I love it, my kids love it. Everything's better with bacon.

Friday, October 31, 2008

All done trick or treating


Well, we're finished trick or treating and I'm exhausted. Thing 2, my two year old was practically asleep in her mouse costume before we got home. I'm pretty wiped out too, but Thing 1, my 5-year-old is BOUNCING off the walls. too much sugar. But I guess that's what is supposed to happen right? Anyway, I have sorted (read stolen the good ones) her candy, and she is brushing her teeth. Now for some javascript and then some sleep.

Halloween costume

It's Halloween today and I am going as somebody who SHAVES. New thing for me...

Thursday, October 30, 2008

My point exactly

http://mobile.chicagotribune.com/news.jsp?key=183951&rc=op This is a nice little piece on how Obama is not a socialist. I think I would like this guy.

Song bag

I found this old backpack full of song lyrics in my basement. Some of these songs were something like 20 years old. Must be 200 songs in there. After reading them, I was surprised at how many I could remember. I was also surprised at how uncrappy they were. There was at least *one* good thing about all of them. Maybe I'll record a few, just for fun.

On another note - you can hear my band The Foibles here until I decide to change everything..

Wednesday, October 29, 2008

And here's the sunset

Wow, what a bookend to this morning's sunrise.

Why all this nonsense?

I'm tweeting, I'm blogging all over the place, I'm on facebook. I guess I'm just trying to assemble content. Like now I'm on the train, why not continue to communicate? I've decided that people who try to be mysterious are usually very boring.

Query to get earnings

Stupid software. Here’s a nice query to get earnings by year by customer. The billing history table is historysummary.

SELECT customers.customername, SUM(historysummary.total), year(historysummary.invoicedate) from customers INNER JOIN historysummary ON historysummary.customer = customers.customer GROUP BY customers.customername, year(historysummary.invoicedate) ORDER BY year(historysummary.invoicedate), customers.customername

New beginning

This is what I saw from the el platform this morning. I was late for work and grumpy and bleary-eyed from too little sleep.

I hope my camera phone caught it. I'll have to look at it later. Sometimes, it seems that as hard as we try, we'll never do anything as cool as a sunrise.

Tuesday, October 28, 2008

From the PHONE

Just seeing if I can do this from my phone... Late in my kitchen - who needs twitter? Open the floodgates!

Broke people get dumber. Dumb people ruin nations.

I'm broke, like everyone else I know. All my money goes to mortgage, food, education, health insurance, transportation to my job, Gas bills, Electric bills. I don't have cable, and I drive a 10 year old car.

People get all fired up about wealth redistribution. You know what wealth redistribution looks like? When it's done right, it looks like Social Security; elderly and sick people getting what they need to live. When it's done wrong it looks like AIG spending margin and fee money on $500k executive retreats. Taking their profit (which came from investors like us) and using it to pad their lifestyles.

Don't give me any crap about hard work. I just read this:

Although sociological research on the subject wealth is relatively new, economists have long been studying wealth. Economic research has shown that family wealth has grown considerably over the past several decades as housing and stock markets have soared (Wolff 2002). Wealth inequality has also increased substantially over the same time period. Inequality in wealth far surpasses inequality in income. The top 1% of U.S. families control over 38% of the country’s wealth, and the top 5% own almost 60% of all wealth. One of the potential consequences of this rising inequality is that families with wealth will use it to create more opportunities for themselves and, particularly, for their offspring.

from this site: http://www.allacademic.com//meta/p_mla_apa_research_citation/1/0/3/9/0/p... It's a good paper. I know that we don't read 20-page papers any more, but it's a good read.

My point is, we have been living in essentially the most free market of all economies since the eighties. Bill Clinton, though a democrat, still geared the nation's finances toward the free market. As a result, the rich are REALLY rich and the middle class are poor, and the poor are broke.

Broke people get dumber as a whole. Dumb people ruin nations. You cannot save America by creating an environment which allows the super-rich to sustain itself and actively exclude anyone else. You can save America by funneling it's resources back to the people where they belong.

Sunday, September 28, 2008

Without Reason You Are Blind, Without Faith, You Are Dead

So at work today, we had this chat about creationism and spontaneous generation of life. We were all pretty much agreed about a few points. But I think I made the guys think a little.

  • Don't confuse "evolution" with "spontaneous life origination". They are very different. Evolution is what happens when genetically stronger lions are better hunters so weak lions die before they can breed. Eventually every lion is genetically predisposed to be strong. Spontaneous life origination is when source elements somehow get together and form a protein. Then that protein meets other proteins and then DNA happens and then somehow a cell happens. Only morons don't think that life evolves. Every year, flu season makes that rock solid case. Spontaneous generation, however, is conceivable, but ridiculously improbable, and so far, completely un-doable in a laboratory.
  • One possibility for the origin of life is that God created everything. It is conceivable, no less probable than any other idea, and completely un-debatable in a scientific context.
  • Another possibility is that since life could not have originated on such a young planet as earth (I mean come on! a few trillion years for all that Amino MAGIC), it must have originated somewhere else (in an elecro-chemical environment that is unknown to us) over a few quadrillion years, and then hitched a ride on an asteroid and then landed on earth to begin the slow evolutionary process. Seems about as likely as any other idea, and that adds a few years to that time window in which life was supposed to have originated.
  • So we have all of these ideas that are pretty much equally plausible (unless you have a closed mind). I guess then it comes down to what you feel most comfortable believing. Maybe another way to put it is: if you are basing your argument for the non-existence (or existence) of God on the origin of life, then you make a very bad argument. The fact that life and the evolutionary process exist neither prove nor disprove the existence of God as anything more than a semantic necessity. I.e. God fills the semantic hole of "first" or "best" or "forever" and all that stuff. Don't get me wrong - I am not arguing that God doesn't exist. Far from it. I'm just saying here that mixing up all the good science that's going on with any theological argument doesn't do service to either side of the debate.

Monday, September 01, 2008

Expression Engine Over Drupal

So, I've started to mess around with EE. Sorry all you Drupal-ers, but it is definitely worth knowing. However, having worked a little bit with both, I see some definite personality traits...

First of all, Drupal is WAAAAY more flexible. But you have to really know Drupal to get it to fly. Making your own module is a labor of love. When it works, then it is awesome, but it is really tricky.

EE is more of a way to shortcut around all of the annoying parts of PHP programming - you know, writing while{} loops and for{} loops, and having to figure out SQL syntax, and all that. Also, the URL structure is pretty sweet. I mean it is cool when mysite/offices/city/chicago takes me to my chicago office homepage. There are a few annoying things about it, but overall, it works pretty well for what it is - a framework for CMS.

Wednesday, August 06, 2008

This is what happens when you

Error code 0x800a0e7a with the message: Provider cannot be found, It may not be properly installed.

Essentially this is a fancy way of telling you a few things.
1. Stop using ADODB - switch to OLEDB
2. Stop using Microsoft JET 4.0 in your connections. I mean geez, ACCESS??? for cripes sakes.
3. If you are stubborn and need to ignore #1 and #2, then go to the Application pool settings in IIS 7.0 on your server and enable 32-bit support. I know, it's like only using 4 cylinders on your new Ferrari, but what are you gonna do?
4. Also, download the hotfix for Microsoft JET 4.0 (you have to call in to get this..)

bummer - Oh well, this is why you blog - so you only have to figure these things out once.

Wednesday, July 30, 2008

So I wrote this monster query that I'm pretty proud of. The data is in a MS access database so that explains some stuff, but the challenge was like this:
  • AR Data is in three tables: ARCustomers, ARSummary, and ARDetail. ARcustomers is self-explanatory, ARSummary is a table with the invoice data (total, date, invoice number, etc.), and ARdetail is a payment table with amount, posting date, etc. The tables are linked by indexed fields in each one.
  • I needed a report that broke down invoice date and amount outstanding as of a "cutoffdate' so the parameter of this query is cutoffdate. Essentially I needed to see what the current billing looked like on any given date.
  • every "summary" record gets one corresponding customer record. But customers can have multiple summary records (multiple invoices)
  • Every detail record has one corresponding summary record but each summary record can have multiple detail records. Why they didn't use the invoice number is beyond me...
So I made an ado connection called ADOCONN and connected to the database. Then I created an ADO Recordset called ADORS and I opened it using this query:
SELECT s.customer, s.customername, s.invoice, s.summaryid, s.total, s.invoicedate, d.totalpaid, s.balanceowed, s.lastpaymentdate FROM (SELECT a.balanceowed, a.lastpaymentdate, a.customer, a.invoice, a.summaryid, a.total, a.invoicedate, c.customername from arsummary as a INNER JOIN arcustomers as c ON a.customer = c.customer where invoicedate <= #" & Cutoffdate & "# and total <> 0 AND invoicedate >= (SELECT MIN(postingdate) from ardetail)) AS s LEFT JOIN [SELECT sum(amount) as totalpaid, summaryid from ardetail WHERE PostingDate <= #" & Cutoffdate & "# GROUP BY summaryid]. AS d ON s.summaryid = d.summaryid WHERE (s.total <> d.totalpaid OR isnull(d.totalpaid))

It returns 9 fields: customer, customername, invoice, summaryid, total, invoicedate, totalpaid, balanceowed, and invoicedate. The total paid field basically gives me the payment information as of a cutoff date. Also, no invoices printed after the cutoff date are included. Works pretty well, but it goes a bit slowly on big tables.

Tuesday, July 29, 2008

A couple of truths about drupal:
1. Drupal as a CMS NEEDS and idiot proof content editing box. And don't tell me to use tinyMCE. We need a good one. So many times, a page has tanked because of misunderstood tags. The problem with tinyMCE or FCK is that you really can't have native php or html code in your body text because the text editor will screw it up.

2. Drupal needs javascript for a lot of its good stuff.

3. Drupal is very fun, but I'm a little worried that I'm missing out on some of the really advanced stuff. but that is why I am hacking away at this site.