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.

Brooks & Dunn and Alan Jackson Concert - Audio Clips

Here are some audio clips I snagged at the Brooks & Dunn and Alan Jackson concert. The quality of them couldn't be worse. I mean it's hideous. But, they serve the same purpose grainy snapshots do - they evoke memory. In another year from now I'll be able to listen to these clips and be transported back to a different time and place.

At least that's the theory, anyway. It does have a bit of proof though.

Here's an inline sample:

Here are some more clips:

My Power Up! mp3 player (typically $9.99 at Tiger Direct) saves the day again. There must be some sort of hack I can use to increase sound quality. Next concert, I'll have to poke around for a solution ahead of time.

Monday, June 11, 2007

Brooks & Dunn and Alan Jackson Concert Pictures

Turns out, getting out of the parking lot was a lot less painful than I thought it was going to be. It took us about 15 minutes to get on the road, and it was smooth sailing from there on out.

Well, I'd say the concert was a big success. I got to see country music legends, and make it home in one piece. Click on the picture below to see a handful of photos from the concert.

Brooks & Dunn and Alan Jackson

See also: Concert First Impressions

Sunday, June 10, 2007

The Exit Process Begins

It's 11:15pm - the concert finished a few minutes ago and we are now
battling traffic to get out of the lot.

Alan Jackson was fantastic. He put on a simpler, but more interactive
show than Brooks & Dunn. But given his music, that wasn't a surprise.

Both AJ and B & D fumbled a lyric or two - which I suppose gives the
show a realastic flavor.

Excuse me while I coach Shira through this maze of pickup trucks, guys
in camo and girls in too-short-jean-shorts.

--Ben

Intermission

Brooks & Dunn just finished up. They rocked, as expected. It's kind of strange that we just finished the concert of a major band, and in a few more minutes, another country great is coming on stage.

Seriously, I've never seen so many cowboy hats in one venue.

Concert First Impression

Shira and I just parked at the Nissan Pavillian to see our first live
country music show - Alan Jackson and Brooks & Dunn. Here are a few
first impressions:

. We are never getting out of this parking lot. Seriously, I think I
need to take tomorrow off.

. There appear to be 10's of thousands of people here, and exactly two
Jews. Us.

. I'm surprised they even let us pull in the parking lot with our
Acura. You tend to blend a lot easier if you drive a truck.

. The porta-potty lines are already 30 people deep and 10 potties wide -
sanitation seems optional.

. A Linux t-shirt wasn't the best option. Should have purchased a bit
of camo.

OK time to go explore....wish us luck!

--Ben

Rock The Vote

No, not that vote, the vote for the new Scheme standard.

I've been quite impressed with the process the Scheme community is going through to derive a new standard. It seems like a slow, but steady approach to reaching a sane and improved next version of the language.

Here are some aspects of the process that I like...

  • They publish their drafts publicly. Their's obviously a balance between letting a core group of community members work on coming up with the next standard, and keep the community informed.
  • They are publishing reference implementations of their work. That way, you don't just get to read about a new feature, but you can also play with it. How cool is that?
  • They are responding to formal comments. Formal comments are a neat idea - basically, anyone can submit a comment on the work published by the committee. The comment needs to follow a fairly specific format. Now, here's the cool part - the committee must respond to every comment posted. This means that the committee has at least considered every topic raised by the community. Everyone who wants to be heard, can be.
  • Anyone can vote on the new standard, after you have registered. The tricky part of the registration process is that you need to write a 150 word essay expressing your statement of interest in Scheme. Again, everyone who takes a few minutes to get involved in the process can have a say in its outcome.

Even if you don't have an interest in the next generation of the Scheme standard, the process still seems like something worth glancing over. It seems to be a fair way to allow a wide group of people to steer a topic that you desperately don't want designed by a wide group of people.

For the heck of it, here's my statement of interest. I felt like I was writing a college application essay. Hope I get in.

