Thursday, February 26, 2009

England's Roads as Theme Park Ride

So, we did something a bit unusual this trip - we rented a car. Shira was ready to tackle this whole driving on the left thing. She's done a smashing job so far!

Here's a short clip of her navigating the back roads of England:

I don't think the video comes close to capturing what it was like to be sitting, in what's usually the driver's seat, seeing folks whiz towards me on the wrong side of the road. Who needs Space Mountain, when you've got this?

A couple of observations / tips for driving in England:

  • Roundabouts (traffic circles) are a Good Thing over here, so don't fear them. They'll keep you from making right hand turns, which are surprisingly tricky.
  • Regardless of the cost, rent a GPS. Wow, this place would be dang near impossible to navigate without one.
  • If you're entering a roundabout, and there are two lanes, here's the logic you can use to decide which lane to be in: If you're getting off at the first exit in the roundabout, be in the left lane. If you're getting off at any other exit, be in the right lane.
  • Once you're in the roundabout, you've got the right of way, so you can keep circling, without fear that someone will pull in front of you (well, that's the theory anyway)

On the balance, it's been wondering driving over here and its certainly given us access to parts of the country we wouldn't normally see.

Wednesday, February 25, 2009

Hanging In Hereford

I spent the day entertaining myself in Hereford, a little town in the middle of nowhere, about 3 hours from London.

Just beyond our hotel is the Hereford Cathedral, where I spent a good bit of time wandering around. The cathedral dates from the about 1000 years ago and has been growing and changing since then. It's hard to imagine a building that's been growing and changing for 1000 years (think of the wars, regime changes, etc.), but there you go. On first glance, it appears to be one monolithic structure - but upon closer examination there are lots of details and nuances to it.

In the Cathedral you can see an exhibition which shows off the Hereford Mapper Mundi and Cathedral's chained library. And what is a Mapper Mundi and chained library? Well, I'm glad you asked.

The Mapper Mundi is a map of the world created in the 1300's - a remarkable feat, especially considering the monk who created the map never actually left town. The map, centered around Jerusalem contains real places, like the Persian Gulf and Ireland, and biblical places, like the Tower of Babylon and Noah's Ark. It's both insightful and entertaining.

As for the chained library, it is just what it says it is - a collection of books chained to the shelves. Books were incredibly pricey, (according to the guide, a book was at the time worth a small farm - or about $1,000,000 in our dollars) and they didn't want them walking off. So, they chained them down. The library contains volumes that go back 1000 years, easily. You can't touch anything, but you can get awfully close. This being the Cathedral's original library, it contains quite a few religious books. But, it also contained other secular reference material.

After my visit to the Cathedral I made my way to the recommended Cider Museum, but alas, it was closed. I leave Hereford with no new information about cider. Dang.

But, all isn't lost. While waking to the museum I found Sainsbury's - which is apparently England's answer to Wal-Mart. It appeared as though I could buy anything from a new TV to produce in the same store. And while they had a great many items to buy, there were still lacking Motts Applesauce. Is that too much to ask, snack pack sized cinnamon flavored apple sauce?

I then did a few more sites in the city (an epsecially old house and a small museum that covers local history) and then I found my way to the pub where I'm currently typing this out. I asked the waitress what the closet thing to a local beer was, and she recommended Wye Valley Bitter. Maybe it was all the walking I did, or the fact that it's served at just the right temperature (not warm, but not exactly freezing cold) - but I have to say, the beer is good. And, I'm not usually a fan of beer.

Did I mention, I started the day with porridge which contains brown sugar and whiskey? It was actually quite good, and certainly made for a chill morning.

I give Hereford two thumbs up - it's definitely a fun place to explore for the day (and stay around and relax in for longer).

Here are some photos from the day:

Wandering London

Yesterday we had a fun day wandering around London. In the afternoon, I wanted to get some work done, so I looked around for a quiet place to program.

My solution? Camp out at the Tate Britain. The paintings are spectacular, and would have much preferred to browse them, rather than work. But hey, they also made for great ambiance.

Here are some photos from the day:

Monday, February 23, 2009

Most Generous Casino Ever

I was quite surprised that the casino here in London offers free WiFi. That strikes me as both insecure and a distraction. But hey, what do I care, I just think they are being nice.

Someone did approach me as I snapped this photo of the casino floor - it was a fellow gambler who asked of this was in fact a G1.

The best part of this is that we aren't playing with real money - it's £ - which is essentially monoploly money, right?

-Ben (live from a London Casino)

Running Into History

While I spent most of the day working, I couldn't resist at least taking a jog through London. Luckily, there's so much history to see here, you literally can't go anywhere without run across some of it. I took a run through Hyde Park, and here are a bunch of the folks I ran into.

Oh, between the gray day and the fact that all I had was my cell phone camera, these photos are going to be silhouettes - as that's the best photos I could come up with. So yes, you'll have to use your imagination a bit.

Here's Peter Pan atop a cool statue that tells his story:

And Here's Franklin Delano Roosevelt. Other than a partially visible cane, there's no sign that he was crippled. That's not really a surprise, as the statue was presented to him by his Wife in the late 1940's. 50 years later, we were still debating if we should show his physical likeness as people remember him or he actually was.

I'm not sure who this guy is, but he's got cool battle gear and a strategically placed fig leaf.

And this guy - this was the best treat of all. This is a statue of Edward Jenner - the very guy who discovered the Small Pox Vaccine (perhaps discovered is the wrong term?). Regardless, I'm pretty sure my brother doesn't have a job if this guy doesn't reason out what he managed to.

While not a silhouette - I couldn't resist snapping this photo. It basically announces the date at which point water was fed to this point in Hyde Park. Nothing special, except that it took place in 1569. We were hundreds of years from existing at that point. That's so London, just having random stuff that makes us look like a terrifically young country.

OK, better get back to work - enough fun for one day.

Sunday, February 22, 2009

When Travel Works

Wow, international travel is amazing. 7 hours ago we were on a sleety airport in Washington, DC and now I'm in Heathrow airport in England.

Everything about the flight was smooth - no delays, screaming babies, snoring seat mates, meal mix-ups or hold ups in customs.

My only complaint is that my work laptop lasted 3+ hours, so I spent the majority of the flight working instead of goofing off. Stupid extended battery, always making me productive when I don't want to be.

Now we just need to make it to the hotel. How hard can that be?

Here's the Before-During-After shots that pretty much sum up the flight:

Update: We made it to the hotel just fine. We had one of the chattiest cab drivers I can recall, which was pleasant. Apparently, we've come to London during the European Cup Football finals, or something like this. Maybe we'll get lucky and get to see a football riot or something.

Tally Ho!

Friday, February 20, 2009

My Latest Photography Accessory - Why did I wait so long to buy it?

So, there's a photo of my latest photography accessory: two backup batteries for my digital camera. I can't tell you how many times I've been hit with a low battery at the most inopportune times (like, say when the first African American president is getting sworn into office?). Well, now I've got a fallback plan.

The only question I have is why the heck didn't I do this sooner?

One of the big reasons was my expectation of what an extra battery would cost. My main point of reference is a laptop battery which can be hundreds of dollars. I was thinking it might be worth it to just buy a new camera rather than shelling out big bucks for a battery.

I was totally wrong. The batteries are dirt cheap. These two batteries were like $6.00 and came to about $10.00 with shipping. That's nothing.

Now, these are after market batteries, so maybe they don't last as long as my official Canon one. But still, at $6.00 for 2, who cares? (When they melt down my camera, then I'll care).

