Wednesday, September 29, 2010

Rethinking Bookmark Sync

I was really bummed to hear that Xmarks is shutting down their service. They are one of the few web services I've tried and quickly become hooked on. With bookmark sync, browser based bookmarks Actually Work.

It takes a little time to setup a sync service, but once you do, the return is almost instant. All of a sudden, a single unified set of bookmarks is everywhere. Like I said, it made bookmarks useful for me again.

So, Xmarks is out - who should I try next? I decided to go with Firefox Sync, as the majority of my real surfing and web development happens in FF.

As I hoped, setting up Firefox sync was totally painless. In fact, it's so invisible, I almost didn't realize it wasn't working. My issue: I needed to disable Xmarks for sync to work.

One area where bookmarking sync'ing wasn't working particularly well for me was the tracking of potentially blog-worthy articles. I loved that I could drag a tab into a To Blog folder, and poof, I'd be able to easily find it later to blog about. The problem is, after having bookmarked about 105 articles, the list became really cumbersome to use within Firefox.

The solution I'm trying is to leverage Google Bookmarks for blog-worthy stories. Google Bookmarks is a no-frills bookmark tracking system, kind of like the big boys out there. But, in my case, I don't need all the features offered by those services.

The end result is that I now click a Bookmarklet to save a page worthy of writing about, instead of using native Firefox bookmarks.

