Scott Hanselman

Beyond Elvis, Einstein and Mort: New Programming Stereotypes for Web 2.0

July 05, 2007 Comment on this post [38] Posted in Programming
Sponsored By

iStock_000002842776XSmallWhat are the skills that a Programmer needs?  Internal to Microsoft there's a old meme about the three types of programmers. There's Elvis, Einstein and Mort.

Einstein is like employee #3 at your company, very smart, possibly socially a little off, he knows the owner of the company personally and probably wrote the original program you sell. Elvis is a late-hire, he wants to rewrite the whole thing in WPF/E and speaks a lot at user groups. Mort is the rest of us.

These are simplistic labels, and oft-overused; I'm as guilty as anyone in using these too often. But, hey, labels are fun and (when used for good) help us understand the ecosystem.

Here's some other more useful stereotypes labels... 

Copy/Paste Guy

One resume we received said  "I'm the best at my company at copy/paste...I can copy/paste code better than anyone." This guy can't code at all. Doesn't understand computers, programming, literally has trouble finding the door to the building in the morning. But, he can Copy/Paste like a ninja.

Google Gal

"I don't know how to do it, but I know that someone has already done it. Solving this problem means finding someone else's solution." It'll take an hour either way. An hour of doing it, or an hour of searching. This person will always choose searching over doing. Sometimes the search will go on for days, trying different keyboards, perhaps building incredibly complex queries "IUnknown AND Cheese BUT NOT Gouda" in order to give Google more insight into what the problem might be.

MSDN Trivia Person

I can't remember what my wife and I had for dinner last night, but I can remember the internals in System.Web.UI.WebControls.ObscureNamespace. This programmer has no concept of the larger picture, the ultimate goal, but they know that the class you're using is marked obsolete in early betas of the next version and you had better stop using it or else! They also tend to know more than IMDB about movies.

Visio Boss

This boss "used to be a programmer" and "played some with .NET" when it first came out "and didn't see anything revolutionary" during the first five minutes and hasn't given it much thought since. They tend to spend time in Visio, almost to the point that they are frustrated you're not compiling directly from their "Visio Source." They also get +2 Charisma against DBAs if they have an English Accent.

Super-Excited Dude

It's new and we need to be doing it. Sure, it's a pre-alpha personal not-for-external use build from his friend in Microsoft QA but seriously, have you seen it? We need to get on board with this before it's too late. To start, we need to send me up to Microsoft for a short 5 week Skull & Bones Meeting Software Design Review where they will teach me how to control my powers without creating a singularity and destroying all mankind with my new-found LINQy goodness. Then it's all going to rock. Seriously. I'm super-excited about the future.

Tall but Ultimately Disinterested Programmer

You can't teach height. This guy (or gal) is so freaking naturally talented it's obscene. You hate him for his skills and love him for his skills. He not only codes well, but also documents well, types fast. Dogs trust him, women want him and men want to be him. He was meant to program. However, he prefers rock climbing/motorcycle riding/some dangerous non-computer-related-hobby so-very-much-more than programming. Hey, it's 5:01PM, can I punch out? A bunch of us are doing sky diving. You wanna come along when you're done with your Halo Deathmatch? So sad. If only he used his powers for good.

Flaming Potato Guy

Hey now, that's not my fault. That wasn't in the spec. Where is the spec? See, there's no spec, how can I possibly be blamed? Talk to QA, they're insane. Truly. Listen, it compiled. It totally worked yesterday, something much be wrong with the Build Server. Freaking .NET, it sucks. Come on, this is clearly a Windows Bug, I mean OpenFile() has never worked correctly, ask anyone.

Ajax Ajax Ajax

So how does Ajax come into the picture in this solution? Ok, and this is where we add Ajax, right? And the request for JSON happens here? Now, is this Dojo or JQuery? You know that God prefers JavaScript, did you know? DHTML is better because it's like HTML, but with a "D" at the front. So, it's more Dynamic.

Used to Do HTML

This programmer parlayed a career typing <table><tr><td> into one typing if(true){}else{} and wonders why that line never runs. A job doing FrontPage turned into one doing Visual Interdev turned into one doing Visual Studio turned into one as Lead Programmer on Super Complex Project v3.

The Premature Optimizer

Never use String.IsNullOrEmpty! Didn't you know that there's a huge bug in the Framework that makes that function kill kittens if you call it on a multi-proc system with more than 4.5 gigs of RAM? Plus, it adds five microseconds of overhead as it accesses eax twice necessitating 4 extra clock cycles. Measure it? Should I have to, it's SO obvious that's inefficient!

Coasting on Charm Coder

It's unclear when this programmer last checked something in, but he or she is so darned clever, so persuasive, so innovative in their designs, does it really matter? They put together amazing PowerPoints, give compelling talks, use just the right sprinkling of buzzwords like "architectural cohesion" and "cyclomatic complexity" that you can't look away.

O(n) "Order n" Architect

Has a chart for everything. "Where's the whiteboard, let me explain..." No matter what YOU do, it won't work, and here's the computer science principle that explains exactly why. No, no, you won't possibly understand it, but trust me, it's true. You see, that's an order-n algorithm and you want to be order-log-n. You see? Here, let me illustrate by writing a perfect QuickSort in F# from memory... 

Mr. Dr. Programmer or Ivy League Dude

"I didn't spend six years going to evil doctor school to be called mister." This gentleman or lady went to a school so exclusive that you may not have even heard of it. You've been published on MSDN? They've been published in Science magazine. You went to community college? Bill Gates was their roommate. You filed a patent? Say, you know angle-brackets? This guy invented them. 

The Open "Sourcerer"

