Sunday, January 15, 2012

CodeMash Logo

I failed to make any New Year’s resolutions this year. I guess I’d decided that things were going “OK” and I really didn’t need to make any changes. However, after spending the last several days at CodeMash engaging with old friends and making new ones, I feel seriously challenged to step up my game. Below is my list of resolutions for the coming year.

  • Get Back to Blogging
    Some of you may have noticed that I haven’t blogged in awhile. In fact, I missed 2011 entirely. Embarrassed smile
    At CodeMash, I met several very cool people for the first time who said that they knew me from my blog. It simply amazed (and flattered) me that, with no new content, this little programming blog was still making an impact. It’s time to dust things off around here.
  • Start a New F# Pet Project
    I have neglected my love of F# for a long time, but conversations at CodeMash convinced me that I need to rekindle my romance.
  • Return to Twitter
    My activity has really slowed to a crawl over the past few years, and I intend to correct that. I’m tired of feeling out of the loop.
  • Be at CodeMash Next Year
    How did I allow myself to miss CodeMash for the last two years? I resolve to never let that to happen again.
posted on Sunday, January 15, 2012 4:25:23 PM (Pacific Standard Time, UTC-08:00)  #    Comments [6]

kick it on
 Wednesday, May 05, 2010

The last several weeks have been pretty hectic for me. First, Visual Studio 2010 and .NET Framework 4 shipped. Of course, only those living in caves and under rocks missed that bit of news. However, that event forced me to leave my own cave and make a few public appearances.

  • April 12-15 - DevConnections, Las Vegas

    One thing that I love about the Bellagio is how they go out of their way to make me comfortable by naming their convention center rooms after the Teenage Mutant Ninja Turtles. Let’s see, there’s Michelangelo… Raphael… Donatello… Huh? What do you mean the rooms were named after Renaissance painters?

  • April 26 - .NET Rocks Road Trip, Houston

    Hanging out with Carl and Richard is always a blast. In the past, I’ve been left with stories that I can’t really share in mixed company. This time they turned on the microphones and pressed “record.”

  • June 7-10 – Tech Ed 2010, New Orleans

    I’ll be there. Who else is coming?
posted on Wednesday, May 05, 2010 7:00:52 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

kick it on
 Thursday, June 25, 2009

The other day, I caught a quick snapshot of Bethany playing with her favorite new toy:


A special thanks to my friend Joseph Hill for providing her favorite monkey!

posted on Thursday, June 25, 2009 8:07:05 PM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

kick it on
 Tuesday, January 20, 2009

A few months ago, I was honored to record an episode of Deep Fried Bytes my good friend (and partner-in-crime) Chris Smith. We blabbed on about F#, functional programming, pink vodka. The usual stuff.

Check it out!

Episode 24: Chatting about F# with Chris Smith and Dustin Campbell

posted on Tuesday, January 20, 2009 12:01:22 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Friday, August 01, 2008