I was able to import my 150 or so existing blog idea pages (the vast majority of which I won't write about) into Google Bookmarks, and it swallowed them up perfectly. It allows me to sort them by date, so I can easily browse through them. I'm thinking this will work well.

Now, if only some company will come along and save Xmarks at the last minute - I'd be glad to switch back to them in a minute.

Tuesday, September 28, 2010

I Will Do This Today

From Yes and Yes - a fun blog I've been following recently.

GoDaddy Gets Back To Being GoDaddy

I could barely believe it when I wrote a blog post praising GoDaddy. And then, over the last two days, two of my clients ran into the same situation over at GD.

Both clients purchased domain names and were told that it included free hosting. This seemed reasonable, as hosting at GoDaddy is dirty cheap (like $4.00 a month), so throwing this in seemed a reasonable way to lure customers over to hosting there. After a year of free hosting, it's doubtful the customers would go through the effort of migrating to a new host. Give one year, get a lifetime.

When I had trouble figuring out how to activate the hosting one of the clients was entitled to, he called GoDaddy and got specific instructions. Sure enough, they were easy to follow.

And now for the catch - when I started deploying files for these customers I realized that site automatically included ads at the top of the page.

In other words, the free hosting that GoDaddy so graciously gives you, forces you to include ads at the top of the page.

There's nothing inherently wrong with this.

What I have a problem with is GoDaddy's not informing customers clearly what they are getting. When a customer buys hosting, they assume they are getting a plataform to host their site in a professional manner. That's just not possible with free ads at the top of the page.

Like their aggressive upselling (buy a certificate and it automatically signs you up for 2 years, not 1), this is yet another example where trust breaks down. It also wastes customer's time - rather than making an informed decision about what to buy at the time of purchasing the hosting, now customers need to go back after the fact and re-evaluate which hosting plan is right for them.

So yes, offer free ad based hosting - just make sure customers know what they are getting into.

Someone at GoDaddy desperately needs to read Seth Godin's wisdom on this topic:

Apparently, a computer is now not a computer, it's an opportunity to upsell you.

First, the setup insisted (for my own safety) that I sign up for an eternal subscription to Norton. Then it defaulted (opt out) to sending me promotional emails. Then there were the dozens (at least it felt like dozens) of buttons and searches I had to endure to switch the search box from Bing to Google. And the icons on the desktop that had been paid for by various partners and the this-comes-with-that of just about everything.

The digital world, even the high end brands, has become a sleazy carnival, complete with hawkers, barkers and a bearded lady. By the time someone actually gets to your site, they've been conned, popped up, popped under and upsold so many times they really have no choice but to be skeptical.

Best of all, he suggests an antitode: be straightforward.

Monday, September 27, 2010

Jumping Into the Kiddie End of the Pool

Yesterday, our little guy had his very first swim lesson! I'm not exactly sure what to say on this topic, but I know that an occasion of this magnitude demands to be blogged.

Here are a few random thoughts:

  • We're taking this course through Arlington County. It's our first attempt at a county class and I've got to say I'm impressed. We were met at the door of the pool by a nice lady who greeted us and took us on a quick tour. It was all very welcoming.
  • I know I shouldn't brag -- but I can't resist. Our little guy was an absolute rock star. He loves the water (and anything that's potentially hazardous to his health: stairs, throwing himself on random things in his play room, climbing the walls of his pack-n-play, etc.) and was eager to get into the pool. For about 40 minutes he was in absolute heaven just splashing around.
  • I couldn't fathom what the actual course material would be for teaching a 1 year old to swim. Turns out, the real student here is the parent. The goal being to teach us to create a safe and fun environment for a baby to get comfortable in the water. This is definitely an admirable goal and one I'm glad I'm learning.
  • The other parents were quite nice and I could see how this would be an ideal activity to connect with other parents.
  • The best part of the experience: our little one was so wiped out from all his "swimming" that he took a 2½ hour nap when he was done. Compare that to the 20 minute nap he took this afternoon at daycare. Swimming rocks.

All in all, I'm really glad we took the plunge (sorry, couldn't resist) and signed up for the course. It definitely seems like a winner.

BlackBerry Going The Way of the Sidekick?

Not being up on the latest (or really, any) mobile news, I may be way off base here. But, I've got a theory I just have to share.

Seems to me, that the BlackBerry devices are going the way of the Sidekick. Allow me to explain.

The Blackberry and Sidekick devices were both revolutionary ahead of their time. The Blackberry effectively introduced mobile e-mail to the world of corporate executives. I can recall back in the early 2000's, at a startup I was at, the C-level execs started carrying these phones with keyboards on them. Sure, I was reading my e-mail on my 6 line Nokia screen - but it was klugy to say the least. And forget about replying to e-mail. From that time until fairly recently (again, as far as I can tell) BlackBerry had been the hands down choice for corporate e-mail.

The first version of the Sidekick brought its own innovations: a flip out keyboard that was a dream to use; data synchronization which meant that the phone was dumb and could be replaced at any time; over-the-air updates; a built in store app which allowed for secure and foolproof purchase of add on programs and music.

And what happened to the Sidekick? It attained its own cult like status (among teenagers, that is) where its features were beloved. Yet, Sidekick, could never seem to innovate much beyond their original feature set. Sure, they'd come up with newer devices that had larger screens, more megapixels or a faster CPU. But really, they were just tweaking a recipe that worked.

In the end, the Sidekick faded from usefulness. Competing phones vastly surpassed it hardware and software, and its cutting edge features eventually became standard on a number of phones (especially, the G1).

And so, as I watch Shira peruse the latest offerings from BlackBerry, do I think I see the same trend there as was happening with the Sidekicks. Sure, the latest BlackBerry may have more memory, a better camera or a brighter screen. But, Shira has yet to find a truly compelling reason to upgrade.

And for may BlackBerry users, this is probably OK. Shira loves the simplicity of the phone. Her e-mail, SMS and chat sessions are always easily available. And she just can't imagine needing all most of the apps that I download.

Still, I wonder just how much longer BlackBerry can get by being the corporate phone of choice. And when they lose that distinction, what's next for them?

So, how off base do you think I am?

Improving The Boogie Board Tablet

I was wandering through the mall last week, when a display of Boogie Board tablets caught my eye from the edge of Brookstone. Now, I typically find Brookstone to be filled with luxuries I just can't justify. But, the Boogie Board seemed quite practical.

The Boogie Board is a super thin electronic drawing tablet. It appears to use e-ink, so it needs only the smallest amount of battery power. There's a single button to clear the screen, and other than that, it's just a surface to draw on. Apparently you can use any blunt object to draw with, so a lost stylist isn't cause for alarm. Finally, the device is pressure sensitive, so the pen strokes vary as you press harder.

Essentially, it's a digital version of the Magic Slate.

At around $35.00 it's not terribly expensive either.

Of course, the big catch is that there's no way to save the contents of the tablet. These days, I use a 100 page graph-paper composition book as place to scratch out ideas. These work great because they are cheap, durable, and if scribbled notes do become valuable, I can flip back to find them.

It's tempting to wish that the folks behind the Boogie Board would create a model with USB or Bluetooth support for saving content. But, I think that would end up bulking up the device in terms of size and complexity, and it would add significant battery requirements (right now, you never need to charge the sucker - just use it).

No, if I were in their shoes, I'd leverage the fact that most people already have a bluetooth/USB connected device in their pocket - their cell phone. I could see creating an Android app that works much like the barcode scanner does now.

You would open the app, and the camera would immediately turn on. As you arranged the tablet within the camera's view, it would detect when all 4 corners of the tablet were visible (to do this, Boogie would probably have to add special markings to each corner of the tablet - in theory a painless thing to do). At that point, it would snap a photo of the screen and store the image both locally as well as on a central server that one could access with a web browser.

Because the ink is of a standard green'ish color, it may even be possible for the Android to detect where the drawing is and turn the image into a vector image. Though, I'm not entirely sure why that would be useful.

With arrangement like this, I think you'd get the best of both a portable whiteboard, and an archival system.

In the mean time, I'm just impressed that I found something at Brookstone that I think is worth buying.

Friday, September 24, 2010

Phone Friday: Relax and Sleep - Creating a soothing environment on demand

One of the essential apps on my myTouch has become Relax and Sleep, a program that allows you to mix and match various soothing sounds and music in an ad hoc way. Its interface is both simple and powerful (as the screenshot below eludes to). Most importantly, it'll play your selections without interruption pretty much forever (or until your battery dies). Note: you'll want to make sure to add this program to your task manager's ignore list - otherwise you'll be stumped as to why the music only plays for 5 minutes and then stops.

While I think this application would be invaluable for catching Z's on an airplane or otherwise sleep-hostile environment, what I've been using it so far is to create a sleep-lulling state for our 1 year old. Take last Sunday, for example. We wanted to put him down for a nap at a stranger's house. My theory is that the music (relaxing rhythm + crickets was the pick of the day) allowed him to drift off to sleep a little faster, rather than being distracted by the new surroundings.

That's probably a load of crap. He probably slept no differently with or without the music - but it made *me* feel better. It made me feel like he was in a chill atmosphere, rather than a strange room with strange apartment sounds.

If you travel, work in a stressed environment, have trouble sleeping, desperately miss the sound of a running creek outside your window or have a baby, you should give this app a try.

This is a free app and without any annoying limitations that force you to upgrade. You'll upgrade this app because you like it so much, which is probably how it should be anyway.

Wednesday, September 22, 2010

WordPress Shows Off Its Elegance

Some days it feels like WordPress, like any large software project, has just overgrown itself into a klugy mess. And then you have today. Where, once again, WordPress demonstrated just how elegantly their plugin API can be.

The challenge: update the home page show it never shows posts from one particular category. My first thought was to override the home.php template, throw away the Loop query that was there, and create a new one minus the category in question using query_posts.

Luckily, I found blogmum's article on the topic before I started in on that hacked mess of an idea. Here's how you solve the above problem elegantly:

function exclude_category($query) {
  if ( $query->is_home ) {
   $query->set('cat', '-xx');
  return $query;

add_filter('pre_get_posts', 'exclude_category');

The magic behind this is the pre_get_posts filter that allows you to cleanly modify the query before it's run against the database.

Using filters like this is a wonderfully clean way to extend WordPress, and one I too frequently forget to employ.

Have Permit, Will Build

Whoo! We're the proud owners of a building permit which gets us one step closer to building our deck.

All in all, the process was fairly painless, even though it took me three trips to county offices. But, I found if I show up at 8am when they open, they have essentially no lines.

OK, we've got the zoning and the permit, now all we need to do is the minor detail of actual construction.

Did GoDaddy Just Impress Me?

I believe they did. Not only did they detect that I was setting up a hosting account for an active domain and left the DNS config alone, but they offer preview DNS:

Preview DNS lets you test your website prior to launch to ensure it displays and behaves properly on our hosting servers before modifying your domain's DNS record. This is beneficial when you are setting up a website for a domain that is currently active, either in your account or with another hosting provider.

When you enable Preview DNS, a subdomain is created on our server that temporarily houses your website. If Preview DNS is applied to, the preview URL is

It's a simple, but really powerful idea. This should avoid various subdomain hacks I used to use to configure a host before the domain was switched over.

Now, if only GoDaddy didn't make shopping on their an exhausting experience where you continually need to fight off upsells - well, they'd really blow me away.

Tuesday, September 21, 2010

My Latest Music Creation

Not sure how to describe it. A bit of trance, electronic, maybe a hint of dance, and some Sarah McLachlan (not sure how she got in there). All I know is that I've been tweaking this station over the last few days and enjoying it.

Here, give it a listen.

Learn Hebrew One Clever Phrase at a Time

I stumbled on while trying to find the English meaning for a Hebrew phrase, and managed to get totally lost in it.

The site offers an impressive archive of translated Hebrew phrases. Along with the literal translation, a idiomatic one as well as longer description is provided. You can even hear the phrase spoken aloud in Hebrew. Click on the sample below to see what I mean:

It's a fun way to get acquainted with the language and a useful site to visit before your next visit to the Holy Land.

Review: The Official CIA Manual of Trickery and Deception

The The Official CIA Manual of Trickery and Deception is an actual CIA manual written in the 1950's that is of course now declassified. I'm not quite sure how I stumbled on this book in the first place, but how could one see the title and not be at least a little interested? The library had a copy, so I rented it.

It doesn't take many pages of reading to realize that maybe they got a bit carried away with the naming of this manual. Rather than being a vast discussion on spy craft, and CIA maneuvers, it's really a guide for three activities: secretly depositing stuff (mainly pills, powders and liquids - and mostly into drinks and food), secretly withdrawing stuff (paper, widgets from a factory floor, etc.) and secretly communicating with a partner to help do these actions. It's probably this relatively narrow scope, and audacious title, that is responsible for the relatively low rating on Amazon.

Even with these shortcomings, I very much like the book.

First off, the book is a wonderful view into the world of magic. That's because the manual was authored by a famous magician, John Mulholland, with the intention of teaching CIA agents how to use magic accomplish the 3 tasks described above. Rather than emphasize specific tricks, Mulholland teaches the philosophy of the magician. His main lesson being that a trick is not about complexity or speed, but about using a perfectly natural action (say, lighting a cigarette) to mask a your hidden goal (say, dropping a pill in someone's drink). Whether or not this is considered the best way to teach magic these days or not, it was wonderfully insightful to a non-magic person like me.

Mulholland's writing is clearly from another era. Many of his examples are nonsensical now, and his specific tips outlined for how the different genders should approach a trick would no doubt land him in a sexual-harassment seminar. Though, to be fair, Mulholland never once doubt's a woman's ability to perform in the field - just that she can draw straight or explain a map (actually, his point is more frequently that a woman can't explain a map to a man, because that would not appear natural).

Mulholland's writing is wonderfully optimistic. There seems to be no act of taking or leaving an object that can't be done in a simple way. One only needs to be creative enough to see how it can be done.

The other part text that I thoroughly enjoyed was how all the techniques, especially the signaling topics, required so little technology to get their job done. Where a special device was required, instructions on how to make it from dime store parts is provided. I can just imagine a CIA agent hollowing out a pencil in his Russian hotel room for delivery of some clandestine drug. Signaling can be accomplished through the simplest of acts - wearing a lapel pin in a specific location, wrapping a rubber band a particular way around a package, adding dots to a buttons on a jacket. The list goes on, and on.

As we bulk up security at airports and train stations, I think we often forget this lesson of technical simplicity.

If you can rent the book from the library - I definitely recommend it. It's a view into the world of magic from a most interesting context.

Monday, September 20, 2010

Caption Me

I'm not even sure where to begin. What's your suggestion for the perfect caption?

A River Runs Through It

I just had one more hoop to jump through before Arlington County would bless our deck project: get approval from Environmental Services. Because our project is relatively small, this was expected to be a trivial thing to do.

I knew I was in trouble when the lady at the counter stepped away to get her supervisor.

"How far are you from the bank?" he asked me. Uh, bank? I'm thinking: well, we've got a Bank of America down the street. With my puzzled look he expanded - you know, the creek behind your house. How far are you from it?

Uh, the only thing behind my house is more houses. Townhouses, to be exact.

He brought up a map of the various lots and on it was a red line. The red line just nicked the back part of our property. That red line represented 100 feet from the Resource Protection Area - or stream.

I just knew this wasn't going to be easy.

The folks at the county were actually very nice. They gave me the necessary paperwork to fill out and instructions to take photos.

This weekend, I figured I'd seek out this body of water and see it for myself. And what do you know - it's there! In fact, here's what it looks like:

That's actually a down-stream photo. Up by us, there area is pretty much fenced off.

I felt a little bad snooping around the area by the stream, but I figured if it's going to cause me such pain, I should see and maybe even enjoy it.

Today, I took our paperwork and photos in to the county. The nice lady at Environmental Services walked through our paperwork and had me clear stuff up using the terms they prefer. It's been a painful process, but one that everyone is trying to streamline as much as possible.

So now we wait.

Baby Hack: Painter's Drop Cloth as Portable Containment Zone

When I originally bought our little one's booster seat (which, by the way I love), I made sure to stop by the hardware section and pick up some plastic painter's drop cloths. What can I say, I was preparing for the worst.

(Yes, I did feel a little strange checking out with only these two items. But I figured part of parenting is feeling strange.)

Turns out, we didn't actually have a need for the cloths. Our kitchen floor is basically durable enough to put up with our little guy's eating sessions, and for the living room, we've found a large towel works great.

However, yesterday we were invited over to brunch at someone's house - and because the booster seat is so portable, it was no problem to bring along. And into the diaper bag, I tossed a drop cloth.

Well, the brunch went great, and the drop cloth worked perfectly. Our little's guy's new signal for letting us know he's done eating is to switch from shoveling food into his mouth, to heaving it off his tray (yes, it's adorable to watch, and yes we're working on a more civilized way of ending our meals). The drop cloth was big enough that it managed to catch all the spray.

Being plastic, it cleaned up super easily and wasn't at all bulky to bring along.

From now on, when we travel with the booster seat, we also travel with a drop cloth or two. That is, until our little guy gets his table manners worked out.

Incidentally, it was myself, not our little one, who managed to get a gigantic red stain on his white shirt. Perhaps it's time to start wearing a big myself?

Friday, September 17, 2010

Yom Kippur Wisdom via Twitter

Some of these are a bit irreverent, but I can't resist. Here's just a few tidbits of what was buzzing on Twitter about the upcoming holiday:

Is it just me, or has Yom Kippur become way too commercial?

Rabbi Julie Schonfeld: Be a Teacher, Not a Judge: The Essence of Yom Kippur: Yom Kippur, the holiest day on the J...

The best kind of blintzes: From an octogenarian. Break Yom Kippur fasts with 86-year-old Shirley Greenberg's recipe.

It seems odd to go right from Yom Kippur on Saturday to International Talk Like a Pirate Day on Sunday. Yarrr, I be done atonin'....

National Guacamole Day coinciding with Yom Kippur is NOT okay.

Yom Kippur begins at sunset tonight. Non-Jews are requested to not refer to Yom Kippur as "the Jewish Cinco de Mayo."

On this eve of Yom Kippur...Liberty's Spirit: When Jews were Forbidden the Shofar in Jerusalem #jcot #tcot #Israel

(The video behind that last link is especially powerful.)

Gmar Chatimah Tova - here's to an easy and meaningful fast.

Thursday, September 16, 2010

Review: Travel in the White Man's Grave

I just finished listening to Travels in the White Man's Grave by Donald MacIntosh, and I must say, I thoroughly enjoyed it. The book is MacIntosh's memoir about his career as a forestry man on the coast Africa. The time he served was especially relevant, because the area transitioned from colonial rule to independence.

The book is organized into chapters that are either stories or general topics, and all the usual suspects are covered. There's talk about the crazy wildlife, foreign culture, whacky personalities, turbulent weather. As adventure stories, you really can't go wrong. Sure, the author comes across as a bit of a curmudgeon - but my guess is that's part of his appeal.

Seeing, I mean really Seeing, Trees

But the real gift of the book, for me anyway, was the description of the trees. Being part of the forestry service, MacIntosh pays special attention (and reverence) to the trees of the area. His descriptions of the rain forest actually got longing to get back to one.

And then two unrelated thoughts hit me. First, I saw stumbled on this blog about urban foraging. Second, I considered the lesson I learned from Vagabonding: the exotic adventures we travel to seek are often right here.

Applying these principles, I got thinking - what kind of trees are in my own neighborhood? On a walk to shul I decided to pay special attention to the trees as I walked along.

That walk left me in total awe. I had no idea how many different types of trees I would encounter on my 1.2 mile walk. Nearly everywhere I looked I realized I saw, what appeared to me, to be a unique species. Consider the leaves I: sure, I found the classic maple leafe style -but I also saw leaves that resembled tiny finger tips; or bouquets of flowers; or were as big as my face; or were tiny; or were plasticy; or looked rubbery. Heck, I don't even have the adjectives to describe what I saw, when I actually took the time to look. And the trunks - some trees had a single trunk, while others multiple small ones. And some, when I took the time to care, I realized were gigantic and could provide cover for a whole lawn (just think - it started as a single seed. A single seed!) - while others were nestled in with shrubs, almost invisible. And what about the berries and flowers I saw?

Anyway, you get the point. And what about their stories? What were are they used for? Are any of them edible or medicinal?

Turns out, I'm not the only one who wonders these sorts of things. I've picked up The Urban Tree Book from the library, which tackles this exact topic. I've also book marked the mobile tree identifier site by

In the end, it's hard to believe that a book about travels in Africa could open my eyes to my own neighborhood. But, well, there you go.

Enjoy the book. Enjoy the adventures. Enjoy the trees.

Wednesday, September 15, 2010

The Doctor Critic Is In

I'm temporarily out of the restaurant critic business, but that doesn't mean I can't be a doctor's office critic, does it?

I had a doctor's appointment, and for the 3rd time in a row I had to wait at least 45 minutes past my appointment time to be seen.

Using the principle of giving the business a chance to explain/fix the issue, I actually brought up the delays with the doctor. I got a variety of reasonable explanations: I was being seen in a temporary location that didn't have enough space for them; they had an especially unusual case today that took longer than expected; they were short staffed, etc.

And while I appreciate the explanation, it's still not good to have a business that consistently disregards their own appointment times by so much. Not to mention, if I showed up 45 minutes past my time, I'm sure they'd be more than rightfully annoyed.

I couldn't help brainstorming a bit with the doctor for ways to fix the situation - and of course there aren't any obvious ones. The best I could come up with, and I do think it's a solid idea, is this:

Setup WiFi in the office, and purchase 3 or 4 iPads for the waiting room. Rather than having people leaf through old magazines, they can play with cutting edge technology, get lost on YouTube, watch TV or check their work e-mail. With these devices, waiting around for 45 minutes would go from a pain to a joy.

Heck, if all you did was setup StumbleUpon, on the device you'd be 90% there to a waiting room of distracted (and happy) folks.

At about $500 a piece, the iPad is a bargain for a doctor's office (consider a an instrument stand costs the same amount). And an iPad has a more pick up and play with feel to it, than does a laptop.

The doctor immediately got the value an iPad could have - but also found reasons it wouldn't work (too fragile, kids are likely to break them, etc.).

So, I don't expect to see iPads at the office anytime soon. In fact, I don't expect to see any innovation in the customer service department anytime too soon. What a shame this is because the only thing standing in their way is the mindset that this waiting time problem can't be solved. And of course, what will make their competition successful is that they won't have this belief.

It's worth noting that my primary care physician is actually quite good at innovating. They offer non-technical solutions, like being able to call in from 8:00-8:45am every morning to talk to a doctor for a few minutes (a wonderful compromise between making an appointment you don't need; and avoiding an appointment you should have made) as well as technical ones, like a new fangled electronic check-in. So, innovation is definitely alive and well in the medical world.

