<%@ Page MasterPageFile="~/Blankenthoughts.master" Title="Blankenthoughts: August 2008" %>

Thursday, August 28, 2008


Carl and Richard were in attendance (and speaking) at DevLink 2008, and busted out their microphone on Saturday night at the hotel bar.

I was fortunate enough to be one of the folks that got interviewed.

The conversation includes Alan Stevens, Joe Stagner, Brian Prince, Jim Holmes, Jim Wooley, and several others.

Here's a link to the episode:

http://www.dotnetrocks.com/default.aspx?ShowNum=372

Labels: , ,

posted by Jeff Blankenburg, 8:35 AM | link | 1 comments |

Monday, August 11, 2008

UPDATED: Due to some awesome technical difficulties, I will yet again not be streaming this broadcast live. However, I am recording it, and will be making available as soon as possible. My apologies for the inconvenience.

You may have seen my post about WCF with Silverlight a few months ago, but on Tuesday night, John Stockton (no, not the point guard) will be presenting his take on this at the Cleveland .NET Special Interest Group.

The meeting takes place at the Microsoft offices in Independence, OH on the second Tuesday of every month, which happens to be tomorrow. The meetings start at 5:45, and usually end around 7:30 PM.

After the meeting, there's a group of us that head over to the Winking Lizard on Rockside Road for a late snack and some beverages. I have some of the best conversations with these people, both technical and not-so-much. Make an effort to carve some time out of your busy schedule tomorrow night to participate in both events.

If you can't make it due to deadlines/family/car trouble/agoraphobia/atomic weight, I am also going to be streaming the presentation LIVE over the Internet. All you need to do is open a browser, and go to my page at ustream.tv. You can also watch it on my blog, in this post. I've embedded a player for your convenience. You don't need to register, just show up and get your learn on.

Labels: , ,

posted by Jeff Blankenburg, 6:48 PM | link | 1 comments |
Recently while trying to complete my goal of reading the entire Interwebs, I stumbled upon something I thought the rest of you might be intrigued by: The Levenshtein Distance.

According to Wikipedia, it is "a metric for measuring the amount of difference between two sequences. The Levenshtien distance between two strings is given by the minimum number of operations needed to transform one string into the other."

An operation, in this case, is an insertion, deletion, or substitution of a single character.

It's named after Vladimir Iosifovich Levenshtein, the Russian scientist who developed it in 1965.

Jeff, why should I care?

The reason you should be interested in this is because this is how spell-checkers generally recommend words for you. Have you ever wondered how they figure out what you meant?

So how's it work?

Let's look at example to see how this measurement works. Let's figure out the distance from the word "developer" to the word "development."

1) developer --> developen (substituted the 'r' for the 'n')
2) developen --> developmen (inserted the 'm')
3) developmen --> development (inserted the 't')

So, the Levenshtein distance for those two words is: 3

Are there any other special rules?

Why yes, there are. Here's a couple of things to keep in mind about this measurement:

1) It can't be less than the difference between the length of the two strings.
2) It can't be greater than the longer of the two strings.
3) It can only be zero if the strings are identical.

So what does this look like in code?

I've put together a quick little C# console application to demonstrate this logic. You can download it here. Just change out the two strings I used above for anything.

So there you go!

Now you have a simple way to find words that are close matches to a user-entered string. Just zip through your term dictionary, picking out the words with the smallest distances. You'll probably find their match. Certainly there are many applications for this other than spell checking. Think about recommending customer names as a user tries to search for one. Or account numbers.

Let me know how YOU would use this!

kick it on DotNetKicks.com

Labels: ,

posted by Jeff Blankenburg, 3:51 PM | link | 5 comments |

Sunday, August 10, 2008


I had an opportunity to spend my weekend in Knoxville, TN at a great event that is sure to be an annual happening. Codestock 2008. The event was put on by Michael Neel, Alan Stevens, and Wally McClure. A giant thanks to those guys for putting this together.

I have posted my photos from the weekend on Flickr. There's over 100 of them, ranging from my time in sessions to the parties, the after parties, and even the after-after party. You can find them here. In addition, if you have pictures you'd like to share with the group, add them. This is a public group on Flickr, and it is meant for all to use.

Labels: , , ,

posted by Jeff Blankenburg, 9:33 PM | link | 0 comments |

Saturday, August 09, 2008

