Tuesday, July 10, 2007

Forget the iPhone, what you need is the iDea

Check out the iDea, it's a truly remarkable product. It leaves the iPhone in the dust - I mean on battery life alone, the iDea rocks.

Here's a screenshot of the this brilliant piece of technology:

Here are the specs:

Capacity:          1 idea - 5 notions - 10 inklings
Genius Quotient:   8.3en (einsteinian scale)
Surface Interface: InkSync
Input Method:      Pen, Pencil, Marker, Crayon
Wireless:          Yep, no wires here
Color:             Arctic Zen Snow White
Language:          Try to keep it clean please
Dimensions:        5 x 5 x .125 inches / 127 x 127 x 3.175mm
Weight:            Real light

There's plenty to check out on the site. If you have even a passing interest in the iPhone hype, you'll get a kick out of this. Each page of the site is funnier than the last.

Personally, I recommend the iCard, but that's just me.

Thanks to Adrants for pointing out this really clever site.

Missing Movie Maker And My Latest Film

Some time ago I blogged about how Windows XP came with a handy little program to edit movies, Windows Movie Maker. Most conveniently, it comes with Windows XP automagically. It's just there.

Except when it isn't.

Today, I went to record and edit a video, and for the life of me, I couldn't find Windows Movie Maker installed on my Windows XP system. Off to the Microsoft's website I went, to try to download a fresh copy. I was greeted with this winner of a message:

[Page title: Windows Movie Maker 2.1 Download]

Movie Maker 2.1 is available for download with Windows XP Service Pack 2 (SP2). You can download SP2, Movie Maker 2.1, and all future critical updates automatically by turning on the Automatic Updates feature in Windows XP.

You can also download SP2 and Movie Maker 2.1 from Microsoft Update. If you cannot use Automatic Updates or download SP2 via Windows Update, order a CD.

Got it. Except I don't want to download SP2 - I already have SP2. Now what the heck do I do? I clicked on all the links provided, and tried to coax Windows Update to give me Movie Maker but had no luck.

This, needless to say, was annoying and useless. Why can't Microsoft make the download for Movie Maker explicitly available? Who knows. Who cares.

I ended up finding two work arounds:

  • Download an older version of Windows Movie Maker from Download.com. I did this, and it works just fine.
  • Re-install Movie Maker by following these instructions. This one is a bit sketchier. When the dialog box came up asking me to drop in the Windows XP CD, I entered in C:\WINDOWS\i386, that satisfied the install program. This solution is much sketchier, but still seemed to do the trick.

To prove that Movie Maker completely worked, I put together this Short Film (and using the phrase film here is being quite generous). I call it, The Cup. It's an action flick. The music is titled The Cyanide Valentine - Freaks. Enjoy!

Paper Prototyping Session

