Category Archives: Uncategorized

Dusting off the Blog

My blogging tends to follow certain life cadences and mine has mostly been work, work and well work. Now that I’m prepping for Build 2014 I’ve switched back from information gathering to information sharing which means dusting off my blog.  Part of that is reading the spam comments because I adore the random computer generated ones, they feel like little cracked-out robots are trying to communicate with me. Some favs:

“I like your article.Your article is like a big tree, so that we can be sitting in your tree, feel yourself a real.”

“This article made me become shiny.”

“I would like to be aware of when you write this article is what kind of mood, why would you write this article, also written so good, is that I can emulate. I think I could record something like you…”

And this one, this is the one that haunts me. It feels like some maddening wisdom is embedded here, especially the last sentence. if I can just decipher it…

“This article is really dulcet, a friend gave me a look. I catched sight of, I would like to express the feelings I looked. Others did not feel that I do not mind, at least now I express myself…”

Huh, Where Am I? (Redirecting enginefour to shawnoster)

If you were expecting and are now on don’t worry, it’s all part of my mad plan.  Mad as in these little things really shouldn’t take as long as they do sometimes.

I’m redirecting all my old blog traffic over to (which is where you should now be).  This is also a sneaky way to make sure all my old slugs (the bit after the domain name that uniquely identifies each post) have a corresponding one on my new site.

I created a “Hey I’m moving” post over there that will now redirect to *this* post here if all the regex’s line up :)  Back to our regularly scheduled broadcast.

Trying Out Oxite

Been quite on my blog lately and of all reasons it was because I just wasn’t happy with my old theme.  Lame I know yet if I’m not excited about how it looks then I’m not really compelled to write.  So I went searching for a cool theme for my old blog engine BlogEngine.NET and while a few grabbed me they all had some pretty basic flaws.  I believe using bulleted lists, quotes, proper headings, etc. help in the digestion of information and if the formatting for those items are off then a simple post can look like a train wreck, at least to my eyes.

Long story short I keep bumping up against the Oxite “theme” and decided the best way to get that theme was to switch to Oxite as my engine.  I’ve been super busy lately with all sorts of ninja projects and so every time I hit a roadblock in installing Oxite on GoDaddy I’d stop and move onto real work.

Well, today I finally got it all working and I can start flooding my blog with new posts once again.  The irony being of course that most people just use a feed reader (FeedDemon being my favorite) to read blog entries so all of that deep theme searching was probably in vain.

I want to note that nothing is wrong with BlogEngine.NET and if I had spent as much time fixing the CSS of the themes I liked as I did installing Oxite then I’d still be using it.  I’m also addicted to updates and while BlogEngine.NET development hasn’t exactly stalled things over there seem a bit stale.  For example the official release is 1.5 yet the home page still calls it a RC.

Your Inner Remembrance One

Part of my personal daily rounds is catching up on all the gaming news which means hitting up Engadget and Joystiq.  I was reading a recent tidbit about how new XBox 360’s are starting to show up with both the Jasper motherboard and 512MB of internal memory, something some of you may or may not be as excited about as I am.

The part that really caught my eye though was when I did a Bing search for “xbox jasper”, in an effort to catch up on my XBox motherboard goodness, and stumbled across the exact same Engadget article on another site with some slightly different phrasing.  This isn’t surprising in itself since it’s a pretty common ad trap to scrap content from a popular website and surround it with ads hoping people will click on them but the fun part was this site tried to make the content more unique by running it through a thesaurus.  Most of it ended up sounding like a drunk pedantic linguistics professor muttering to himself but here is the choice bit that had me rolling on the floor (ok, chuckling softly to myself like a crazed madman but you get the idea):


That’s twice the size of the old one, giving the equivalent of a 512MB internal memory unit.

New And Improved!

That’s two times the bigness of the rich person, giving the tantamount of a 512MB inner remembrance one.

Seattle: The First Weekend

My first weekend living in Seattle is drawing to a close and as the sun very, very slowly sets I figured I’d give a wee status report.

Right now I’m living in an apartment provided so nicely by Microsoft in an area of downtown Seattle called Belltown in a place The Shelby. It’s a fairly modern, clean, 1 bedroom place with a kitchen and dinning nook that fits two people rather well. Fully furnished though someone should talk to whomever outfitted this place, we need more towel racks, seriously people. Towel racks.

