It's a good thing I have a PPO

So let’s see, first my Irish were involved in a 19 point 4th quarter comeback. Then, the Bears come back from 20 down in the final 15:05 last night to win by one ( after the Cardinals miss a field goal ).

Now, the Cubs newest manager wants to bring the black plague of baseball ( A-Rod ) to my beloved ( and crappy ) Cubs.

I’m not sure what else my heart can take, but you can be sure I’m monitoring for any Bulls news…..

Griffin On Rails, Day 2: RSS & XML

I have never really used Ruby before, nor have I used Ruby on Rails. I am writing a new web application prototype, and decided to use Ruby on Rails for that. These are my stories

Du-Dun…..

So after getting Ruby on Rails installed, I moved towards getting a RSS toolkit installed on my MacBook Pro so that I can create / consume Podcasts. Starting with the Ruby RSS library from Chad Fowler, I had some dependencies to install, starting with expat:

1. Download expat (2.0.0) from http://sourceforge.net/projects/expat.

2. Unzip and untar the archive.

3. Configure:

./configure --prefix=/usr/local

4. Then:

make; sudo make install

Next we move onto xmlparser:

1. Download xmlparser ( 0.6.8 ) from http://www.yoshidam.net/Ruby.html#xmlparser

2. Unzip and untar the archive.

3. Configure:

ruby extconf.rb --with-expat-dir=/usr/local

4. Then:

make; sudo make site-install

Once you have xmlparser installed, you’re ready to install the Ruby RSS library.

1. Download Ruby RSS ( 0.9.1 ) from http://raa.ruby-lang.org/project/ruby-rss/

2. Unzip and untar the archive.

3. Install the unpacked .rb files to your ruby installation directory, which in my case is /usr/local:

cp *rb /usr/local/lib/ruby/site_ruby/<ruby version>

And that’s it. You should be able to run the create.rb ruby script in the rss-ruby-0.9.1/samples directory:

ruby create.rb

So now I have RSS parsing support, i’ll begin to work on creating the other pieces of my prototype.

Hot vs. Cold

I’m a cold person. Always have been, and always will. I have the air on in the winter. During the summer, I have the air cranked down so that it’s almost 55 indoors. I also live in the midwest ( Chicago ), a pretty cold place. There’s no such thing as fall some years. It just goes from summer to winter. Sometimes in the same day.

Why just the other day, we had snow flurries in the morning, and 70 degree heat in the afternoon. That’s just how Chi-Town rolls.

Back to the cold. People always ask me “why?” and my answer has always been the same:

You can always put more layers on when you’re cold. When you’re hot, you’re screwed.

Paul Davidson from Words For My Enjoyment nails it perfectly in this post.

Finally, the “Hot vs. Cold” debate is over.

Cold wins.

Griffin on Rails

I’m starting to do some Ruby on Rails development on my MacBook. I found an amazingly accurate page to get everything up and running from scratch here. Apparently, the ruby that ships with 10.4 is broken ( something about readline not being included) so your best bet is to follow the directions and install & compile everything from scratch.

The one thing about the above instructions is the choice of web server. While I agree that it would be nice to use something other than Webrick, the lighttpd server detailed was too much for my simple prototyping. However, my old colleague Jay Fields from ThoughtWorks mentioned Mongrel as an interesting compromise.

Sure enough, following the simple installation instructions found on the homepage resulted in a fully functioning web server running RoR. Couldn’t have been easier. Mongrel picks up whatever rails application you’re in when you start it, and just works.

From Jay: “lighttpd > Mongrel > Webrick

Couldn’t agree more.

DSL ACM Talk – Post Mortem

So my ACM talk came and went on Wednesday. From what I was told, the talk went pretty well. When I present, I usually end up in a zone, a la Will Ferrell in Old School, so it’s usually better to get my reviews from the audience. From what I could gather, everyone was engaged in my talk. Actually, except for one gentleman who constantly eye-rolled and sighed, the audeince was very receptive, and challenging. Everyone had some wonderful questions, and even my friend Yuxin didn’t let me off the hook with an easy one.

I wanted to thank Marc Temkin and Greg Neumarke, as chairs of the Chicago Chapter, for having me speak.

One idea that people seemed to latch on to was my distinction between Horizontal DSL’s and Vertical DSL’s. I talk more about what came out of that in another post. If anyone’s interested in my slides, let me know, but be forewarned, I use slides for context setting and pacing, not for knowledge transfer. Therefore, they may be a little incomplete and/or incoherent.

Related Posts:

1. DSL’s = The Long Tail of Programming Languages? ( Part 1 )

2. DSL’s = The Long Tail of Programming Languages? ( Part 2 )

3. ACM Talk Tomorrow

Semantic Web & SOA

Rocky Lhotka recently wrote about Semantics in relation to implementing SOA. Fundamentally, the problems with SOA are very similar to the ones trying to be solved with the Semantic Web. Namely, it’s easy for two services to agree on a syntax, but very difficult for them to agree on semantics.

I suppose, in the end, SOA and The Semantic Web are really two sides to the same coin. After all, what is SOA but large scale integration among many internal and external parties? The only difference is that while The Semantic Web remains concerned with integration data, SOA involves actual services and operations in addition to data.

Perhaps Ontologies will provide a Rosetta Stone of sorts for SOA integration?

Related Posts:

1. What is the Semantic Web and why should I care? – Part 1: Semantics

Startup Success 2006 Thoughts

I just got done watching a video of Startup Success 2006. It’s a fascinating panel of startups, both new ( Jajah ) and old ( LinkedIn ) and everywhere in between, moderated by none other than Guy Kawasaki. I can’t recommend watching the video enough. What was surprising was how much of what the founders said in the panel echoed what is described in “The Big Moo” (or maybe not so surprising since Guy was an author included in “The Big Moo“). Here are the eight things that I pulled away from the panel, along with, where applicable, a reference to where it was found in “The Big Moo“:

1. “We want our service to be expense-able, not approvable” – This hit me like a bolt of lightening. It makes perfect sense for reducing the acquisition cost of bringing customers on. I have been part of many, many companies where this wasn’t the case, and you end up in “budget approval hell”.

2. “Entrepreneurs & founders of a startup need to be eternally optimistic” – Seems like a no brainer, but if you’re not optimistic to the point of being delusional, how are you going to convince other people your product is worth something?

3. “Web 2.0 is made up of 3 A’s: AJAX, AdWords, and Arrogance” – Ha.

4. “There are plenty of opportunities to solve problems for the masses, without the need for the latest and greatest technologies” – I have written about this many, many, many (#12) times, but it’s still true. Technology doesn’t matter as much as providing a stable, easy to use solution to a common problem.

5. “If you’re not embarressed by version 1.0 of your product, you’ve released too late.” – This is the key to succeeding, IMHO. Something doesn’t have to be full featured, and perfect (#8) for it to be useful. As long as it’s stable, get it out the door and in people’s hands and start generating feedback. Sure you may take lumps, but in the end it’s worth it. This is especially tough for engineers to understand because they’re used to being the smartest guys in most rooms. So you need to swallow some pride.

6. “Value speed and feedback over secrecy” – Contrary to popular belief, a) it takes more than just an idea (#13) to succeed. In fact, if you’re the only person doing something, you’re not solving a common problem and b) people will not run off a steal your idea. Open up and get feedback. Pitch your idea to everyone , and have them shoot it down. If you’re not being berated at some point, by someone, you’re playing it too safe.

7. “Shut up and listen” – Your product is what customers think it is (#14).

8. “Be a trendspotter, not a trendsetter” – You don’t always have to be in the in the “innovators” segment of people. You can easily succeed by being in the “early adopters” segment. Plus, you’ll have an easier time finding ideas that actually have legs.

Watch the video and absorb.

Hard Candy Movie

Monday night was movie night for my girlfriend and I. Nothing was playing at the theater by her, and a movie store wasn’t close, so we decided to just buy a DVD from Borders. Since we got a movie for $20, we felt we got away cheaper than actually going to the movies ( 2 x $9.50 + candy > $20 ).

The movie we picked was one that her and I both wanted to see. It’s called Hard Candy. For this unfamiliar, this is a indie movie about a pedophile, and his relationship with a 14 year old girl that he met on the internet. The movie starts quickly and unsurprisingly, with the them chatting, meeting for coffee and quickly going back to his place.

However, then it turns into a direction that you probably weren’t expecting and you begin to question who the real predator is. I won’t spoil it for you, but it’s a great movie, and several twists and turns and the performances of both leads are amazing.

However, it’s not for those with weak stomachs. The movie touches on several “hot button” subjects: pedophiles, murder, etc… which may make some people uncomfortable. Also, there is a point in the movie that was more than a little unnerving for myself. I almost felt nauseous after watching it and this is coming from someone who owns both Salo and Irreversible, and found Hostel enjoyable, so just a little warning.

Overall, it’s a HIGHLY recommended movie.