Scott Hanselman

Random Friday Lowercase-A arguments

June 08, 2007 Comment on this post [48] Posted in Musings
Sponsored By

My wife and I tend to lowercase-a argue about random stuff. We have a good time, though, it's part of our collective charm. We have "gentleman's bets." There was a good one yesterday while we were watching TV..."which of those chicks is a dude." Seriously, don't ever test my 'trannydar', you'll always lose.

Anyway, here's two recent arguments questions:

#1. A relative was reviewing the information of correlation that he'd learnt some time ago in statistics. It is possible for sets of data to be perfectly correlated, with a linear correlation co-efficient of 1, although this is very rare. Sets of data can also be correlated in a non-linear fashion such as in the form of a binomial or other polynomial function.

He was looking at his energy bills over the past year in comparison with the average monthly temperatures over the same period, and have come up with the following data (currency values converted to US dollars). What sort of relationship can you deduce, if any, between the bill and the temperatures (in Fahrenheit)? Can we say there is any correlation between the data? 

AverageBill/$,150,140,137,118,110,90,84,82,96,98,120,143
AverageMonthlyTemperature,38,41,45,48,54,57,64,69,77,79,85,90

#2. Discussion around this one went on animatedly for hours, and she's still not convinced. I've pasted it in her original phrasing so as not to get into more trouble. ;)