Zoning Variance Tip

Yesterday, Shira attended an Arlington County Zoning Board Hearing to help persuade the county to allow us some wiggle room to build our deck. While I'd love to have been there to witness our local government in action, someone had to stay home with the little one and program.

While Shira relayed all the details about the hearing to me (some via SMS, some via Google Talk, and others later in the night when she got home), the most useful insight she actually text'ed me before the meeting even got underway.

So here it is, my one and only zoning variance tip. Are you sitting down?

If you're planning to apply for a variance, and have never done so in the area you live in, be sure to attend the zoning hearing for the month before you're supposed to appear.

In hindsight, attending a meeting where you aren't expected to defend your variance is obvious. It will familiarize yourself with the process and players, let you know what you should and shouldn't say, and will help you show up prepared.

Even though we didn't follow this advice - Shira still managed to prevail! We've got the variance we needed. The next step? Get a use permit. And then, if all goes as planned, we should be able build the deck we've been talking about adding for the last 7 years.

What can I say, the wheels of home improvement grind slowly.

Tuesday, September 14, 2010

Gotcha of the Day: Android and iPhone Render Fonts and Images At Different Sizes

I was working on a mobile site for a client of mine and he kept reporting that the font sizes were just too small. So I cranked them up from 14px, to 25px and finally to 40px. This looked great on his iPhone, but was gigantic on my Android myTouch.