The area is pretty much full of hipster kids, upscale restaurants, hidden gems, halfway houses and the fire station. Lot’s of scooters go zipping around the place as well so scooter mania has hit here hard as well. I can walk five blocks into the heart of downtown, six blocks and I’m in the famous Pike’s Market, three blocks to a killer Mediterranean restaurant, eight blocks to the Puget Sound waterfront and most importantly one block to my new favorite watering hole, Two Bells. From the front door I can see the Space Needle just a few blocks away.

First, the food. The food here is amazing, we have yet to eat at a bad place in downtown Seattle. First day lunch was at the Zeitoon Cafe where I had a killer panini, dinner at a great sushi place that had items I’ve never seen before plus three Japanese business men were dinning which is always a good sign. Next night was pizza at Serious Pie, a small, quaint upscale pizzeria where everyone sits at shared tables while enjoying entirely unique appetizers and pizzas. A warning though for my purist friends (Jeremy, I’m looking at you) there is no classic New York or Chicago style pizza on the menu so I’m still on a quest for the best New York slice in Seattle. Tonight’s dinner was at Two Bells, a bar & grill that captured my heart and stomach. Low-key, no pretension bar & grill with killer hamburgers, Guinness on tap and a great mix of people from tattoo’d lasses to couples in Dockers. It’s only a block away from The Shelby and has a high probability of becoming my favorite local watering hole. Kevin, Billy, Ben, Sean, this is where we’d meet for a pint after work. I wish like hell we could.

The weather has been great, only the smallest amount of rain, comfortable temps and sunshine. In fact the first day here I was missing our nice AC unit back in Colorado. Even downtown there are trees everywhere and when walking by Bell & 4th (one block over) you can look right down to the Sound, or turn your head a bit and on a clear day make out the mountains. All in all it’s a beautiful city and I can see why so many people love it. I’ll report back tomorrow about the traffic though, I’m sure all these people equals one huge traffic problem of evil.

In fact I’m surprised there is no cohesive public transportation. There are a half dozen small networks but nothing like the London Underground or D.C. subway system. A nice gentleman on the plane who bought be my Jack & Ginger attributed this to all the tree huggers who quite literally can’t bare to part with a single tree to make way for unified light rail or subway system. It’s the classic curse of the West, since it was developed so much later than the East more people could afford personal transport and so the need was never as great. Plus the West wasn’t exactly settled by socialites and debutantes so finding a nice communal way for everyone to get around probably wasn’t on the top of any of these anti-social explorer’s lists.

This is my first time as a true Urbanite, living downtown, walking to the local market (Ralph’s), being able to stumble home from the bar (Two Bells), walking to the bus for work (The 545 Express), hitting up the clubs (I hear them at night so I know they’re around) and generally enjoying not having to fire up the car or spend money on gas to get to 90% of what I need to. I’m sure once the constant rain and snow hits I won’t be whistling such a merry little tune but I’ll let the city court me a little while longer.

It still feels surreal, like I’m on some huge extended vacation and that I’m just staying in a suite at some hotel for awhile but I have a feeling after tomorrow that illusion will come crashing down. A few days of work I’m sure will bring me right back down to Earth :)

Lame Support for XML Code Snippets Visual Studio 2008

As I’ve been working my way through the Silverlight & XAML landscape inside of Visual Studio I’ve come to realize how much better tools like TextMate, InType & E are at editing straight text.

I was reminded of this today when I was trying to create a simple code snippet for XAML. I whipped up a quick little snippet and went to use it how I always do, by typing the shortcut then pressing TAB. Well, I tabbed and nothing happened. OK, something happened, I got a tab, which I didn’t expect at all. It should have expanded my code snippet. TAB TAB just got me two tabs and while I could get it using the highly awkward Ctrl + K, Ctrl + X that seemed just as much work as actually typing it so I ignored that.

After much searching I discovered that I need to put the angle bracket first and then I could get my tab completion to work. This about blows my fragile little mind since one of the best uses of snippets is to avoid typing those silly brackets in the first place. I can almost see how the decision was made to require a bracket but it only makes sense from a engineering stand-point, not a usability one. It completely ignores the fact that angle brackets are not the easiest things to type quickly.