After two full months with no new posts, I’m finally coming up for air. The past two months have been some of the busiest of my life. Below are a few of the things I’ve been doing.

  • Relocating to the Seattle area. At the ALT.NET Open Spaces, Seattle, John Lam warned me not to underestimate the stress of relocation. I did my best to heed his warning, but the challenges of moving a family 2,000 miles away from friends and familiarity are many. The initial months cramped in a small, temporary apartment were brutal. However, I’m happy to report that I’m writing this from our new home, surrounded by boxes yet to be unpacked. Now, if only our house back in Toledo, Ohio would sell…
  • Starting a new job at Microsoft. Getting used to the rapid pace at Microsoft takes a lot of effort. In fact, new hires generally aren’t expected to be really productive until after the first six months. Though I have to admit, I really like it. It’s exciting to be working shoulder to shoulder with so many people who are passionate about creating the best developer tools that they can.
  • Attending Tech Ed Developers 2008. After living in Seattle for just two weeks, I spent a week in Orlando at Tech Ed Developers 2008. Thankfully, I only presented one session, “Hardcore Reflection.”
  • Participating in the ICFP 2008 Programming Contest. I joined Luke Hoban, Brian McNamara and Chris Smith for a full weekend of F# coding for this year’s ICFP Programming Contest. Brian has the full details here.
  • Taking on more responsibility at work. I joined Microsoft as a Program Manager on the IDE in the Visual Studio Managed Languages group (which includes C#, Visual Basic, IronRuby, IronPython and F#). I work with two other program managers, Karen Liu and DJ Park, to drive the development experience of the IDE. At first, my primary area of responsibility was the debugger. However, due to some shuffling around, I have taken the role of the program manager for the Visual Basic IDE. Being passionate about programming languages and developer tools, I am enormously excited about this new responsibility.

Since I am the new Visual Basic IDE program manager, some of you might be wondering what’s going to happen to this blog. The answer is, very little. You might see a bit more Visual Basic code, but it’s always been here. The truth is, I’m a fairly multi-lingual guy. Before joining Microsoft, I was a C# MVP. Now I’m working on the Visual Basic IDE, and every morning I install the latest F# dogfooding bits. Rest assured, I still intend to post articles on C# and F#, as well as Visual Basic.

It’s all done in .NET after all.

posted on Friday, August 01, 2008 7:41:15 AM (Pacific Standard Time, UTC-08:00)  #    Comments [4]

kick it on
 Wednesday, April 09, 2008


The rumors are all true. May 19, 2008 will be my first official day as an employee of Microsoft. Specifically, I will be joining the Visual Studio Team as a Program Manager.

This month marks five years since I joined the (then) fledgling CodeRush team at DevExpress as an outside contractor. (I later became a full employee in September of 2003.) The years seem to have passed quickly, yet we've accomplished an incredible amount with CodeRush and Refactor. It feels like just yesterday when Mark and I were doing our first proof of concept work for painting via managed code on the decidedly unmanaged Visual Studio editor. Yet today, we're shipping products with blazingly fast productivity boosts, more than 150 refactorings, and stunning next-generation UI. After five years, I still feel that CodeRush and Refactor are, hands down, the best Visual Studio productivity tools available.

I'm leaving quite a bit behind to join Microsoft. DevExpress is an amazing company to work for. If any readers are looking to work for a cutting-edge company at the top of its game, I recommend applying. At DevExpress, I've developed some strong friendships that are difficult to leave. Obviously, we'll keep in touch and see each other at conferences, but we won't be working together anymore. Ray, Julian, Kevin, Oliver, Courtney and Mehul will be greatly missed.

I'll especially miss working with the IDE Tools team (a few members of which are pictured below). Contrary to popular belief, Mark and I don't make up the entire IDE Tools team. In reality, it is staffed by some extraordinarily intelligent programmers—all of whom have been blessed with the ability to deal with Mark and myself.

IDE Team (partial)

One couldn't find a more talented group of people.

But scarecrow, I'll miss you most of all1.


Regardless of the garlic (viewable in the picture above) that you constantly hang over yourself to ward off vampires, the last five years have been the most enriching of my programming career. To say that "I've learned a lot" is a gross understatement. You truly are a visionary and an inspiring person to work for (with). From you, I've learned that presumed impossibility should never be a barrier to invention.

As much as I love DevExpress, it's time for a change. The company is in a really healthy place, and my leaving should cause minimal ripples. I think that I have a lot to offer in the IDE space at Microsoft, and it's a good time to move on.

In addition to leaving my current job, I will be moving to Seattle. For the next several months, my family and I will be going through the stresses of relocation. Is anyone interested in purchasing a charming two story, brick, four bedroom home in Toledo, Ohio?

1Hillary Flammond, Top Secret!

posted on Wednesday, April 09, 2008 8:19:47 AM (Pacific Standard Time, UTC-08:00)  #    Comments [16]

kick it on
 Friday, April 04, 2008

Isn't She Hot? 

I have a terrible, secret shame: my writing skills are lousy.

For me, perhaps the most difficult aspect of blogging is the writing process. Sometimes I feel inspired, but more often, I struggle. No matter how profound my level of inspiration is, bugs always seem to work themselves into my writing. Missing words, grammar slip-ups, poor phrasing—you name it. I feel as if I've been cursed.

My frustration is probably due to my dislike of writing in school. Back then, it simply didn't interest me. I was too busy learning to code against the Zilog Z80, and playing Trade Wars on my local BBS. I suppose it didn't help that, for many years, the vast majority of my reading consisted of either technical books or comic books.

When I began blogging in August of 2006, my writing was... unpolished. I composed my posts with the same grace that elephants construct model airplanes. Sadly, I couldn't recognize my own weakness.

For awhile, my blog stayed pretty low on the radar. I wrote a few technical articles, but in February of 2007, I really hit my (first) stride writing articles about functional programming concepts using C# 2.0. I rolled into March, picking up steam until my writing and I reached an impasse.

On March 23, 2007, I posted an article that earned me a few negative emails. None of the emails criticized my content (which is still pretty cool). Instead, they (gently) pointed out typos, poorly-constructed sentences, and unclear tidbits.

Feeling frustrated and inept, I asked my trophy wife—who graduated with a minor in English Education—to take a look at my article. Graciously, she corrected my grammar, and I promptly re-posted it. So, everything was OK now, right? Wrong. The wind in my blogging sails had died down. My dear trophy wife continued to help me with blog posts, but my desire to blog had waned. Eventually, my output shrank to just a trickle.

Finally, on August 1, 2007, I was bit by the blogging bug for a second time. But this time was different. This time, I was playing it smart. I "employed" my trophy wife as a full-time editor. Since then, she has poured over every blog post with me.

My trophy wife is an especially good editor. In addition to navigating through my grammatical mine fields, she works hard to actually understand the concepts that I'm trying communicate. The process results in better-written articles that are more easily understood.

Since I got my second wind, blogging has been a joy. It's much more fun to have someone to bounce ideas off of ([ed.] Never end a sentence with a preposition, silly). But most importantly, it's provided a way to bring my trophy wife into my world.

posted on Friday, April 04, 2008 11:55:18 AM (Pacific Standard Time, UTC-08:00)  #    Comments [6]

kick it on
 Tuesday, April 01, 2008

Today is April Fool's Day—the day when many of us celebrate just how gullible we really are. Celebrants enjoy the day by spoofing co-workers and engaging in fun hoaxes and practical jokes.

Over the years, I've personally been the target of many an April Fool's prank. Considering today's date, I'm not sure what to make of the following email that I received this morning. Am I the target of yet another joke?

Congratulations! We are pleased to present you with the 2008 Microsoft® MVP Award! The MVP Award is our way to say thank you for promoting the spirit of community and improving people’s lives and the industry’s success every day. We appreciate your extraordinary efforts in Visual C# technical communities during the past year.

I suppose it's possible that Microsoft has a thoroughly sick sense of humor, and this is just an elaborate hoax. On the other hand, it could be that Microsoft has absolutely no sense of humor and doesn't realize that today isn't the most optimal day to be sending out congratulatory emails.

I feel that I have to give this email two responses:

  1. If this is real, I am completely humbled to be a recipient of the MVP Award this year. Blogging, speaking and educating are activities that I find very rewarding, and it's flattering to be recognized for them.
  2. If this is just an elaborate joke, I'm thoroughly disgusted and saddened by the juvenile attempt at humor. People have feelings, ya' know!

How hard is it to send these emails on March 31st or April 2nd? :-) That would clear up a lot of confusion.

P.S. I know it's real. Thanks Microsoft! I am truly honored. No joke.

posted on Tuesday, April 01, 2008 7:44:09 AM (Pacific Standard Time, UTC-08:00)  #    Comments [10]

kick it on
 Thursday, March 27, 2008

Recently, I googled my first name. The search yielded some startling results. Not only was I surprised to find my modest blog on the front page, but... well... see for yourselves.


Sadly, soon after came the inevitable smack down.


It's on. Now that I've had a taste of power, I'm willing to go to great lengths to quench my thirst. Look out Hoffman! I don't care if you are my namesake...

You're next Screech. No bell will save you this time.

posted on Thursday, March 27, 2008 4:15:52 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Thursday, March 20, 2008


posted on Thursday, March 20, 2008 12:00:23 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on

A few days ago, my friend Michael Letterle (the artist formerly known as Michael.NET) twat the following tweet:


The story Michael referred to is Landon Dyer's "Donkey Kong and Me" blog post, which chronicles his conversion of the Donkey Kong arcade game to the 8-bit Atari 400/800 systems. (Screenshots and a review of the port can be found here.) A fascinating yarn, Dyer's post evokes a feeling of nostalgia for the swashbuckling coder days of more than two decades ago. His recent post about the development of the Atari ST is equally enjoyable.

