Vacation Movie Watching

Lest everyone think I did nothing but work on vacation, I thought I’d throw out the movies that I watched during the break, that we haven’t had time to get to over the past few months:

  • Rob Zombies Halloween – Unrated Director’s Cut with commentary – Saw Halloween in the theaters, but we have the DVD and watched the commentary. Enjoyed it a lot
  • The Number 23 with Jim Carrey. Hated it. Ridiculous and totally predictable.
  • I Now Pronounce You Chuck & Larry – Stupid. Hated it. I’m not a big Adam Sandler fan, especially with cornball movies like this
  • Chain Reaction with Keanu Reeves. Didn’t like it at all.
  • Hostel – Part II – a little more predictable than the first, but kind of liked it.
  • Amadeus – I’ve seen this a bajillion times and love it. Jonna had never seen it so I watched it again with her. Still love it after all these years …
  • Crimson Tide with Denzel Washington and Gene Hackman. I’ve been told multiple times that I had to see this, so we put it on the netflix queue. Awesome. Loved it.
  • I Am Legend – Will Smiths latest movie, which we went to see on Saturday. I really liked it. I didn’t like the ending too much, and the zombies were a little ‘too CGI’, but otherwise I thought it was a great movie.
  • Village of the Damned – starring Christopher Reeve and Kirsty Alley. We found this at Menards for $1.98 and bought it because we had nothing to watch that night. We thought it would be pretty cheesy, but we actually enjoyed it. It was a good movie for the price
  • The Lord Of The RingsThe Two Towers and The Return of the King – We’ve had Two Towers for some time, tried to watch it and thought there was something wrong with the DVD. Later we found that the center channel on our surround sound was out, so we just couldn’t hear anything. We decided to watch it this week. Loved it, and went out Sunday to buy the other two. Watched Return of the King yesterday and loved it. The Fellowship of the Ring is on the schedule for New Years Eve, as we stay home anyway. One thing I will say is that these movies are LOOOOONG but definitely worth it. As I was watching it, I was thinking that it would be great if someday someone could make a movie like this on the The Silver Sun and its trilogy, which were some of my favorite books I had read as a kid (still haven’t gotten our kids to read them though). I think these books would make great movies as well

We’ve done a lot of catch up in the last couple of weeks. We saw one new movie and the rest were things that were on our list that we just “haven’t gotten around to”. While there were quite a few disappointments, the ones that we liked made up for the time we spent on the ones we didn’t. At least we can say that we’ve seen all of them now.

Terry Armour Dies

Sitting here this morning watching the news with Jonna, a story came on about the death of Terry Armour, Chicago Tribune columnist, co-host of the Stan and Terry show on WCKG and long time contributor to the Steve Dahl Show. There is a post from Stan on the Stan and Terry web site, as well as a post from Steve on Dahl.com.

I enjoyed listening to Terry on the radio over the years, first on the Dahl show and later on his and Stan’s show on coffee runs to Starbucks. For a while there, it was the only thing I listened to on the radio. He was entertaining and came across as an all around great guy.

May he rest in peace.

Carol Gets A Back Seat for the Golf Cart

Photo by jonna404

Jonna’s parents have a camper up in Wisconsin. Their golf cart has no back seat, so when they have visitors, its difficult to show them around.

Back in June, after a trip up to their camper, Jonna searched Craigslist for a back-seat for their golf cart. We wound up finding our camper (a little more expensive than a back seat) – that included a golf cart with a back seat. Carol and Bob would borrow our golf cart when they had guests, so that they could drive them around the grounds.

As the story goes, later in the year another couple also went out searching for a deal on a back seat after a visit up to Bob and Carols camper. They wound up buying a camper for themselves as well.

This month, Jonna picked up a golf cart ornament she spotted in a Hallmark store for Bob to give to Carol. She spent some time crafting the fine back seat (seen above in Carols right hand) out of cardboard, bubble wrap, and one of my old t-shirts. Once she opened this, Bob walked her out to his truck to reveal the back seat she has long wanted.

See, Christmas wishes do come true. It wound up costing a few of us some money, but now we have somewhere relaxing to hang out in the summer.