As we worked away on the site, we noticed other issues with images and padding. Aha! It hit me one night, he's got his browser zoomed out and mine zoomed in.

Confirming this turns out to be harder than one would think. The iPhone provides an easy way to generate a screenshot, but I've yet to see this with the Android. Finally, I just took out my digital camera and snapped some photos of the screen.

Sure enough, we had a zooming mismatch.

This was one of those problems that I just couldn't imagine a fix for. After all, how can you coerce a browser, even a mobile one, into a zooming to a specific level? Surely that's a user control and off limits for HTML and JavaScript to set.

And I'd be wrong. A few minutes on Google turned up this gem: Disable Mobile Browser Zoom Function. And sure enough, you can drop some meta tags into your mobile site to force zooming. Specifically:

<meta content='True' name='HandheldFriendly' />
<meta content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;' name='viewport' />
<meta name="viewport" content="width=device-width" />

With that code at the top of the page, both the iPhone and my Android myTouch rendered the page at 100% without a zoom option.

I could then tweak the fonts and other CSS on the page so that it looked consistent.

My Life as a Restaurant Critic - Lessons Learned

So, my noodling around as a restaurant critic pretty much blew up in my face. By like any good experiment, I think it's important to look at lessons learned. So, here goes.

Lessons I Learned

  • If you have a problem, give the restaurant a chance to fix it while you're there. In my case, I should have expressed concern over a comment made and given them a chance to retract it then and there.
  • Only write what you'd say to the restaurant owner face to face.
  • Put your kvetching in context. One asinine comment wasn't worthy of condemning a restaurant, that was just overkill.
  • There are real people involved here, and you may be seriously hurting them. Did I really want to get someone fired over a comment they made during brunch?