I've often shared Michael's sentiment. Sometimes, I feel like I was born a bit too late. At the advanced age of 0x20, I am fascinated by stories of the Herculean coding efforts of those who came before me—the original early adopters. (Although, there's a strong argument that the present day is just as, if not more, exciting.) Perhaps the most interesting aspect of tech history is how our forefathers were forced to invent creative solutions for just about everything. For me personally, that's what makes "Donkey Kong and Me" so much fun. The same appeal can be found in the early-Macintosh hardware-tweaking stories at Andy Hertzfeld's

To fuel my interest in computer tech history, I've recently begun re-reading its bible: Programmers At Work.


Published in 1986, this book features interviews with an amazing array of programmers, including figures like Gary Kildall, Charles Simonyi, Jaron Lanier and even Bill Gates. It's out-of-print but can still be purchased used. (I "borrowed" my water-damaged copy from my father's bookshelf). Thankfully, Susan Lammers, the author, has recently started a "Programmers At Work" blog where she's posting the original interviews. So, if you can't find the book, these classic interviews should all be available soon.

What interesting tech history articles or books have you read recently?

posted on Thursday, March 20, 2008 9:39:47 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Monday, February 25, 2008
I had resisted advertisements on this blog for a long, long while. It's not that I have anything in particular against ads. I think it's reasonable for a blogger to add advertising to offset the cost (mostly time) of maintaining a solid blog. I just hate it when nice, clean-looking blogs start to look like this:

Nascar Ads

I suppose that I share a lot of the same sentiments on the subject as Jeff Atwood over at Coding Horror.

About a month ago, I added Google AdSense (at the suggestion of my good friend Keith Elder). I've tried to keep the ads relatively low key in order to keep the clutter down. That doesn't result in as many clicks as it might if I threw them in your faces, but I'm OK with that. I like to keep my layout clean for those who do come in via the web (and not just the feed).

The truth is, I don't trust Google AdSense all that much. Context-sensitive ads are great, but they aren't always accurate. For example, I've mentioned the word "Haskell" several times in reference to the pure functional programming language, Haskell. However, the very use of this relatively uncommon word has triggered Google Ads for the Haskell Indian Nations University. Sigh. It's really hard to get behind advertised products when you're not 100% certain that they'll be relevant to your content.

Recently though, I found a product that I can whole-heartedly recommend. It's a product that falls directly into my demographic of humor-loving, technology-lusting geeks: RiffTrax.

What's RiffTrax you ask? Well, do you remember the TV show Mystery Science Theater 30001? That's right. The one with the guy and the robots and the making fun of old B-movies. Well, RiffTrax is that without robots and with blockbusters instead of B-movies. It still has the guy though. In fact, it's the same guy from MST3K.

In essence, RiffTrax are feature-length commentaries in MP3 format that you can purchase, download and sync to your DVDs. Some RiffTrax feature stars and writers from MST3K, and some even have celebrities joining in on the fun. For example, my current favorite is a riff on Jurassic Park that features none other than Weird Al Yankovic.

Pants-wettingly hilarious. Seriously.

Below is a small sampling of the films that have received the RiffTrax treatment. There are lots of others. Some have Jar Jar Binks. Some have Keanu Reeves. All will make you howl with laughter.

Honestly, I don't think of this as advertising. This is a public service announcement. You need this. I promise.

1Some may have missed out on the delights of Mystery Science Theater 3000 (MST3K). You can catch up here.

posted on Monday, February 25, 2008 6:44:36 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Thursday, February 21, 2008

Computer books

I don't know about you, but around my house, computer books have a habit of multiplying like rabbits. Sometimes it seems as if you can't put up your feet without resting them on a pile of old programming books. There are several reasons why these books proliferate so:

  • I like my shelves to reflect an intelligence that I don't actually possess.
  • I feel the need to own reference books that I never need to reference.
  • I purchase books on the latest and greatest technology before I realize that I'm not actually interested in said technology.
  • When I become interested in a topic, I tend to purchase every book ever written about it—even if a new book duplicates information I already have.
  • I buy classics that I have the best intentions of reading... but never do.
  • I acquire books for a specific project at work, and the project ends.

Because my shelves are bursting at the seams (and the Wife Acceptance Factor for them has become quite low), it's time for an early Spring cleaning. If you're interested in some reasonably-priced programming tomes, previously owned by a lesser-known blogger, feel free to browse my Amazon storefront.

(Quiz: How many of the books in above picture do you own?)

(Clarification: The books pictured above are not for sale. Those are keepers!)

posted on Thursday, February 21, 2008 12:44:48 PM (Pacific Standard Time, UTC-08:00)  #    Comments [17]

kick it on
 Tuesday, January 15, 2008
While at CodeMash, I sat down with my good friend Chris Woodruff for a casual podcast interview discussing life, code, being a Microsoft MVP, DevExpress and the CodeMash conference.

CodeMash 2008 Interview with Dustin Campbell

NOTE: This interview is not technical and gets a little off-topic at the end.

In addition, there are several other CodeMash interviews, including:

posted on Tuesday, January 15, 2008 6:10:19 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Monday, January 14, 2008
While at CodeMash, I had the opportunity to sit down with Scott Hanselman and record an episode for his renowned podcast, Hanselminutes. As a follower of the podcast, I was thoroughly flattered to be included among his guest list. The show turned out well, but the experience was definitely nerve-wracking. Here are some tips in case you ever end up in the hot seat across from Scott:
  1. Learn to hold and speak into a microphone. This is critical. During the recording, I kept drifting from the mic, which required editing in post-production.
  2. Be prepared to be disarmed by the interviewer's eloquence. Scott is a very well-spoken guy with a lot of experience. Don't be surprised when he pulls the perfect metaphor out of thin air.
  3. Be aware of your medium. When recording audio, be careful using words to explain a concept that might be better expressed with a visual diagram. Remember: it's a warning sign if you start "talking with your hands."

Scott and I talked about some of the features that make F# such an exciting language. We tried to keep it short on academia so that it would be appealing to any developer. The idea was to start small with some bite-sized concepts. Check it out!