My solution to all of this is two-fold. First, once I get to Microsoft I’m going to hunt down the XAML IDE team and second to stop using Visual Studio 2008 for editing XAML. I’ve setup a good handful of snippets in InType and discovered something odd yet not all that surprising: I can build a full XAML UI by hand in Intype faster than I can do it in Blend and much faster than using Visual Studio. Anyone that hand-codes HTML won’t be too shocked by this because it’s fairly common knowledge that a skilled HTML coder can bust out a page faster in a good text editor than in Dreamweaver.

I really hope the Visual Studio IDE team is looking hard at the new wave of tools like Intype & E, they really are that much more productive.

Internet Pet Peeves

Usually I post my pet peeves and various net grumblings to Twitter but I’ve encountered too many in the last few days to fit inside a 140 character limit. Also I think if you’re going to complain about something you should also provide a solution so it doesn’t seem like you’re just a bitter, crazy, no-pants wearing old man that lives to kill the dreams of others.

Company Blogs That Go Dark

A few times a week I encounter some company blog that hasn’t been updated in more than six months, thus leaving a very bad impression about exactly what the blog is for in the first place. What’s ironic is that I see this most often with self-styled Web 2.0 companies that start with a flurry of almost daily blog posts then suddenly it’s as if the reality of running a company hits and the blog goes silent.

While a silent personal blog is no big deal a company blog is meant to give users a warm fuzzy that things are still moving right along and that their investment, whether it be with their time, data or attention, is still safe. Given the frenetic pace of the Internet and how fast things change even going a month without a post can make users start to wonder if the chef is still in the kitchen. The posts don’t even have to be earth shattering, they can simply be, “Yes, we’re still here and still working on things” or “We made these very minor changes recently that you probably don’t care about but show we do care.”

Year Old “New Features”

This is really an extension of the above. While some may not care how often a company blog is updated (crazy people for sure) it’s really annoying to go to a site day after day and see the same “Just Added!” call-out on a feature that’s almost two years old. Blinksale I’m looking at you with your “Just Added!” Basecamp integration. It’s now May 2008 and that just added feature came out in November of 2006.

I completely understand getting busy and not updating a site due to time constraints but why not future-proof yourself and instead of always doing “Just Added” start with “Newest Feature!” instead, which is a timeless statement.

Cramped Lists

Aren’t bulleted lists supposed to make reading easier? Then why is it so many blog templates completely ignore the styling of ordered/unordered lists and instead create this clumped indented mass of text? In fact poorly styled bulleted lists is one reason I migrated away from templates in the first place. If you’re creating a blog or site template please include well spaced li elements in your CSS.


For anyone on my gmail contact list I sincerely apologize by any spam you received from I was fooled into thinking they had the same feature that Facebook does, point Reunion at your address book and it’ll automatically link you with any of your friends that are also on Instead it uses some slippery wording and a link from Facebook to mass spam everyone on your contact list. I can’t think of a single person that actually wants their entire contact list mailed carte blache so this lands squarely on the Spam Site list.

And Bob’s Yer Uncle.

Springloops for Web Site Deployment

One of my clients recently switched hosting providers which threw me for a loop because I was doing all their web site deployment using Subversion. I’d make a change on my development box, commit it, ssh over to their host and issue a matching svn update. It worked great and gave me a big warm fuzzy.

The new host sadly doesn’t have svn installed and while I could probably bug them to install it for me I thought I’d see what others out there were doing when it came to shared hosting. Seems svn+rsync is a popular choice along with variations on that theme but I wanted something simpler. Enter Springloops.

Springloops is basically a hosted svn repository that will push your changes via FTP to a deployment server, but that doesn’t truly convey just how smooth an experience it really is. Getting set up is a snap, the interface is well thought out and has a great aesthetic. You know there is a svn repository behind the interface but it’s presented in a very non-threatening for the non-nerd way.

Once you’ve imported all your files, using whatever svn client you like, you setup a deployment server, giving it your FTP host, path and log in information and from that point on deployment is as simple as a button click. All of this for free and if you step up to one of their paid plans you get automatic deployment, large storage, more deployment servers and more depending on the level you pick.