Lessons I Hope The Restaurant Owner Learned*

  • People have walked out of restaurants and complained about their experience to their friends since the beginning of time. The fact that you can find these comments on line almost trivially, comment on them, and in my case, reach out to the author to have them corrected, is a gift. Be thankful for it. Bloggers are not the problem.
  • Ask yourself, what was correct about the negative review you received. What can you do to fix it?
  • As a blogger, I'm going to write a post when something extraordinary happens to me. Why didn't I walk out of your restaurant with an extraordinarily good experience to write about?
  • What if you regularly invited bloggers to sample your food and write reviews. Wouldn't that mean that there would be a number of positive reviews out there for every negative one that was written?**

*To be absolutely, 100% clear, I'm not suggesting whether the owner I talked to has or hasn't "learned" any of these lessons. I'm strictly speaking in general terms here.

**This is getting into the world of Reputation Management - a topic I know almost nothing about. So, when I say "what if ..." I mean that as a legitimate question - not a rhetorical one.

Monday, September 13, 2010

Review: The Packing Book: Secrets of the carry-on traveler

As I was reading The Packing Book: Secrets of the carry-on traveler by Judith Gilford, I kept getting more and more disappointed. Then it hit me: my main problem with the book wasn't the content, it was the subtitle. Had it been titled a beginner's guide to carry on travel, I'd be all set. Instead, it promised to contain secrets, and secrets I did not find.

