Saturday, April 26, 2008

Breaking up with Google App Engine

Sorry Google. It's you, not me.

Perhaps I'm not the target developer for Google App Engine but it seemed like it. I run, a little community site built around the Hollywood Stock Exchange Game. It pretty much runs itself on a webhost with a database but lately my backend software, PHPnuke, is aging.

Along comes Google, with their new fangled App Engine that seems a perfect fit. Dump the stock data plus other stuff into it, build a few functions to return some data, and I have a nice scalable engine to host the data on. I even had some fun learning Python for the first time as well as exploring some AJAX. Even better, I could even design it so that other community sites could grab the data AJAX style and maybe give a little back.

What I found quickly was that the BigTable database engine behind it was either not well suited to what I was doing or I was doing things all wrong. I even went so far as to really AJAXize my code to fire off many transactions instead of large monolithic queries. Nothing seemed to help. Simply queries like finding 20 or 30 records from a 300-400 row table took longer than they should. More optimizing, and I was able to get it reasonable (see here) but yet the backend logs still complained that I was using too much CPU.

Too much CPU on a 30 row query? Egad.

So, I'm breaking up with Google App Engine. I'll just have to either upgrade my PHPnuke or abandon it for some straight PHP+MySQL.

Monday, April 21, 2008

Subway is trying to make me fat

Case in point: Subway has what seems like a great promotion running. $5 footlongs. Sounds nice, doesn't it? At Subway though, the Double Stacked 6" sandwiches have just as much meaty goodness as the footlongs. So check this:

6" Double Chicken Teriyaki: 480 calories, 7g fat, 100mg Cholesterol, 65g carbs
Footlong Chicken Teriyaki: 750 calories, 10g fat, 100mg Cholesterol, 118g carbs

And they cost the same. $4.38 here for the double, ~$5 for the promotional footlong. I'm sure it is even worse because I use the Italian Herb and Cheese bread rather than the regular Wheat or Italian.

Don't be fooled!

Friday, April 18, 2008

Internet TV and me

Last night I think I became a convert of this whole Internet TV streaming thing. I'm a subscriber to the most basic of basic cable, 12 channles in all, and yet I still find enough things to watch to fill my 1TB MythTV. But because of this, I miss important shows like Battlestar Galactica which air only on the premium channels. Thanks to, I can now watch my BSG without resorting to downloading it from online sources. It works great on my TV set to full screen.

A few months ago I also rigged up my new HP Media Center PC to my TV so I could use the Netflix Watch Now feature (only works on Windows so my MythTV is out). Not only did I watch the latest BSG episode last night, but I found that the CBS showing of the latest Dexter episode I was watching was delayed, probably due to some sports, and I missed 45 minutes of the show. No problem, Dexter Season 1 is on Netflix Watch now and I saw it in all its uncensored glory.

Now I certainly wouldn't want to watch all my TV this way, but in a pinch, getting episodes of two shows I really like from online sources was a huge benefit to me and I didn't have to resort to any nefarious schemes.

Now if we can just get this all a little better integrated with the TV rather than rigging up an expensive Media Center PC...

Thursday, April 17, 2008

Threat Level Red

I received this today from Twitter

Hi, Kevin Kuphal.

al qaeda (al_qaeda) is now following your updates on Twitter.

Check out al qaeda's profile here:

You may follow al qaeda as well by clicking on the "follow" button.


Be afraid, be very afraid

Wednesday, April 16, 2008

Head in the clouds

So I managed to get signed up for one of the free accounts on the Google App Engine. It is basically a distributed computing cloud that lets you write Python applications that run on Google's massive infrastructure. So far it has been a great experience learning a bit about Python and playing around with what the engine can do. I was considering using this as a data service platform for since I need to do a bit of rewriting there. More on this later.

Wednesday, April 09, 2008

Two sleepless nights later...

