Thursday, December 09, 2010

A Failed Whitehouse Bid

Now I know how Hillary Clinton must feel. If only we wanted it more.

OK, maybe not.

Last night, a friend of ours invited us to join her on a White House Holiday tour. Apparently, it's like the regular White House tour (which I've never been on), only with festive decorations you're encouraged to snap photos of. Sounded like fun to me.

After standing inline for an hour or so, in what felt like sub-arctic temperatures, we were informed that the list of people for the timeslot we were in got hosed. They weren't able to verify our names and birthdates and such. Bottom line, our tour group wasn't going to happen.

So, the closest I got to the White House was the treasury building. Which was dressed up nicely for the holiday season:

I also grabbed this snapshot of the monument, which I can only assume, testifies to the long American tradition of standing around in DC freezing your butt off while waiting to get through a security checkpoint:

The nightly was hardly a bust. Besides getting to spend some quality time with our friend Lauren, we also go to experience that special joy of going from being an absolute popsicle to warming up at a Cosi with with hot chocolate and tomato soup. You've got to reach a certain level of cold before the experience really has any meaning - and I do believe we were there.

We also had a chance to tackle one of those great traveling mysteries: how would you go anywhere with a 15 month old, without bringing a bag full of stuff? Sure, traveling the world without luggage is easy, but try that with a baby.

The problem was, the White House has extremely strict rules about what you can and can't bring on the tour. Strollers, bags, purses, food, drink are all forbidden. Heck even pens aren't allowed. They also make it clear that there's nowhere to store any stuff you bring along, so bringing a diaper bag and leaving it in a locker wasn't going to work either.

Here's what we ended up bringing along - which managed to work well:

  • A single diaper in a zip lock bag
  • A Ziplock bag full of graham crackers, with the expectation they would be thrown out to get through security
  • An 8oz bottle of soy milk, again, with the expectation that we'd be asked to dump it before the tour
  • The famous Moby Wrap - a stroller was out, and our little guy isn't so little any more. While he's a little big for the Moby Wrap, it did the job really well: I was able to more or less wear it under my coat when it wasn't in use, and when we did need it for the metro ride home, it was there

It was just the absolute basics - something I wouldn't normally want to depend on. But, it's good to know, that if you needed to go baggless, it would be possible.

Luckily, we don't have to wait 4 years before we try again - hopefully we'll have better luck next year.

Tuesday, December 07, 2010

That Socialist Agenda

From today's press conference:

The single most important jobs program we can put in place is a growing economy. The single most important anti-poverty program we can put in place is making sure folks have jobs and the economy is growing.

We can do a whole bunch of other stuff, but if the economy is not growing, if the private sector is not hiring faster than it’s currently hiring, then we are going to continue to have problems no matter how many programs we put into place.

How can people hear the President talk like this and walk away thinking he's a socialist. Seriously, how?

I like my politicians to be upfront and pragmatic, and I think Obama was just that in his press conference today. Either that, or I heard the frustrations of a guy who looks seriously sleep deprived.

How do you think he did?

Gotcha of the Day: Generating a Page of Note Cards from an Excel Doc