1a. What is the probability of two siblings having the same birthday (month and day)? (Specifically not twins. We're looking for the probability of siblings having say, January 1st or December 25th as their birthday.) Please explain your answer, I wouldn't want Scott to get too lost!

1b. Does your answer to 1a change if one of the siblings has already been born, and the other isn't? Again, we're looking for an explanation along with the answer.

An answer or two (maybe the right ones? Who knows?) will be added to this post tomorrow.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Video: Twittering your Diabetes on NBC11 News in San Francisco

June 08, 2007 Comment on this post [19] Posted in Diabetes
Sponsored By

image Hey look, it's me on NBC! Well, it's the local News in the San Francisco Bay Area (even though I live in Portland), but it's coverage!

Marianne Favro, the Health Reporter from NBC11 contacted me for an interview after hearing about Twittering My Diabetes , so I went down to the local NBC Affiliate and recorded a bunch of footage.

Of course the footage they used was the least awesome, including me saying (at one point during the 90 minutes) that diabetes "is wicked hard, and doesn't get any easier." It's magical how that kind of quote can get pulled out of an hour and a half of raw footage and make me sound like an idiot. ;)

Anyway, it turned out OK. The only major glitch is when they showed my Glucagon (sugar shot for major lows) and called it Insulin, but who notices that but me?

Go check out the Video up at NBC11 with the creative title: Diabetic uses Twitter.com. It also featured Biz Stone, one of the co-creators of Twitter.

Action Item and Note to Self: Come up with new Web 2.0 name like "Biz Stone" or "Guy Kawasaki", as "Scott Hanselman" is very Web 1.5. Any ideas?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

DasBlog June 2007 Release

June 04, 2007 Comment on this post [11] Posted in DasBlog
Sponsored By

It's hard to run an Open Source project, not unlike herding cats. However, we've got an enthusiastic and involved team over on the DasBlog Developer mailing list, but sometimes we forget that even though there's been like 100 posts this week, most folks just look at the last release and figure, "oh, it's been 9 months, this project is dead." That's our fault. We should be releasing every month. (We do, we just don't package it up and put it on SourceForge - lame of us.) I give SubText credit for keeping their project moving along and feeling fresh.

We're still very actively working on DasBlog, and we're slowly getting our heads screwed on right. To be clear, the DasBlog 1.x codebase does support ASP.NET 1.1 and ASP.NET 2.0 as well. Currently, for June, here's what's going on:

10 June 2007 - Feature Complete for 1.x. No new features added after this point.

17 June 2007 - Last day for commits. Have patches for bugs submitted before this day.

18 June 2007 - Everyone who's interested should test the Daily Build we release as the final beta.

The bug bar for any check-ins after June 18 going forward should be:

  • Bug breaks a major feature without any possible workaround
  • Security issues
  • Performance issues that would keep High Traffic Blogs from using the build
  • Totally embarrassing low-impact bug (typos)

If all is good, this will be the final 1.1 compatible version, and the final 1.x release. The next release will be all 2.0, with the new version number being 2.x. We'll also aim for a release that runs under Medium Trust. Thanks to Clemens for kicking us in the tuckus.

Technorati Tags: ,

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Blog Interesting - 32 Ways to Keep Your Blog from Sucking

June 04, 2007 Comment on this post [35] Posted in Musings
Sponsored By

Blog I blog for me, mostly so I can Google myself later.  But, I also enjoy the back and forth, the connections, with you, Dear Reader. I like being able to kick ideas around with a collective of peers and smart folks. I also would like this blog to not suck.

Recently Richard Campbell and I were chatting about what makes a blog, technical or otherwise, suck less. Here's what I came up with, with Richard helping as scribe.

Stay relevant

  1. Know your audience
    • Use analytic tools like FeedBurner or Google Analytics to figure out who is reading your blog, so you can occasionally post things that certain folks might like. Also, try using Google Maps Guestmap.
      (Hello Afshin in Iran and Rad in Kenya and Merrill in Sri Lanka!)
      Personally I also avoid blogging too much local (to my town) stuff because most of my readers AREN'T in my town!
  2. Keep overtly personal information out of your tech blog
    • I enjoy posting about my son and my spouse, as many of you have (or will have) similar situations. However, I avoid blogging things like "I had a cold today" and "I need to change the oil in my car." Anytime you can tie personal stuff into the 'point,' (whatever your blog's point is) that's a good thing. Personally while I may like you a lot, I do find ongoing stories about this wonderful man/woman/emu that you met on match.com to be a little dodgy if I started reading you for your deep knowledge of HTTP.
  3. Don't apologize about not blogging enough
    • Don't bother posting things like "I'm sorry, I've been busy doing stuff, I'll try to blog more." If this happens all the time readers just might float away.
  4. Steer clear of politics
    • I've found, after blogging about a certain election, that politics on non-political blogs (as well as religion) are not worth digging in to. Just as with my VERY good friends with whom I disagree, as well as my boss, I just avoid these topics.
  5. Don't Blog Bile
    • I know that it might be thought of as a cop-out to say "if you can't blog anything nice, don't bother blogging," but that is a personal rule. It's a useful rule for life in general. Your blog is not only a record of who you are on the 'net, but it's largely indelible thanks to Google Cache and the Wayback Machine (not to mention all the USENET Archives) so try to avoid bashing or bad-mouthing folks. I googled a fellow who submitted a resume recently, found his blog, and while perusing his archives found a post with a title like "Fred Jones, the CTO of Some Company is a dick and an ass-hat." Let's just say I didn't need to follow up with a phone screen. 
  6. Think before you blog
    • Know what kind of blog you have. Are you a food blog? A generalist? A newsperson? A link-blogger? This doesn't mean be constrained by labels, but it does mean you should think "what am I trying to accomplish by blogging this..." before you post.
  7. Don't post throwaways
    • I try to have a minimum length to a post. If you don't think about your blog post, likely no one else will either. If I want to save a link, rather than posting "I want to save this link, so I'm blogging it to remember" I use a service like http://del.icio.us/shanselman. Unless you're a link blogger, but then you'd batch them up.
  8. Avoid "excessive quoting"
    • Some popular bloggers can get away with this, but I think that quotes make up more than 30% of a blog post (or, gasp, 70% or more) than you really have to ask yourself "am I providing value here?" Notice how I didn't link the the words "Some" "Popular" "Bloggers" to some of the ones I'm thinking of? See Rule 5 Above. :)

Things to Do

  1. Use Spell Check
  2. Pay Attention to Formatting
    • A blog is like a garden, it should be tended to and one should pay attention to the little details. I believe that formatting is important. That means everything from having a little whitespace around your images, rather than butting text right up against them. That means taking the time to include relevant images or free stock photos that help illustrate the point. That means using a picture or visualization when it's more appropriate than prose. Honestly, a thousand words aren't even close to as good as a nice visualization.
  3. Turn on comments
    • If your blog doesn't have comments, is it a blog? I know that Comment Spam is a problem, but don't give up quite yet. A blog without comments is a telephone with no earpiece.
  4. Solve comment spam
    • If you have a problem with comment spam (and who doesn't?) consider paying the folks at Akismet and use their API. DasBlog and SubText and WordPress include this support out of the box. I love it. Getting rid of CAPTCHA and switching to Akismet was one of the best things I ever did to this blog. I get more comments now (that's why I feel more connected now (because folks hate doing CAPTCHA) and I get virtually no spam.
  5. Claim Your Feed
    • Many sites like Bloglines, DiggPodcasts (if you have a podcast), Technorati and others have a "claim" feature where you can get an account at their site, then "lay claim" to your blog. They'll typically give you a token or globally unique id that they will then have you add to your site, usually within an HTML comment so folks won't see it, but they'll be able to retrieve it, thus proving that you have control over the site. Once you've claimed your site or RSS Feed on a site like Bloglines or Technorati, you can re-categorize the site, consolidate subscribers (especially useful on Bloglines) and manually redirect subscribers if you've moved blogs (It's better to use 301 redirects, but not every spider respects them.)
  6. Decide what your Blog's URL is, and use it consistently
  7. Use Simple URLs for popular posts
    • If you've been keeping a blog up for any amount of time, you've likely had "The Popular Post." Sometimes this'll be something simple that you've written and didn't give any though to at the time, but for whatever reason when folks out there in the world Google for "Scottish Interracial Cake Topper," you are right there on the first list of results. If you can, try to use simple URLs to make those popular posts more accessible. Mine ended up being the Ultimate Tools List, but the first version had a ridiculously long URL and that cost me traffic. Now it's always at http://www.hanselman.com/tools
  8. Have a Code Garage Sale 
    • I haven't done this yet and setup a Code Garage Sale, but if you have a large chunk of code lying around, or projects that you've never gotten out the door, make a site or section of your blog and fill it with those code remnants. I posted a list of great Garage Sale Coders earlier this year.
  9. License Your Blog
    • If you're going to take the time to write a blog, take 10 minutes and pick a license. I use the Creative Commons Attribution 2.0 license that says you can, Share or Remix the work as long as you Attribute the original work to me.
  10. Make it easy to subscribe
    • Way more people read this blog via a Feed Reader than by visiting the home page. That's why I want to make it EASY to subscribe. Here's what I do to make subscribing easy:
      • Every post include a Subscribe to this Feed link.
      • There's a large standard Feed Icon at the top of the blog linked to the main feed.
      • I support Feed Autodiscovery, an important and sometimes overlooked option, by adding:
        <link rel="alternate"
        type="application/rss+xml"
        title="Scott Hanselman's Computer Zen" href="
        http://feeds.feedburner.com/ScottHanselman" />
        to every page's HTML. This single line lights up your browser's Feed Icon in orange, allowing for easy subscription.
  11. Have your Contact Info Somewhere 
    • Blogging should be two way. Have a way for folks to contact you. I use a re-mailer via my I-name which happens to be =scott.hanselman. It freaks a few folks out, but it reduces spam and lets folks talk directly to me.
  12. Have an About Me page
    • I haven't done this yet. Perhaps I'll do it next. There should always be a "Who the heck is this guy/gal" link, in the form of an About Me page. This page will typically link to the Contact Me page. 
  13. Use a Social Bookmarking Service
    • A great way . If you use del.icio.us a lot, you can configure FeedBurner to regularly (one a week, day, etc) create a rolled-up post of all the links you've bookmarked during some period and it'll inject the post into your Feed automatically. Social Bookmarking is also a great way to get and give links that is a lot less invasive and a "check this out" email. Folks can send me links via http://del.icio.us by tagging them "for:shanselman." Yet another way to receive information without spam and email.
  14. Decide What's Above the Fold
    • Design your blog for 1024x768 and consciously decide what appears "above the fold." The above the fold rule (no one scrolls down) isn't as valid as it was 13 years ago, it's still all about first impressions. What appears on your blog when one someone just arrives, before they scroll. I've included my picture, my charity, my contact info, my feed, a menu (in gray along the time), a search box, and my sponsors - all before you have to scroll. Those were important to me, and were conscious decisions. Just be aware, rather than letting your blog theme automatically decide.
  15. Integrate Google Search
    • I personally like using Google to search my site, rather than my blog engine's built-in search. Here's an example (Of course, the URL could be much prettier, and that's on my todo list). The point is, make your stuff easy to find, and if you can get Google to include an advertisement or two on your search page, even better. It should look integrated though. Take advantage of Google's theming features and make your search results page look like your blog, not like Google.
  16. Consider Using FeedBurner
    • Lots of folks are were suspicious about outsourcing their Feeds to FeedBurner. Of course, they've been bought by Google so I think we're all less worried about the company going away. What FeedBurner offers is fantastic stats about what folks are reading on your blog, and how they are doing it. It also takes on all your RSS bandwidth, which for me, was crushing.
  17. Tune your Bandwidth
    • If you host your own blog, do think about how your bandwidth is used. Analytics tools can help, but so can just looking at your Page Weight. I found out that my Favicon.ico was my problem. All you have to do is check. For others it might be graphics, so they might tune those graphics, or outsource them to Flickr. For folks who host large files, consider using Amazon's S3 for hosting.

Things Not to Do

  1. "This blog has moved"
    • There is little sadder (considering that a blog is sorted by date descending) than visiting a blog with thousands of fantastic entries and years of great content, only to find the most recent, and final post, is a one liner declaring that "This blog has moved. Please update your bookmarks and subscriptions." Sadly, that's more often that not, more effort than I'm willing to expend. Lord only knows how many readers Scoble lost early on when he changing blogging hosts. He eventually figured it out and got some redirects in place quite a bit later. (No, this doesn't count as Blogging Bile, as I'm just reporting the factual news and Robert and I are cordial. :P )
  2. Don't Break Links - Maintain Permalinks At All Costs
    • This is kind of a continuation of the last tip. Remember that they are called Permalinks for a reason. They aren't Tempalinks. Maintain them. If they are down temporarily and you're hosting elsewhere, issue an HTTP 302, temporary moved. If you need help, ask someone. If your links are moved permanently, issue HTTP 301s, permanently moved. This is just as important for your feeds.  Don't blog that you've moved your feed, just move it. (I am exempt from this, because I blogged about it to spread the word. ;) )
  3. Avoid Split Brain -  Pick a Blog and Stay There
    • Avoid maintaining two blogs. It's just as tacky, if not more so, as having 5 phone numbers on your business card. It makes it hard to find you, and your two blogs will always be fighting each other on Google, splitting your virtual  personality. 
  4. Avoid Crossposting
    • If you want folks to find you, try to keep all your content in one place. While "crossposting" is an attractive concept, ultimately it just waters everything down. If someone really wants your content, consider posting the first 100 words, and a [Read More] link. This not only gives you traffic, but also puts you in control of the article for spelling corrections, updates, etc.
  5. Avoid Category Specific Feeds
    • I used to be a fan of category specific feeds, especially because I have an interest in Diabetes as well as Technology. However, I believe category specific feeds ultimately mean that folks could miss out on interesting stuff, and I figure they want to subscribe to ME, not to a category-subset of me.
  6. Don't Blog to Get Rich
    • Very very very few bloggers can live off the money they make from their blog. Folks who aren't making lots of their blogs also sometimes think that folks with popular blog are making way more than they really are. For most of us, myself included, Blog ads won't make you wealthy, but it can buy you lunch and perhaps an iPod. Don't let money affect your content. Blog well, don't blog for dough. 

Conclusion

  1. Blog Interesting
    • Ultimately this entire list is folly because there's many blogs that I read because they've got great content. They may have obscure URLs or an average layout, but the content is compelling, so I come back.

So, forget this whole list, and Blog Interesting.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Educating Programmers with Placemats - NDepend Static Analysis Poster

June 02, 2007 Comment on this post [9] Posted in Learning .NET | Musings | Programming | TechEd
Sponsored By

NDepend metrics placemats 1.1.pdf - Adobe ReaderStuart Celarier works here at Corillian (a division of CheckFree) and is not only a Senior Engineer, but a "Placemat Visualization Expert." Just kidding, but handouts are just one of the things that we believe makes an effective presentation.

Presentation Rule: When possible and appropriate, ALWAYS offer a handout. Folks can read faster than you can speak.

Stuart has taken a lot of what makes up our architecture at Corillian and started creating 11x17 Visualizations in the form of what I've been calling Placemats. They're the kind of thing that could teach you all about our design, then you could eat on it. :)