Starting Small with F# with Dustin Campbell

posted on Monday, January 14, 2008 8:16:29 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Thursday, December 27, 2007

Coffee and Mug

Today, I saw the following tweet on Twitter:

dredding: @jfollas taking coffee away from a developer is like taking away a dominatrix's whip. You just don't do it.

This made me smile—not because of how creepy my friend Dave Redding is (very creepy), but because of how true the sentiment is. At least, it's true for me. Coffee is an addiction that I've fully embraced. It's difficult for me to start a day without that bold flavor. Some developers might choose to get their buzz in another way (and a smaller percentage choose to have none at all), but I've picked coffee as my caffeine-delivery system of choice.

I've really become quite the coffee snob. For me, only the very best coffee will do. I buy my coffee whole bean from Grounds for Thought in Bowling Green, OH. Of all the roasts they produce, Kenya "Gazelle" AA and Papua New Guinea "Mile High" Estate AA+ are definitely my favorites. The Kenya has a nice bite that wakes me up while the New Guinea is smooth all the way down.

But what is it about caffeine that causes many developers crave it so? I mean, aside from the fact that it helps wake us up in the mornings. It certainly doesn't make me a nicer person to be around. In fact, too much makes me downright grouchy. However, the right amount seems to put my brain in a zone that sees problems more clearly. It's almost as if the caffeine gives my think meat the extra zip that it needs to solve problems. Perhaps caffeine unlocks areas of our minds that allow us to be better developers, if only for a moment.

Then again, maybe that's just the coffee talkin'.

posted on Thursday, December 27, 2007 4:48:14 PM (Pacific Standard Time, UTC-08:00)  #    Comments [4]

kick it on
 Monday, December 10, 2007

Happy Birthday!

Bethany Anne Campbell was born on December 9, 2007 at 10:40 a.m. At 5 weeks early, Bethany was definitely a big surprise. However, it was pretty clear that she was ready to join us on the outside. Once we arrived at the hospital, it was only thirty minutes before Bethany was born. I suppose that means that she'll always be one or two steps ahead of us.

posted on Monday, December 10, 2007 3:58:50 AM (Pacific Standard Time, UTC-08:00)  #    Comments [17]

kick it on
 Wednesday, October 24, 2007
Today, I got an email from Keith Elder calling me out for not being on Twitter:
FYI, you are no longer cool :)

Email from Elder

Normally, I would swim through boiling lava to remain among "the cool" (even if only in my own mind), but it didn't come to that. Signing up was mind-numbingly easy. Follow me: dcampbell.

Thanks to The Elder and The Follas for keeping me cool.

posted on Wednesday, October 24, 2007 11:33:43 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Tuesday, October 23, 2007
The biggest danger of working with my boss is, quite frankly, jealousy. Don't misunderstand me. It's not jealousy of his considerable programming chops or his modest good looks. It's his wide range of stalkers that evokes my pangs of envy. Nothing defines fame quite as definitively as the number and variety of one's stalkers.

Over the past years, I've declared a few people to be "my stalker."

First, there was Jason Follas because of his stalker-ish way of chasing me down to speak at the Northwest Ohio .NET User Group. Here are some choice quotes:

"First off, I'm still floored by the fact that a CodeRush/Refactor developer lives this close to me..."

"Even though you probably haven't read the first email yet, I was wondering if you might be available and willing to speak at the user group meeting next Tuesday..."

Jason showed a lot of promise, but his heart really isn't in it. This quote from his very first email to me clarifies his level of commitment as a stalker:

"Anyways, your name doesn't sound familiar to me, so I hope that we haven't met before."

Oh yeah! Can you feel the love?

Then of course, there was Jeff McWherter. Jeff approached me this year at Tech Ed to discuss a talk that I had given a month earlier over a 1,000 miles away. Truthfully, Jeff was just being conversational, but I jumped all over his pleasantries with cries of, "Ha! You're my stalker now buddy!" Lately, I've been questioning how seriously Jeff has been taking his roll as a stalker. Recent encounters have involved him darting around corners while I shout, "HEY! Aren't you going to stalk me!? Why aren't you going through my trash or taking distant, blurry photos of me?"

I guess that I've just been trying too hard.

Until today.

Finally, I have real stalker of my very own: Dan Hounshell. That's right Dan. I read your blog, and I saw your post.

Dan Hounshell

After seeing this photo, I'll be sleeping with one eye open.

A stalker of my very own.

I've finally arrived.

posted on Tuesday, October 23, 2007 11:31:30 AM (Pacific Standard Time, UTC-08:00)  #    Comments [3]

kick it on
 Thursday, October 11, 2007
Last night, I happened upon an episode of the Sci-Fi Channel's "Ghost Hunters" and was struck by the uncanny resemblance between lead investigator Jason Hawes and my good friend Josh Holmes.

Jason HawesJosh Holmes

Clearly, Josh is getting a bit more sun than Jason, but the likeness is striking. At least, as striking as the resemblance between two goatee-wearing, head-shaving men can be. Were they separated at birth? Hmmm...

posted on Thursday, October 11, 2007 7:19:50 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Wednesday, September 19, 2007
Recently, a reader inquired as to how I format the source code samples on my blog. After writing up the set of steps that I normally run through, I decided that I should post them here so that 1) interested readers might benefit, and 2) I won't forget my own process.

First of all, I should point out that there are several tools available to help format source code for the web, and Brig Lamoreaux has a good review of several here. My personal tool of choice is CopySourceAsHtml. It does a great job of getting code out of Visual Studio with accurate syntax highlighting. With a few tweaks to the HTML, it can produce exactly what I need.

Here is the exact process that I go through to create code samples that look equally good on the web and in RSS feeds.

Step 1: Write Your Code

Step 1: Write Your Code

Some important tips:

  • The code should be concise and well formatted. Most readers skim code, so it should be clear enough to get the general idea from a brief overview.
  • Make sure the code compiles! It can be quite embarrassing to be contacted by a reader who, after copying and pasting the code, found that it didn't compile.

Step 2: Copy As HTML

Step 2: Copy As HTML

Select the code sample in Visual Studio, and decrease the indent (Shift+Tab) until the code is aligned at column 1. Next, select "Copy As HTML..." from the editor's context menu. At this point, you'll be presented with the "Copy As HTML" dialog.