How I Spent My Winter Vacation

Here are some of the things I’ve done over the past week and a half or so:

There was a bit more, but I think this sums it up. It was nice to work on work related things that needed to get done on my own schedule. Definitely learned a lot. As always, family time was awesome all around. Aside from all of the commercialism, I really do like the family aspects of the holidays.

I Think I’m A Zappa Addict Now

I am so on a Zappa kick.

I remember back in high school, the only album I had heard from Frank was Frank Zappa Meets the Mothers of Prevention and I really enjoyed it – but it never really got its hooks into me in a big way. I went through a mini-spell back in 2006 after reading Zappa’s book The Real Frank Zappa Book, but back then I stuck to the two albums I had. It was nothing like this.

Since the Vai concert last September I’ve been listening to Zappa almost non-stop. Almost every weekend I’ve gone out and bought two CD’s, and I’ll listen to them the rest of the week. Luckily, Frank had a pretty big catalog, so this could go on for a while.

I think what got me interested more in Frank’s stuff was watching the Vai soundcheck. They did some pretty heavy practicing (it was actually more of a rehearsal than a soundcheck) and I was enthralled watching the detail in which the band practiced. They spent about 20 minutes on one small piece of a song, because the phrasing of a particular lick wasn’t correct for the violins. It reminded me of what I had heard about how particular Zappa was about his music being played correctly and I began to get really curious as to just how much of an influence Frank was on Vai during his “formative years”.

As is typical when I get really interested in stuff like this, I take it to the ultimate extreme. I’ve been looking for any information related to Frank and found a book at Borders called Zappa: A Biography by Barry Miles. I’ve found it a pretty interesting read so far.

I can tell you that musically for me its been an interesting few months. Zappa’s music is hard to get into initially (at least it was for me – and definitely is for Jonna), but once you’re hooked your really hooked.

I love the humor and the “off color” nature of his music and lyrics to be sure, but I think the thing that blows me away about Frank (and Vai for that matter with his latest album Sound Theories, Vols. 1-2) are how well the songs translate to an orchestra. Its interesting to me how music that starts in a “rock” vein can be musically viable enough to be played by an orchestra and in many cases be better than the original. If you didn’t know any better, you would never know that they started out as rock music.

My favorite albums so far are Frank Zappa Meets the Mothers of Prevention, the first album I heard back in high school, with Strictly Commercial: The Best of Frank Zappa and Apostrophe (‘) a close second and third. Strictly Commercial is a great cross section of Franks more “commercially acceptable” stuff and is a good introduction to his music. The “single versions” of these songs edit out all of the things that some may find offensive.

As I mentioned earlier, Franks music translates well to an orchestra. If you want an introduction to Zappa that even your grandmother wouldn’t find offensive, you might want to check out Strictly Genteel: A Classical Introduction to Frank Zappa.

Whichever path you take, I’m sure you’ll find it rewarding. I certainly am.

Vacation Learning – PHP and Smarty Templates

I’m on vacation this week and next week. Since I rarely have time to learn anything technical (or blog for that matter anymore), I thought I would take some time during my time off to learn something new around development.

We have a system at work that is essentially a small portal. The core of it was written by me to learn PHP about 8 years ago and has been augmented by me and one other guy at workKeith and I over the years. Over that time, as we added new functionality to it, I used it to experiment with other languages as I was learning it. Other pieces were written in Java out of convenience. In total, we have pieces written in PHP, Java, Python, and PERL.

As I usually use this system to learn new things, I figured it would be a good candidate to use to learn how to use the Smarty templating system for PHP. I became interested in this templating system after working with Eventum over the last few weeks and figured that if I am going to do further work with Eventum, it would be helpful to understand the templating framework it uses.

So I’ve started using the system to take our 8 year old PHP code base and separate some of the presentation logic out. Smarty is pretty flexible and easy to use at a high level (I haven’t gotten into any of the really advanced stuff yet).