So, do yourself a favor and buy a couple backup batteries today. Don't wait till you've lost that moment forever before doing something about it.

Reading Web Content Offline On Your T-Mobile G1

I've got some travels coming up, where it would be handy to have web content on my G1 that didn't require me to be connected to a network. That way, I could be doing some reading while in flight.

There may be a better way of doing this, but here's a solution that came together easily enough:

  1. Decide which web content you want to read. In this case, I wanted to grab Starting Forth by Leo Brodie (yes, I know, more Forth). You'll want to confirm that the site is readable on your G1 before you start this process.
  2. Pull down the content to your local computer. For this, I used wget, and ran the command:
    wget -r http://home.iae.nl/users/mhx/sf.html 
    
    The -r stands for recursive and grabs not only the page you point it to, but all subsequent pages on the site.
  3. Plug your G1 into your computer via USB and mount the SD card. Copy the files you've downloaded to the SD card. I placed them in:
      /Content/Books/Starting_Forth
    
  4. Using the G1 Market, install a File Manager app on your device. There are a bunch to choose from, but I randomly picked Astro File Manager, and so far I've been happy with it.

Now, when you want to read the content, you open up Astro File Manager navigate to Content >> Books >> Start_Forth and double tap on the HTML file to read. From there, the web browser should start up and you can navigate the site just like it were online - except it's all sell contained.

Happy reading! And good luck cloning the entire Internet to your cell phone's SD card.

Disclaimer: I'm new to the G1, so if there's a better way to do the above, please share! Thanks.

Thursday, February 19, 2009

Just Call Me Metal Mouth

When I was like 12 years old I had braces and this metal bar installed behind my bottom teeth. Well, a few years ago I had the bar removed as it was annoying.

The result is that these years later, my bottom teeth are out of whack.

But, good news, they can fix it. It's just going to take - you guessed it - braces.

Argh. Braces, again? I didn't like this experience the first time around, how am I going to enjoy it now?

OK, I'm totally living this up - I'm going to get neon ties for my braces, that's what all the cool kids are getting these days.

Also, if all goes as planned, I'll only need them on for 6 months. That's not too bad, is it?

Plus, it is kind of fun to watch them cope with a 6ft tall patient. They had to spend a few minutes adjusting the x-ray machine from 4' 2" kid sized, to Ben sized 6'. I wonder if I'll fit in their chairs? In another month, I'll know.

Argh. Reliving the awkward parts of your childhood isn't nearly as fun as you'd think it would be.

Wednesday, February 18, 2009

Don't take the money and run

I really like Paul Begala's advice to Governor Mark Sanford of South Carolina. Apparently, the Governor admittedly apposes the stimulus plan. Paul's recommendation:

If Republican politicians are so deeply opposed to President Obama's economic recovery plan, they should refuse to take the money. After all, if you think all that federal spending is damaging, there are easy ways to reduce it: Don't take federal money.

