Biml - Because I'm a Cheater

I’ll admit it, I’m a cheater. Now, before you click away in disgust, give me a minute to explain. Almost 15 years ago, when I felt stuck in my career as “The Made2Manage Guy,” I’d routinely run out of things to do. I mean, once you’ve learned all the pitfalls and gained a mastery of the program and job, what more was there to do? I can almost hear you saying, “Umm… you could learn something else and grow.” Well I hear ya, and nowadays I can’t imagine wasting idle time like that. However, this was a long time ago, and like so many people in the early days of the internet, I found entertainment on the interwebs.

Don’t Hate the Player

word whomp
I found which was and is a free online games site that caters to the soccer moms everywhere. I was pretty good at one game in particular, Word Whomp, which is a fun vocabulary based game. It’s kind of a cross between Whac a Mole and Scrabble. For each new round, a string of “random” letters is presented along with clusters of blank tiles representing all of the English words one can make from those letters.

Anyway, as I said, I was pretty good at it, but there were people on the leader boards who were inhumanly good at it. Well, I’m a naturally competitive person and was rapidly becoming frustrated and with the repetitiveness of the game and my inability to compete with the leaders. So, what did I do? I cheated. Before I describe how, let’s just have a disclaimer here. While I was cheating, there was no payoff for it other than personal satisfaction. I consider it “harmless cheating.”

Cheaters Never Win?

I fired up Visual Basic, I forget which version now, and created a program which was able to screen scrape Word Whomp for that random letter set. It then scanned through its own local Access Database (Lame… I know) for applicable words which could be made. Each viable word was then submitted. At the end of every round, Word Whomp helpfully lists all the words you missed, and my program scraped those too then added them to the database. Since my database started “empty” it took a bit to gain momentum. However, the longest words are only six characters, so as time went on, my program got more and more efficient at its task and rarely missed a word. Needless to say, it wasn’t long before my program was near the top of the leader boards. However, as time went on, it also became obvious that I wasn’t the only cheater either as I never did end up in first place.

What does this have to do with Biml?

A couple of things occurred to me as I finished the cheating program. I had a lot more fun writing the program to cheat at Word Whomp than actually playing the game itself. I get bored when performing repetitive tasks, even if they’re supposed to be fun. This is one reason why I write so much code that writes other code. I’ve never understood why some folks are content to re-write the same basic code repeatedly.

As I’ve mentioned on the blog and in my recent videos, I adopted Biml Script for a recent project and saved enormous amounts of development time as a result. Granted, there is a learning curve to gain an understanding of Biml Script and deciding how you will leverage it. However, as soon as I passed that stage, my productivity just took off. Although I am used to working myself out of a job, even I wasn’t prepared for just how quickly I finished my last project. Working on my Biml Script framework, is a lot like the Word Whom cheating program. It’s fun and liberating to design new frameworks and methodologies to solve age old problems.

Incidentally, shortly after I finished my program, I grew bored again watching it play Word Whomp. This was about the time that I decided to work my way out of that boring job and started reaching out to members of the PASS Community like Brent Ozar (Blog/Twitter). Since then I’ve put my energy, ingenuity, and drive into becoming a world class Data Warehouse Architect and am now “cheating” with Biml. I urge you to do the same.

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>