He hangs these mini-posters up all over the company, along with pens, and encourages folks to scribble on them. Someone who knows more than we will walk by, notice a mistake or whatever, and fix it. He's on version 28 of some of these posters - It's poster_OrigMinardCollective Knowledge with an Open Source-style, disseminated in mini-poster form. Anyone can propose a patch, just by scribbling on the poster. Stuart then comes around and collects the changes. So much cleaner than "Reply To All" or even SharePoint. Perhaps not as profound as the most famous visualization: Napoleon's March, but we try.

HOW TO SPREAD THE GOOD WOOD: Get the word about whatever you're interested in getting the word out about. When possible, make posters. Hang them everywhere. Let them soak in. Let folks scribble on them for a few months. Laminate them. Make T-Shirts. Rinse, Repeat.

We're huge fans of NDepend over at Corillian, and working with it more each day. I've done a Podcast on Static Analysis with NDepend and written up a pretty long article about NDepend and what it can bring to software development at your shop. We're just scratching the surface.

In order to get the word out about NDepend (which is a pretty complex thing, especially the underlying Comp.Sci. concepts around software complexity) Stuart created this NDepend Metrics Placemat, suitable for printing at 11x17. 

If you're at TechEd, go see our colleague Patrick Cauldwell along with Stuart "Celery Stew" Celarier at the NDepend Birds of a Feather at TechEd. They'll be passing out high-quality color prints of this poster. The BOF is at lunch, so bring food:

BOF09: Exiting the Zone of Pain: Static Analysis with NDepend, scheduled for Tuesday, June 5, 2007 at 12:00 PM, in Room S331 A.  We'll be discussing how and why to use static analysis tools like NDepend.  I'm especially interested in hearing not just how people use tools like NDepend, but who uses them (in their organization) and how often.

Here's the PDF for your download, use and abuse. Thanks to Patrick Smacchia, creator of NDepend for his help and review:

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.