Scott Hanselman

The "Do My Slides Suck" Test

March 26, 2006 Comment on this post [1] Posted in TechEd | Speaking
Sponsored By

I'll post more on Presenting later this week as Patrick and I start creating our deck for this year's TechEd, but here's a great article called "Stop your presentation before it kills again!" The best part is the Do My Slides Suck Test:

The "Do My Slides Suck" Test

1) Do your slides contain mostly bullet points?
2) Do you have more than 12-15 words on a slide?
3) Do your slides add little or no new info beyond what you can say in words?
4) Are your slides, in fact, not memorable?
5) Are your slides emotionally empty?
6) Do your slides fail to encourage a deeper connection to or understanding of the topic?
7) Do your slides distort the data?
8) Do your slides encourage cognitive weakness? (refer to Tufte)

A "Yes" to any of those could be a huge red flag that something's wrong.

[From Creating Passionate Users]
 

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

Loving Mush - I mean Monad

March 23, 2006 Comment on this post [3] Posted in PowerShell | Watir | Ruby | TechEd | Speaking | PDC | XML
Sponsored By

Microsoft Command ShellMaybe if I call the Microsoft Command Shell "mush" enough, it will catch on. MSH, or "Monad" is on my mind lately (again, after a quick and ill-timed dismissal at PDC), thanks to Keith Hill and the wealth of MSH bloggers out and content there. We did the Monad show, but this little shell is no fly-by-night. It's changing (changed?) the face of Windows Administration.

Just as the .NET Framework was "managed spackle" over the chaos that is the Win32 API, just as WinFX cleans it up even more, MSH (IMHO AFAIK if I can abuse the TLAs a bit) is a stunningly clean and well-thought out abstraction layer on top of everything.  To quote Arul: "Monad is the only scripting platform that provides access to .Net, WMI, COM in a well-integrated manner."

It's a shell, in the complete sense, but it's an engine for scripting everything that is already on your system. I'll post more about cool MSH Analyzer is and how you can host Monad in your own Admin applications later.

Here's the links from this week's Hanselminutes, but I'll add more and more at my del.icio.us feed for MSH.

 Pithy and Readable? Do tell!
MSH Wiki @ Channel 9
Monad Team's Technology Blog
Dan Sullivan msh+SMO
Sample Monad-MSH Scripts
Using-Culture -Culture culture -Script {scriptblock}
MSH Analyzer - it is born.
Monad Scripting Center
Getting MSDN help urls for .NET BCL types and Members
viveksharma.com: techlog
Keith Hill's Blog
A guided tour of the Microsoft Command Shell by Ryan Paul
Jeffrey Snover's Monad TechEd Presentation by Webcast
MSHVSS Provider 

Here's some "mush" examples that are fun to read and might give you a tiny taste of what you can do:

Download a feed and list the RSS Enclosures:

$url = "http://feeds.feedburner.com/ScottHanselman"
$feed = [xml](new-object System.Net.WebClient).DownloadString($url)
$feed.GetElementsByTagName("enclosure") | format-list

Find out about your system:

get-wmiobject win32_processor

Get a list of currently loaded Assemblies

[appdomain]::currentdomain.getassemblies() |ft fullname

Listing the currently open Explorer Windows

(new-object -com "Shell.Application").Windows() | select LocationName, LocationUrl

Open an IE window and navigate (smells like Watir...)

$ie = new-object -comobject Internetexplorer.application
$ie.Navigate2("http://www.microsoft.com")
$ie.visible=1

Get the latest Event Log entries:

get-eventlog Application -newest 100 | sort source

I encourage you to check it out. The learning curve is a little high, but at some point it "pops" and you're having a blast.

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

Is Open Source a Crap Idea?

March 23, 2006 Comment on this post [12] Posted in DasBlog | Subversion | Bugs
Sponsored By