The first time that the dialog is displayed, some options need to be set. Fortunately, the dialog remembers your settings so that you don't need to change them next time. On the "General" tab, uncheck everything except for "Embed styles."

Step 2a: Copy As HTML (General tab)

Next, switch to the "File Style" tab to add additional CSS styles to the <div> tag that will surround the HTML-formatted code sample. Here are the styles that I use for my blog:

border: 1px dotted rgb(221, 221, 221);
margin: 4px;
padding: 4px;
font-family: Consolas,'Courier New',Courier,monospace;
font-size: small;
color: rgb(0, 0, 0);
background-color: rgb(255, 255, 255);

Step 2b: Copy As HTML (File Style tab)

Finally, click the OK button to copy the code to the clipboard.

Step 3: Massage the HTML

Once pasted in the HTML source editor of your choice, the code sample will render like this:

Sub Main()
  Dim publicationdate = Date.Today
  Dim isbn = 42
  Dim price = 0.99D
  Dim firstName = "Dustin"
  Dim lastName = "Campbell"
  Dim book = <book publicationdate=<%= publicationdate %> ISBN=<%= isbn %>>
               <title>F#: For The Excessively Nerdy</title>
               <price><%= price %></price>
                 <first-name><%= firstName %></first-name>
                 <last-name><%= lastName %></last-name>
End Sub

Unfortunately, CopySourceAsHtml wraps every line in the code sample with <pre style="margin: 0px;"></pre> tags. These tags override some of the CSS styles that we specified for the <div> tag. Thankfully, this is easily corrected with two replace operations:

  1. Replace all instances of <pre margin="0px"> with blank text.
  2. Replace all instances of </pre> with <br /> to preserve the line breaks.

The syntax coloring is achieved by using <span> tags. Occasionally, a space will appear between two uses of a <span> tag. For example, in the code sample above, "End Sub" is actually represented like this:

<span style="color: blue;">End</span> <span style="color: blue;">Sub</span>

Some RSS readers make the mistake of removing the space in between these <span> tags, causing the words to run together. To fix this potential problem, just replace all instances of "</span> <span" with "</span>&nbsp;<span".

When finished, the code sample should render like this:

Sub Main()
  Dim publicationdate = Date.Today
  Dim isbn = 42
  Dim price = 0.99D
  Dim firstName = "Dustin"
  Dim lastName = "Campbell"
  Dim book = <book publicationdate=<%= publicationdate %> ISBN=<%= isbn %>>
               <title>F#: For The Excessively Nerdy</title>
               <price><%= price %></price>
                 <first-name><%= firstName %></first-name>
                 <last-name><%= lastName %></last-name>
End Sub

Really, it's not that much effort. Once the CopySourceAsHtml options are set to your liking, it is a simple matter to copy, paste and make a few modifications to get the desired result. Most of the work is in writing the code sample.

posted on Wednesday, September 19, 2007 1:39:54 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]

kick it on
 Thursday, September 06, 2007
Last night, I managed to catch the Counting Crows just as their summer tour was wrapping up. It was a fantastic show, full of energy and nostalgia. They played a few bits from their new album (due out in November), and performed several songs from the past. I was pleased that their set list was made up of songs they really seemed to enjoy playing (e.g. "Perfect Blue Buildings") rather than just laboriously running through their hits. For me, it was definitely a musical walk down memory lane. For a couple of hours, I was taken back to the post-grunge era of the mid-nineties when guys like Dave Matthews ruled the college rock world.

posted on Thursday, September 06, 2007 3:29:55 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

kick it on
 Tuesday, August 14, 2007
Warning: GEEK ALERT! The following content may contain language that will fill the reader with an involuntary desire to purchase and read comic books, move into their parents' basement, and wear black T-shirts containing copyright-infringing images or stereotype-perpetrating text, possibly indicating that "Han Shot First." Other side effects may include near-sightedness, uncontrollable acne, and an inability to communicate with the opposite sex. Some readers have also indicated an inexplicable desire to be referred to as "the Dungeon Master." You've been warned...

I recently returned home from Wizard World Chicago. For those of you who are unfamiliar with it, Wizard World is an annual pop culture convention that tours several major cities in the US. The conference entails all manner of geek fetishes such as collectable toys, table-top gaming and anime, but the biggest emphasis is on comic books. Attendance at the conference is usually very high. I'm not certain what the final number of attendees was this year, but last year it was around 58,000. If you compare that with this year's Microsoft Tech Ed attendance of 13,000, you'll quickly realize that Wizard World is truly wall-to-wall geek.

Because there are so many people at Wizard World, my trophy wife and I spent $300 to get two VIP passes. This might seem excessive, but the benefits are pretty sweet:

  • Extra swag. At registration, we received several cool items including 9.8 CGC graded copies of Captain America #25 (the issue where Captain America dies).
  • Early entrance. On Friday and Saturday, VIPs were admitted to the conference floor at 9 a.m., before any other attendees. This allows VIPs to be the first to get conference exclusives and to be at the front of the line to get autographs or sketches from comic creators. Early admittance had another huge benefit that I'll talk about shortly.
  • Exclusive signings. For every scheduled signing by a comic creator there was an additional signing only for VIPs.

Purchasing the VIP passes turned out to be a great investment because they helped us to attend a very important event. On Friday, DC announced that they would be giving out wrist bands early Saturday morning which would provide access to a special panel on Saturday evening presented by DC and Warner Bros. There was a limited number of seats available, and they would be given out on a first-come-first-served basis. As VIPs, this wasn't a problem for us. In fact, our early entrance onto the floor on Saturday ensured that we were among the first to get wrist bands and T-shirts printed with the logo for the next Batman movie, "The Dark Knight." We weren't certain what would happen at this special panel. Currently, "The Dark Knight" is filming in Chicago, so we guessed that there might be a bit of early footage shown. However, when we took our seats later that night with a thousand other geeks, it wasn't clear who might be filling the empty seats at the head table.