A client of mine had a novel idea that involved generating printable note cards from data in database (yes, I'm being intentionally vague here - bare with me). The most obvious way to tackle this sort of thing is to use MS Word Mail Merge.

It's fairly easy to wire a Word Doc into an Excel spreadsheet and include mail merge fields on the page. I ended up with something like this:

The gotcha, is that when I merged the Excel and Word document, I found that each page contained a grid of the same Question and Answer pairs. That is, if my first question was: "How are you?" and the answer was "Good" - then I got "How are you? Good" repeated throughout the page. The second page contained a grid of the second question and so on.

Of course, the goal was to have the question/answer change throughout the page.

And the fix for this? The answer is nestled under the little Rules menu on the Mailings tab. By selecting this menu, you can choose Next Record:

Doing this will insert an instruction into your document, which, as you might suggest, tells Word to look at the next row in Excel. Apparently, Next Record is usually not needed because one is implicitly added when you go to a new page.

The final document now looks something like so:

While I do love my lightweight tools and Google Docs, every once in a while, Word does show off its strength. And merging documents is just one of those tasks.

Monday, December 06, 2010

How to feel better about the WikiLeaks kerfuffle

The WikiLeaks debacle got ya down? I've got the fix. reader or watch what Fareed Zakaria has to say on the matter:

I think John Kerry's assessment is right on too, though not quite as uplifting as Fareed's.

One thing I do wonder about is if too much credit is being given to WikiLeaks itself for being the source of the problem. After all, they didn't steal the information - someone else did that. They published it. Thing is, years ago, if you had lots of sensitive information and you wanted to get it out to the world you were pretty limited in what you could do - basically, you had to make your case to a news paper or magazine.

But these days, anyone who wants a publishing platform can have one. Just sign up for a Blogger or Facebook account. Heck, people leak sensitive information on these platforms all the time.

Sure, if you were to attempt to publish such sensitive data on a mainstream platform, it would be shut down. But how much effort would it take to find a nefarious hosting provider that wouldn't mind being involved? That, plus a free WordPress download, and you'd be good to go.

Ever since I saw Julian Assange on Colbert explaining his goal of maximizing political impact, I've thought he was bad news. And the leaks just reinforce that. But, isn't he just the messenger? A messenger that's not even really that important?

Sunday, December 05, 2010

Fuel for the Boy

Mmmmm...Soy Milk! This batch ought to last us a few weeks, at least. (Note: these are 64oz containers, not your usual 32oz ones.)

Such is the joy of having a growing boy in the house with a milk allergy.

Tip: Whole Foods will give you a case discount if you buy 8 cartons at once. A fact I never thought I'd need to know.

(I'm actually tapping this message out as I wait for the 8th carton)

Update: They didn't actually have an 8th carton in stock. However, they were nice enough to give me the case discount on 7. Got to give them credit for the nice customer service move.

Friday, December 03, 2010

Phone Friday: Putting Retro Camera to Use

Last Friday I mentioned the Retro Camera app and how it looked like it would be a fun one. Today, I had a client in DC to visit, and on the way back figured I'd put the camera app to use.

This app is awesome! I tried a few different approaches to snapping photos: (1) the usual deliberate method of picking an interesting subject and lining up the shot, (2) taking surreptitious photos by not having the camera up at my eye and just winging it and (3) picking an intentionally boring subject (like an elevator warning sign) and just relying on the retro look to make it interesting. Other added constraints: I was in a hurry and it was bitter cold outside.

I think all three approaches worked pretty well - with my best results coming from method #2.

You really can't miss when you're using this app. I've got to say, it's a really fun way to experience the joy of photography in a fresh way. And when I think of the alternative of buying a retro camera, feeding it film and then getting the film developed I appreciate just what a money saver this app is.

A Lesson in Civility

Let's say you've got a website you're pouring your heart into. And then let's say someone comes along and copies nearly every part of it. And then let's say they reach out to you all buddy-buddy like. What do you do?

Well, you'd probably spit fire back at them.

Personally, I'd hope to find a way to respond with the same calm directness that Bernard over at everyday-carry.com did.

He ran into just this experience, and his post responding to the copycat is definitely worth reading. He actually manages to fill it with useful advice, as well as some honest introspection into his own motives. It's an excellent example of thoughtfulness trumping gut reaction.

Not to mention, the site is an absolute blast to peruse. What, with all those fun gadgets that us Eagle Scouts so love to have on hand for any occasion.

One of these days, when I find the time, I'll submit my own pocket dump to the site. And then I hope to get a little of Bernard's pithy wisdom on what I schlep around every day.

Thursday, December 02, 2010

Tis the Season for the Chanukah Viral Video

Happy 2nd day of Chankuah ya'll!

Today, 3 people independently recommended this video to me. Apparently, it's this year's run away hit. And you know what? It's good stuff. So get into the Hanukkuah spirit with a little song...

Wednesday, December 01, 2010

Iran's Google Earth Discovery

A while back, I came across this collection of unusual Google Earth finds. It's an impressive list and worth taking a few minutes to gape at.

Though, my Brother David passed me one not on the list, that I think may top them all:

Regardless of whether it was happenstance or an act of architectural subterfuge, government officials in Iran were incensed this week when they discovered the outline of a Star of David atop the roof of the headquarters of Iran Air, Al- Arabiya reported on Monday.

The six-pointed star was discovered by an eagle-eyed Google Earth user recently, over three decades after the building that houses the national airline of the Islamic Republic was constructed by Israeli engineers.

And here's the photo:

And I have to admit, of all the comments on the page, this one gave me quote a chuckle:

Israel should send F15s to remove it

Tuesday, November 30, 2010

Suprising Unix Feature: Bash Macros

Even on my Windows boxes, I spend a good part of my day at a bash prompt. And I do so, most of the time, taking it totally for granted. It's this awesome user interface which is so good it's essentially invisible. So invisible in fact, that even after years and years I learn new tricks it can pull off.

Today's trick: emacs style macros:

bash has support for recording and executing macros. You can start recording a macro with the keybinding C-x ( and stop it with C-x ). You can then execute the recorded macro with C-x e

And sure enough, on both my Windows and Linux environments, the above tip works perfectly.

You can even use the same repeat mechanism that emacs offers. Type: ESC <some number> C-x e and the macro will be repeated some number times.

I'm not exactly sure what I'm going to use this behavior for yet - but I know I like it.

Monday, November 29, 2010

Google Font API - Rewriting the rules about web fonts?

Did Google just rewrite the rules about web fonts?

The above text isn't an image - it's an example of the Google Webfonts in use. The code looks like so:

<html>
 <head>
  <title>Google Font Test</title>
  <link href='http://fonts.googleapis.com/css?family=Reenie+Beanie&subset=latin' rel='stylesheet' type='text/css'>
  <style>
    h1 { font-family: 'Reenie Beanie', arial, serif; font-size: 68px; }
  </style>
 </head>
 <body>
  <h1>Yes they did</h1>
 </body>
</html>

Notice how I import a CSS file which defines the font Reenie Beanie and then I use it in the CSS rule for h1. What a remarkably clean interface they've managed to put together.

I'm sure many a web designer will be absolutely elated to have a wider font palette to choose from beyond the usual choices. And as a programmer, I'll be glad to implement the designs using Google's Font API. Sounds like a win-win for all.

Arlington Library Tip: Accessing Consumer Reports Online for Free

Shira gave me another reason to love the Arlington Library today: their eCollection's Premium Sites.

By using your library card, you can access ConsumerReports.org and 78 other paid websites for free.

I love that the library keeps surprising me with what a wonderful resource it is.

Sunday, November 28, 2010

Upgrading to Grill 2.0 - The Weber Spirit E-310

With a new deck and especially easy access to our kitchen from it, it made sense to finally upgrade our 12 year old grill. With my Brother David's help, we decided that the Weber Spirit E-310 would be the model for us.

The E-310 seems to be rated consistently really highly as a good basic grill. It lacks side burners and other gimmicks that David suggested look good, but don't ever get used, which I like. We put the grill together today, and it's built like a Sherman Tank. I also really like the size of grill - it's big enough to be taken seriously, but not so large that it eats up half our deck.

The assembly process seemed to take at least an hour and was about what you'd expect. Taken from a birds-eye-view, the instructions looked like absolute chaos. But, going step by step, it was possible to follow them. We only took a few minor missteps. Sure would make life easier if all the bolts weren't the same color (black), but, we pushed through.

Here's the before and after photo:

And yes, I had the requisite extra part:

We test drove the grill for dinner tonight, oddly enough, with a basic Salmon dish. The grilled performed flawlessly and the fish tasted good. Though, my guess is that it would be hard recipe to screw up.

So, we've got the deck and grill - now all we need is the weather, and it's party time!

Almost as good as that New TV Feeling

So, yeah, I have to admit it - I like our new TV. But, you know what was almost as good a feeling as turning on that slim and bright wonder? Dropping off our old TV at Goodwill.

I love Goodwill. Their mission of job training for the disadvantaged is such a noble and important cause. And knowing that my TV will most likely end up getting used by someone, rather than being tossed in a landfill is just a nice bonus.

Here's a parting shot of our TV - it served us well for 12 years, and was one of the first major purchases Shira and I made as newlyweds.

Seriously, this feels good.

One of these days I'm going to setup a weekly trip to Goodwill - surely I have enough extra stuff around my house that 52 trips a year could be justified.

Friday, November 26, 2010

Phone Friday: Retro Camera, The cure for Retro-camera-itis

And what is Retro-camera-itis? It's when you look at a site like Photojojo's Tumblr and love the retro looking images, and then make your way to Photojo's store and start wording if it's time to buy a film camera again. (Your rational mind knows this is a terrible idea, but it's hard to resist.)

My friend Nick passed on the perfect fix: Retro Camera, an Android app that simulates old film cameras. It even comes with a Polaroid mode, a format I have a special affinity for as it was my Granpda's camera of choice. He must have had an SX-70 - a marvelous camera that not spat out amazing, instant prints, but also performed feats of contortionism as it went from folded flat, to it's expanded form, back to flat again.

Anyway, I've now got 5 simulated retro camers with me at all time. Time to go out and shoot some funky photos.

Thanks Nick!

Wednesday, November 24, 2010

Dragged into the Modern World of TV

A few months back I had a brilliant idea: I noticed that we really don't watch much TV and when we do, we often just do so on hulu via a laptop. So, why not drop our basic cable subscription, save some cash, and pretty much retire our TV. Sure, we'd leave the one in our family room in the basement for watching movies. But, we should be able to ditch the one in our bedroom, which is where we do most of our TV watching. We could even take some of the money we saved on cable and invest it in a netflix account or some other services that we might get more value from.

I pitched my idea to Shira. I have to to admit, I was convincing. Very convincing. Just not in the way I'd hoped.

Since that proposal, we've dropped basic cable, and picked up Fios. So instead of having say 75 channels to choose from, I now seem to have hundreds. And we've temporarily retired our TiVo series 1 (until we can put it back to use!) in favor of a brand new Fios DVR. And last night the upgrade was completed, as we retired our old fashion clunker of a TV in exchange for a 42" LG LCD TV.

Yep, ever since I suggested we reduce our TV setup, we've gone and gotten all modern.

Seriously, look at this before an after photo:

I was doing a pretty good job of being skeptical about the whole new setup. And then, as I was flipping through the manual, I saw it contained an Open Source Software Notice. Holy smokes, I realized, my TV is running Linux 2.6. Heck, it's got a Lua interpreter built in.

Then it gets better. I notice an Ethernet jack on the back. At which point, I have a one sided conversation with Shira:

(Thought: Hmmmm, wonder what happens if I plug in a network cable...)
Honey, honey! Check this out - it wants me to setup a network!
Seriously honey, you've got to see this - our TV is acquiring an IP address.
Babe, I'm telling you - an IP address!
(Thought: Hmmm, what's this NetCast button do...)
Angel, check this out - you can watch YouTube on this sucker!
Sweetums, I don't think you are hearing me - YouTube. And who knows what else.
This TV rocks!

Yes, I was won over by an Ethernet port and YouTube. How sad.

And this morning, I blasted the Star Wars film score while the little one and I prepared to go to day care. Colossal waste of resources? Yes. But hey, just because it's a TV doesn't mean I need to treat it like one.

All I know is that I better not mention my idea of selling our cars and getting a Zip car subscription to Shira. I'm libel to end up driving around in a Porsche or some such nonsense.

Gotcha of the Day: Configuring a PayPal Sandbox Account for DoDirectPayment API Access

A new project I'm working on for a client calls for me to implement PayPal's Website Payment's Pro. Doing so is fairly straightforward as the API calls are little more than query string parameters passed over HTTP.

With some skeleton code in place, I started running some tests. I pointed the app to the production server and using the client's PayPal account tried to invoke DoDirectPayments. The result was error 10501:

This transaction cannot be processed due to an invalid merchant configuration

The account I was using was not still in the process of being approved by PayPal, so it seemed reasonable to get this error.

Giving the Sandbox a Try

Next up, I decided I'd setup a sandbox account for the client and utilize that. I have mixed feelings about the PayPal sandbox approach: on one hand, it's quite impressive that they offer such a complete testing environment to use, with the ability to create your own little universe of buyers and sellers. On the other hand, it's an absolute pain to use - the nested series of logins required to use it always trip myself and clients up.

In any case, I figured using the sandbox server would made perfect sense as not only was I in test mode, but also didn't want to have to wait for PayPal to complete the approval process.

I dutifully setup a new seller account, and made sure to select the website payments pro option when doing so. When it was all said and done, I ran the same transaction above and again got the same error message: This transaction cannot be processed due to an invalid merchant configuration. What the heck?

Debugging the Sandbox Setup

I poked around the sandbox area, struggling to see if there was a step I missed. I couldn't find one. Googling the error message brought up these odd exchanges between developers and moderators:

DPayPal says:
   I am also getting INVALID MERCHANT CONFIGURATION, ERROR: 10501.
   API Username: suresh_1249631663_biz_api1.speridian.com
   Please enable my billing agreement.

   PP_MTS_Justin says:
   The Direct Payment API has now been enabled for your account.
   Thanks !

The above message is from 2007 - surely I don't need to post on a message board to activate my account, do I?

This morning, I gave my good friends at PayPal a call. After talking to 5 reps or so, I finally got to someone who broke the news to me: the sandbox site is buggy. In order to get an active user who can make calls to DoDirectPayment I'd need to work with PayPal directly. Not only that, but the user I created who was specifically set up to be a Website Payments Pro client is so broken that I needed to create a fresh user and have him modify that one.

I'm just shocked. Here's a company that's had the same critical bug since 2007 and they have yet to fix it? Or maybe it just re-appeared.

Regardless, if you want to use the PayPal Pro API and the sandbox, give PayPal call at: 800-852-1973 (or, 866-837-1851, or 888-221-1161 -- all phone numbers I was told to call) to just fix the problem directly.

So. Strange.

Tuesday, November 23, 2010

Annoyance at the TSA Outrage

These stories of people taking on TSA and their backscatter/pat down procedures really get me in a tizy. Don't get me wrong, I'm not in love with all of TSAs policies - but the tone of these stories just irks me.

First, you've got the whole backscatter machines are unsafe theme:

But now, as I looked past the 25 people waiting to get into their own country, I saw it: the dreaded Backscatter imaging machine.
...
I explain that I’m worried that the Backscatter has unproven health risks.

This topic has been covered before and is a myth TSA has been trying to bust. As they explain:

A person receives more radiation naturally each hour than from one screening with a backscatter unit. In fact a traveler is exposed to less radiation from one AIT scan than from 2 minutes of an airline flight.

Next, you've got the whole, you don't have a right to treat me this way theme:

I said, “I am aware that it is policy, but I disagree with the policy, and I think that it is unconstitutional. As a U.S. citizen, I have the right to move freely within my country as long as I can demonstrate proof of citizenship and have demonstrated no reasonable cause to be detained.”

Did you miss the sign that said by entering the security area you're agreeing to the procedures?

But the part that really gets me unhinged is the old: but surely, I shouldn't have to go through this procedure theme:

Now, I’ve read a fair amount about the controversy surrounding the new TSA policies. I certainly don’t enjoy being treated like a terrorist in my own country, but I’m also not a die-hard constitutional rights advocate.

And there you have it - why should I be treated like a terrorist in my own country? Or, as I read it, why should I have any inconvenience - only people who are, or at the very least, look, like a terrorist should have to go through these procedures. Me, I'm special.

We'll ask our troops to fight for us and be outraged when TSA has anything but a perfect record in thwarting attacks - but we'll be damned if we're going to have be inconvenienced.

Monday, November 22, 2010

Gotcha of the Day: WordPress Auto-Embedding Stops Working

Auto-Embedding in WordPress is one of those cool features That Just Work. By simply checking the auto-embeds checkbox in the media section, a bare URL will automatically get turned into embedded content.

That is, until it stopped working on one my client's sites.

I poked and prodded and just couldn't explain why the feature was working in the customer's dev area, but not in production.

After more time than I'd like to admit, I finally got around to applying the debugging strategy that one should always try first with any WordPress problem: disable plugins. Rather than turning them all off, I looked for the most suspicious one - and sure enough there was a good candidate.

I turned off the Raw HTML plugin, and sure enough, the autoembed feature is back to working.

Apparently the Raw HTML plugin gets a bit overzealous and doesn't allow the auto embed filter functionality to execute properly.

The Raw HTML plugin breaks auto embedding, and one should always start off a debugging session by turning off plugins. Lessons learned.

Jumping on the Netbook Bandwagon

How can you resist not being at least a little attracted to the cute little netbooks that are everywhere these days? They are like the puppy-in-the-window of computers.

Only problem is, I've never really had a good excuse for buying one. And besides, like any computer purchase, it's so easy to decide to get just a little fancier model, and before you know it you're paying $500 for the $200 netbook you were planning on buying.

Well, I've managed to solve both problems.

First, the reason for "needing one." Frequently, when I travel, I find myself having an internal dialog about whether or not I should bring a laptop along with me. For family oriented trips, I probably won't have time to even crack it open. And it's a pain to schlep through security. And what if it gets lost or broken, what a hassle that would be. But, on the other hand, in my business, issues can pop up any time. And having a laptop means being able to fix them in a hurry. Also, being a blogger, I really like the simplicity of being able to post photos and content through a laptop, rather than depending on my phone for all my posts.

I figured a netbook would provide a smaller footprint for traveling, yet still leave me prepared to handle emergencies. And, I should be able to use it as a simple blogging tool. OK, that was enough of a manufactured excuse. Now onto the price part.

The problem with finding a good deal on a netbook isn't find one - it's figuring out which are the ones that are actually worth my time. Between local stores, eBay, Amazon and dozens of other options, it became clear that picking a model and finding a good deal was going to be a pain. And then it hit me - with netbooks being so cute, and also being so underpowered, certainly there must be people in my local area who bought one and aren't happy with the result. Where would they sell theirs? Why, craigslist, or course.

A quick search for netbooks in DC turned up all sorts of options. I set myself a max price of $200 and waited. Within a few days, I came across this short ad for a Samsung Netbook N150. The small screen, 1Gig of memory and relatively large hard drive (250Gig) all seemed like a perfect fit.

I contacted the seller, and 6 hours later, met him a Starbucks to pick up my brand new netbook.

Samsung N150 First Impressions

I've now spent a single day working on the netbook, including: setting it up, debugging a couple of websites for work, talking with Mom on Skype, listening to Pandora, watching a daily show episode, editing Google Docs and writing this blog entry. Surprisingly, for all these activities, the laptop totally works. However, it only works because I've taken fairly ruthless approach to the device: don't expect it to multitask (so yes, Pandora works well - but only if that's all you're using the laptop for), install the minimal amount of software, and expect it to be slow. With my expectations low (heck, this thing cost $200 - dirt cheap for a laptop even these days), it all works.

A few features I like about the Samsung:

  • One of the USB ports can charge your device even when the computer isn't running - this should be handy for traveling. You need to configure this in the BIOS.
  • Using the VGA port and a USB ports I was able to plugin my desktop setup including a large monitor as well as keyboard and mouse. The netbook doesn't support extending the desktop (only showing the same screen on the netbook and external display), and the resolution is way high for my large monitor - but again, it does all work. External monitor support could be useful for hooking up to a projector.
  • The keyboard has taken some getting used to, but after a day of use, it seems totally adequate. And good gosh this screen is tiny. But again, surprisingly usable.

The list of software I installed is is below. Again, I tried to whittle it down to just the absolute essentials. I've been quite pleased with how my dev tools act on the netbook. Cygwin, emacs, subversion, etc. all play quite well in this constrained environment.

Live the Disaster Plan

One of the best strategies I've put in place in my business is that I have two laptops on hand at all time, and every week I switch which one I use as my primary one. This means that if one is lost or breaks, there's another one primed an ready to go. Backups are great, but having a cloned system is even better.

Going through the exercise of setting up and using a netbook to get work done has been another example of active disaster planning. Rather than waiting for a crisis to strike, today, I proved that without either of my existing laptops, I can pull everything I need in from the cloud to be effective.

This exercise alone is worth the $200 I spent on the netbook.

I'm thinking I'll fold the netbook into my multi-laptop strategy by using it as my primary computer on the weekend. That way, I'll continue to demonstrate that I'm prepared for some kind of massive outage.

Bottom Line

So far, I'm pleased with the netbook. It's definitely an underpowered machine and requires a totally different mindset than my usual systems. But, with that mindset in place, it just may be worth it. I'll really know after my next travel adventure, so stay tuned for more feedback.

Friday, November 19, 2010

Finding and Embracing The Hard Part

Today, I got more wisdom from Seth Godin - this time on the topic of businesses and their Hard Parts. As Seth explains in his usual pithy manner: a business has easy parts (arranging an office) and hard parts (hiring a top notch sales person). The goal is to find the hard parts and tackle them with zeal.

Every project (product, play, event, company, venture, non profit) has a million tasks that need to be done, thousands of decisions, predictions, bits of effort, conversations and plans.

But what's the hard part?
...
Don't tell me you want to launch a line of spices but don't want to make sales calls to supermarket buyers. That's the hard part.

I talk to folks about their ideas all the time, and one of the most important things I listen for is this Hard Part. What about their idea is almost, but not quite impossible to do. Having a Hard Part is key. It'll keep away your competitors and it'll make your product something people will love to use, even if it's not perfect.

The other cool thing about these Hard Parts is that often what's required to solve them is brain power and creativity, not cash. So there's no excuses for an individual not to take on these tricky problems.

Thursday, November 18, 2010

Review: Tyrannosaur Canyon

Having just come off a stint of reading and listening to a whole bunch of non-fiction, and I really wanted a fun adventure story I could listen to in the car. More or less randomly, I checked out Douglas Preston's Tyrannosaur Canyon from the library. It turned out to be a perfect choice.

For 7 of the 10 CDs, the book followed a typical plot line. You knew who the bad guy was, the good guy, the damsel in distress and how it was going to all turn out. Still, it was a good listen. Then at disk 7, the book took a pretty major left turn. Whatever story arch I predicted went out the window, and an unexpected story unfolded from almost nowhere.

This made for tons of fun.

The audio version also contained an interview with the author. Sometimes these are a disaster - and sometimes they totally work. In this case, it works. The author's explanation of how he approaches writing and how he allows the story to take its won shape made me appreciate the book even more. I also learned through the interview that I had read the preceding book in the series about 4 years ago. And I liked Preston as an author then, too.

If you're looking for an action story with a nice foundation in science, this is the way to go.

Painful Product Placements, Courtesy of Days of Our Lives

This one is for my Mother-in-Law and Sister-in-Law who are die hard Days of our Lives fans. AdRants highlighted a story they kindly titled: 'Days of Our Lives' Riddled With Horrific Product Placement, which links to these examples.

AdRants pulled no punches:

Seriously? The brand and the writers couldn't have worked together to come up with a more subtle and effective placement? These placements literally transform the daily drama into a full on commercial. And a really bad one at that.

Granted, the writing on soaps sucks so perhaps expecting a well crafted product placement is asking too much but an illiterate imbecile could have come up with a better solution than the writers of these disasters did.

Some of the worst advertising we've ever seen.

They are pretty painful to watch, see what I mean:

One commentor did point out that the name "Soap" in Soap Opera came from companies like P&G who didn't just sponsor the shows, but produced them. So, maybe all this product placement is just part of Day's roots?

Wednesday, November 17, 2010

5 Places Your App Can Store Data That Aren't MySQL

Yesterday I was working some code for a client that had me storing data outside of the usual MySQL setup. That got me thinking, what other data storage options might I be overlooking? Here's some brainstorming of places that are easy to stash data (and all have web friendly APIs).

  1. SimpleDB - SimpleDB gives you the ability to store massive amounts of data on a platform with high-availability built in. Related: Cloudant.
  2. Twitter - Twitter provides the ability to store a stream of data in a way that users can view it from a variety of platforms, all without you developing special interfaces. You even get SMS notification and RSS built in for free. Related: WordPress and Blogger.
  3. Google Spreadsheets - Why store data in a database and then write code to extract it into a Spreadsheet, when you can have your app talk directly to the spreadsheet? Skip the middle man. The Zend API allows you to do this in just a few lines of code.
  4. Pastebin - Pastebin allows you to inject a chunk of text into their system and get back a URL to it. The data provided can be rendered with code highlighting, have an expiration date and be public or private. An interesting set of options which are provided by using a super simple API.
  5. QR Codes - why not stash your data in an image? Each QR code can store up to 256 characters. Push the resulting images to Picasa or Flickr. Or better yet, print them out and have your data literally in the palm of your hand.

Tuesday, November 16, 2010

Gotcha of the Day: Getting sitecopy to behave with ssh

Earlier today, I spent a bunch of time configuring sitecopy to deploy files over ssh on Windows using cygwin.

My key takeaways were:

  • One would think protocol sftp would work - but alas, this always seems to hang on my cygwin environment. I added some printf's to the source code and confirmed that sitecopy is hanging on a read. I'm thinking this might be related to some kind of limitation with Cygwin, but what it is exactly is beyond me. protocol ssh works well.
  • Sitecopy will inherit the ssh-agent in shell you run it from. This means you don't have to bother entering your password with every deployment.
  • The Big Gotcha for me was that files failed to copy, and reported just a vague error. The problem was that I had:
        remote /public_html
    
    which in an FTP or WebDAV context is interpreted as a relative path off of the home directory you log into. In ssh mode, files were attempting to get written to: /public_html/php - no wonder they were failing. I changed this to:
        remote /home/webuser/public_html
    
    and I was back in business.
  • Open Source rocks. Rocks I say. Because I had the source code for sitecopy I could crack it open, add debugging code, and really see what the heck was going on. If this was a closed source app, I would have had to guess and depend on the vendor alone.

Figuring the ssh protocol out is key, as now sites that have ssh/sftp access only can be deployed to just as easily as those with traditional FTP.

Astonishing Astronomy - One Day At A Time

I stumbled across this photo and from there found the Astronomy Picture of the Day Archive.

The contents are simply amazing. From remarkable sights found here on Earth to clever visualizations (try hovering your mouse over the last link's photo) - who knew astronomy could be so riveting?

Get a bird's-eye-view of the photos here.

Monday, November 15, 2010

Taking the Dead out of Digital Dead Drops

The other day I blogged about Digital Dead Drops, a scheme where USB drives are stashed around a city for folks to use. While the concept has been rolling around in my head for the last few days, what's really been bugging me is all the negativity in the comments on the announcement page.

Sure, the idea has flaws - but it never ceases to amaze me how people can show up and criticize an idea with such vitriol.

In the spirit of being more positive, I offer here solutions to three key problems I see with the idea. First, the potential for physical damage to one's laptop, second, the concern about virii and other malware and third, the concern about drives being wiped.

The first concern is that, by say a wedged in place staple hidden in the USB port, one might accidentally damage their laptop by using a Dead Drop. On the surface, it seems the hardest to fix. Though, in reality it's almost trivial. Just use a $3.00 USB cable extender and you're all set. Yes, the extender cable could get damaged - but it's easily replaced for just a few bucks. An extender cable would also make using the drives easier, as you wouldn't need to position your laptop at just the right angle as shown in the original video.

The second concern - viruses and malware also seems relatively easily solved. The solution: PGP (or, more likely GPG). A public dead drop seems the perfect application for public key cryptography. Not only could you use the encryption to get all cloak and dagger like, but just as importantly, you could use digital signatures to confirm a file really is written by who it claims to be written by. By using Public Key Encryption, you could effectively use an insecure medium like a dead drop to pass files around securely. Just, like, say, a VPN.

To get really fancy, someone could write an application to browse dead drops. It would have functionality like turning off auto run behavior and showing which files are signed and which aren't. In other words, making the power of PGP available to novices.

The third problem, that of people deleting drives and files, is trickier to solve. About the best I've come up with is that the browsing application mentioned above could be enhanced to take disk images of the drive and archive them. An individual could visit drops the frequent, and make archived copies of the drive, or restore them. This would work much like the Wikipedia restoring process works now.

So there you have it - three problems and three solutions.

And why do we need dead drops in the first place? I'm not exactly sure yet. But I know, that sometimes the best inventions come out of a product that doesn't appear useful.

Bedazzling Bites in Boston

While most of our latest trip to Boston was spent playing with Kiddies, Shira and I did manage to take in some tasty eats. So tasty, I thought they deserved mention here.

Grasshopper Restaurant - for years, Shira and I have driven past this restaurant advertising "Asian Vegan" in bold white letters. We finally managed to have dinner there last Thursday night. Turns out, it was worth the wait.

We ordered Wanton Soup, their Sweet and Sour Specialty and "Beef" with Mushrooms.

The Soup and Sweet and Sour dish definitely met expectations. Really, how can you miss if you slather tofu in sweet sauce and deep fry it? The bigger surprise was just how tasty the Beef and Mushroom dish was. Besides being absolutely delicious, it definitely managed to nail the meat texture and flavor.

The main entrees were both ginormous - and when we go back we'll probably split one.

For vegans and non-vegans alike, this is worth a try.

Chill - while out on a walk, we decided we wanted to catch a little snack. With the little one in his stroller, we randomly dropped into Chill. Turns out, their claim to fame is natural frozen yogurt which as the clerk explained, "tastes like frozen breakfast yogurt." He also insisted we try a sample as the description didn't do the dish justice. I was sold, Shira not so much. Shira got some ultra double extra chocolate thing and I got the tart yogurt.

For a $1.49, I could have unlimited toppings. There's just something powerful about unlimited. Fruit, sprinkles, whip cream, cookies all got piled on. Of course, choosing more toppings mean less of each one gets used - so it's a zero sum game. But still, I liked the power of choice.

They also got serious bonus points, because the clerk gave us a small cup of mangos and raspberries for our little one to nosh on (he's allergic to milk - so yogurt or ice cream was out of the question). We offered to pay, but have gave them to us on the house.

For a chilly desert, I walked away with a very warm feeling.

Sunday, November 14, 2010

Visiting the Twins, while they're only-children

We just got back from a wonderful weekend visiting the twins. They are 19 months old, and just adorable (as always). They are going to have a little sister pretty soon, so this was our last visit to spoil just them.

Our little guy came to join the fun, and it was remarkable watching them all play together. Just a few short months ago, they played indedpendently, but this trip they were really playing off each other. One would start banging on a chair, and another would bang louder. It was a loud and fun weekend. A few pictures to capture our time are shown here:

Friday, November 12, 2010

A Content First Approach

I was out hunting for web site mockup tools when I came across this lead from an article listing 7 options:

I am working on a number of website projects right now. My mission is to banish ‘lorem ipsum’ by working text into page designs before development starts. (To find out why, read my article: Want a good website, on time? Prioritise content)

As I pondered this statement, it occured to me that the author is absolutely right: the standard way to develop a site is to come up with the shape first, then implement, and finally, drop in the text. Banish "lorem ipsum" - that's pratically heresy.

But, would happen if you did just this? What if the copy came before the website design was solidified?

Seems to me, the design and flow of the website would be structured around what you actually want to say rather than what a generic design would call for. Rather than trying to fit 10 selling points into a single Why Buy Page, you could structure the site to walk folks through 10 points in an easy manner.

Seems obvious - I'll have to give it a try.

Thursday, November 11, 2010

Digital Dead Drops

While I'm not sure how practical the project is, I just find something appealing about the USB Dead Drop project.

Essentially, the idea consists of nothing more than physically embedding a USB drive in a wall or object and telling people to get creative with copying files to and from it. Spackle + a USB Drive - how cool is that?

Predictably, the comments from folks on the Internet range from praising the project and comparing it to a form of Geocaching, to describing it as: "pretty much like leaving dirty needles around for people to use."

Even with all the security concerns, I'm still in the Clever Idea camp. What can I say, I'm a sucker for using simple, cheap and readily available technology to potentially accomplish big things.

Learn more about the project from the video below. What's your take on it?

Dead Drops 'How to' - NYC from aram bartholl on Vimeo.

Wednesday, November 10, 2010

Tips From The Grill Master

Now that I've got a deck, it's time to really start paying attention to our grill. I asked my Brother, the grill expert of the family, for any advice he could offer. Here's what he came up with:

Step 1: Prepare. Without proper preparation, you're off finding stuff and you're food is burning. And what will you want to have on hand before you start?

  • Spatula and other tools
  • Grill scraper
  • Any sauces that will get used
  • Glass of water for grease fires that may pop up
  • Pam
  • Meat (yeah, this could be handy)
  • Thermometer
  • Lighting if you're grilling after dark

Step 2: Warm the grill up for 5-7 minutes. Then give it a good scraping to clean it. If you want to Pam the grill once it's warmed up, you can do so. The Pam may cause a bit of a flare up, but you'll be fine.

Step 3: Start cooking, and go wash the plate you brought the meat out on. Yeah, poisoning your guests tends to be a bit of a downer for the meal.

Step 4: Cook until the thermometer says it's done. I've used my brother's Thermapen before, and it really is an absolutely essential grilling tool. It's like X-ray vision for cooking. Yes, it is pricey, but for a novice like me it's worth every penny.

Tonight's burgers got a thumbs up by Shira. Of course, how can you mess up burgers? I'm sure I'll find a way.

A deck and a grill - if this isn't living the American dream, I don't know what is.

Review: Flip & Tumble 24-7 Bag

No doubt about it, I'm a fan of all things bags and backpacks. And I have to say, I'm quite happy with my latest purchase, a Flip & Tumble 24-7 bag.

The Flip & Tumble is essentially a reusable shopping bag, though instead of using handles, it has a messenger (or purse, *gulp*) style strap. I think this makes it a lot more usable than the typical shopping bag.

For me, it's my latest attempt to find a bag that's easily packed along and then deployed when needed. Of course, there are lots of bags that do this - but they tend to be flawed. They might be too large when bundled up, so carrying them becomes a pain. Or, they may be too fragile and prone to ripping.

So far, the Flip & Tumble seems to have all the bases covered:

  • It stows down quiet compactly - small enough to be fit into a jacket pocket, or even crammed into a back pocket
  • It's designed a shopping bag, and claims to hold up to 25lbs, which is plenty
  • There are no zippers to break or flimsy straps
  • The main strap has just a tiny bit of extra padding on it for gripping - not sure if it does anything beyond being psychologically useful
  • It comes in plenty of colors, so I was able to black and gray - the manliest option I could find.
  • It's relatively cheap at $10.99. (and available for Amazon Prime shipping)

My only concern was the size: even unfolded it doesn't look all that big. So, I tested it out on a walk with our little one. Here's what I brought along (and accumulated):

  • Hummus and Pita picked up along the way
  • Diaper pad, with diapers, wipes, zip lock bags and wet-ones inside
  • Extra change of clothes, Just In Case
  • A little light reading
  • Soy milk in an insulated container - Mmmmmm....so delicious
  • a Pocket Kite in case the wind and time cooperated
  • Salsa - kidding. It's actually graham crackers for light snacking.
  • The Flip & Tumble bag (OK, before I blow your mind - this wasn't in the bag. This was the bag.)
  • A fancy shamncy juice drink we picked up with the Pita

And what do you know - it all fit:

I suppose the only other gotcha with the bag is that as unisex as it is, it's still more purse than messenger bag. This means that while I'll be glad to pull out the bag when I have an actual purpose for using it, I don't expect to carry it everywhere expanded. The world is not ready for Ben Simon to carry a murse.

Tuesday, November 09, 2010

The Deck Lives!

There are a few last tweaks to do here and there - but for the most part, the deck is done.

It was finished just in time for Day Light Saving time to bring darkness a 4:00pm.

Still, we couldn't be happier with how it turned out. Our builder really did an excellent job.

Monday, November 08, 2010

A Lawn Service I'd Buy Into

I came across this proposal on an Urban Farming blog I follow. The idea is deliciously simple: what if instead of paying a lawn service to trim my grass, I paid them to maintain a vegetable garden (and trim the grass)?

The proposal goes on to spell out the benefits in fairly formal terms:

In this scheme, the vast acreage of American lawns becomes an inexhaustible reservoir of arable land. Through an ongoing conversation with each individual homeowner, the farmers adapt farming techniques and planting strategies to the fragmented and platted landscapes of our cities and suburbs. Utilizing their professional expertise, specialized tools, and organic farming techniques, these farmers provide agricultural services at low cost and with maximum convenience for homeowners, bringing the industrial efficiency and higher yields of farming to the realm of home gardening.

The homeowners receive the bulk of the harvest delivered from their personal gardens onto their front doorsteps, with the farmers marketing a smaller portion of the produce to local restaurants and markets. A single garden of 800 sq. ft. can provide 400 pounds of fresh produce for each household, with an additional 240 pounds to be distributed locally amongst other consumers. Such an operation would, in farming numerous residential yards, rival the productivity and income generation of a typical CSA (community supported agriculture) farm out in the countryside.

This seems like a wonderful project for a gardening entrepreneur to take on. Using techniques like square foot gardening, a single person could maintain dozens of clients.

As a home owner, I'd get fresh produce and the sense that I was putting my lawn to more use than just eye candy.

Surely, businesses must already offer this as a service, right? If so, I'd love to hear about them.

Constraints vs. Problems in the Business World

Seth Godin has a wonderful piece on Constraints vs Problems in the business world. The very summarized version is:

Constraints (like, say, not having $1,000,000 in the bank) are something you live with. Problems (like, say, helping people find the perfect movie to rent) are something you solve.

Knowing the difference is key.

The only thing I would add is that one way to be a successful entrepreneur is to recognize when a constraint has turned into a problem.

For example, Amazon Web Services make the constraint of not having access to massive amounts of computing hardware a problem solved with a little cash. Or, put another way, in the past you couldn't create a site on the scale of YouTube. Now you can.

Make sure you read Seth's original article. How he can say so much in a 140 words is beyond me.

Friday, November 05, 2010

Review: Little House on a Small Planet

On a whim, I checked out Little House on a Small Planet: Simple Homes, Cozy Retreats, and Energy Efficient Possibilities from the library. It was on the new arrivals shelf and I thought it would be a book of mostly photos to leaf through.

Turns out, my gut feel was wrong. It's way more than just a picture book. It's a book that provides chapter after chapter of evidence for why living in a smaller (and therefore simpler) house is better. It covers financial, spiritual, environmental, family, business and other topics. By the time I was done reading it, I felt like I was the one missing out, what with my 3000 sq. ft. mansion I live in.

Some of the benefits seem to be a bit of reach to me. Also, this was definitely arm chair adventure reading - I'm not downsizing (or upsizing for that matter) anytime soon. Heck, the book could even get a bit preachy - like that friend of yours who's on some sort of environmental kick, and just won't let you forget it. But, given that there's so much of our society dedicated to suggesting you need more and bigger - I guess I can't be annoyed that there's at least one source that's loudly shouting the opposite.

This book is an obvious read for a person or family shopping around for a new house. And even someone like myself who has a descent size living space can learn some important lessons about how to be utilize their space better.

For me, however, the main takeaway is just how powerful choice and perception are for people. To one person, a 300 sq ft area is the perfect sized bathroom, to another, it's the perfect sized house. There's no rule that says that small is good or bad. Or even what small is defined as.

And why is this useful? It means that the house you have right now, big or small, could be the perfect living space. You just need the right view of it.

Phone Friday: The G2 isn't Waterproof. Or, How to Surving a Dunking

Let's say you're giving your 14 month old a bath and the nearly unthinkable happens: you manage to drop your handset into his little bathtub thingy. What should you do?

Well, I'm sorry to say I now have some very hard won insight into this quandary.

In my case, I thought I was pretty smart: I immediately yanked the phone out of the tub, dried it, removed the battery and let the whole unit sit out. I thought I got to it fast enough that my biggest issue was the white disk under the battery had turned pink, meaning any sort of warranty I had on the phone was toast.

Oh, but did I underestimate my problems. After hours of drying, I popped the battery in and turned on the phone. Nothing. That's right, nothing at all happened. In fact, here's more or less what happened over the next few days:

  • Day 1: Phone doesn't turn on or given any indication it works
  • Day 2: Phone seems to turn on, but the screen is dead
  • Day 3: Phone turns on, and some image can be seen on the screen, but it's still mostly dead
  • Day 4: Phone turns on, screen appears (whoo!), but the touch screen is totally reversed. Touching the left part of the screen triggers events on the right side.
  • Day 5: Phone turns on, screen appears, touch pad works! The main problem: there's serious discoloration in part of the screen

Since day 5, the screen has basically cleared up and the phone is almost back to the way it was before it took a swim.

The moral of the story: if you get your handset wet, have some serious patience. Keep the battery out of the device and the back off and just let it dry for days and days.

This is actually a lesson Shira and I learned years ago when we dropped a Motorola into a swimming pool. We went back to AT&T and begged our way into a new phone at a reduced rate. Then a few days later, the Motorola started working again. We ended up selling one of the phones on eBay and all lived happily ever after.

Like I said, if this happens, you've got have patience. Lots of patience.

Update: Here's my Dad's advice:

Rice - you needed to put the phone in a big bag of rice.

Thanks Dad!

Thursday, November 04, 2010

Rally to Restore Clever Signage

I was out of town during the Rall to Restore Sanity, and while I haven't had a chance to listen any of the video of the event, I've been loving the photos.

The set on RallyToRestoreSanity.com is absolutely hilarious. Here's a gallery pulled from Flickr that contains even more photos from the event.

I guess I can't quite put my finger on it - I see all these people acting goofy, and I think to myself, our country is going to be OK.

Wednesday, November 03, 2010

Caption Me - Closeup Edition

Who doesn't love a little macro photography? Here's a few shots from our most recent trip. Have a caption idea? Drop 'er in the comments.

Tuesday, November 02, 2010

Travling with Baby Hack: Dealing with a missing bottle cap

Yesterday, as we packed up to make our cross country trip back home, we realized that we were missing the plastic dome-style cap to one of our baby bottles.

None of the obvious options seemed like good ones: the day of traveling was long enough that we needed all the bottles we brought; and while skipping the cap wouldn't leave the bottle gushing milk, it would definitely make for a mess.

And then Shira had a brilliant idea: fill the bottle with milk, cover the top of the bottle with Saran wrap, then screw the nipple assembly over the whole plastic wrap.

The result: the plastic wrap keeps the milk from leaking, the nipple assembly protects the plastic wrap from getting punctured.

It worked like a charm.

Here's what I mean in photos:

Monday, November 01, 2010

Watching the Bolts Pull Out the Victory

The San Diego Chargers game we caught today turned out to be an excellent one. It was a fight right up until the last 30 seconds, where the Chargers pulled out the victory.

Compared to say watching Tennis or Baseball live, I was struck by just how quickly the game moves and how much activity is happening in parallel at any one moment. Get distracted by a player on the sideline (or, say, a cheerleader dressed up as a skimpily dressed Police Officer costume), and poof, you could miss a key play or penalty. Heck, even when I was watching the play unfold, I'd still often wonder what the heck just happened. But it wouldn't really matter, because the game zipped right along and there was more action to see.

Makes me appreciate the commentary and instant replay at home, which spoon feeds you just what you need to know. Still, nothing beats being there - surrounded by 59,000 other fans all cheering at the top of their lungs.

A few photos below. Man, it's hard to photograph football - there's just so many places the ball can end up, and I always seem to guess the wrong place to point the camera.