If it costs, it's crap. Free love, free software, no patents, no intellectual property, no big business. Just Solar Panels, Biodiesel and Open Source Software. Works in Windows, codes in .NET, but hates himself for it. Likes to recompile the Linux Kernel during lunch just to prove he still can. Wants to know when the last time you submitted a patch to a public project. Has a man-crush on Miguel from Mono.

The Blogger

Dude! Let me blog that. Can I? I'll totally give you credit. Can you send me the code? Where do you blog? You don't have a blog? Er...OK, how can you possibly code then? I mean, join the conversation, man. Step up, seriously. You've got no juice. I googled for you and found nothing. That's going to make it hard for you to be a good developer. Listen, I'll make you a blog, stop by anytime. You watch, everything will be better once you blog. Coding? Really, who has time, I've got a dozen subscribers that are counting on me.


Who are you? I'm afraid I am probably all of these, except Dr. Programmer and Tall Guy.

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

Caught in the Act

July 05, 2007 Comment on this post [8] Posted in Musings
Sponsored By

iStock_000001183244XSmall

My wife caught me. I knew I shouldn't have been doing it, but she was sleeping and I figured, what was the harm? It's a victimless crime.

It was late, I was *engrossed* and suddenly the door opened! I'd been thinking about doing this all day and had finally found a quiet opening. I couldn't get it off my mind, I just needed to finish this thing up.

She was awake and coming to check her email. I could tell by the look on her face that she wasn't happy. It was that mixed look of shock and disappointment that you never want to see.

"Scott David!" she exclaimed, "What are you doing? Why couldn't you talk to me first!" What could I say, I was violating that one thing that one must not violate in a relationship. I tried to cover things up but the damage was already done.

I had her personal computer opened up, ribbon cables everyone, guts spread all over the room, trying to upgrade the system's memory.

This is an even worse situation than the first time I tried to replace the main TV remote control with one from Radio Shack. At least that turned out OK in the end.

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

MSN For You - MSN Messenger Worm Virus Self Phishing Replicating Evil

July 05, 2007 Comment on this post [26] Posted in Musings
Sponsored By

getmessengerevilWow. I just got nailed. A trusted friend sent me a standard "check this out" instant message on MSN saying I should take a look at a site called http://www.newmsnlive.info also known as http://www.msnforyou.info and http://www.get-messenger.com.

Do NOT visit these links.

I didn't read the FAQ, but there's these gems:

"By using the Online Delete Checker you authorize Get-Messenger to temporarily change your nick to "http://www.get-messenger.com: Find out who removed you from his/her contact list" only for advertising purposes. You can change the nick again the next time you log into your regular MSN Messenger® client."

By using the Online Delete Checker you authorize Get-Messenger to send Instant Messages on your behalf to your online contacts advertising the site.

It is quite simple. We just try to get visits in order to make money publishing ads. There are no dark or mischievous intentions behind."

I don't know what I was thinking, but I figured I could just change my password afterwards. What I didn't expect, though, was that the website would send out Instant Messages to 300 of my closet friends, some of the messages in Spanish, asking THEM to visit the site.

Of course, these terms of service are buried at the bottom of a long FAQ I didn't read. I appreciate that they are 'honest' but I really find this way of viral advertising to be disingenuous.  Fortunately, I'm not the only one who is finding this to be very uncool, and the site(s) are starting to show up in Anti-Phishing Databases.

The issue is also being escalated with Windows Live Messenger Operations with the intent to get the URL blocked. And I've changed my Live Password.

I'm so embarrassed. This is the first time I've ever been "successfully" phished. And hopefully the last.

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

DasBlog2 Theme Contest

July 03, 2007 Comment on this post [12] Posted in DasBlog
Sponsored By

We're running a dasBlog Theme Contest! As we get ready for the 2.0 Medium Trust release, we thought it'd be nice to get a few more themes together.

What do you get for your troubles? Well, you get fame beyond measure as we'll ship your theme along with DasBlog. If lots of folks use your theme and you include a link to your own blog in your theme, you could get Google Juice.

But wait, that's not all, if your theme is selected as the most awesome by the DasBlog team (the folks on the developer's list) you also get a US$100 Amazon Gift Certificate.

If you've got a great theme you want to share, or even if you just want learn How to make a DasBlog Theme, head on over to Ben's blog as he's got a writeup on how you can get started with your own custom theme, and possibly walk away with 10,000 pennies in Amazon Cash.

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

How to Determine if a User is a Local Administrator with PowerShell

July 03, 2007 Comment on this post [13] Posted in PowerShell
Sponsored By

I truly must be losing it, but my intern and I fought with this simple task for at least 15 minutes today and it REALLY shouldn't be this hard.

Anyway, this is what we came up with to figure out if a user is a Local Administrator. It's not very "terse" PowerShell because the goal is (trying to) teach him so there's temporary variables.

$userToFind = $args[0] 
$administratorsAccount = Get-WmiObject Win32_Group -filter "LocalAccount=True AND SID='S-1-5-32-544'"
$administratorQuery = "GroupComponent = `"Win32_Group.Domain='" + $administratorsAccount.Domain + "',NAME='" + $administratorsAccount.Name + "'`""
$user = Get-WmiObject Win32_GroupUser -filter $administratorQuery | select PartComponent |where {$_ -match $userToFind}

$user
I Googled all over and thought about a number of ways this could be done, but this turned out to be the easiest. I'm interested if you have hit this before also and what you came up with.

Nonte that SID value for the Administrators group is a "Magic Number" that's hardcoded, but we get around that because it's always been that way and can never change. Instead I call it a "Well-Known Value" and sleep better at night.

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.