Paul Levitz, president of DC, opened the panel with a few words about what was going to happen that evening. After mentioning that there were some surprises for us, he moved quickly to introducing the special guests. Here they are in the order that they were introduced:

  1. David Goyer, screenwriter and comic creator. I'm a big fan of Goyer's work so this was a big "fanboy moment" for me. For the "The Dark Knight," Goyer collaborated with...
  2. Jonah Nolan, screenwriter. Nolan is best-known for his short story "Memento Mori," which is the source material for the excellent film "Memento." After Jonah, Paul introduced...
  3. Gary Oldman, actor. That's right, Gary Frickin' Oldman. At this point, I wet my pants. Next to Oldman sat...
  4. Aaron Eckhart, actor. Eckhart is playing the character of Harvey Dent in the new movie. Next, Batman himself was introduced...
  5. Christian Bale, actor. At this point, my trophy wife wet her pants. Bale got the largest reception of any of the special guests (Oldman was next). He appeared to be quite taken aback by the whole thing. And finally...
  6. Chris Nolan, director. Chris is well-known for such films as "Memento", "The Prestige" and "Batman Begins."

After our initial shock, the panel continued with a Q&A session of which I have no memory. Seriously. It was a completely blur. Fortunately, you can read a transcript here if you're interested.

Next up was the movie footage. They showed us a few minutes of quick scene flashes which were a bit rough since the movie is still filming. There were some exciting shots of Heath Ledger as the Joker getting his butt royally kicked. The footage ended with a big surprise which revealed that Two-Face would make an appearance in the film.

I'm still a bit dazed from the panel (Gary Frickin' Oldman!) but a lot of other great stuff went on at Wizard World. If anyone is interested, I'll post some more stories. However, for the moment, I return you to your regularly scheduled technical blog.

posted on Tuesday, August 14, 2007 6:51:57 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Wednesday, August 01, 2007
I recently got a comment from a reader thanking me for my blog content (which was nice) and then tweaking me because he couldn't find my name until he started reading the comments. Grrr... What's wrong man? Can't you see it there in the fine print of the copyright text at the very bottom of the sidebar?

OK, maybe that's not so obvious, and I suppose that my readership has grown a little beyond my immediate friends and colleagues. For those of you who are interested, here is the obligatory bio page.

On April 10, 1975, I was born Dustin Russell Campbell in Findlay, Ohio and spent my early years on a steady diet of Star Wars and text adventure games. Fortunately, my father always had a deep interest in computers so there was always some sort of machine around the house. In fact, we owned one of the first TRS-80 Model I machines in the city. MY first computer was a Commodore VIC-20 (eventually graduating to a Commodore 64) on which I became interested in programming (in BASIC of course!). We purcharsed our first PC in 1986-87, and I immediately fell in love.

Junior high and high school were turbulant times for me. In 1987, for the same reasons that most boys do (chicks and dough), I took up guitar. To my mother's shame, I gravitated towards hard rock and heavy metal. I was always that kid in the back of the honors classes with long hair and a Metallica T-shirt. You know the one. (I have pictures, but I'm not showing.) However, it wasn't always black T-shirts and loud guitars. I also played the viola from fourth grade all the way into college. So, even throughout a period of heavy teenage angst, I found enjoyment in many other styles of music (e.g. classical, jazz, etc.).

After high school, I had two choices of career to pursue in college: computer science or music. At the time, music was more attractive (chicks and dough, remember?), so I entered Bowling Green State University in the Fall of 1993 as a Guitar Performance major with a jazz emphasis. That's right dear readers, I went to college for jazz guitar and studied with the masterful Chris Buzzelli. It might surprise some of you to learn that, at BGSU, this is one of the hardest music degrees to get. In fact, out of the 16 guitarists that started with me, I was the only one to earn the degree.

Throughout college, I made ends meet by doing various odd jobs (programming, support, whatever...) for my father's fledgling software firm. He eventually converted me from Visual Basic 6 to Borland Delphi, with which I learned proper object-oriented programming skills.

In August of 1998, I finally graduated with my Bachelor's in Guitar Performance and had no idea what I wanted to do. Programming was certainly a draw, but I wasn't particularly interested in joining the Geek Squad just yet. So, I re-enrolled at BGSU as a graduate student in Guitar Performance. To help pay my way, I took a graduate assistantship as the College of Musical Arts' web developer. I stayed in school for one more year and then dropped out because my interests had shifted. I just didn't have the same passion for music that I had for computers and technology. (It turned out that "chicks and dough" was a myth.)

After dropping out, I stayed on as the web developer and continued programming for my father. It wasn't glorious, but it was fun and I earned a reasonable living.

Eventually, I started using CodeRush for Delphi and developed a friendship with its creator, Mark Miller. In the Spring of 2003, Mark contacted me and asked if I had been working in C# yet. He further elaborated that he was working on a super-secret project and needed me to join him in Las Vegas for a couple of weeks. At this time, I had only been married for a few months, but my trophy wife was gracious and told me to go. When I arrived in Vegas, Mark informed me that Developer Express was aquiring his company and all of his products, including CodeRush. We would be working on the new CodeRush for Visual Studio. I continued on the product as an independent contractor throughout the summer and joined Developer Express as a full-time employee in September of 2003.

Currently, I am the Lead Developer for the IDE Tools division at Developer Express. My responsibilities include much of the low-level plumbing for the DXCore, CodeRush and Refactor! products. I am passionate about becoming a better developer and spend a great deal of my free time learning new technologies. In addition, I enjoy speaking on a variety topics whenever I can get anyone to sit still long enough. For my contributions to the C# community, I was awarded with Microsoft MVP status in April of 2007.

There's more to come—of that I'm certain.

posted on Wednesday, August 01, 2007 7:28:33 AM (Pacific Standard Time, UTC-08:00)  #    Comments [5]

kick it on
 Tuesday, July 31, 2007
...I've moved to new web hosting. The good folks at ORCS Web, Inc. are now hosting my blog. If you are in need of professional web hosting supported by a helpful staff, you should definitely check them out.

In addition, I've upgraded to dasBlog 1.9.7 and found the experience to be quite painless.

posted on Tuesday, July 31, 2007 3:26:31 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Thursday, May 31, 2007
I'm getting this post up just in time to have at least one entry for the month of May. Work has simply been a whirlwind and my blogging duties have been put on hold until post-Tech Ed. I have several articles in a nearly-finished state that I hope to complete in June so stay tuned...