CSF427The graph at right is from a story in the Economist on Open Source. It illustrates, fairly effectively, that talking and doing are very different and that it's way easier to talk than do - or at least, it must be since so few people do and so many talk.

There are a number of choice tidbits in the article. This sure is true:

"The contributors are typically motivated less by altruism than by self-interest."

When I joined the DasBlog project after the 1.6 release, it was totally because DasBlog wasn't meeting my needs (scale, features, etc) and I thought it'd be easier to contribute than to jump to another engine. Omar has said before that he joined the team to be a better programmer.

As I worked on it more, I used DasBlog, selfishly, as a place to try out ideas and techniques that I would eventually put to use at work.

"Of the roughly 130,000 open-source projects on SourceForge.net, an online hub for open-source software projects, only a few hundred are active, and fewer still will ever lead to a useful product." 

Yikes. That's scathing; I wonder if it's true. SF seems a lot more active and vibrant than that to me, but I could be just seeing what I want to see. Only a few hundred active projects?

With all projects there's a lot of talk, and a lot of time pressure as everyone has a life. It's a little frustrating when folks submit a bug when they could submit a bug and a patch. CVS and Universal Diffs make this a lot easier, but I'm as guilty as the next guy. If it's not fantastically simple to post a patch and have it heard, who has the time to bother? Stuart has offered a number of patches to Subversion, and really struggled to get them into the final product - or even to be heard.

How easy should it be? Is "Right-Click | Make Patch" then "email patch" easy enough?

I'm sure there are (sadly) lots of folks who submitted bugs or asked for help but just happened to pick a bad week where Omar, myself, Tom or the rest of the team was busy with life.

Aside: I wonder if there are crucial patches to the Linux Kernel that didn't get in because Linus had a bad day when the patch was submitted?

It's very difficult to get folks to commit themselves to a project that pays them nothing. The hours are long, the tech support brutal, the users unforgiving and the bugs neverending.

If you work on a Open Source Project, why do you do it? When will you stop?

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

Hanselminutes Podcast 11

March 23, 2006 Comment on this post [0] Posted in ASP.NET | TechEd | Podcast | PowerShell | XML | Tools
Sponsored By

HanselminutesMy eleventh Podcast is up. This episode is about Monad (MSH) - the Microsoft Shell. Early reviews from Monad experts are good. Thanks Keith for giving me the kick I needed! :)

We're listed in the iTunes Podcast Directory, so I encourage you to subscribe with a single click (two in Firefox) with the button below. For those of you on slower connections there are lo-fi and torrent-based versions as well.

Subscribe to my Podcast in iTunes

Our sponsors are Automated QA, PeterBlum and the .NET Dev Journal.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • Each show will include a number of links, and all those links will be posted along with the show on the site. There were 14 sites mentioned in this eleventh episode, some planned, some not.
  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at http://www.hanselminutes.com.
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

Now playing: Kanye West - Gold Digger

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

Taskkill and Pskill

March 20, 2006 Comment on this post [3] Posted in PowerShell
Sponsored By

A very useful utility included with Windows XP and 2003 that a lot of folks may not be familiar with is Taskkill. This is installed in %WINDIR%\SYSTEM32\taskkill.exe. Here's some examples:

 TASKKILL /S system /F /IM notepad.exe /T
 TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
 TASKKILL /F /IM notepad.exe /IM mspaint.exe
 TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
 TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
 TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *

Nice things are that you can blow stuff away by Window Title, CPU Time, Status, using filters. It's not as flexible as stop-process in MSH, but I'll talk about Monad on this week's Hanselminutes and in a later blog post.

I've got a batch file called cleanprocesses.bat that is filled with "net stop" and "taskkill" commands that takes my number of processes down from my standard 103 to 50. While extreme, I've found that when I'm giving a talk this makes my machine more stable. (Of course, not starting up the superfluous processes in the first place would be more clever.)

If you're running Windows 2000, I like PSKILL as an alternative.

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.