Sometimes it seems that I have a compulsion to do things the hard way. The other night I began considering how I could integrate content onto my MythTV. I think I have come up with a workable method using Firefox as the assistant, but it required me to upgrade my system to the latest MythTV version (more on this later). I had been holding off on this because they had made a recent transition to QT4 which can be a big change on Linux systems. My master backend upgraded with virtually no issues so I moved onto the frontend attached to the TV.

This is where the bottom fell out. My backend had been upgraded recently to Fedora Core 6 and my frontend was still left at Fedora Core 4. I am always loathe to touch this machine because it is a sensitive small form factor PC that I had finally gotten working. But, no matter, I installed the QT4 packages and began to compile Myth only to find that the QT4 version for FC4 was 4.1 and I needed 4.3. Well, I thought, no problem, I'll just compile QT4 myself.

Now, at this point, I should have said: "I should just install FC6 from DVD and be done with it" but no, I was knee deep in packages and source code and felt compelled, despite the late hour, to conquer this.

After a long compilation, I compiled MythTV and found it simply crashed. Great. Again, I should have reached for the DVD but instead I thought, nah, I'll just do an in place, over the network YUM upgrade. No problem.

Another late night later and here we are today, having used the DVD, now updating and patching to get the system current. So I'm right where I could have been 2 nights ago only with far less sleep but a new appreciation for KISS.

Friday, April 04, 2008


Unbelievable. I spent the better part of 2 hours tonight trying to figure out why my firewall was sending traffic to the wrong destination. Not to go into excessively boring details, but our Internet provider (who shall rename nameless) which we are phasing out provided us with a set of IP addresses using a subnet mask that gives us about 14 addresses to use. Oddly, the addresses we needed to use were getting routed to our new Internet provider and then dropped by the firewall as "spoofs". I could not figure it out until I looked closely at the mask and found that our destination IP, which we've been using for years, wasn't in the range given to us. Upon further investigation, I found routes on our external router that routed 5 additional addresses, including the one we were trying to use, to us.

Why on God's green earth this ISP chose to route us 14 addresses + 5 instead of giving us a larger subnet mask is beyond me. Either they did give us a larger mask and never told anyone and didn't configure the router correctly, or they're just crazy.

Either way, check your subnet masks, kids. Our firewall was doing exactly what it should have done, only it took a lot of looking to see why.

Tuesday, April 01, 2008

It was what you said and how you said it

Image of The Reason for God
I recently finished reading The Reason for God. This book, while written for those struggling with the ideas of faith and Christianity, had tremendous value for me, as someone who counts themselves as a believer.

There were a number of points that Keller brings up that really resonated with me and I'm sure I'll touch on many of them over time here. One that struck me today was his conversation about what we put at the center of our lives, or how we define ourselves. The typical world view holds that we put something of this world at the center of our lives. Whether that be career or family will differ by person. I was surprised as he spoke about morality and even religion being examples. He explained it in such a way that I was struck by its simplicity.

Whatever it is of this world that we put at the center of our lives will ultimately fail us. If we fail at our career and we defined ourselves by our career, where does that leave us? If we measure our live by our good works, how good is good enough and what does that do to us as we realize it is never enough?

He even made an example of putting religion at the center. He was clear to distinguish between religion and God or the gospel which is a topic for another day. There are many who put the act of being religious at the center of their lives only to use it as a means to put themselves above others who do not. I think too often, the "Christian" that people meet in this world is someone who has a self-centered religion at their center. These things seek only to divide us economically, racially, socially, religiously, and in many other ways.

But, we are creations of God, created in the likeness of God, with, as Keller puts it, "a God shaped hole in our souls". While not a new idea (I think this comes from St. Augustine and Ecclesiastes), if we put God at the center of our lives, we are no longer on a self-centered spiral, but in a loving relationship giving back to he who gives freely to us. Obviously, this preceded this with a great deal more conversation for the skeptical reader struggling with even a belief in God, but it made me think, what worldly things am I shoving into that God shaped hole, trying to fill it up? How much of our world's problems stem from our human desire to put ourselves above all else and failing?

"Do not put any other gods in place of me" Exodus 20:3