If you're like me, you struggle daily with running iTunes on Windows Vista. OK, most of you probably aren't like me. You are likely far wiser and realized long ago that this is a fruitless exercise. Being stubborn, I dutifully load up each morning iTunes and check to see if Apple has finally released the update that they've been sitting on for so long. Today, after months of frustration, I wasn't disappointed.

iTunes UApple released iTunes 7.2 without much fanfare. This update includes important compatibility fixes for Windows Vista (most notably the painting of the main window is faster) and Apple's new iTunes Plus format for higher-quality, DRM-free music and video. This is very exciting stuff but the feature that I find even most interesting was added a bit more quietly: iTunes U.

iTunes U provides access within iTunes to recorded lectures from several major universities (e.g. MIT, Stanford, UC Berkeley, etc.). Some universities have more offerings than others, but there are plenty of computer science and mathematics lectures available for the nerdiest among us. Need a refresher on algorithms? Try MIT's Introduction to Algorithms course. Looking for more general lectures on programming? Download UC Berkeley's Structure and Interpretation of Computer Programs.

Of course, the best feature of iTunes U is that it's free!

Truthfully, the content that iTunes U offers is not new. MIT, for example, has offered course downloads for several years. However, making the resources available from iTunes greatly extends their reach and gives me one more way to put my iPod to good use.

posted on Thursday, May 31, 2007 9:15:13 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

kick it on
 Sunday, April 15, 2007
Those of you that know me will remember that I carry a full-sized keyboard in my laptop bag. I find it much easier to code and demo if I use the same keyboard all the time. So, I carry it with me. My keyboard is like a constant companion that goes wherever I go, and my recent trip to DevConnections in Orlando was no different. The birds were singing. The sun was shining. My keyboard was firmly secured under the flap of my bag... or so I thought. As I approached the Orlando hotel, I had no idea that my close friend's lifetime was near its end. There was nothing that would have alerted me to this fact. Suddenly, my trusted comrade slipped from the bag and shattered on the hard cement. And when I say "shattered", I don't mean that a few keys popped off. I mean that keyboard blood and guts were strewn everywhere. As I surveyed the gory scene, I realized that repairing my keyboard was out of the question. The ground was littered with twisted plastic shrapnel and warped springs. It had become my own proverbial "Humpty Dumpty". There was no way this egg was going back together again.

Believe it or not, this tragedy absolutely paralyzed me. Because I spend all of my time with the same keyboard, I am a complete novice (i.e. a "newbie") at using my laptop's built-in keyboard. With only the keyboard on my laptop, I was reluctant to do demos during the conference. I would sit in front of my laptop blushing and stammering into the keyboard like a seventh grade boy asking his first girl to a dance. I had to face the facts: I couldn't avoid replacing my dear friend. Only one questioned remained. Should I purchase the same model or go for an upgrade?

I spent some time looking online and finally settled on the Logitech G15 Gaming Keyboard. It's newer, sleeker and sexier than my old buddy, but it also has a very attractive feature: holes that I can use to tie it to my laptop bag. There are lots of other great features like the LCD screen and the extra 18 user-programmable buttons, but the holes were the selling point for me. No longer will I put my closest friends at risk.

Helpful holes allow me to use straps. YAARRR!!! (pirate-speak)

Securely attached to my Tom Bihn Super Ego.

This thing's not going anywhere!

This experience has served to cement a universal truth in my mind. It is the sort of axiom that I wouldn't mind having engraved on my tombstone at the end of my days. The idea is basically this: no matter how sophisticated humanity's achievements in technology, no matter how rich our medical advancements, gravity wins. Gravity always wins.

Words to live by.

posted on Sunday, April 15, 2007 12:39:33 PM (Pacific Standard Time, UTC-08:00)  #    Comments [5]

kick it on
 Tuesday, April 10, 2007
Today I'm 32 years old.

To many of you, that might not seem very old. In fact, some of you might already calling me names like "young punk" or "whipper-snapper". To those people I say, "Get some teeth old man!"

Seriously, it's not that I feel particularly old, but this is the first year I'll actively exaggerate my age. If someone asks how old I am, I'll quickly answer that I'm 25. "25", of course, is a short way of saying that I'm 2^5 years old. I'm comfortable with that because it's not really a lie. It's not even stretching the truth. I'm being vague, flippant and maybe a bit of a smart ass, but I'm OK with that.

After this year, I'm going to start rendering my age in hexadecimal. Next year I'll be 21.
posted on Tuesday, April 10, 2007 7:07:49 AM (Pacific Standard Time, UTC-08:00)  #    Comments [4]

kick it on
 Monday, April 02, 2007
At the moment, I'm enjoying the first-ever week-long vacation that I've taken since joining the Developer Express IDE Tools Team nearly four years ago. CodeRush and Refactor! are very exciting products to work on but I need some time to refresh and Key West is just the place to do it. (Sadly, I think my trophy wife is already upset with me because I took a moment to fix a bug this morning.)

My vacation began with some exciting news. On Sunday, just before leaving for the airport, I received an email from Microsoft honoring me with the MVP Award for C#. Frankly, I'm humbled by the award, and it's a great priveledge to be numbered among so many professionals whom I deeply respect. Thanks very much to my friends, colleagues and mentors who made this possible.

posted on Monday, April 02, 2007 8:47:56 AM (Pacific Standard Time, UTC-08:00)  #    Comments [7]

kick it on
 Wednesday, March 28, 2007
While giving a talk at the Dayton-Cincinnati Code Camp, my computer started dragging to a crawl—PowerPoint was hung, Visual Studio 2005 wouldn't respond—very bad. I'm comfortable with multi-tasking so I fired up Process Explorer while I continued to introduce the session topic. When Process Explorer was up, the culprit was revealed. Both cores of my CPU were pegged by the Adobe Updater software. Discovering this, I couldn't help pointing out the problem to the audience (with some choice comments) and logged a todo item in the back of my mind to get rid of the Adobe PDF Reader ASAP.

Today, I am Adobe Free. I removed the PDF Reader and the diabolical Adobe Updater. Today I'm running Foxit and I couldn't be happier. It's much faster than Adobe's reader. My machine actually responds as if chains have been removed from it. Thanks Foxit!

posted on Wednesday, March 28, 2007 7:13:41 AM (Pacific Standard Time, UTC-08:00)  #    Comments [5]

kick it on
 Sunday, March 25, 2007