All in all I actually like this solution better than what I had before because it’s easier for others to interact with your site as well as push deployments. Anyone looking for a way to use version control (you are using version control, right?) with shared hosting should definitely give Springloops a try.

Windows Home Server Rocks

At the end of last year I picked up HP's MediaSmart Server because while playing the three computer Monte at home I managed to lose 10 years worth of documents which really shook me up. It's a small, energy-efficient, quiet little box running Windows Home Server and frankly it rocks. It automatically backs up my laptop, my desktop and my wife's laptop fully every night and it's pants-wearing-monkey simple to get setup.

I bought the 500GB version but decided I also wanted to move my entire video and music collection over to WHS so last week I picked up another 500GB drive from Amazon (via Giveness) and it arrived yesterday so last night I set about installing the puppy and suffice to say I have never had such an amazing experience installing any piece of hardware other than say an USB flash drive.

Installing a new internal drive is as simple as swinging open the front cover, sliding out a tray, popping the new drive into it and sliding it back in, all while the computer is still running. After closing the front cover I got a little prompt that new storage was available and asking if it should include it in it's "cloud" of storage. It was that simple. It took me longer to unpack the drive than to install it and I have every confidence that I could have easily walked my wife, mother or 2 year-old nephew through the same process.

On a site note, a lot of people give WHS a big "meh", saying you can easily duplicate all that functionality with free software and while that's entirely true I highly doubt it can be reproduced as easily or cheaply.

By easy I mean that I have confidence that even households without a power geek could quickly setup it up out of the box and that my wife doesn't need me around to do a complete restore or to pick individual files out of an old backup.

By cheap I mean that my time is money, every hour I spend fiddling with a backup server is an hour I'm not writing new and interesting code, spending with my wife or improving my XBox Live Gamerscore. Once WHS is running I don't have to do anything, no maintenance or patching since Windows Update takes care of all that. No monthly fee to a backup provider like Jungle Disk (though if you don't have a backup server I suggest you look at one of the S3-backed providers like Jungle Disk). No time wasted as I try to pull down a 4 gig image via the wire.

I continue to be impressed by WHS and the ability to hot-swap a new drive just bumped it up even further in my opinion. The fact that it's such a great product at 1.0 means it can only get better from here. In the future I'd like to see better integration with Media Center and I'm seeing all kinds of options if you combined it with Live Mesh.

For any household with multiple computers with data you just don't want to lose I can't recommend WHS enough.

Don’t Break Your Blog

I recently moved my blog from to GoDaddy with BlogEngine.NET as my blog engine and so far everything has been pretty smooth once I figured out how to move all my old posts from blogger into BlogEngine.NET. Once I got a basic template up and most of the data over I considered it “good enough” but it’s always bothered me that I have duplicate data hanging around out there so today I rolled up my sleeves.

I really hate broken links so didn’t want to pull my old blog entirely incase anyone was linked to it but I did want them redirected to the new hotness and so after some searching I came across a great link, How To Redirect Blogger Beta To, and that got me about 90% of the way there. I only ran into a few issues.

The first issue was that his script assumes a WordPress permalink format (obviously, based on the post) so I had to adjust the regex to BlogEngine.NET style. After some tweaking and having to once again remember regex I got that working which led me into my next issue.

The second problem was that blogger doesn’t use the entire post title for the slug, it stops at a certain character limit whereas BlogEngine.NET uses the full Monty. I didn’t have a magic fix for this so instead I fired up Google Analytics, looked at my top 10 posts and manually adjusted the slug in BlogEngine to match what was coming through blogger and now the redirects come over like butta.

Another minor issue was that the auto-generated sitemap has a lastmod date of 0001-01-01, which really pisses web crawlers off. At first I thought it was just a few posts and was manually updating them but then realized it was pretty much everything. I’ll probably spin through the posts and set the last modified to the post date but I was a little disappointed that BlogEngine.NET didn’t have this logic already built in.

All in all I’ve been very happy with BlogEngine.NET and I like knowing I can start mucking up the code if I feel really creative. For another perspective on switching check out Steve Trefethen’s thoughts on BlogEngine.NET.