I've got to give Gilford credit for creating a comprehensive book, though. If you're just starting to do extensive travel, or if you're unsure how you can go from 2 large checked bags to 1 carry on, this is your book. If anything, the book is too comprehensive, providing gear lists that give you plenty of opportunity to bring stuff you won't need (office supplies, anyone?).

At times, too, the fact that this is a published book at all works against it. Some of the material seems dated (travels checks and cassettes, anyone?) and while I appreciate the complete discussion about the bundling packing method, YouTube is clearly a better way to learn this technique.

All in all, if you're looking for a comprehensive packing resource, this is probably it. Just understand that it's more Travel 101 than anything else.

Food Matters - A Chilling Experience

Update: So, one of the Blogging rules is that you're not supposed to take down content - you're supposed to append to it. That way, the entire record is there for all to see. Screw the rules.

This used to be a post that recounted an incident I had over at Food Matters, in Alexandria. While true, it wasn't a nice post.

I got an e-mail from the owner of the restaurant explaining the situation behind the story and suggesting that I was hurting their business. Which I probably was (though, I'm kind of flattered she thinks my blog has that kind of impact). Sure, I was trying to be clever, funny and maybe make a point or two about customer service - but it just wasn't worth doing it at their expense.

So, please, go enjoy Food Matters - they are people who obviously passionate about running a good business. Let's just leave it at that.

Wednesday, September 08, 2010

L'Shana Tova!

A happy, sweet, tasty, healthy, adventurous New Year to you and yours!

Doesn't Shira's home made challah look good? I bet it tastes even better!

Tuesday, September 07, 2010

Learning Nike Style

Seth Godin asks want to learn marketing? His answer: Just Do It!.

Or, in his words:

You can learn finance and accounting and media buying from a book. But the best way to truly learn how to do marketing is to market.

You don't have to quit your job and you don't need your boss's permission. There are plenty of ways to get started.

If you see a band you like coming to town, figure out how to promote them and sell some tickets (posters? google ads? PR?). Don't ask, just do it.

What a brilliantly simple principle. And I believe it applies to anything you'd like to do. Want to be a movie maker? Get out the camera phone, and make a movie. Want to solve world hunger? Volunteer at the local homeless shelter.

Sure, your efforts may not be as grand and perfect as you'd like - but you'll really, truly, learn. And you can do it right now.

Read Seth's full post

Monday, September 06, 2010

Bull Run Mountain Hike

The weather in DC was perfect today and we all the had the day off for Labor Day, so I convinced David and Shira to hit the trail. I browsed through Washington, D.C. local hiking list till I found Bull Run Mountain. It was a 5 mile loop that promised a great view and historical ruins. I was sold.

The hike really was wonderful. We never found the promised 180 degree overlook. But, we saw plenty of historical ruins, including an eerie cemetary. This, along with well marked and maintained trails, made for an excellent hike.

The real highlight of the hike though, wasn't off in the distance. Nope, it was the 4 (or was it 5 or 6?) foot snake we nearly tripped over on the trail. It certainly got all our blood pumping.

Really, this hike is a winner and amazingly it's only 40 or so miles away from DC.

Some photos below...

Sunday, September 05, 2010

Visiting the Seneca Park Zoo

While visiting Rochester, we took a family trip to Seneca Park Zoo. While not the largest or most exotic zoo I've ever been too, I have to say, it was an absolutely wonderful choice. The zoo has all the animal bases covered, yet, was compact enough that we could do it all with energy to spare.

This was our 12 month old's first trip to any zoo and he enjoyed it. Sure, he got more excited about the ball hanging in the rhinos' pen than the actual rhinos themselves (in fairness, he has a special affinity to balls as they were his first official word). But, as long as he was happy, we were happy.

The underwater view of the sea lions turned out to be the biggest hit. That's because he could get right up close to the clear blue water, and woosh, a big animal would swim by.

Below are a handful of photos. Yes, I was being a bit of smart ass (if you'll pardon the pun) with the photo of my Dad and Uncle Ron. Sorry guys, I couldn't resist. And how cool is the photo of me, my dad, and my grandpa - the generations of Simons waiting. Classic.

Friday, September 03, 2010

Music Discovery Project - Grandpa Edition

I wanted to show off some of the fancy tricks my Android phone can do to my grandpa, but his macular degeneration has left him mostly blind. This means that he really can't appreciate anything visual on the phone. After some thought, it hit me: I could show him Pandora.

I asked him for an artist, and he suggested Frank Sinatra. And sure enough, Pandora kicked out one of Frank's song. Nothing too special there. As the stream played, we thumbed-up some songs (the Glenn Miller Band, for example) and thumbed-down others (sorry Harry Connick Jr., guess Grandpa's not a fan). The demonstration turned out to be totally blind friendly (of course, I was pressing the thumbs up and down).

From my grandfather's perspective, he got to witness the sweet technology behind Pandora that learns what you likes and plays just that.

But the real winner here was me. Not only did I get to appreciate what my grandpa likes to listen to in terms of music, but it provided the perfect segue into family lore and other stories.

I definitely suggest sitting down with your loved ones and giving this a try. And best of all, you end up with a radio station you can listen to that you know they'd love.

Here's what we came up with. Mind you, I hope to refine it further with Grandpa next time I visit him:

Listen to: Grandpa Irv's Perfect Station

Phone Friday: Google Places, a parent's best friend

Google Places for Android (known on my phone only as Places) answers the simple question: what's nearby. Right. This. Second.

I'm sure it's useful for finding trendy cafes and hipster boutiques. But, I have to admit I've repeated found it useful for one key thing: finding the nearest park in an unknown area (say, Boston, for example). Because where there are parks, there's often playgrounds. And where there's a playground, there's an instant fun activity for our little one.

Of course, as a parent, it's useful for more than just park hunting. You've got other attractions, as well as restaurants and other local businesses you might need. It makes on the fly planning as convenient as possible.

In many ways, this app is one of those game changing uses for your phone. Like a GPS, suddenly a stream of information is available to you that tells you just what you need to know, at just the right time.

While I thought I installed the the app separately, apparently my memory is incorrect. It seems that Places is part of Google Maps. You'll want to make sure you have the latest version of Google Maps, which should insure you have the Places app.

So tell me - as a parent - what resource is most important for you to be able to find in a hurry?

Gotcha of the Day: Linksys WRT54G2 causes ssh sessions to freeze

A few weeks ago, I finally got fed up with having my laptops randomly lose connectivity with the wireless router. I figured the best fix would be to replace my old, cheap, router with something more robust.

So I did - I purchased the well reviewed Linksys WRT54G2 Wireless-G Broadband Router. I figured 600 4+ star reviewers couldn't be wrong.

And for the most part, I'm happy with the router. Everything was working great until I started noticing some very annoying behavior: ssh sessions that were left unused froze up.

Luckily, I make heavy use of screen, so no real work was lost. But it sure was a hassle.

I poked around in the admin interface on the router, and didn't see anything I could configure to fix this (though, admittedly, I wasn't really sure what I was looking for - a stop ssh from freezing checkbox, perhaps?). So, off to Google I went.