Yesterday's Code Camp in Cincinnati was an absolute blast. Here are some of my highlights:
  1. My "Back to the Basics" talk has a total of 7 possible demos but we never got to any of them. Instead, we had an interactive discussion about practices that can help us as developers improve our craft. It may not have been what the attendees were expecting but, to me, this was far more valuable that digging into code.
  2. Jason Follas established himself as the reigning "King Nerd" by presenting a killer demo in his SQL Server 2005 talk that parsed XML data from a World of Warcraft web service.
  3. Darrell Hawley complained to me several times that he doesn't have licenses to CodeRush or Refactor! only to eat his own words when he won a DXperience Enterprise subscription (including both CR and R! along with all of our .NET products) at the raffle.
  4. As always, I had excellent an conversation with my good friend Joe Brinkman at the after-event party. He's one seriously smart guy.
  5. Repeatedly having "just one more" with Darrell Hawley at the after-event party for several hours after everyone else had left.
This is a great event. I hope I can be involved next year.

posted on Sunday, March 25, 2007 10:24:46 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Thursday, March 15, 2007
Let me offer a big "thanks" to the Ann Arbor Dot Net Developers Group for a fantastic time last night. Due to traffic, I was a little late getting there but it didn't seem to affect the evening. As usual, I found the Ann Arbor crowd to be a highly-sophisticated bunch. All through my talk ("Delegates and Events") there were insightful questions and astute observations made by the audience. Speakers: if you're looking for a great place to give a talk, this is the place.

Also, the IPA at the Ann Arbor Brewing Company is simply to die for.

posted on Thursday, March 15, 2007 11:02:04 AM (Pacific Standard Time, UTC-08:00)  #    Comments [3]

kick it on
 Thursday, January 04, 2007
Shocked! Yes, I'm shocked at being double-tagged by Dan Hounshell and Jason Follas to list five things that you probably didn't (and don't want to) know about me. I suppose this means that I've finally arrived as a force-to-be-reckoned-with in the .NET community. Or, perhaps not. Anyway...

1. I'm a guitarist. Granted, lots of guys can make that claim. But, I'm a professional guitarist. I actually hold a bachelor's degree in Guitar Performance from Bowling Green State University. I even went on to half-complete a master's degree before coming to my senses. You see, in Ohio, it is next to impossible to make your mortgage payment on time as a performer. So, I opted to go with my other skill set: software development.

2. I have a $50/week comic book habit. It's an addiction and things get ugly if I don't get my Batman fix.

3. On a related note, my wife and I are a superhero crime-fighting duo online in City of Heroes.

4. I fell victim to the national poker fad. It doesn't help that I work for a Las Vegas-based company. Sadly, it turns out that I'm just not great at it. I'm good but let's just say that I won't be quitting my real job anytime soon.

5. I'm a wizard in bed. 'Nuff said!

Now it's time to share the love. I think I'll go with Mark Miller, Greb Huber, Jim Holmes, Julian Bucknall and Julia Lerman. You've been called out!

posted on Thursday, January 04, 2007 4:59:21 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Tuesday, December 19, 2006
If you live anywhere in the Great Lakes or Midwest region and haven't registered for CodeMash, you need to do it. Quite frankly, it has the best price vs. value that I've ever seen in a conference. If you're going, drop me a line and we can hook up.

CodeMash – I'll be there!
posted on Tuesday, December 19, 2006 10:36:32 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

kick it on
 Wednesday, November 01, 2006
For many programmers (except Mark Miller -- he's mostly caffeine-free, believe it or not), coffee is probably the most consistenly-consumed beverage. For me, it's like a warm security blanket in my mouth. And, by extension, my coffeemaker is probably the kitchen appliance that I have the most dependence on. If the coffeemaker doesn't work, my whole rhythm can be thrown off.

Yesterday, my coffee maker failed me.

Until yesterday, I was the owner of a Mr. Coffee 10-Cup Thermal Programmable Coffeemaker. Unfortunately, it decided to take a leak all over my countertop. Only half of the coffee actually made it into the pot. So, it was like pouring out 5 cups of coffee all over my kitchen. Needless to say, I was pretty hacked off. And, worse than that, I had far too little coffee to have a productive day of coding!

I toughed it out until my trophy wife got home. She sympathized and recommended that we head over to Kohls to purchase a new coffeemaker. We decided that, because of my obvious chemical dependency, we should go ahead and drop the $200 to get the Bunn BTX 10-Cup Home Coffee Brewer. After all, it's a business expense, right? This morning, I got my first 3-minute pot of quality coffee and I'm not disappointed. But, I'm wondering if I can claim this thing on my taxes.

posted on Wednesday, November 01, 2006 6:35:31 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

kick it on
 Wednesday, September 13, 2006
OK. I admit it. I have a problem: I am an iTunes junkie. It's always had its share of annoyances but not enough to keep me from using its clean and simple interface. Thanks to yesterday's release of iTunes 7, most of the minor problems are gone. A lot of the press is going to the new feature-length film and game support. But, in my opinion, its the little improvements that make this the best release yet.
posted on Wednesday, September 13, 2006 7:28:20 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

kick it on
 Tuesday, September 12, 2006
The word is out. Thanks to Carl Franklin at PWOP Productions, Mark Miller now has his very own podcast called Millahseconds. This could very well be the end of Mark's professional career.

Of course this might be a very good thing for me. One way to increase your chances of a promotion is to get a job directly beneath the most publicly insane person in your field. I have the distinct privilege of having this position. Perhaps this is the beginning of vertical movement up the corporate ladder for me? Only time will tell...

posted on Tuesday, September 12, 2006 5:06:34 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]

kick it on
 Thursday, August 03, 2006
I am officially the last person in the entire universe to jump on the blogging bandwagon. For many months, my friends have been asking me what the link to my blog is. My colleagues have complained about my apparent lack of Internet presence. Heck, even my trophy wife has expressed concern. Today, gentle reader, this all changes. I now boldy stand in the ranks with all bloggers everywhere.

I wish to offer my humble thanks to Jason Follas for helping me get this set up. I'll be honest and say that I'm pretty much an idiot when it comes to web development but, fortunately, Jason is an expert.

posted on Thursday, August 03, 2006 8:48:21 PM (Pacific Standard Time, UTC-08:00)  #    Comments [6]

kick it on