((email-address "Wouldn't you like to know")
 (full-name "Ben Simon")
 (geographic-location "Arlington, VA, USA")

 (public-email-address "contact.ben.simon@gmail.com")
 (web-page-url "http://benjisimon.blogspot.com/")

 (statement-of-interest
"My interest in Scheme is quite practical: I have found
it to be a language that I can write efficient,
maintainable and beautiful programs in.  And I have done
so, in a production and commercial environment. Most
recently, I developed Tenspotting
(http://tenspotting.com), a Web 2.0 application written
in Scheme using the SISC implementation and the SISCweb
library.  I am absolutely sure that I had linguistic
advantages by using Scheme rather than Java, PHP or
other available options.

Previously, I have used Scheme as a scripting language
for front end of a Java web application.  By using
Scheme myself and my team were able to quickly add
functionality to the application that would have
otherwise required significant Java development.  By
making use of Scheme we were also able to leverage a
network based REPL, which allowed us to interactively
update the application on the fly.

Along with on-the-job uses of Scheme, I have also
benefited immensely from the lessons I have learned
while studying Scheme related material. Topics such as
what makes a well defined abstraction, OO, threading,
distributed systems, lexical vs. dynamic scoping, are
all general purpose topics that were made much clearer
through studying them in a concrete Scheme environment.

I look forward to using Scheme in additional projects,
and I am quite appreciative to have even the smallest
impact on its growth and improvement."))

Friday, June 08, 2007

And back to jail we go...

OK, I haven't been following this story in any meaningful way. But I have to tell you, when I saw on my Google home page that they sent her back to jail it did restore just a itty bitty ounce of respect in our justice system. Just a bit. Apparently, the rich can buy a few hours worth of freedom, but not quite 45 days worth.

As the article says:

Another of her attorneys, Steve Levine, said, "The sheriff has determined that because of her medical situation, this (jail) is a dangerous place for her."

Holy crap - jail isn't safe for her?! This is as opposed to the rest of the inmates there, where jail is basically a cross between a picnic and a spa package.

I've got to hand it to Steve Levine, and his buddies, the fact that they talked her out of jail, even if only for a few hours, is pretty dang impressive. I'm so going to bring him along to negotiate my next purchase of a car.

Lunch Food Review: Chickenless Mix Vegetable

Just tried Chickenless Mix Vegetable by China Mehadrin for the first
time. It's one of these Kosher Pareve meals that you zap for 5 minutes.

My first impression: calling it "Mix Vegetable" is being a bit kind
here. It's vegetable content was actually shredded carrots, 1 green
bean and 2 brown things. Hardly a mix.

As for taste about all I can say is that it was edible.

I give it a 3.5/10 - at least it was Kosher, not particularly bad for
you and easy to make (see, I'm always looking on the bright side). I
just wish it tasted better.

--Ben

Costco Customer Service - So close, yet so far away

While shopping for some critical items at Costco I finally noticed their customer service policy. Surprisingly, it was summarized as these three bullet points (and mentioned on the web too):

  • Membership: We will refund your membership fee in full at any time if you are dissatisfied.
  • Merchandise: We guarantee your satisfaction on every product we sell, with a full refund.
  • Merchandise Exceptions: Televisions, projectors, computers, cameras, camcorders, iPOD/MP3 players and cellular phones must be returned within 90 days of purchase for a refund.

I actually had to re-read these a few times to really appreciate what they were saying. The fact is, this is a most impressive customer service policy. The exceptions seem totally reasonable, and the rest of the policy is incredibly broad. You're telling me that I can buy a 30lb bag of rice, or $30.00 worth Salmon steaks, and I can trivially return them if I'm not satisfied?

The membership policy too couldn't be any stronger too. Way to go guys.

I had two takes-aways from this observation:

First, someone at Costco corporate really gets it. This policy is on par with customer service greats like REI and Trader Joe's. They have obviously done the math and realized that a happy customer is way more valuable than the cost of any products in their store. That's great.

Second, it's not nearly enough. While their policy is great, there's clearly a gap between that and my actual experience and perception of Costco. Even the cold and industrial way the policy is displayed makes it look more like a negative warning than a positive statement. I actually follow a terrific blog, Exerienceology, which is more or less devoted to understanding how gaps like this develop in companies. She even covered a whole series of articles on Costco itself.

The folks at Costco get big time points for having a great policy. Now they just need to close that experience gap, and they'd really be kicking butt.

Update: Paul had a terrific comment worth mentioning here:

Actually, the warehouse feel is part of the branding. It actually creates a feel of bargain hunting mirroring swap meet or flea market type settings. Also because of the no frills displays it lowers overhead on decorations and maintenance on all those extra signs and standees, etc. passing the savings on to the customer.

Excellent point. What's most surprising to me, then, is how their store is so bare bones, yet their return policy isn't. The return policy is all about going above and beyond, yet the store itself doesn't have that feeling to me. I guess the key question is, would it be a good thing for Costco members to have this sense? Perhaps the warehouse feeling is more valuable than the touchy-feely-Trader-Joe's feeling.

Thursday, June 07, 2007

Kitchen Accessory Survey

Infrared triggered garbage can:

Is it...

An excellent example of putting modern technology to use, finally addressing the critical issue of how to open the trash can when your hands are full.

Or is it...

A prime example of how we have become so lazy in our society that we would rather spend time and money on a trash can that no doubt slowly lifts its own lid rather than use a bit of effort and lift it ourselves.

Discuss...

--Ben

Browser Font Hack

Kostyantyn pointed me to the sIFR project and boy am I impressed. It's nothing short of remarkable - it's easily in the top 10 hack I've ever seen.

The goal of the project is to seamlessly integrate any custom font into your web page without having to resort to the usual image or flash tricks. I don't have an easy way to test this out, but from their sample page it looks like it works - and works really well.

The basic idea behind the hack is to load your font of choice into the Flash plugin and then throw away the Flash movie itself. Apparently this act has the side effect of giving the browser access to the new font (this is actually my guess - I haven't dug into the guts of the project yet). Once you have this font, you can use CSS and JavaScript to apply it to your text, and viola, you have a beautifully laid out page with a minimum of effort.

They've done an excellent job of having you specify only a small amount of actual code in your page to make this work, even though there's lots going on behind the scenes.

I'll have to update my dynamic text to image hack to use their library. As it stands, my solution seems down right crude.

Morale Improvement Idea From An Unlikely Source

I'm a big fan of The Onion. Though usually, I expect humor from them and not sound business advice. But, today I was surprised to receive both.

Chris Tandy passed me this surprisingly thought provoking article on using Nerf Guns as a morale booster at work. It's not just the idea of the Nerf Guns that caught my attention but how well the article takes you through why they are so effective.

Here's a snippet:

You might think boosting morale is an easy task–a kind word here, a pat on the back there. But if that were the case, anyone could be a manager. No, a good manager is constantly finding new ways to keep his or her folks happy. And sometimes, that means thinking outside the proverbial box.

The Nerf guns were hardly the first initiative I'd enacted to improve morale and stimulate creativity. But it was the most successful. Take the foosball table I brought in last September. I thought it might bring a little competitive spirit to the office, but Greg and Andrew were such ace players, they completely hogged the table. Not a great way to encourage teamwork.

Then there was my idea for a bi-weekly mid-afternoon ice-cream break. Everybody likes ice cream, I figured, and it might provide a nice, relaxed forum for people to exchange ideas on their current projects without calling a formal meeting. But because we were so busy eating ice cream–and I could still kick myself for this–a bunch of customer calls went unanswered. Well, the head office got wind of that, and you can bet I got a first-class butt-kicking. To make matters worse, it turned out that a lot of my workers were lactose-intolerant. How was I to know?

One of the great things about the guns is that my team can have their Nerf battles and get a little crazy without getting too carried away. After a few Nerf-gun volleys, the tension is broken and the monotony of staring at humming computer screens for hours on end is broken. Then my troops can go back to work refreshed. And it sure beats a cup of stale afternoon coffee and a dried-out bagel!

Maybe I'm reading too much into this article and it was just supposed to be fun. But I really think that the author is on to something here. And of course, just like the author couldn't simply get away with using the same tricks that worked at other places (like the foosball table), I shouldn't assume that Nerf is the answer in our office. But, it's a great reminder to keep on trying new things.

So, which model do I need to outfit the team with? And what do I put under description on the requisition form?

Wednesday, June 06, 2007

Country Music: Did he just say what I think he said?

I just have to chuckle every time I hear this song. Of course, I can't personally relate to it - but I can still appreciate how clever it is.

Song: It's Hard To Kiss The Lips At Night That Chew Your Ass Out All Day Long. Artist: Notorious Cherry Bombs.

Tuesday, June 05, 2007

Is it getting hot in here?

A bit of afternoon excitement as our fire alarm went off in our
building.

Turned out to be nothing, but for a moment there I had my doubts...

--Ben

Monday, June 04, 2007

Lauren and Nick's Wedding

I took a whole bunch of pictures last night at Lauren and Nick's wedding - but none of them really capture how beautiful the ceremony was, how cute they looked, how good the food was or how much fun we had dancing.

But, that doesn't mean I can't at least try :-). So here's a photo or two.

We had so much fun with them and wish them much mazel and naches! You guys sure know how to make a party...

Beta Test: Latest Palmtop

A few weeks ago I arrived at work and was shocked to find that my pocket notepad wasn't in my pocket. D'oh. I headed to the supply room to see what I could come up with. We don't have any notepads that are pocket sized, but we did have a huge stack of Rolodex cards.

So, I grabbed a stack of those and clipped them together - and that became my notepad for the day. I'll count that as my alpha test.

A few days ago I finished up a notepad, and rather than switching to a new one, I decided to beta test the clipped card approach.

I should definitely mention that I'm not the first person to come up with using cards as an organizer. It's just new to me.

So far, I kind of like it. It has these advantages:

  • I can change the order of the pages trivially. So my todos can always be handily accessible on the first page, and I can have a scratch area ready to go on the last.
  • The heavier paper means that I can write on both sides of the page.
  • No lines on the cards means that I can use them for drawing a bit easier.
  • The ability to un-clip and lay out the cards (as the photo shows) opens up all sorts of new possibilities. I can spatially organize my thoughts now, which may be a huge win.
  • If I buy a Rolodex, I should be easily able to store the cards long term

The disadvantages so far seem to be:

  • Getting to the next page requires more effort than a simple turning of the page.
  • No lines means writing text is a bit trickier
  • I miss the blog like feel of a notepad for archival purposes. With the cards, I'm likely to toss out the cards I don't need. With a notepad it's all recorded chronologically, so I can always go back and find notes I thought weren't important.
  • Related to the last point: when I'm done with a notepad I have a record of part of my life which seems handy. I don't usually look back on the notepads, but I like being able to.

I think the cards are more like a wiki concept, the notepad a blog. Which is better? Neither, of course.

Anyway, I think I'll give this a try for a time longer and see how I like it.

Anyone have any suggestions for getting rid of any of the disadvantages?

--Ben

American Airlines - Safety Is Vaguely Important

Here are a few facts that I took away from the American Airlines saftey video I watched a few minutes ago (yes, I'm blogging mid air...):

1. The airplane's slides *may* be the type that can detach and be used as rafts (or, they may not).

2. The airplane *may* have a large life raft in the ceiling of the plane (or, it may not).

3. There *may* be a life jacket under my seat (which, I should never inflate while inside the aircraft, as tempting as that may be).

I figure we'll just land in water then sort all of the above out. Why take the time to customize the video too much.

Oh, and did I mention that American Airlines gives you absolutely no free snacks on the plane? Not even a lousy bag of pretzels. Could this be any more underwhelming an experience? Greyhound has more perks than this.

--Ben

Sunday, June 03, 2007

First Job as Husband And Wife

Here they are ladies and gentlemen - for the first time on the web - Mr. and Mrs. Nick Carrasco!

And here they are doing their first act as husband and wife - taking lots and lots of photos. Don't they look like the perfect bride and groom?

--Ben

The Real Miami

We just found the beach...wow, now that's more like it. I doubt my
sidekick photos really capture how perfect the scene is.

The beach scene is right out of an ad for paradise...

--Ben

Welcome To Miami

Here's the view from our hotel window. Gosh it's hot here. But, I
suppose that's to expected.

--Ben

Heading to the Wedding

A snapshot or two as we head to Florida for Lauren and Nick's wedding.

We are psyched.

Note all the usuals apply: the gate was the farthest possible from the
security check point, we got behind folks in the security line who
apparently hadn't flown since the late seventies (What? My keys need to
go through the x-ray machine? Hmm, did not know that) and the lady at
the American check-in counter had all the warmth and personality of
cool-damp washcloth.

But, with all that said - the flight is looking on time and we are
heading to a terrific destination. So I'm happy.

--Ben

Too much information?

And you think my life is an open book? Check out Hasan Elahi's. According to a recent Wired article, Elahi was accidentally added to a Terrorist Watch list. He managed to get off, but it spooked him enough into action.

His plan? Document hours and hours of his life, so he'll always have the perfect alibi. And that's what he's done (and does!).

Elahi is also an artist, so, I suppose this also falls into the category of art-stunt as well.

Either way, I like it. There's nothing like fighting back with massive information overload.

Coding Quote

Skill is simplifying one hundred lines of code into twenty.
Mastery is understanding the twenty without hesitation.
--eclection

Well put. Lots more quotes here.

Friday, June 01, 2007

New and Improved Office Setup

Now with 200% *more* photos of the wife!

If that's not productivity enhancing, I don't know what is.

--Ben

Editor's Note:

If anyone is wondering why the sudden influx of years-old photos of the wife (the one on the bottom is from before we were married), it is because after more than a year and a half, Ben finally got his one box of belongings from his desk at his former job. Ben was not there when the doors closed, as we were home in Rochester at the time, and I think that now that he got the box, he was determined to make stuff go away, which meant either: throw it out, or put it on the wall. I guess I'm happy I made it in the second category. Just wanted to set the record straight that I don't just feed photos to Ben to put on the wall!

PHP Description - Nailed It

I just read a similar description of PHP by Tim Bray in the Linux Journal, and I really think he nails it:

So here’s my problem, based on my limited experience with PHP (deploying a couple of free apps to do this and that, and debugging a site for a non-technical friend here and there): all the PHP code I’ve seen in that experience has been messy, unmaintainable crap. Spaghetti SQL wrapped in spaghetti PHP wrapped in spaghetti HTML, replicated in slightly-varying form in dozens of places. Everyone agrees on PHP’s upsides: it’s written for the web, it’s easy to deploy and get running, and it’s pretty fast. Those are important advantages. And I’m sure that it’s possible to write clean, comprehensible, maintainable, PHP; only apparently it’s real easy not to.

This too has been my experience. The key words in the above description are not not easy. I think I've written clean web apps in PHP, but it takes quite a bit of anal retentive discipline to do so. And even then you often need to compromise.

As Kurt Normak has noted, just having to wrap two different languages together (much less three) is a recipe for disaster. That's one of the key reasons I like SISweb so much - there's no HTML and Code to wrap up together, there's only Scheme. Heck, you can even take JavaScript out of the equation as well.

If a PHP app is a big 'ol spaghetti fest, then a web app in SISCweb is a nice steak dinner (or a really good veggie burger, if you prefer).

Update: So, I've done a bit more thinking about this today and I'd like to update (clarify?) what I said above. I don't think SISCweb (or any Scheme or Lisp, for that matter) makes writing clean applications particularly easy. I think what you have is the following language to effort/code quality:

LanguageNot TryingTrying Hard
PHPCruddy CodePretty Good Code
JavaNot That Bad CodeVery Good Code
SchemeCruddy CodeGorgeously Pristine Code

(Where scale goes from Cruddy Code == Wrapped Spaghetti Mess to Gorgeously Pristine Code == Not Really Code, but an Elegant Specification.)

That's why I write Scheme - because with effort you get something that is simply outstanding.

Lawn Mower Saga - A Happy Ending

Tonight Shira picked up our fixed lawn mower from Appliance Fix-It. Things went swimmingly - they even topped off the gas tank because she mentioned I was mowing the lawn tonight.

These guys are the real deal. Nuff said.

--Ben