I am going to make my best effort to stream every session I attend today from Codestock, in Knoxville, TN. You can watch it here on my blog.

I'm working on getting the video to stream better, but the audio seems to be working well.

Labels:

posted by Jeff Blankenburg, 8:39 AM | link | 0 comments |

Friday, August 08, 2008


NBC will start their broadcast of the 2008 Summer Olympics today. They have partnered with Microsoft to use Silverlight as their video delivery medium. You will be able to watch the events live from Beijing, with multiple events (or multiple angles of the same event) in your browser.

You can even participate in some social networking as well. It will show you what the most popular video feeds are. I'm looking forward to trying it out...

You can watch all of it at http://www.nbcolympics.com, starting today!

Labels: , ,

posted by Jeff Blankenburg, 10:31 AM | link | 2 comments |

I have been contacted by many folks that are new to Twitter because they want to know why I didn't follow them back. It's not personal, I promise. I've created a list of recommendations for people new to Twitter to help ensure that they'll get followed as well. Here goes:



1) Use your REAL name.
In your profile, you have the option to give your real name. Do it. People want to know who you are before they are going to follow you. And besides, how are your friends going to find you if you don't? If you can, make your alias name your name. Mine is jblankenburg.

2) Fill out ALL of the profile information.
Sometimes even using your real name doesn't ring a bell for some people. So make sure that your profile information is up to date. Let us know what you do, what you're interested in, where your blog is, etc. You can't follow everyone that follows you, that's just too much noise. So give us a reason to be interested in what you are going to be posting.

3) Start posting before you start following.
There are plenty of people trying to wreak havoc on Twitter. I get a request from "pornstargirl243" and "hotHaley99" (or some permutation) once a day. Their posts are irrelevant gibberish, and they usually just link you to some phishing site anyways. Get a solid set of 10 or more posts, so we know you're a human.

4) You can post links, but don't ONLY post links.
Some people only see Twitter as a place to promote things they've done elsewhere. Posts like "I just blogged about [something]. Click to read." are welcome when you're also participating in the conversation. If your list of posts looks like this one (@TheOBR), you're missing the mark.

5) Don't just answer the question "What are you doing?"
What are you doing is the conversation starter. Someone tweets about eating at a great restaurant, or rebuilding their computer. That's the little snowball at the top of the mountain. Once it gets rolling is where the true value of Twitter is found.

6) Please don't protect your updates.
Protected updates are like buying an HDTV without subscribing to HD channels. (thanks to @mmhaskar for the analogy) What could you possibly be posting that the world at large shouldn't be reading? Keep your content to subjects you're not going to regret in a court of law, and you should be fine. Protecting your updates is annoying, and will almost always result in a "no follow" decision.

7) Be active.
If you haven't posted in over a month, it's unlikely there's much value in following you. Keep up with it.

8) Find a Twitter client that fits you.
There's just under 500,000 Twitter client applications that have been written, and each one fits a different flavor of person. It will make your participation in the Twitter community much easier (and help you avoid constantly pressing F5 to see what has been said lately). I recommend Twhirl or Alert Thingy.

9) Your thoughts are far more interesting than your actions.
It's great to know that you're heading to the breakroom to get some coffee, but it's far more interesting to know about your obsession with coffee, or the type you're drinking. And please...we don't need to know that you're headed to the restroom. Ever.

10) Think before you post.
Those 140 characters are powerful. You have power at your fingertips. You can make someone's day. You can also wreck it. And just like email and IM, your words can be misunderstood. So take a breath before you post your message and think about it's impact. Yeah, there's a delete button, but that doesn't mean people didn't read it first. This is the Internet after all...don't put anything out there you wouldn't want EVERYONE to find.

kick it on DotNetKicks.com

Labels: , , ,

posted by Jeff Blankenburg, 8:53 AM | link | 9 comments |
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
November 2006
December 2006
January 2007
February 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
April 2008
May 2008
June 2008
July 2008
August 2008
September 2008
Credit or Debit?
Reformatting my blog...
TUTORIAL: Using Javascript To Call A WCF Web Servi...
DevLink '08 in pictures...
.NET Rocks at DevLink!
Consuming Web Services In Silverlight
Obscure Knowledge: The Levenshtein Distance
Codestock 2008 - Photos In Review
Streaming Live From Codestock!
NBC Olympics - In Silverlight 2!