Here’s an example of how nicely the use of a templating system simplifies your code. Take this example, which enumerated entries from our internal wiki via an RSS feed into a section on the home page:

 function getWikiEntries($url) {
$theHTML = "";

$rss = fetch_rss($url);

$theHTML .= "

"; $theHTML .= "";# foreach over each item in the array.
 # displaying simple links$rowCount = 0;
 $className = "modifications-evenrow";foreach ($rss->items as $item ) {if (($rowCount % 2) == 0) {
 $theHTML .= " "; } $theHTML .= "# truncate item title to 28 characters
 $myTitle = $item['title'];if (strlen($myTitle) > 28 ) {
 $myTitle = substr($myTitle, 0, 28) . " ...";
 }$theHTML .= $myTitle;
 if (($rowCount % 2) == 0) {
 $theHTML .= "  ";
 } else {
 $theHTML .= "";
 }
 $rowCount++;if ($rowCount == 20):
 break;
 endif;
 }$theHTML .= "

<table cellspacing="0" cellpadding="0" align="center">
 <tbody>
 <tr>
 <th class="header-title" colspan="2">"; # get the channel title and link properties off of the rss object # $title = "Recent Wiki Entries"; $link = $rss->channel['link']; #$theHTML .= "$title"; $theHTML .= "$title   <a href="$url"><img alt="" border="0" />"; $theHTML .= "</th>
 </tr>
 </tbody>
 </table>

<table cellspacing="0" cellpadding="0" align="center">
 <tbody>
 <tr>
 <td class="modifications-sectionheader" colspan="2"></td>
 <td class="modifications-data">"; $theHTML .= "<a title="" href="$item[link]">";</a></td>
 </tr>
 </tbody>
 </table>
 "; return($theHTML); }

I’m sure you can appreciate how hard this would be to maintain, and all of the cruft that has accumulated over the years …

Now take the simplified version (sans error checking), written today in about 10 minutes:

function getWikiEntries($url) {
$rss = fetch_rss($url);

$template = new TemplateEngine();

$firstColumn = array_slice($rss->items, 0, 10);
 $secondColumn= array_slice($rss->items, 10);

$template->assign("firstColumn", $firstColumn);
 $template->assign("secondColumn", $secondColumn);
 $template->assign("link", $rss->channel['link']);

return($template->renderString("wikiEntries.tpl"));
 }

… along with its corresponding Smarty template:

{section name="entries" loop="$firstColumn"}{/section}

<a title="{$secondColumn[entries].title}" href="{$secondColumn[entries].link}">{$secondColumn[entries].title}</a>
 <table width="80%" cellspacing="0" cellpadding="0" align="center">
 <tbody>
 <tr>
 <th class="header-title" colspan="2">Recent Wiki Entries <a href="{$link}"><img src="{$applicationURL}/images/rss.png" alt="" border="0" />

</tr>
 <tr>
 <td class="modifications-sectionheader" colspan="2"></td>
 <td class="modifications-data"><a title="{$firstColumn[entries].title}" href="{$firstColumn[entries].link}">{$firstColumn[entries].title|truncate:28:" ..."}</a></td>
 </tr>
 </tbody>
 </table>

I don’t know about you, but I think thats quite a difference in maintainability. I’d much rather modify the html in the template than in the original function. Not only that, but the code is actually code, not a bunch of code with a lot of simply horrid markup stuck in the middle of everything.

I’m pretty impressed with how much I’ve been able to use in a short amount of time this week. The libraries are obviously thought out and ramp up time for me was really minimal. I like libraries like that. It also addresses something that has annoyed me for a long time. Embedded HTML is a pain to maintain and I’ve dreaded going into this over the years just because of that.

At some point, I’ll investigate what it takes to write custom plugins, a functionality that the libraries also support.

I think I’ve been able to get a really good start at getting something maintainable. My goal over the next few of weeks is to templatize the whole system, then start taking the non-PHP pieces of the system and rewrite them in PHP. I’ll also add the ability to change configuration in one place, so that we can cut some of the pain that we have in keeping things maintained down – and perhaps be able to install the application in other places.

Should be fun. I’m definitely feeling productive over the past few days. I’ve always liked working in PHP over other languages. I definitely have to do work like this more often.