Gov. Sanford can lead the way. South Carolina should decline to accept any federal funds for transportation, education, health care, clean energy or any of the other ideas President Obama is advocating to fix the economy. And the rest of the GOP can follow suit.

It's actually an interesting point - different states are not only allowed, but encouraged to handle their own policies in their own way. For example, Delaware is a corporation friendly state, as a result, over 50% of US corporations are incorporated there.

So why not have the Republican law makers who are disappointed in the stimulus plan do their own think? Seems logical to me. And if it works, the rest of the country can follow suit.

Tuesday, February 17, 2009

My Forth Infatuation

You've got to wonder - why the interest in Forth. Well, I'm currently trying to learn the language beyond the basics (and reading the propaganda). And why am I doing this?

Two reasons. The first is the usual - for educational reasons. No doubt, Forth has important lessons about how to solve problems that will come in handy even if I'm programming in PHP. Also, who knows, someone could hire me to do application development in a Forth friendly environment.

The second reason: I think Forth might be an ideal language to program on mobile devices with. That is, if you want to actually write programs on your cell phone (not for, but on), Forth may in fact be the language of choice. Imagine that, you're standing around and want to write some code, so you take out your cell phone and start programming.

Ignoring for a second why you would want to do this (scripting? automation? because you're a geek?), here's what I find attractive about Forth in this context:

  • The syntax is totally flexible and being word based means you don't struggle matching up parenthesis or keeping track of other syntax elements.
  • The Forth philosophy of building software bottom up, makes sense. You could develop a rich vocabulary of words on a desktop computer, and then use them in a convenient way on the actual device.
  • Forth thrives where there are limited resources. A complete Forth environment is measured in hundreds of K, not Megs or Gigs, and is still quite fast.
  • A Forth environment will often include an editor and a file like structure built into it. Essentially, it's its own OS.
  • A Forth environment is interactive, so you can try stuff out easily, yet it also compiles it's code efficiently.
  • Forth words (effectively function definitions) are often a line or two long, making them manageable on a small screen.
  • Forth is highly extensible, so integrating it in with whatever functionality the cell phone offers (like, say, access to an underlying JVM) should be no big deal.
  • Forth has many implementations to choose from, including Java based versions which may require a minimal amount of porting before they run on a cell phone.

In other words, you might consider a cell phone to be a hostile environment to program in - it has few resources, small screen size, a poor keyboard, etc. This kind of environment makes Java or Scheme painful, yet Forth should thrive.

That's the motivation - it should be an interesting experiment to see if my hunch is in fact correct.

T-Mobile G1 Initial Thoughts

I've now had a T-mobile G1 for just a few days, so I'm ready to share my initial thoughts on the device. It will be interesting to look back, once I've really gotten to know the device, to see how accurate they were. They could, of course, be totally off the mark.

Thought #1: It's My Sidekick Grown Up

I've been a Sidekick fan for years, and have always thought that the Sidekick nailed a few aspects of mobile phones early on. Perhaps I have my Sidekick colored glasses on, but I see quite a few similarities in the devices:

    Sync - both devices sync up with a central server, meaning a lost of damaged device is trivial to replace. Google improves on the Sidekick's sync'ing by connecting up to your Google account.
  • Biased to Power Users - Both the G1 and the Sidekick have keyboard shortcuts that make for quick access to both programs and functionality within the programs. From what I can tell, the Sidekick is just a bit more streamlined here, with more keyboard shortcuts and a better keyboard layout (I miss having the arrow keys and the trackball).
  • Over-The-Air Updates - Both devices are updated automatically through the magic of Over-The-Air (OTA) updates. This means new software and functionality just shows up throughout the life of your phone.
  • Message Friendly Hardware - The keyboards on both devices are spacious and while not as nice as the early on Sidekick device's, still not bad. I'm amazed at how quickly I was able to move from the Sidekick's keyboard to the G1. Shira's had a BlackBerry for years now, and I still can't type on it to save my life.
  • Easy 3rd Party App Installation - Both devices allow you to browse through a list of apps, preview them, and choose to install the ones you want to have access to. There's no USB hassle or worrying about apps that crash your phone - it all just works.
  • Usable Apps - The web browser, e-mail and IM on the Sidekick were pretty advanced in their day, with web browser digesting real live pages without a problem. The G1 has built on this by providing cutting edge apps that are also next generation.

The end result is that I don't feel like I've given up all that much. Instead of feeling like I'm moving to a brand new platform (like BlackBerry or Windows would have been), I feel like I'm just using the next generation of Sidekick.

Thought #2: Who's this device for?

Corporate E-mail users rely BlackBerrys. Apple users and anyone with a love of beautiful technology can't resist the iPhone. 13 year old girls who type 90 words a minute gravitate to the Sidekick. Windows Geeks love Windows Mobile. But who identifies with T-mobile G1?

The obvious answer is the geeks. After all, what other phone can you get root access on? But, playing around with the phone, my initial reaction of who this phone was good for was a little bit different.

To me, this phone is ideal for entrepreneurs. The reason is simple: it appears to integrate remarkably smoothly with Google Apps.

As a small business, Google allows me to have corporate e-mail, a contact database, a group calendar and collaborative documents all for free and all under my own domain name (so nobody knows I got it for free). And now, with the G1, I can plug in my e-mail address at setup time, and have all these services perfectly sync'ed up on the go.

I've got the same e-mail sync, contact sync, calendar sync and document viewing that my big corporation friends have, but without a costly server setup. That seems like an absolute winner.

If I were Google, I'd be marketing the heck out of this combination.

Thought #3: So. Many. Apps.

As mentioned above, on the Sidekick you had the ability to browse through a list of apps and purchase those that interested you. For example, the phone didn't come with a stopwatch - no big deal, you went and downloaded the stopwatch app. No biggie.

I've heard plenty about how Apple has taken the concept and made thousands of apps available, and the general gist I'd gotten was that the G1 was lagging behind.

Well, coming from the Sidekick world, I have to say, I'm totally blown away. There are hundreds of applications for the G1 and at the moment they are all FREE. I'm like a kid in a candy story, trying to control myself and not download everything in sight.

If you're not used to have thousands of applications to add to your phone, then you'll probably be pleased with what the G1 has to offer. I know I certainly am.

Thought #4: This is fun!

I have to say, I'm still learning a lot, but overall, I'm really enjoying the phone. Yes, I called someone today accidentally and had them on the phone for 2 minutes before realizing it. Such is the joy of getting used to a new cell phone platform. But, overall, I couldn't be more pleased. I feel like I've finally taken a big step forward in terms of technology (from both my Sidekick and Shira's BlackBerry) and couldn't be happier about it.

The Role Of The Union

I think the speech Obama gave at the Lincoln Banquet a few days ago was one of his better ones recently. Like his speech on race or patriotism, it was really a teaching speech.

Give it a listen - even if you don't agree with his position, chances are you'll learn something.

Monday, February 16, 2009

On Demand Book Printing

I wanted a hard copy of the classic Thinking Forth by Leo Brodie. I also wanted it in a hurry. The good news is that it's availabe under Creative Commons (http://thinking-forth.sourceforge.net/). But, at 300+ pages, I didn't want to use my home printer for the project.

So, I gave Kinkos a shot - and they totally came through.

I uploaded the pdf, selected double sided printing and a basic binding, chose a location for pickup and provided a credit card. A few hours later, I had my own personal copy of the book ready.

I only got slightly fancy by using Adobe Acrobat to print the PDF to a new PDF with 2 pages per sheet in effect. The result was a 180'ish page file to print instead of a 300'ish page file, cutting the cost of printing significantly.

I'm really impressed with Kinkos - in a world where everyone owns a copier/scanner/fax/computer they are still providing relevant and important services.

What they really need is a widget they can allow authors to put on their websites. The widget could then walk folks through printing specific copies of a document or book. The author could pre-configure the document to use, paper type, etc. That way, I could have had my printed copy even easier, and the author could get a little cash for sending folks to Kinkos.

Even without a fancy widget, the print on demand stuff is cool. Now, if Kinkos had a way of providing me with free time to read the book...

Sunday, February 15, 2009

Almost A NASCAR Party

We got Pizza, Beer, good friends and the TV tuned to the Daytona 500.

One small problem - the race was called on account of rain.

D'oh, our plan to drink beer and watch the end of the race was a bust.

But, at least we've still got the good friends and food part.

Voice Mail That Works

One of the coolest features of the iPhone has to be the voice mail handling. Instead of calling in for your voice mail messages, they are downloaded automatically to the phone and you can play them like they were an audio file on your device. They become as easy to manage as e-mail or SMS messages.

No more trying to remember if pressing 7 deletes or saves your message.

This is such obvious functionality once you've used it, why did it take so long to appear?

I was disappointed that my new G1 doesn't offer this kind of support. But, it turns out, you can easily add it in - heck, it's even free.

Just install PhoneFusion+ from the Android Market and follow the setup instructions.

It even allows you to access your voice mail from your desktop/laptop via their website.

So far, the app is working great.

And here's the best part - PhoneFusion isn't tied to the T-mobile G1. They cover a whole range of platforms, including BlackBerry devices.

Shira installed the software earlier today on her Curve, and it works great.

Check them out - www.PhoneFusion.com - and get a glimpse of how voice mail should really work.

Saturday, February 14, 2009

The Shark

Playing a bit of pool and watching Shira show off her moves. She's way better than me - but that's not saying much.

Good times.

Friday, February 13, 2009

Gotcha Of The Day: Installing PHP 5.2 on Cent OS

I wanted to upgrade one of my servers to PHP 5.2.x. But, the standard upgrade command of sudo yum upgrade php wasn't working. Apparently, the default repositories don't have PHP 5.2 versions yet.

Thankfully, there's Google, and articles like this one that outline exactly what you need to do this upgrade.

I ran the steps provided, but when it came time to actually upgrade PHP, I got a whole bunch of errors that looked like:

Transaction Check Error:
file /etc/my.cnf from install of mysql-libs-5.1.31-1.el5.remi conflicts with file from package mysql-5.0.45-7.el5
file /usr/share/mysql/charsets/Index.xml from install of mysql-libs-5.1.31-1.el5.remi conflicts with file from package mysql-5.0.45-7.el5
file /usr/share/mysql/charsets/README from install of mysql-libs-5.1.31-1.el5.remi conflicts with file from package mysql-5.0.45-7.el5
...

And of course, the upgrade didn't happen.

After a bunch of trial and error, I decided I would first attempt to upgrade my version of MySQL and ran:

# Assume these have been run
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

# Upgrade MySQL
sudo yum --enablerepo=remi update mysql

Surprisingly, while upgraded MySQL, the new version of PHP was pulled down. The result was an up to date version of MySQL and PHP. Problem solved.

Thursday, February 12, 2009

News on the Autism - Vaccine Link

I brought up the topic of Autism and Vaccination a while back. My brother just passed me this article on the topic:

Confidential medical documents and interviews with witnesses have established that Andrew Wakefield manipulated patients’ data, which triggered fears that the MMR triple vaccine to protect against measles, mumps and rubella was linked to the condition.

Apparently, the guy fudged his data - only the most heinous sin possible in the world of science.

But here's the truly amazing part:

Despite involving just a dozen children, the 1998 paper’s impact was extraordinary. After its publication, rates of inoculation fell from 92% to below 80%.

Wow, one study involving 12 children reduced inoculation rates 12% 13%. Amazing. Who says one person can't make a difference?

Some West Virginia Photos

Here are a few photos from our latest West Virginia Trip. Nothing too impressive here in terms of photography, but I can't resist sharing.

Wednesday, February 11, 2009

Ben's Latest Gadget

Here it is, my newest toy, uh I mean business tool: a T-mobile G1.

So far, there's not much I can say about it. It feels small compared to
my sidekick, and I don't like how the keyboard isn't placed in the
center of the device, like my Sidekick.

But, I'm sure that's going to take some getting used to.

Now I just need to let this sucker charge up...and then the fun can
really begin!

--Ben

Tuesday, February 10, 2009

Two Forth Resources

Last night I was poking around for Forth programming resources and found the following interesting:

  • OLPC's Forth Lessons. This is an interesting approach to learning about programming. It makes use of Open Firmware, which is included with the OLPC's hardware. The lessons not only teach some programming basics, but also talk about poking around the guts of the machine. If nothing else, it's an intriguing example of a DSL.
  • I wanted to play with a Forth on my Windows box, but wasn't sure what my best implementation was (suggestions anyone?). I ended up going with minforth which compiled under Cygwin fairly painlessly. All I need to change was:
    /* ---------------------------------------------------------------------------
       GCC for Linux
    */
    #elif defined(__GNUC__) && defined(linux)
    

    To:

    /* ---------------------------------------------------------------------------
       GCC for Linux
    */
    #elif defined(__GNUC__)
    

    I then followed the instructions for compiling the app and it worked just fine. As for what appealed to me about minforth: I like it's simplicity, yet it isn't too basic - as it provides command line history, native function access, and seem quite robust. And while it wasn't updated too recently (3/2007), considering how old Forth is, that's still what I would consider relatively fresh.

If you've never encountered Forth, it's definitely a mind bending experience. And one definitely one worth having.

Gotcha Of The Day: Apache and PHP Crashing On Vista

So, I'm minding my own business, hacking away at some PHP code on my Windows Laptop, when all of a sudden my web app starts reporting this gem of an error:

Network Timeout
The server at www.localhost.com is taking too long to respond.

What the heck? Then, I noticed that Apache crashed and Windows Vista reported to me:

Apache HTTP Server stopped working and was closed
A problem caused the application to stop working correctly. Windows will notify you if a solution is available*

Huh? It's not like I'm programming in C here, the server shouldn't just crash?

Trying to be Windows savvy, I open up the event log and find the following messages present:

Faulting application apache.exe, version 2.2.11.0, time stamp 0x493f5d44, faulting module ntdll.dll, version 6.0.6001.18000, time stamp 0x4791a7a6, exception code 0xc0000005, fault offset 0x0006814c, process id 0x1b88, application start time 0x01c98b2d160f9940.

Faulting application apache.exe, version 2.2.11.0, time stamp 0x493f5d44, faulting module php5ts.dll, version 5.2.8.8, time stamp 0x493d75fc, exception code 0xc00000fd, fault offset 0x000df44f, process id 0x698, application start time 0x01c98b2d16b3c880.

Well, that's not very useful. But, it was useful enough for me to Google around and find this article where someone had a similar problem. The bug turned out to be:

If you include a nonexistent helper in the AppController::$helpers array, infinite recursion occurs.

As you can probably guess, it's the infinite recursion part that gets you. Turns out, infinite recursion on Windows Apache + PHP (specifically using xampp) causes the server to crash. In fact, the issue can be reproduced with the following script:

<?php
function foo() {
  foo();
}
foo();
?>

I think it's absurd in this day and age that a process actually crashes ungracefully when you hit a stack overflow error like this. I mean, at the very least, can't you report that you've hit stack overflow so the programmer knows what the general problem is?

I went back through my code, and sure enough, a cut and paste error was resulting in infinite recursion. I updated the code and my problem was solved.

*In other words, "Don't call us, we'll call you"

Monday, February 09, 2009

Ajax and WordPress - A Simple Approach To Integration

Tonight, the app I was working on was crying out for a small feature which Ajax would work perfect for. So, I busted out jQuery and wrote some JavaScript like*:

 function addToAddressBook(name, phone) {
   jQuery('#spinner').show();
   jQuery.post("http://myserver.com/ajax/add_addr.php", 
              { name: name, phone: phone }, 
             function(data) {
               jQuery('#spinner').hide();
               // do more stuff with data
             }, "json");
 }

And then it hit me, my script add_addr.php isn't part of WordPress, so inside of it I won't be able to access WordPress details like the current user. Which in this case, I wanted to do, because I wanted to add the address to the particular user that is logged in.

The solution turned out to be a Google Search Away. All I need to do, was put the following at the top of add_addr.php:

 <?
  require_once('../wp-blog-header.php');
  ...
  // works because we've imported the environment above
  $user = wp_get_current_user();
  ...
 ?>

Turns out, WordPress integrates nicely with 3rd party scripts. One more reason to like WordPress, I guess.

*It wasn't really an address book application. I could tell you about what it really was, but then I'd have to kill you.

2nd Annual West Virginia Getaway

It's hard to believe that just about a year ago, I had the opportunity to join Shira on a short trip to West Virginia. Well, I'm back again!

Once again, we lucked out on the weather, and I managed to get in a terrific run around town in the 50's instead of in the 20's and snow.

I have to say, I still really love this place. Everything about it seems quaint and historical, and the scenery is gorgeous. Even the college kids I ran by seemed in their own safe little bubble. Below are a few snapshots of the surrounding countryside. My camera phone can hardly do the scene justice.

Oh, and check it out - here's the town's version of rush hour. This appears to be the largest intersection in town, and it's governed by a 4 way stop. No fancy shmancy stop lights here.

I said it last year, and I'll say it again this year - I love being totally mobile.

Sunday, February 08, 2009

Scan Your Own Groceries - A Super Market Surprise

Giant by us now allows you to walk into the store, grab a hand scanner, scan and bag your groceries while shopping, and then pay in the front.

I have to say, it does appear to be a time saving - and even fun - activity.

I give Giant a lot of credit for this program. I can think of many reasons, the least of which being theft, that makes this idea "impossible."

Rather than waiting for their competitors to innovate, they are leading the pack. Well done. At the end of the day, Wegmans and Harris Teeter can copy everything Giant does, except their willingness to innovate.

--Ben

Getting Warmed At Dave's House

Shira and I hit my bro David's house warming party. What a good time! Lots of great food, and Dave's roomates and friends were lots of fun.

I even engaged in what I'd like to propose as the Simon House Warming Triathlon. It consists of a strength zapping game of Bocce Ball, a grueling round of Make And Eat Your Own Sundae and finally an endurance pushing game of foosball. You'll want to train heavily before attempting these activities - this is serious business.

Oh, and while I did well at foosball, Shira still beat me. She's been doing that since 7th grade.

Awesome party Dave!

--Ben

Some Disassembly Required

A few years ago, this tower randomly went. It didn't take long to figure
out that perched atop it was a camera that could swivel around and keep
an eye on the area.

Now, for no apparent reason, there appears to be construction underway
on the tower. Perhaps to remove it?

Could be random maintenance or an upgrade. Or, did the Obama
administration shut it down?

Jusr something for DC conspiracy theorists to chew on...

--Ben

Friday, February 06, 2009

12 Eductional Uses Of Twitter, And Another Publishing Platform

While playing around with Twitter and Google Spreadsheets I came across this fun presentation: 12 Educational Uses For Twitter.

The presentation has some simple, but clever ideas, to have kids and parents benefit from Twitter. Twitter happens to work well, because it's so drop dead easy, you need a minimal amount of setup and training to get value from it.

What I found equally impressive to the information, was how it was presented - as a Google Presentation. This makes for a step-by-step presentation, rather than say a blog post or other mainly textual format. Usually, to have this sort of user experience, you'd need a website to host your content on - not so with this approach. Just create your Google Presentation and the URL with the world.

I'm constantly amazed with the tools that are available to let people publish to large audiences, For Free. A Google Presentation is, of course, just one more option to add to the dozens if not hundreds out there. But, for the right person and project, it could be the absolute best way to go.

Check out the presentation to see what I mean.

Thanks to JMGubbins for mentioning the link.

What Absolute Mastery Of Your Job Sounds Like

The audio tapes from the Flight 1549 emergency landing have been released. Wow, they are an absolute must listen:

How amazing is that? Total and absolute calm. You'd think that they landed in the Hudson a couple times a day.

I think the tape shows what true professionalism is all about - staying calm and working together as a team to solve whatever problems are thrown your way. Talk about a teaching moment.

Thursday, February 05, 2009

Twitter Meets Excel and Google Docs

I've mentioned before how addictively easy to use the Twitter API is. Once you learn about it, you can't help but start embedding it everywhere.

With that said, I still think it's pretty cool that someone whipped up some Excel code to allow you to Twitter from inside a spreadsheet. Thanks go to my Dad for the link.

I couldn't help taking a few minutes and thinking how the Twitter API might mesh with Google Spreadsheets. Turns out, you can trivially make use of Google Spreadsheet's importXML function and Twitter's Search API to end up with a Live Search Feed embedded in your document.

Here's an example:

The magic involves putting the following two formulas in cells B4 and C4 respectively:

=importFeed("http://search.twitter.com/search.atom?q=" &SUBSTITUTE($B$2," ", "+"), "items summary", true)

=importFeed("http://search.twitter.com/search.atom?q=" &SUBSTITUTE($B$2," ", "+"), "items url", true)

Both of these cells refer to $B$2, which contains the search term to use.

Writing this was easy. Coming up with an actual case of where you'd use this, is trickier. Twitter provides a stream of what people are chatting about, so this allows you to embed real time conversations into your document. Again, why would you do this? Not sure...but you can.

Why You Won't Be Reading 25 Random Things About Me

There's this trend flying around Facebook where you author 25 random tidbits about yourself and then tag others to do the same:

Rules:
Once you've been tagged, you are supposed to write a note with 25 random things, facts, habits, or goals about you. At the end, choose 25 people to be tagged. You have to tag the person who tagged you. If I tagged you, it's because I want to know more about you!

I've now been tagged by a bunch of different people from completely different walks of life (ahh, the power of viral marketing), so it seemed like the responsible thing to do was to write up my own 25 random things.

But, after thinking it through, I've decided, it isn't going to happen. Don't get me wrong, reading these 25 things about friends has been wonderfully fun. And I certainly don't want to be a party pooper. But...

First, I've got this blog where you can learn waaaaaaaaay more than you ever wanted to know about me. I mean, religious and political views, rants about technology, photos, heck even romance tips. Geesh, if I told you anymore about me, you'd be sick of me already.

Second, I like to blog (which shows up on Facebook as notes, for those reading this there) because it's fun, and often cathartic. When it becomes hard, forget it, I'll focus my energy elsewhere. That's one of the reasons that blog posts bounce from topic to topic. Who wants to try to be the authority on just one area? This is fun, not work.

If I really did want to write up 25 random things, I'd spend days, if not weeks dwelling over exactly what to put in there. Then, once I had the list figured out, I'd need to figure out who to tag. I mean, who do I want to learn more about, and wouldn't want to bother? I get stressed out just thinking about it.

So, if you tagged me - thanks. I really enjoyed reading your 25 random items. And apparently, I take these things way too seriously to respond back appropriately.

Update: Apparently I'm not the only one who's seeing this 25 Random Thing Trend and has something to say about it - Time just published 25 Things I Didn't Want to Know About You. Though, it's interesting to note they think the 25 Random shtick is "more stupid than Twitter," I just think it's too much work.

My Drinking Problem

I don't think the photo does my desk at this moment justice - I've got quite a collection of glasses here. I really need to figure out a better algorithm for returning them to the kitchen. Whatever I'm doing, it isn't working.

And before you ask, the answer is: "that clear liquid in them is water."

Wednesday, February 04, 2009

Yet Another Dell Support Trick - Try Safe Mode

So, my attempt to fix Shira's networking issue on her Dell didn't solve the issue. I was out of options, so I called my buddies at Dell.

The first person I spoke with wanted me to check to see if the little picture of the computers, next to the clock, had a red X through it. Oh dear. This was going to be a long conversation. Luckily, she was in large company support, and so she transported me off to someone who's job it was to handle little peons like me.

The guy who ended up helping me had a much thicker Indian accent (whereas the large company support sounded quite American...hmmm...), but boy, did he know his stuff. He immediately had me boot into Safe Mode and confirm that the Internet connection was nice and speedy there.

This was an elegant way to prove that it's a software problem, not a hardware one.

We didn't resolve the issue - but at least I'm convinced it's not a bad Ethernet card.

This Safe Mode trick, like other Dell advice, will be going into my toolbox for future use.

One Cool Animation

I agree with Nicholas Patten: This is an amazing animation.

Apparently, the animation mirrors the legend of how the Chinese zodiac came into being. In my book, that makes it more than just eye candy, and is also telling a story.

It's definitely impressive stuff.

Dell Delivers - Mostly

Last night I was pleased to have my Dell Laptop returned to me. Dell promised me they would fix it in about 10 days, and sure enough, that's what they did.

They even left me voice mail when the device arrived at their depot and when it was shipped out.

So, they score a perfect 10 out of 10, right? Well, not exactly.

When I opened up the laptop box I found in it my laptop. And nothing else. Most importantly, no note explaining what they did. So, I called Dell and spent 30 minutes (and 4 seconds, but who's counting) trying to get one simple question answered: What did you guys do to my laptop.

The answer was pretty encouraging: they replaced the keyboard, heat sink/fan and motherboard. I don't know what they were thinking with the keyboard, but hey, I like the silky smooth one I got back.

It boggles my mind that Dell doesn't have a system to generate a canned letter that says what they did to the laptop. Heck, they did all this great stuff, shouldn't they get credit for it?

There's a lesson in here: without informing your customer, even the best actions go unnoticed. It's not enough to do great things - tell me about it. You don't have to boast. But you're customers shouldn't have to go searching for it either.

Worst Dialog Box. Ever.

Whenever I open up the Real media player on my Windows XP laptop I'm greeted with the following message:

And it's not like this message is subtle in any way - it covers up the content, so I inevitably lose the first few seconds of a video staring at this dialog box.

And what's so bad about it? First, like I said, it's completely disruptive. I understand ActiveSync wants to help me out and get me started, but isn't there a way to do this that is a tad bit more subtle?

Second, and far worse, I don't have a device I'd like to sync with this program. That's right, it's showing me this even though I have nothing plugged into the USB port. And what are my choices? I can click Next to configure the device that I don't own, or I can hit Cancel which it interprets as "you'll probably want to come back to this later."

But I don't want to come back to this. EVER. And for the life of me, I can't make it stop.

What kind of product manager could allow this sort of ridiculous logic into their software?

Tuesday, February 03, 2009

Two Color Toys

While looking around for a fresh color scheme to a nav bar menu, I stumbled upon these new color related goodies...

  1. www.coloring.com - this is actually a toy. Sit your kid (or bored programmer) down in front of the computer and have them color in some photos. It's actually a fun way to learn mouse dexterity, and may even keep the little one occupied for a bit. I bet the average 4 year old would have the site figured out way in just a few minutes.
  2. ColorSchemer.com's gallery - You can browse through 3000+ color schemes. You'll want to have a plugin like ColorZilla so you can quickly grab the RGB values from the swatches that are shown to you. I always find it a fun experiment to pick a fairly random color scheme and see what I can build out of it. Don't get me wrong, the results are almost always hideous, but at least it's fun.

What color toys tools are you using these days?

Monday, February 02, 2009

Democrats, Republicans and Geeks

There was an interesting interaction on the latest This Week with George Stephanopoulos, where you had Sen. Jim DeMint, Eric Schmidt and Rep. Barney Frank, among others, talking about the stimulus plan. Here's the first exchange:

SCHMIDT: I'm sure this stuff is going to get fixed by -- by you guys, because you're working very hard on it...

DEMINT: I wouldn't count on it.

SCHMIDT: And, by the way, you guys need to get this thing fixed. What we need is very simple. We need some form of a jobs program, something that causes jobs to get created, and we need credit to get -- get going again. That's what we should be talking about as a country.

(CROSSTALK)

SCHMIDT: And we can debate exactly how to do it, but get it going now.

FRANK: Well, excuse me. You (inaudible) it's called democracy, Eric. I'm sorry, but it's inevitable.

And then at the end of the conversation:

SCHMIDT: Chairman, the fact of the matter is, that if the government simply told everybody what you all were doing [by documenting the content on the website]...

(CROSSTALK)

SCHMIDT: ... and then people could track it and figure out whether it's actually working...

(CROSSTALK)

FRANK: But we are going to do that.

SCHMIDT: ... we could get through these classic fights that you all have.

STEPHANOPOULOS: As you know...

FRANK: Well, no, I differ -- differ with you on that. Please. Let's not obviate democracy. There are legitimate different philosophical differences between Jim DeMint and myself. Please don't treat them as some sideshow.

This just boggles my mind. Eric Schmidt is proposing a simple concept: Thoroughly document what you are going to do, do it, review how successful it was, and change it. It's that simple.

And how does Representative Barney Frank respond? You can't do that, you have to have a philosophical debate. Are you kidding me?

Schmidt is effectively suggesting an iterative approach to fixing our economy. I like it. It's sane. It's logical. And yet, even this, we can't agree on.

Seems to me that between Frank's interest in avoiding logic and DeMint's can't do attitude, we're screwed.

Look, this stimulus thing isn't that hard to do. Here's what we have to do:

  • Open up a new Google Doc spreadsheet
  • Create three columns: one for the name of the program, one for how many jobs it will create, and one for how it will positively impact jobs
  • Now, for each program you want to create, fill in a row in the spreadsheet
  • Have a logical debate on each program: does it create a significant number of jobs or does it impact job creation? If it does, whoo!, keep it in the package. If not, cut it.
  • For extra points, involve the whole country, and Ask Us

This does not need to be about philosophy and who can argue better than the other. This should be about what will create new jobs. It's that simple. And yet, I'm watching my own party hose it up. Argh.

Sunday, February 01, 2009

The game changer

This shot was taken as the Cardinals were inches away from a touchdown (to tie the game) and instead handed the Steelers a 99yrd touchdown.

While we're at half time, it's probably game over at this point.

On a good note - we had a fantastic time watching the game with cousin's Brendan and Juilia. They've got hosting a superbowl party down to a science. Super food, fun people and of course Shelly for entertainment. We had a fantastice time.

OK, Cardinals - you've got 2 quarters to pull out a victory. Go get 'em!

--Ben

Update: Wow, what a game! 2:30 left and Cardinals just pulled ahead. If they win this one, it'll the biggest comeback in Superbowl history. Guess I shouldn't be in the game calling business...

Potomac as Popsicle

I'm standing here at the Theodore Roosevlt Island parking lot waiting for David and his running buddy to show up, and I'm quite impressed by the look of the frozen Potomac. So peaceful. So, pristine? Nahh, not possible.

Let me tell you, if you are in to guys and/or gals in DryFit and Lycra outfits, this is the place to hang out. I kind of feel out done, as I'm wearing a cotton (yes, the cotton, the horror!) Lockeed Martin shirt I got as free shwag, instead of some $60.00 matching DryFit outfit.

The place is motiviational, if nothing else.

--Ben