Turns out, ssh freezing up is actually a pretty common issue. And luckily, the fix is painless. I just added:


to ~/.ssh/config and it appears like all is well again.

I've got a new router and working ssh connections - can one ask for anything more?

Thursday, September 02, 2010

Just Beat It - Online drumming options

I've been enjoying playing around with's music generation capabilities and was curious what my options were for a desktop version.

While targeted to drums only, I did find Monkey Machine to have some real fun-potential. It's a Java app, so it has a clunky feel to it. But in terms of functionality, it does make exploring music fun. I just love how you can go from noise, to a somewhat passable rhythm, with so little effort. There's even access to a music library of existing beats - you can get there by going under the File » Download Beat option.

Here are some lightweight options I came across too. I think kids, especially, would get a kick out of these.:

Accidentally Starting a Movement

Behold! The power of the Internet: you hammer out a post at 5am and before you know it, you've got supporters, buzz, a wiki and 87,000 hits on Google.

Got to love the power of the web.

I for one was sorry I couldn't make it to the Restoring Honor rally, and would give it my all to be at this folow up event.

Geek Feed Humor

Anyone else find this sequence of articles by Lifehacker to be a bit ironic/humorous?

Wednesday, September 01, 2010

Automating Resource Cache Busting in PHP

You quickly learn that if you have a CSS, JavaScript or other static resource, you need some way to occasionally bust the cache. That is, hard coding a URL such as:

is a bad idea. Some browsers (Safari on Mac seems to always bite me) are especially resistant to picking up a file from anywhere but the cache.

One common solution is to use URLs like:

You can change xcache whenever you'd like to force the browser to pickup a new version of style.css. In the past, I've used the following trivial PHP code to implement this.

function xcache() { return 12; }
<link... href='<?=xcache();?>' .../>

Ugly, but workable.

Things is, I often forget to increase the value of xcache to bust the cache. That, and changing the value of xcache requires a svn commit, as the file has changed.

Today, though, it hit me that there may be a more efficient way to handle this. All xcache needs to be is a stable, but increasing, number? Why not wire it into the file modification time of a frequently changing file?

Turns out, this is trivial to do. I can say:

 function xcache() {
   return filemtime(__FILE__);

Now, to bust the cache, I merely touch the file that contains the definition of xcache(). This process is faster than an edit, and doesn't require a svn commit.

Naturally, this can be tweaked to wire the xcache into any file. Say:

function xcache() {
  return filemtime(dirname(__FILE__) . "/../css/style.css");

In the above case, anytime I publish a new style.css file, the cache will be busted.

While I haven't done it yet, I believe you could potentially wire this into watching a variety of files. All one would need to do is something along the lines of:

function xcache() {
  return max(filemtime(__FILE__), filemtime(dirname(__FILE__) . "/index.php"), ...);

Only time will tell if this strategy is really more valuable than a hard coded number. But most importantly, it was a good reminder that anytime you're doing something by hand, there's probably a way to automate it. Got to love software that programs itself.