Today I had the opportunity to spend most of the day working on a Paper Prototype for an application I'm helping to design. Like most usability techniques, Paper Prototyping is one of those activities that people seem to talk about more than do. So, I was excited to actually practice what I've been preaching. Here's some general lessons learned from the day:

  • Paper Prototyping made me feel like I was in 5th grade art class again. We had note cards, tape, scissors, etc. strewn about. We even picked up scented markers, to add to the experience. This state of mind is both a good thing in that it helps induce creativity, and is potentially a bad thing, because it makes me wonder if other's will take our project seriously.
  • Paper Prototyping isn't about UI design or layout. Sure, you need to organize the pieces of the application in an clean fashion, but I can see how design decisions such as tabs vs. buttons vs. drop down boxes, are going to need to be decided by a designer at a later date. Again, this is both bad and good. It's bad because the prototype looks crude, and which doesn't help with our credibility. But it's good because we can focus on what's important: the user experience. If the experience is good with basic controls, it should be fantastic with well designed components.
  • Having a Paper Prototype to actually execute scenarios against made a huge difference in developing the user experience. It changed the tone of the conversation form one that was about anecdote and example, to one that was based on the needs of the specific application. Consider if our app had a spell checking requirement (which it doesn't really). Previously, if we talked about the spell checking feature we might say: "should we make it like Firefox's spell checking? How about gmail's? I kinda like Blogger's. What about doing it like old school MS-Word?" With a Paper Prototype our conversation went more like "at this point, the user is about hit send, wouldn't it be great if all the words were highlighted that were spelled wrong, and the send button grayed out?"
  • Making a detailed prototype takes serious time. It's easy to throw the basic components in place (a search box here, a text area there) but it's another thing to develop the complete UI with every message and feature a user is going to see. I still think it's worth doing, it just takes more time than I had expected.
  • Having Personas defined ahead of time was helpful.
  • The Paper Prototype promoted an environment where different approaches could be easily suggested and evaluated. Again, the tone changed from one of: "Which do you think is better, A. or B.?" To, "let's implement A and B. Can we tell which one appears to be more appropriate?"
  • The team makes a huge difference. Our team was fantastic. They were excited to try the Paper Prototyping approach, everybody participated with making components as needed, and most importantly, people suggested ideas and were willing to accept ones that weren't their own.

At the end of the day, I'd say there were some pretty remarkable advantages to making a Paper Prototype. I still wonder if others will take us seriously - but we'll know the answer to that soon enough.

Touchdown!

In Albany. One piece. Life's Good.

--Ben

On The Bright Side

At least I'm close the bathroom. Some might say a bit too close. And there's an emergency flashlight within grabbing distance. All good news.

And then there's that special disinfectant smell of the lavatory - should make for a pleasant companion for this flight.

One final thought before takeoff: Could they make these planes with any less leg room?

--Ben

Oddest Security Experience Ever

The woman checking IDs in the security line just did the strangest thing. She moved me from the super long regular line to the fairly short Premium Passenger line.

Not sure why. But I'll take it!

Odd.

--Ben

Taking The High Road To Work

Specifically, the 10,000 ft (or 20? Or 30?) road. Today I'm heading to Albany for a couple days.

So far, my trip is proceeding a bit better than expected. I arrived at the United ticket counter to see very long lines. An agent greeting folks suggested that, because I have no checked baggage, I walk around the corner. Sure enough, there was an empty kiosk waiting for me. Score one for airport efficiency.

Note to self: always carry on luggage.

Now I'm in the security line, which is scary-long at the moment. We didn't seem to move in the last three minutes. Oy.

Now we play the waiting game. D'oh, the waiting game sucks! (Quick: identify that Simpsons reference).

--Ben

Monday, July 09, 2007

Tupperware Paint Hack

One of my favorite hacks from Popular Mechanics (I think): store a bit of paint from your contractor's job in a Tupperware container to make for quick and easy touch ups.

Check out Shira the Artist doing a bunch of overdue touch ups in the basement.

We didn't have a Tupperware container full of paint for the basement color, so I had to bust out the full supply. What a pain. Take the time to do the Tupperware approach, you'll be glad you did.

I didn't have a paint stirrer handy, so I made one from a coat hanger, cardboard and duct tape. Yes, I'm proud of myself, thank you very much.

--Ben

Postgres Hack Of The Day

We had a bunch of data in our database that was corrupted with some binary characters (which are actually the unicode value to use when no other is appropriate, but from my perspective, it was binary junk).

We wrestled with all sorts of ways of scrubbing the data, and finally, ended up with this quick and dirty hack. No doubt there's a better way to do this (please, school me in the comments :-)).

First, we figured out that you can convert arbitrary text and binary code to a hex string by using the encode function. At first, that didn't work because apparently there's no cast setup between varchar and binary strings. But that's easily remedied with:

 CREATE CAST (varchar as bytea) WITHOUT FUNCTION;

(Man, I love Google. I'd be so out of work without it.)

With the ability to turn binary strings into hex text, we were then able to do a regexp replacement against the hex text. In our case, we wanted to replace these junky characters with an apostrophe - which for the record, has a hex value of 27.

Finally, we converted the hex text to a string by using decode.

The final hack turned out to be:

SELECT decode(regexp_replace(encode(name::bytea, 'hex'), 
                             'efbfbd', '27'), 
              'hex') 
FROM some_table where name ilike 'Name With Junk At The End%'; 

It's ugly - but it works.

Bonus Hack: While struggling with binary characters, I accidentally typed \x into psql. Turns out, that turns on expanded output, which among other things will show you output in the format:

  -[ RECORD 1 ]-----------------
  name    | Mr. Foo
  phone   | 555-1212
  address | Fooville

The command line tools for MySql and Sybase both offered this vertical layout, but I had to see psql do it. Turns out, it does.

Sunday, July 08, 2007

Review: Ratatouille

Just caught Ratatouille, a Pixar animated film. Shira and I both enjoyed it, even though it followed the classic recipe that Nemo, Toy Story, and related movies followed too. But don't take my word for it.

We saw the movie with The Boys, who have seen every Pixar movie made, and are considered Subject Matter Experts. Bottom line - they liked it. So, there you have it, Pixar has another winner.

I thought some of the humor was a bit adult - not in a sexual sense, but in an over-kids-head sense. But apparently, it didn't stop 4 boys from having a great time watching the film.

I give it a 7/10 for being another family friendly movie. It doesn't break new ground, but did provide a nice bit of entertainment on a hot summer day.

--Ben

A Scorcher In DC

When the temperature gauge passes 100, I know it's really summer in DC.

Man it's hot.

About the only thing you can do outside now is eat ice cream. Which, incidentally, is what we just finished doing. Yummy.

Thanks for the treat Danielle.

--Ben

Twitter Explained

The latest issue of wired has a terrific article in it explaining Twitter. For those not in the know, Twitter is site where you share tiny tidbits of your current status (under 140 characters worth) and your friends follow along.

It's like keeping a blog, but each entry is super tiny. While I've found a few uses for this type of blog it hardly seems like a million dollar idea. That is, until Clive Thompson shed light on it:

They're precisely right [Twitter messages are virtually useless]: Individually, most Twitter messages are stupefyingly trivial. But the true value of Twitter — and the similarly mundane Dodgeball, a tool for reporting your real-time location to friends — is cumulative. The power is in the surprising effects that come from receiving thousands of pings from your posse. And this, as it turns out, suggests where the Web is heading.

When I see that my friend Misha is "waiting at Genius Bar to send my MacBook to the shop," that's not much information. But when I get such granular updates every day for a month, I know a lot more about her. And when my four closest friends and worldmates send me dozens of updates a week for five months, I begin to develop an almost telepathic awareness of the people most important to me.

Ahhh, so it's the aggregate of information which is so powerful. Got it. I'm glad someone explained this to me.

Lately, my brothers, Mom and Dad have all taken to text messaging each other. It's asynchronous, so nobody needs to worry that we're bothering Josh while he's saving a dying patient, David while he's doing breakthrough research, Mom or Dad on the Golf course, or me in the middle of blogging. And it's ubiquitous, we can all do it no matter where our location is or what our choice of hardware is.

I also noticed, just like Clive explains in his article, that the messages on their own aren't of much value. But taken together, they start to form an interesting story. I've even started considering how I could archive the stream of messages so we could go back and share it.

Or, maybe, just maybe, it's time that I get my family into Twitter and not reinvent the wheel.

Random Recommendations

A collection of links that you should consider following up on...

  • CEO Exchange. Recommended by my Dad - it's a series of interviews with top CEOs of major companies. See how the big boys do it. You can watch it on TV or listen to it as Podcasts. It's put out by PBS, so it's TV you can feel good about watching.
  • Christian's iPhone FAQ: If you are considering buying an iPhone check out Christian's review. Bottom line: don't feel guilty buying one - it basically lives up to the hype. Now, if only my sidekick battery last twice as long and take 10x better pictures, I wouldn't need to be looking at other phone's FAQs.
  • JewTube. Recommended by my Brother David - it's YouTube for the Chosen People. It's a bit light on content at the moment, but the idea is brilliant. Check out this most hillarious Family Guy clip about Bin Laden. It's not exclusive to JewTube by any means, but still, it's a good place to start. Heck, it's enough to make me want to start watching Family Guy.

Have any other recommendations you'd like me to share? Leave 'em in the comments or send me e-mail and I'll add them to this post or another one.

Thursday, July 05, 2007

Asinine Advertising Idea

Think putting your message on a t-shirt isn't quite exciting enough? Well, have I got an advertising venue for you!

For a mere $12.00 / roll you can plaster your message or your competitors logo on a a roll of toilet paper. I know, crappy idea.

Hmmm, what to put on my first set of rolls. The possibilities seem endless.

Hard Thinking vs. Hard Work

While on the boardwalk today I stumbled upon this commentary by Paul Orfalea, the founder of Kinkos. He was giving commentary about a new startup, TechShop. As I learned while listening to Paul's biography, he's a bit of a contrarian, so his advice is always interesting and usually non-intuitive.

Here's a snippet of what it he had to say:

Which gets to my final point: You must be flexible and astute and focus on the big picture. Busyness is not your friend. Start-up entrepreneurs too often try to run away from their anxiety by being busy. But you have to leave time open on your schedule for hard thinking rather than hard working. Make sure you get plenty of sleep, take vacations, and don't get mired in the details either at the store or at your headquarters. You don't have to be at your desk in order to analyze cash-flow projections or revenue-by-category data, both of which I love to pore over, by the way.

I love that - leave time for hard thinking, rather than hard work.

Developers take note - from my past experience, this is good advice.

Read the whole article here.

Atlantic City Fireworks

A shot of the fireworks from last night while in Atlantic City. The shot was taken from the top of the Trump Plaza's garage - which turned out to be an idea place to see them.

Atlantic City Fireworks

Wednesday, July 04, 2007

First Time Here? Welcome!

Howdy! The purpose of this message is to introduce you to my blog, giving you the lay of the land.

First off, as you'll quickly notice, there aren't a whole lot of rules about what I post here. Depending on my mood, I'll use the blog for all sorts of purposes: rant, pontificate, publish my opinion, share cool links, brag about friend's accomplishments, share my next million dollar idea, define new words, educate the world, record my political views, keep my parents up to date on my whereabouts, make software I've written available, share music I enjoy and about another hundred reasons.

I keep this blog as much for historical purposes as I do for in the moment reasons. I can't wait to look at my political views 30 years from now and laugh.

I try to make use of blogger labels, so hopefully you can use them to filter the content by what's interesting. Read the geeky stuff, skip my vacation photos.

If there is one rule I follow, it's that I try to post at least once a day. And even that rule gets broken when things get busy.

I love comments, so please share your opinion with me and the rest of the readers of this blog. I hope you'll use them as a way of educating me. Lord knows I need it.

If you want to contact me directly, please feel free to e-mail me at Contact.Ben.Simon@gmail.com.

The blog is edited by my brilliant wife and she has the final say on what gets posted here. She reserves the right to yank any content she wants to for whatever reason she wants to. Sorry, it's the rules.

One warning: I often post from my mobile phone. This let's me post often and in the heat of the moment (like I'm doing right now, tapping this out in a casino while Shira's playing Blackjack). But it also means I post content without spell checking or formatting it properly. And my spelling is atrocious. I try to go back after the fact and edit posts, but this can take a while. So be patient. If you notice a glaring error please don't hesitate to e-mail me with a reminder message.

I hope you enjoy your stay and look forward to your feedback.

This post was inspired by Seth Godin's suggestion:

You can ask, "First time here?".

If you are at all interested in business, you need to be reading his blog religiously. You'll be glad you did.

--Ben

Arlington Alert At Work

Shira and I just got this text message from Arlington Alert:

On Wed, 4 Jul 2007 5:08 pm, Arlington Weather wrote:
> Due to severe weather, the National Mall and Iwo Jima are being
> evacuated. Seek Shelter now..

Wow - that puts a damper on the festivities back home.

There are two takeaways for me from this:

- See Mom, going to AC was really a security decision. It's much safer here in an industrial bubble that is a modern casino.

- Push messaging works and works well. You don't need a terrorist attack to see how valuable this is. Your run of the mill natural disaster will do just fine. I'm proud of Arlington for having it so together in this area.

--Ben

Shhhh...We're hunting WiFi

The hotel's internet access has dial-up level ping times. Yuck.

So traipsed around AC looking for WiFi. My current stop - McDonald's. The Golden Arches come through in a pinch.

Now, I could probably hang out here all day, except I don't have AC power - yet.

And did I bring the handy dandy key chain finder which would make WiFi hunting painless? Nope, left that at home and had to bust out the laptop. An Urban Nomad I am not.

Pardon me while I hack among the noise and odors of Mc'y D's.

--Ben

Update: Now that I'm connected, I can mention that: (a) Jwire.com gave me a good list of possible WiFi hotspots to check out and (b) the cost to get online at McDonald's is $2.99 for two hours. Not a great deal, but for my purposes, it's way better than nothing.

Update: Brother David suggested this hack. That is, go to Google maps and search for wifi xxxxx where xxxxx is a zip code.

Declaring Independence Is Risky Business

Shira and I are celebrating the risky gamble our forefathers took in starting this country in the most appropriate way possible - we headed to Atlantic City for a bit of gambling of our own.

I think Tom Jefferson would classify this in the Pursuit of Happiness category.

Shira will get to play some Blackjack, I'll get to blog and write some code. Happiness will be vigorously pursued.

Tuesday, July 03, 2007

Everystockphoto - Free Stock Photos

You simply can never have enough sources for free photos - here's another one: EveryStockPhoto.com. Useful for mockups, presentations, blogs, etc.

You never know when you'll need just the right picture of a woman in a headset to go with that web page that describes how operators standing by... :

Via: RedFerret.

MozRepl: Scripting Firefox from the inside out

Thanks to the emacsspeak blog I learned about MozRepl - a plug-in for Firefox that allows you to interactively script it in JavaScript.

The description:

Connect to Firefox and other Mozilla apps, explore and modify them from the inside, while they're running.

Execute Javascript, play with browser GUI, sneak into HTML pages, examine functions and variables, redefine them on the fly, hot-fix bugs, ... MozRepl itself is programmable from within MozRepl!

There's even a slick emacs mode that makes interacting with the REPL easy.

I'll be the first to admit that I'm not quite sure I see the use of scripting Firefox in this way. But, as my debugging session yesterday showed, an interactive REPL can make all the difference in working with a live system.

I'm off to ponder the Tutorials and Examples section of the docs. This is cool stuff, I tell ya. Very cool stuff.

For more on being a true emacs/Firefox geek, check out Firefox for Emacs Part 1 and Part 2.

Funny, I don't recall anyone scripting Firefox from inside Eclipse. ;-)

Monday, July 02, 2007

Hibernate performance tip: setFetchSize

A good portion of my day was spent tracking down this gem of a bug. I had a query like the following:

  SELECT id FROM OrderedTestScores WHERE testId = ?

In Java, I was using Hibernate code like so:

  Query q = session.getNamedQuery("scoreQuery");
  q.setFirstResult(getOffset());
  q.setMaxResults(getResultsPerPage());
  return q.list();

I would run the query in Postgres' psql and it would run in a matter of milliseconds. From a Java app though, the query would quite often take 10 - 15 seconds (yes, seconds) to complete.

What gives?

An explain on the query showed that the number of rows returned was trivial. I vacuumed and analyzed the database till it shined. And no matter how hard I tried, I couldn't get psql to take more than a couple hundred milliseconds to run the query.

Finally, one of my team members suggested we bust out Beanshell and play with the Hibernate code interactively. Brilliant suggestion.

What we noticed was that the above code really was consistently slow. We simplified it by saying:

  Query q = session.getNamedQuery("scoreQuery");
  q.list();

And, what do you know, the query ran fast. After a bit more testing, we learned that setMaxResults was singly handedly slowing down the query.

I have no idea why this is. I traced the hibernate code for about 3 minutes before giving up. I decided I could live without knowing the details behind this one (though, if anyone can explain it - I'd love to hear it!).

Another team member suggested that we add in a call to setFetchSize based on the fact that it often accompanies setMaxResults in the examples he's seen. It turned out to be yet another great suggestion. A few seconds playing around in Beanshell and we had proof that setFetchSize was indeed the antidote to setMaxResults

The speedy code turned out to be:

  Query q = session.getNamedQuery("scoreQuery");
  q.setFirstResult(getOffset());
  q.setMaxResults(getResultsPerPage());
  q.setFetchSize(getResultsPerPage());
  return q.list();

While this is somewhat reasonable (you want your results pulled in sane chunks) - c'mon - 15 seconds to run a query that should take 200 milliseconds? How massively wrong could the fetchsize be to cause that? Remember, we are talking about results sets of like 3 or 4 rows.

Most bugs have a really simple cause and explanation. Except when they don't. It's what makes being a developer so much fun.

More T-shirt Hacks

Turns out, T-shirts are a pretty versatile medium - here are two more cool hacks to go with the one I found earlier:

Tagging On A T-Shirt

Textually pointed me to this project where you can publish a machine readable message on a T-shirt.

The code is Semacode, and theoretically, is readable by a cell phone (though, not Sidekicks, as far as I know). This kind of reminds me of the CueCat debacle, though has one major difference: the device for reading the bar code is mobile. You don't have to sit down at your computer to scan a barcode, which is probably more of a hassle than simply querying Google directly.

Semacodes could really be cool - they provide a cheap, convenient and durable way to bind the physical world to the virtual one. And they make descent t-shirts too.

Text Me T's

If Semacode is a bit too out there for you, here's another novel use for T-shirts which is a bit more ready for prime time. Duct Tape Marketing mentioned the site Reactee, which allows you to create custom T-shirts. These custom T-shirts allow you to promote a message and request people send a text message to the folks at Reactee with a specific keyword.

Reactee apparently takes care of the messaging headaches and allows you to focus on choosing a message for your shirt.

The whole goal of this appears to be that you can promote a business, cause or idea, simply by wearing a T-shirt. People curious enough about it will text the keyword mentioned on the and will get back a response from you.

It's clever stuff, and the creation process is really slick. I'm tempted to buy a T, but I have no idea what I'd put on it.

Here's a thought - what about putting the information on the back of the T so that folks don't have to stare at the chest of the wearer to get the mobile number. Oh wait, maybe that's part of the appeal.

Again, this is another cool way for bridging the physical and the virtual.

Sunday, July 01, 2007

It's All About Marketing

Seen today in the Polo Outlet: Regular old sweatpants, but with the Ralph Lauren tag. A deal at $29.99 (the outlet price, not sure what regular price was).

Here's my guess is how this came to be (with apologies to Cousin Diane):

Somewhere deep in marketing headquarters at Ralph Lauren:

Bob: Hey Frank, I bet you $10 I can get people to buy sweatpants at Polo stores

Frank: C'mon, you're kidding me. Plain old sweats? Nahh, not possible.

Bob: Sure it is, you just have to think like a consumer. We'll charge enough that people will think they are special.

Frank: Bob, you had one too many martinis at lunch. Not going to happen. I mean, maybe if we dressed up the sweats a bit and made them more fashionable. Then, maybe you could sell 'em.

Bob: Frank, you're thinking too small again. We've got the brand. We can do anything we want.

Frank: 10 bucks?

Bob: Yep.

Frank: Charging over $40 for a pair of pants identical to the $4 version at Wal-Mart?

Bob: Yes Sir.

Frank: You're on!

....

6 months later, Frank gives Bob $10.

--Ben

This Movie Will Be Seen

Sorry babe, but we're going to have to go see the latest Die Hard. We'll probably end up paying full price (which is way too much), but there's simply no choice. It's a must see.

I can still recall being blown away (sorry, bad pun) by the original Die Hard. It was one of the first R rated movies my parents let my brother's and I see (as I recall - Dave/Josh - no need to correct me on this. I like my potentially fake memory). They sat us down, told us the language was atrocious and that we shouldn't speak like the characters, but that it was just too cool a movie for a bunch of boys not to see.

Well played Mom and Dad.

Apparently, Die Hard wasn't just a new type of action movie for myself, but essentially started a genre of it's own - the down and out, unlikely hero, who didn't want to be there, but is ready to kick butt (or, as David would say, Kick Ass). I was sold the first time I saw it, and am now, watching the latest trailer.

I have no idea how many chick flicks this movie is going to cost me, but it will almost certainly be worth it.

Here are some clips from YouTube to get yo u in the mood:

The trailer:

The Simpsons version:

A bunch of scenes from the movie (hopefully, not the best parts):

Die Hard with Woody Alan:

Friday, June 29, 2007

How many developers does it take to make coffee?

Apparently, 3.

Two read and follow the instructions, and one to blog it.

Suggestion: avoid the coffee in the kitchen today, and bring your own
from Starbucks.

--Ben

Review: Shadow Divers

Shadow Divers, by Robert Kurson, is the story of a bunch of wreck divers who found a WWII U-boat and diligently researched it till it was identified.

The story piqued my interest enough to rent it from the library, yet, by the time I was ready to listen to it the above description didn't seem terribly exciting. I was thinking: OK, a bunch of divers found a boat, big whoop.

It turns out my instincts couldn't have been more off. The book is incredibly interesting and was a terrific read (well, listen, anyway). And here's why: deep wreck diving is insanely dangerous. It makes a trip to Everest look like an afternoon hike with the guys.

There are so many ways to die in this sport, and the distance from OK to absolute disaster is so tiny, you can't help but be enthralled by it.

Kurson did a thorough job researching and painting the picture of the wreck. He even collected up and retold the story of the sub from the doomed crew's perspective. It's well done stuff.

The book on CD actually contains a bit of bonus material. At the end, the author interviews the two main characters of the book. It was a treat to get to actually hear the voices and comments of these guys I had been getting to know over the last few weeks.

I give the book a 9.313/10 for introducing me to a sport that is better listened to than actually attempted.

--Ben

Thursday, June 28, 2007

9, Glorious, Stupendous, Incredible Years

Happy Anniversary Babe! Hard to believe it's been 9 years. Thanks for putting up with all my mishigas. And for being the best wife a guy could ever hope for. And for baking me pies.

Sorry that I remembered the big day...don't worry, I could always forget next year.

Note: the above photo was taken when we were engaged. Man that feels like a long time ago.

Turning A Commute Into A Novel

Author Robert Bernocco turned his commute into a novel by writing chunks of it every day. Nothing too exotic about that. But here's the tricky part - he did it all over SMS: (pardon the clunky translation)

The book is not less the object of a great curiosity on the Net. Because the characteristic of Compagni di Viaggio is to be completely written on portable telephone. A first! Data processing specialist of profession, the author wrote his text of 384 pages by bits of 160 characters, at the time of the daily way between his residence and his place of work.

I wonder what it must be like thinking in terms of 160 character blocks. Hey English teachers out there, this would be a fun challenge to throw at your students (not writing a novel per se , but any document at all - how about poetry?).

It took him a mere 17 weeks to accomplish this task.

You simply have no excuse now for not completing that next great work of yours. If you've got a cell phone from the last 10 years, you're good to go. Think of it as another use of your gray time.

Wednesday, June 27, 2007

T-Shirt Design Hack

Let's say you have to design a t-shirt. And let's say you aren't a designer. What do you do? Well, if you're clever you create a t-shirt that the wearer designs so you don't have to:

I was asked to design a t-shirt for my country.

This presented me with two problems because, first, I am not a good designer and, second, I don't have a country to support.

So I decided to design a t-shirt that encourages the wearers of the t-shirt to design what goes on the t-shirt and also allows them to decide which country to support (or perhaps *not* to support). This is an approach that I have always been interested in: how to design systems that are open enough to allow for other people's designs yet specific enough to provide an intriguing starting point (it's always difficult to design on a completely blank canvas).

So the point of this t-shirt is that YOU, the wearer, have to design it before you wear it. You can draw directly on to the pixel array to create your own designs....

Brilliant! Not only is the concept cool, but the creator sidestepped majority of the design issues.

I wonder what other areas this approach can be applied to?

Via: LifeClever

Home Improvement: Adding a Kitchenette

Shira and I decided we would add a kitchenette to our finished basement. That way, we can have easy access to cold drinks and hot popcorn while hanging out on the couch. So we put in a call to the builder who built (or assembled, really) our house to see if he was available for the job. He was up for it and today he made it happen.

When you ask folks about their builders you usually get one of two extreme responses. Either you hear a long string of horror stories , and wouldn't be rehired to assemble Ikea furniture, or you hear nothing but praise. This isn't surprising, as builders, like programmers, are translating a consumer's mental model into reality. It's really easy for that model to not match up, or for the builder to need to make compromises the end user didn't expect. And when the medium is wood and concrete, it's a whole lot harder to change than bits and bytes. Not to mention, some of them are complete bastards.

Luckily, all you'll hear from us are glowing stories about our builder, Mike Stoll, of Stoll Construction (703-237-0931, Falls Church, VA). The way he can sketch out plans and comes up with solutions on the fly, I'm convinced he's the equivalent of a hacker who happens to work in a bit more physical medium.

Today he added to his positive record by completing our kitchenette project in 1 day instead of two, in taking the extra time to switch around the doors of the cabinets so they would have the best user experience and in leaving the basement area cleaner than he found it. Yeah, I'm a happy customer.

Here's the before picture:

Here's the progress they had made 45 minutes after they started:

Here's the finished job:

Here's proof that Mike exists :-). Yeah, I know, you thought I did the job myself and was just being modest. Not likely.

Pardon me, I have popcorn to pop and soda to drink.

Frameworks for Designers

A List Apart has a nifty article on Frameworks for Designers. It's good to be reminded that the best practices we follow while developing back end code can also be applied to front end code as well.

The framework they focus on is CSS based:

The real beauty of having a framework like this is getting off to a fast start. You can create a new (X)HMTL document, include your framework, and be off to the races with reset padding and margins, good typography, clean forms, a layout grid, working widgets, and more.

If you do CSS, it's a must read.

Related: Yahoo! UI Grid CSS, an impressive looking CSS framework by Yahoo!.

Wheel Of Lunch

Now here's a clever idea - Wheel Of Lunch. You provide a zip code, and the site does the rest - it constructs a list of local restaurants, and then gives you a random one to visit that day.

Who knew the Wheel Of Fortune metaphor would make for a handy UI component?

I have to say, I'm impressed how the site Just Works.

Tuesday, June 26, 2007

Mystery Solved: The Laptop Is Opened!

Mark and The Other Ben totally rock! You guys gave me the key insight into getting my laptop completely open.

For the record, the laptop is an HP Pavilion ze1250. And, just as you guys suggested, there was a small bevel I could pry up with a screwdriver. From there, the screws just started appearing and it was trivial to open up. And yes, also as you guys suggested, to fully open this up, I needed to take out the keyboard.

Check out the photos below as I managed to crack open the mystery.

Now, there's only one itty, bitty, tiny detail. Will I ever get it back together? Oh well, it wasn't working in the first place...so how much damage could I do.

Mark and Ben, I owe both of you guys a beer. Thanks!

Purity Ring Controversy - My Two Cents

I caught this controversy in the Oddly Enough news from Reuters:

LONDON (Reuters) - A teenage schoolgirl will appeal to the High Court on Friday to overturn a ban on her wearing a "purity ring" at school to symbolize her decision to abstain from sex before marriage.

Lydia Playfoot, 16, from West Sussex, says the silver ring is an expression of her faith and should be exempt from the school's rules on wearing jewellery.

"It is really important to me because in the Bible it says we should do this," she told BBC radio. "Muslims are allowed to wear headscarves and other faiths can wear bangles and other types of jewelery. It feels like Christians are being discriminated against."

Read the whole story here.

Surprisingly, I found this story actually got me fairly agitated. I'm not even quite sure why, but I totally feel compelled to add in my two cents.

What I know

OK, for starters, here are two things I know.

First, the student, Lydia Palyfoot is doing exactly what a 16 year student should be doing - pushing her boundaries for a good cause. Way to go Lydia! I'm not in agreement with you, but I totally think your effort is a good one.

Second, this whole thing about public schools and religious needs of students seems, for a large number of cases, to be straightforward. It seems to me like the school should accommodate the absolute minimum needs that a student has. That is, if a Jewish student keeps Kosher, they should not require the student to each the cafeteria food, and they should allow them to bring in their own lunch. They shouldn't be expected to provide Kosher food for the student.

Or, suppose a Jewish student wants to have his head covered and the school doesn't allow hats. The student should be allowed to wear a plain black kippah, not a baseball cap of their choice.

By this standard, I think it's pretty clear that Lydia shouldn't be allowed to wear her purity ring (Sorry Lydia). I think the minimum standard here would somehow involve the school requiring her to have sex (yuck),and that clearly isn't something any school administrator wants (though some students may have a different opinion on this one).

You do run into issues where the minimum standard clashes with the basic requirements of the institution. For example, the fact that the SATs need to be taken on Saturday for security reasons, yet Religious Jews don't write on Saturday. Or the classic viel and driver's license controversy. In thosecases, I'm not sure I know the answer. But, luckily, Lydia's case can meet minimum standards requirement.

What I don't know (so well)

Now onto things that I don't know so well...

I have to admit, I'm kinda annoyed at the parents here. The school is obviously trying to setup a safe and ideal atmosphere for their child to learn in, and they are going out of their way to counteract that. It's one thing for a 16 year to not see the value of showing respect and support to a school, it's another thing for adults to not see that. I'd expect the parents to see the big picture, and to have an appreciation for it.

Basically, If a Jewish student wanted to wear a Star of David to school, and the school said that jewelry wasn't allowed, I would expect the parents to sit their kid down and enforce that rule. Period.

Perhaps it all boils down to this: it's important for kids to understand when you fight (say, being forced to eat Non-Kosher food) and when you work with the (say, finding ways to have your head covered while staying as close to school policy as possible) system. Unfortunately, Lydia isn't getting that lesson in a meaningful way.

Finally, someone's going to have to explain to me this whole: "It feels like Christians are being discriminated against" concept. Now, this story is happening in England, but I've heard this argument in the past from folks in the US. I just have a really hard time following it. From the perspective of someone who's not in the majority, I think Christians have it pretty dang good. This argument kind of feels like me saying: Gosh, I'm a youngish, white, male - how can I stop people from discriminating against me?.

Though, I readily admit, I'd love to have the conversation with someone who feels strongly about this - because at this point, I just don't get it.

Here's an idea...

Little known fact: in high school I had a button, which I suppose I wore fairly proudly, that said: Not Me - Not Now. It was an abstinence campaign (and basically, a statement of fact). Of course, at that time, committing to abstinence was about as difficult as breathing. But hey, I had my time in the sun. Maybe I can dig up that old button and send it to Lydia...wonder if the school would ban that too?

Sunday, June 24, 2007

The Mystery Of The Sealed Laptop

Today I had a brilliant idea - I'll take an old laptop that I've had
lying around for years now and throw Linux on it.

Step 1: find laptop. Check.

Step 2: open it up, give it a good cleaning, and assess the situation.
Uhh...not Check?

I've now taken out every screw, peeled back every sticked and generally
attempted to pry the laptop apart, but alas, no luck. While I can see
that the corners of the laptop aren't connected any more, the base
simply won't seperate to reveal the inner goodies of the laptop.

I figured my next step should be to sit tight and give the problem some
time to cook in my head. That last thing I want to do is to get over
eager and break something.

Though, in the end, if that's what it takes, I'm willing to do that.
I'm getting to the guts of this laptop if it takes renting compressor
powered tools from Home Depot.

--Ben

Relationship Advice

With my 9th wedding anniversary coming up, and not a single thing planned for it, I think I should probably be doing a bit of research into what makes relationships work. Here's an inspiring video to help with that, and one to keep me from going too soft.

If you want, you can listen to lots more great advice and music here. As far as I can tell, this is Brad Paisley's entire new album, 5th Gear. Someone's going to have to explain to me why downloading this from Napster was stealing and listening to it on AOL is considered marketing. I don't get it.

OK, no time to ponder that, must focus on 9th year anniversary ideas...must...focus...

Saturday, June 23, 2007

Highschool Flashback: Graphing Equations

Tonight I had the need to plot some simple equations, like: y = 1.2x. This gave me the perfect opportunity to dig around for a web app to do the plotting, rather than simply sketching out a few points on paper.

A bit of poking around found: Fooplot.com. It's nothing particularly special, though it does appear to do the Right Thing most of the time.

The one cool part is that you can throw equations at the end of a URL and have them plotted, something like:

http://fooplot.com/sin(x)

I'm sure there are sexier options out there, but for now, fooplot seems like it'll do the trick.

Frankly, I'm not sure if Mrs. Buck (my high school math teacher) would be impressed that I'm plotting stuff, or depressed that I need a program to tell me what y = 1.2^x versus y = 2^x actually look like.

Friday, June 22, 2007

Resident Rock Star

Here's an interesting fact I learned today: Martin, of the SEO team who is just two offices down the hall from me, is in fact, a real live rock star. Check out his MySpace page, he's the real deal.

His group Abott And West describe themselves as Pop Punk / Rock / Christian. A quick listen to their music sounded impressive to me.

Here, take a listen for yourself:

The way I figure it, I should get his autograph and some hair clippings now - they are going to totally make me rich when I sell them on eBay when he hits the big time.

Thursday, June 21, 2007

Guest Blogger Beamer: Another Use For Your Emergency Brake

By guest blogger Beamer.

In his quest to find yet another reuse (he calls it a hack) Ben has succeeded in turning his Acura's emergency brake in to a toilet tissue roller. You should now be asking "what is a roll of toilet tissue doing in the car." And I would tell you to get your mind out of the toilet - pun intended. He's been battling the common cold or some weaker strain of bird flu virus or something. Nothing that can't be handled by several doses of DayQuil

Going back to the hack... it is the best possible place for a toilet paper roll in a car. It requires a single hand to pull and tear away the right amount to apply since the emergency brake handle provides the right amount of resistance to the rolling action. But there is a concern. One is bound to associate certain artifacts with certain spaces. It is my hope that the presence of the toilet paper in the car doesn't confuse Ben as to where he really is.

Editor's note: This post was blogged by Beamer as we carpooled home from the office. For the record, Ben drove, Beamer blogged.

Postgres Schemas: Seeing The Light

So last night I finally got around to pondering Postgres schemas (hey, you have your idea of fun reading, I have mine). I've seen them mentioned in the docs before, and they looked important, yet I've always managed to avoid them.

Here's what the docs basically say about them:

A database contains one or more named schemas, which in turn contain tables. Schemas also contain other kinds of named objects, including data types, functions, and operators. The same object name can be used in different schemas without conflict; for example, both schema1 and myschema may contain tables named mytable. Unlike databases, schemas are not rigidly separated: a user may access objects in any of the schemas in the database he is connected to, if he has privileges to do so.

Basically, schemas are a namespace mechanism. It allows you to have two tables named foo without them stomping on each other.

Then it hit me, in other languages a scoping mechanism is absolutely critical. You couldn't reasonably develop Java without a packaging structure? After all, what if I wanted to name an object Url and other code in a large system wanted to use that name too?

So, if namespace mechanisms are so key for other languages, why can I totally ignore the one that comes with Postgres?

I think that boils down to the basic way I've always approach database development (as have others around me): each project deserves its own clean set of tables. You already know that every web app you build is going to need a users table. And probably a groups table. And probably a login_history table. Yet, my natural approach would be to re-design these tables into the schema of each system.

This completely violates the DRY principle, the nearly one sacred rule that most developers can agree on.

Using schemas, the right thing to do in the above case is to have a pre-built set of tables and stored procedures all in auth schema. So, starting a new project should be as easy as:

psql postgres
CREATE DATABASE my_new_project
\c my_new_project
\i shared_schemas/auth.sql
-- lots of noisy messages go by

When the above is complete, you would have access to an auth.users table, and auth.groups table, and functions like auth.authenticate(username).

The bottom line: same re-use game can and should be played with all database objects, including tables, views and functions and schemas are the path to getting there.

This, I got to try.

Laugh of the Day: Lil Bush

Today, Kelly introduced me to Lil Bush, a series of Comedy Central skits about a very young George W. Bush (and Cheney, and Condi and Rummy).

I've only watched a couple, but I have to say, they really are pretty dang hilarious. Some of the humor is a bit out of bounds, but, some of it is so classic. Check out this exchange between GW and Condi about dressing up in disguises like a bunch of girls.

G: Uh Con, what about the disguise?
C: I don't need to dress up
G: Uh, They need to think we are girls
C: I am a girl [adjusts hair]
G: Condie! Are you with Us or with the Enemy?
C: Who's the Enemy?
G: Alright, Condie's out!
C: Huhhh [puts wig on]

Here's the full clip and links to others. Enjoy!

Tuesday, June 19, 2007

Scheme Example: adding a debugging keyword

The topic came up on SISC users of how to add a debug keyword to the language. That is, a keyword, that when hit, will stop execution and allow you to inspect various variables.

The solution was then provided. I've tweaked that solution ever so slightly and ended up with:

 (define-syntax break
  (syntax-rules ()
    ((_ default-value (var ...))
     (begin
       (display (format "Debugging. Available lexical bindings: ~a\n" '(var ...)))
       (let ((child-env (make-child-environment (interaction-environment))))
         (putprop 'var child-env var) ...
         (let ((result (with-environment child-env (lambda () (repl)))))
           (display "Debugging ended.\n")
           (if (void? result) default-value result)))))

    ((_ var ...)
     (break => #f (var ...)))))

This new syntax is used like so:


(define (foo x)
  (let ((y (sqrt x)))
    (break x y) ; pause to look at x and y
    (/ x y)))

(define (bar x)
  (let ((y (sqrt x)))
    ; inspect x and y, return back y if you leave
    ; the repl by saying (exit). Otherwise, return
    ; value sent to exit - i.e. - (exit 100), returns 100.
    (/ x (break y (x y))))

I think this is so incredibly cool. In 13 lines of code I've added a debugging construct to the language that wasn't there before. How much Java would I had to write to support this? Even if I had wrestled with JPDA, how cleanly integrated would the resulting infrastructure be?

I suppose there are two ways to look at this: (1) What the?! Scheme doesn't even offer a debugger for the language. Or (2), Wow! You can really enhance Scheme easily. I suppose I'm focused on (2).

Thanks to Dominique Boucher who also highlighted this construct.

Newest Hiptop Accessory

Tissues always at the ready. Suggested by Karun. Implemented by cutting belt loop holes in the box with my trusty knife.

--Ben

Dealing with new docx format - converting it to text

If memory serves - a few years back, you couldn't send a person an MS Word attachment without getting a message back saying they couldn't open it. There were simply too many version of Word, and the formats were just slightly incompatible. In a lot of respects, this allowed for the PDF format to really take off - it was one of the few reliable ways of sending a rich document to someone and knowing they could open it.

Then, over time, things settled down. In recent memory, I can't think of a time when I had to wrestle with Word's format. Heck, even Google documents allows me to reliably save / open Word documents.

But, I think those days of easy interchange are numbered (though, they'll come back again when things settle down). I wrote up a document in the latest version of Word, Word 2007, (which I'm mostly impressed with, though it's no LaTeX) and sent it off as an attachment. I quickly got back the dreaded Sorry, can't open this attachment message.

D'oh. The latest version of MS Word wants to save things as .docx instead of .doc. And of course, older versions of Word are clueless about this format.

The easy thing to do would have been to re-save the document as .doc and resend it. But, I wasn't at my computer at the time. So, I poked around via Google, and found docx-converter.com. The site did a fine job of extracting my short document as text, so I could resend it.

I'm sure there are better options than docx-converter, as it just extracts text. But, in a pinch, it worked. I also tried the compatability pack for my older version of MS Word, but that didn't seem to take. The .docx file opened as a bunch of gibberish.

Just when you thought we were done with these format games...here we go again.

Other sites which look promising for document conversion are:

Monday, June 18, 2007

4 Tissue Box Day

Ugh. By the volume of tissues I went through today I think it's safe to
say I have a cold. Argh.

And, because I'm so stubborn, and can't keep myself from coming to work,
I've probably spread it around the entire office.

The only good news is that according to My Mom's Sickness Litmus Test, I
have a viral, not bacterial infection. My Mom's test is based on the
fact that my mucus is clear, not green. Mom's know everything. (It
doesn't hurt that she has a Master's in micro-biology either.)

--Ben

Sunday, June 17, 2007

How DNS Works - Yummy

Here I am explaining the details of how DNS works to Shira:

- The large can represents the root DNS servers

- The small cans are the domain specific DNS servers

- The pudding cups are web servers

- The peanut butter is a user's web browser

- The kangaroo salt shaker is a packet

This goes beyond the whiteboard to 3D.

--Ben

The Making of a Father's Day Message

This year, my parents' shul created a Father's Day book to honor the dads that belong there. My mom brought this to our attention and my brothers and I decided, what the heck, he was worthy of an ad (a full page one, no less!)

Here's how we arrived at what we did...

I kicked off the creative process with this Halmarkesque entry (which, I was pretty proud of my self for, thank you very much):

Dad -

Remember that feeling you got on the lake when
   you caught the big one.
And someone was there to verify it.
And they even had a camera.
And it had film in it.

Well, that's the kind of feeling we have when we think about how
lucky we are that you're our dad.

Love,
<insert big list of names>

Josh and Dave thought the message was too ... well, too something. Whatever it was, it wasn't clear.

Josh suggested we be more straightforward about this whole thing. David jumped on that idea and made some really helpful suggestions. I like his ideas to include the fact that our dad taught us some key lessons like:

  • How to make and use spitballs for maximum effectiveness
  • To appreciate good whiskey and scotch, not to mention beer and a nice thick steak
  • That we can and should do what we love, and kick butt at it

Dave also summed it up well: "for the good advice, the bad habits... and for showing us the importance of loving what we do and who we are"

At one point, when we couldn't decide on the details of the message, I offered up the pithy version:

Dad -

You done good.

Love,
<insert big list of names>

That went over like a lead balloon.

I even proposed this schmaltzy one:

Dad -

We are all thankful that you didn't leave us on the 
side of the road during those 13 hour car trips when 
we sat in the back and made too much noise.

We are thankful that you took us camping, fishing, 
coached our soccer teams and taught us to love and embrace life.

We are thankful that you set an example we could all aspire to.

Mostly we are thankful that you're ours.

In the end, it took a bunch more wordsmithing, and most importantly input from our wives to come up with our final version. Which was:

Dad -

Here are some of your greatest accomplishments:

Spending thirteen hours in the car listening to us play G.I. Joe,
Coaching soccer even when you knew we weren't going to win,
Raising three Eagle Scouts and spending long hours on 
   the trail with us,
Teaching us what good choices are all about and helping us 
   with our difficult ones.
 
Thanks for being the best father, father-in-law, and grandpa we 
could ever wish for.
 
Happy Birthday!!!!  Happy Fathers Day!!!!

Love,
David,
Ben & Shira,
Josh, Iris, Madelyn and Ethan

All this is really to say, Dad - Happy Father's day - you rock! Whether you realize it or not you are a terrific Dad.

Idea: Audit Driven Design

Between some comments my CFO made and just some general thinking I've been doing about large systems, I think I've come up with an approach I may want to try on my next project. For now, I'm calling it Audit Driven Design (ADD) and here's the elevator pitch for it:

In ADD every feature you add to the system is accompanied by at least one facility to audit it. These audits usually take the form of a report or an alert. The audit functionality ensures that as the system grows you have more visibility into it, rather than less.

(Obligatory warning: there may be nothing new here, and I may have just come up with an approach that others are either practicing with success or have proven to be a failure)

Here's an example: suppose you're developing a new blogging platform. You decide you want to add in comment functionality. Along with designing and implementing the ability to leave comments, you also design and implement a way to audit this new functionality. You might, for example create the following facilities:

  • A report that shows the last 100 comments left on any blog, with the ability to jump to the blog to see more context. This would show you not only that the feature is being used, but how it's being used.
  • A graph that would show you the number of blogs with 0 comments, 1 comments, etc. This would give you a birds eye view as to how users are liking comments.
  • An alert which would be triggered if a week went by and less than 4 or more than 10 comments were left. This would warn you if the functionality broke, or was getting abused.

ADD is somewhat related to Test Driven Development. They are both examples where you write additional code that needs to be maintained and refactored, but has the side effect of improving the system. However, ADD goes beyond answering the simple question of does this feature work? to allow you to tackle business and strategic questions too.

Perhaps the biggest benefit of ADD is the mindset it puts you in - when you are creating a feature, it's not done until you can adequately measure it. Period.

Random Product Thoughts

As seen on recent stroll through Bed Bath and Beyond...

At least one entrepreneur saw the silly TSA guidelines regardling liquids and saw it as a business opportunity. Sweet.

How sad - even the cheapo shower radios are trying to look like iPods now. I wonder if it even occurs to these guys to try to innovate or if at that price point they can't be bothered.

Ben's 3 Step, Super-Easy Process For Becoming A Blogger

Here we go...

  • Pick up your cell phone and snap a picture. It can be of anything. C'mon, do this now.
  • Using your cell phone, send the photo to the e-mail address go@blogger.com. You can send the photo as MMS or e-mail (heck, try them both). Tapping out go@blogger.com will be the hardest part of this process. Note: sending the text message may cost you a small fee - the rest of this process is totally free.
  • Wait. In anywhere from a few seconds to a few minutes you'll get a message back from Blogger saying your blog is setup.
  • Optional step: follow the instructions in the message Blogger just sent you to redeem your blog, which will allow you to control the URL it is at and the color scheme.

Congratulations, you're officially a blogger! Heck, you're a moblogger at that. You now have access to essentially the same tools as CNN and the New York times for spreading your ideas. The only real difference between you and the big guys is content - so far you have a single photo on your blog. But, that's easy to fix.

Now, where do you go from here? Easy - start off by snapping more photos with your phone. If you have a thought, or hear a quote that's interesting, send that in a message to go@blogger.com. Blogger is glad to have you send it multiple photos or just plain text.

Eventually, you're going to have an idea, thought, message or experience that requires more space than your mobile phone keyboard will allow for. That's easy, just visit Blogger and log in. You can then writeup your blog entry just like you type out an e-mail - including photos.

Follow the instructions above, and then let me know your URL. I'd be glad to link to it. (Which in the blogging world is a Good Thing - it's how other people will find your blog.)

If you want to know the whole story about blogging, there's a great book available on the topic.

Welcome to the world of blogging - if nothing else, you have one more item you can add to your resume.

Friday, June 15, 2007

Company Vital Sign

John Jantsch of Duct Tape Marketing has fairly controversial claim - he says he can measure the health of your business with a single number:

I can tell you that the relative health and success of most businesses can be gauged by this simple factor - how many clients refer friends, neighbors and colleagues.

This may be hard for some to hear, but if you are not receiving lots of referrals, there may be something that needs fixing.

If you have any issues around asking for and expecting referrals, something may need fixing.

To me, this is like the classic rule:

You really only know a topic well enough when you can teach it to someone else.

Thta is, John's picking the highest form of success, and then asking if you can hit it. If you can, you've hit all the other key points along the way.

While I'm not particularly a fan of over simplification, I think in this case, John is dead on. Having a goal of 100% referrals seems like it would motivate you to ask the right questions - not just how can I sell more, or or how can I better support a customer, but how can I make that customer so enthralled they can't help but tell their friends, family and neighbors about me.

Emacs for Windows and image-dired

If you're an emacs on Windows person like me, you should definitely check out the latest version of emacs available on the primary GNU site.

While there are plenty of new features one that immediately caught my eye was image-dired. This allows for a, surprise, dired view of your images. Check it out:

Not only does this demonstrate that the latest pre-built Windows version does well on Windows handling images, but I think it'll be a generally useful feature. No more having browse image directories with explorer.exe.

There's about 1000 changes to check out in this new release (like RSS support and an GTD tool, among others) - so I'm basically like a kid in a candy store at the moment.

80's Country

The lyrics are definitely country:

You really had me going, stringing me along
You really had me going, baby
And now I'm gone.
You put one over on me said I'm the only one
You really had me going, baby
And now I'm gone

Now checkout the video - wow, the hair, the outfits, the whole thing - it's totally 80's.

I don't know why I'm surprised by this, country music stars obviously dressed like everyone else of the era. But, still, wow.

The artist here is Holly Dunn, and I heard the song on the Class Country station on XM Radio (channel 10).

Thursday, June 14, 2007

Caption Me

Not sure if this is Caption Me worthy, but what the heck.

What can y'all come up with?

--Ben

Emacs Propaganda

Those who know me, know that my preferred code editing, e-mail client and general purpose tool has been, and still is emacs. Yes, emacs was created in 1975, and so it's an ancient concept. But, did you know that it's still actively being developed?

In fact, the latest release was just a few weeks ago, on June 2nd.

I just found a fairly graphical tour you can take of emacs here. Consider it the first bit of propaganda on the topic of emacs.

Go, read it, and perhaps your eyes will be open to the One True Path to editing.

Me, I'm off to go poke around the list of the latest features added.

Wednesday, June 13, 2007

Restaurant Review: Mei's Asian Bistro

Shira just discovered Mei's Asian Bistro (3434 Washington Blvd, Arlington VA 22201 - 703-516-7666) in the Arlington Gazette - and what a find it was!

They offer a variety of Asian dishes with some really impressive sounding veggie offerings. Dishes like Kung Pao Chicken (made from soy protein), Moo Shi Pork (made from gluten) and Duck with Mushroom (made from tofu) and plenty more are available.

So, the menu got us to order from them. But, the real question is - how good was the food? It's one thing to put a bunch of impressive sounding dishes on the menu, it's entirely different to deliver on them.

Turns out, our Kung Pao Shrimp (made with yam) and General Tso's Chicken were both fantastic. I'm so sold. The texture and taste of both were spot on.

The service was impressive too - we called in our order and they said it would be ready in 10 minutes (yes, 10 minutes). Compare that to the hour+ we waited for two pizzas to be delivered from Pizza Hut the other day, and you can appreciate how impressed we were.

Add to this the fact that the portion sizes are large (can you say lunch leftovers?) and I think we found a winner. I give Mei's Asian Bistro a 9.2/10. If you eat veggie, you should absolutely give them a try.

--Ben

Tuesday, June 12, 2007

Movie Review: Matchstick Men

**Warning - This post contains spoilers**

Matchstick men was the kind of movie that as I was watching it, I thought I wasn't going to like it. Shira and I had the main twist of the plot figured out about 4 minutes after it started.

I mean, c'mon, Mom won't talk to you, but she's cool with having you meet her daughter in a park all by her lonesome? And then everyone's cool with her showing up at your door and Mom not caring? The whole premise was so obvious that it was painful to watch at times.

And yet, when it's all said done, I enjoyed the movie. It turned out to essentially be a PMA story - a kind of Who Moved My Cheese where the mice get conned out of their cheese, instead of having it moved.

The message is really quite powerful - what if all the stuff you are so desperately holding onto is what is bringing you down? He lost everything (well, as he put it, gave it away), yet it was what allowed him to truly live.

I give the film an 8.5/10 for delivering such a positive message in a neat little package.

--Ben

Rimuhosting - nailing the signup process

I've always been impressed with Rimuhosting's service and offerings. Besides having a highly geek friendly product, their service in the past has been really above-and-beyond. No matter the question I pose, I've gotten back a quick, courteous and helpful response.

So it should be of no surprise that they also nail the sign-up process well. Here's the time line of what happened tonight:

10pm ishI sign-up for the cheapest possible plan they offer
12:14amI get a stock e-mail saying my server is configured and all the interesting details.
12:28amAlicia mails me - I didn't provide any details about what the server is for. She'd love to know so she can make sure it's properly configured for me.
12:42amAlicia mails me - she saw the feedback form I submitted that mentioned I might run tomcat and subversion on the server. She gave me useful links into their support documents about both of these packages.
1:30amI see the notes about the tomcat server, but didn't see the link to the subversion docs. I quickly dash off a note asking her about those details. Whoops, should have read her e-mail more carefully.
1:36amDavid mails me - kindly giving me more info on subversion and even including a smiley or two in his message.
1:37amI'm so impressed I need to post a blog entry on the topic.

This is remarkable - I've gotten more useful correspondence from these guys between the hours of midnight and 2:00am than some companies will do during our entire relationship.

I could hazard a guess as to how their doing this - they need to have engineers covering the servers 24x7 and so they also respond to questions like mine. But, think about it, how many network engineers do you know work that work the 1:00am shift are also great customer server reps? Maybe they all do.

Rimuhosting is doing something very right here. They have a culture of exceeding customer expectations and it shows. It's simply not an accident that I'm so pleased with them.

Good night Alicia and Dave - you guys have a good one.