Scott Hanselman

Task: Remove a Programmatic Crutch

July 21, 2007 Comment on this post [17] Posted in Musings | Programming
Sponsored By

Phil DeVeau left a great comment about Podcast 72 on Becoming a Better Developer in Six Months. He said:

Remove a Programmatic Crutch.  Everyone has programmatic crutches, maybe you can't code without coffee, or without music, or more likely you can't do anything without an IDE.

I love the way he phrased it. A while back (do forgive me the self-quoting, you know you're an idiot when you start quoting yourself but...) I said If you're going to develop a habit, why not make it a best-practice-habit?

That was a true and pithy statement, but I was thinking about new habits. I often forget about all the old ones. Here's my "crutches" and I resolve to do something about them...even if that something means deciding that they, in fact, work for me and I decided to keep on doing them. At least I'll be able to say that I haven't lived an unexamined programmer-life.

  • Email Checking: I tend to roll directly out of bed and roll, roll, roll, down the hall, roll into my chair, and immediately check my email. This is insane. There's rarely something crucial that's happened between 2am and 7am that needs my attention.
  • Crackberry: I'm getting better with this one, but still, the "urgency addiction" is strong in this one. I'll try to embrace the freedom of only checking email forty, er, um, I mean, four, times a day.
  • Caffeine: I thought I kicked the junk, but I'm back on it. The Diet Coke is going to destroy me. In the words of Dennis Miller, do I need a soft drink with an undertow? I'll start reaching for water unless I really need a kick to get some code working. Actually, I think that Diet 7UP is probably an appropriate methadone for Diet Coke, no?
  • XM 150-154: I love my XM Radio, especially the four twenty-four hour comedy channels...I listen to them while I code...wait...why is this a crutch? Screw that, I'm keeping this one.

What programmatic crutch are you going to remove during your quest to be a better developer in the coming months?

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

First Rule of Software Development

July 21, 2007 Comment on this post [19] Posted in Programming
Sponsored By

fight-club-dvd We had a great email go out today from Brian Windheim, one of the Architects here. He said I could share it. It was sent internally to his team. I like Brian's style.


Frank broke the First Rule of Fight Club Software Development yesterday:

Never commit code just before you leave for the day.

The CCNET (Continuous Integration) build subsequently broke – despite the fact that he ran a local build first – and team members who were still in the office had difficulty progressing with their work for several hours.

First, the remedy.  If this ever happens again, simply revert the source repository to the prior known-good state using SVN’s revert changes.  Don’t try to apply band-aids, and don’t waste time solving a problem that the original developer could probably solve in about two minutes.  Using the tools correctly saves oodles of time. 

Second, the reaction.  Folks, don’t panic.  Ever.  If a quick peek doesn’t find the answer, don’t be afraid to pick up the phone and call the dude who broke the build.  In 15 years of software development I have many times been the guy that broke the build, fixed the build, got mad when I was working at midnight to fix something broken by the guy that just went to Mexico on vacation for two weeks, reprimanded the guy the broke the build, been reprimanded for breaking the build, and so on.  Get used to it.

Third, the lesson.  Don’t commit things without waiting for CCNET to tell you that you can go home.  All the more reason to have a faster build, no?


Broken builds break hearts, I say.

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 73 - The Interns

July 21, 2007 Comment on this post [2] Posted in Podcast
Sponsored By

My seventy-third podcast is up. I have two high-school interns working for me this summer. In this episode I talk to High School Seniors Eric and Shady about their experience working at Corillian and their thoughts about learning languages and the future of engineering.

If you have trouble downloading, or your download is slow, do try the torrent with µtorrent or another BitTorrent Downloader.

Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.

Telerik is our sponsor for this show.

Check out their UI Suite of controls for ASP.NET. It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.

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)

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

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

MUIs and LIPs - How to write in Chinese and localize Windows in your language

July 20, 2007 Comment on this post [10] Posted in Internationalization | Musings
Sponsored By

I saw this email on a mailing list today:

We have some Chinese exchange students in town (a couple at my house actually). Some of the host families are finding that Chinese characters don’t display in IE – just boxes.

I did some searching for Chinese language packs for IE, but apparently I’m missing something. I can find packs for Office, and alternate versions of Windows itself – but where’s the magic download location so IE can display Chinese characters?

And while I have your attention in this matter – does anyone know of a good way to get US keyboards to enter Chinese characters? Or a virtual keyboard or something?

I personally don't think it's easy enough in Windows to add another keyboard and there's still a lot of confusion about language and "language packs" because of pre-Vista versions of Windows. Even now, there are aspects of Vista that make a non-English experience more than a little confusing.

To start with, I run Windows in English, but I'm told that there are some option updates (15 in fact!) and I'm continually (constantly?) reminded of it. I hope there won't be 945 updates in 10 years, all option, but I'll be reminded every day...

image

What 15 updates are these, you ask? Why Language Packs they are...specifically "MUIs."

View available updates

There are two kinds of Language Packs for Vista:

Windows Vista Multilingual User Interface Pack (MUI).‌ Windows Vista MUIs provide a translated version of most of the user interface. MUIs require a license to be used and are only available with Windows Vista Ultimate and Windows Vista Enterprise. If you are using Windows Vista Ultimate, you can download MUIs by using Windows Update. If you are using Windows Vista Enterprise, contact your system administrator for information about installing additional languages.

Windows Vista Language Interface Pack (LIP).‌ Windows Vista LIPs provide a translated version of the most widely used areas of the user interface. LIPs are freely available to download, and most LIPs can be installed and used on any edition of Windows Vista. Because not all of the user interface is translated, LIPs require at least one parent language. The parts of the user interface that are not translated into the LIP language are displayed in the parent language. When you download a LIP, you get the parent language requirements for that language. The parent language pack needs to be installed before the LIP can be installed. For more information, including a list of languages available for downloading, go to the Microsoft Local Language website.

Now, I'm no marketing guy, but I think MUIs (Moo-ies?) and LIPs are probably not very good names for these Language Packs and the differences are confusing.

The nutshell is that:

  • MUIs are more complete and are in Windows Update for the upper-Vista SKUs.
  • LIPs are partial translations (about 80%), and are free to download. They are also applied to all users on a machine.
    • This can be a free way to get your Mom or Grandma set up with "Chinese Windows" without much hassle. They usually install on top of XP English. There's 27 languages available.

You can get LIPs (Language Interface Packs) at the Local Language Website.

Language pack installation Where it can get confusing is that these packs are for localizing the interface. Showing the interface (output) is a different problem than inputting in another language. And all this is different from simply browsing in a foreign language.

Also, IE and other browsers are smart about fonts. This started around IE5, where you could visit a site in Chinese and IE would download the font automatically. Interesting, though, while you could see the Chinese inside the browser, if the <title> was also in Chinese, you'd see squares, because Windows didn't know enough about the font get render it in the Windows Title Bar.

When a language doesn't fit the English keyboard, there is usually a method - or many methods - to input the language. Windows includes IMEs or Input Method Editors for this purpose. I talked about the Ethiopian Amharic IME recently.

If you're running Vista, try this out. Go to the Control Panel and run the Regional and Language Options. Go to the Keyboards and Languages tab and click Change Keyboards. Notice the Installed Services tree view. This shows you the languages and keyboards you want available.

Text Services and Input Languages

Make sure you click over to the Language Bar tab and make sure that Docked in the Taskbar or Floating on the Desktop is checked. You'll see your existing culture appear in the Language Bar - mine is in the tray.

An IME will appear when you start typing in the foreign language. The IME for Chinese, specifically "Microsoft Pinyin" has many options for entry, depending on your style.

image

The Japanese IME is really nice, especially on a Tablet PC, as you can draw the strokes you want with the pen or mouse and it will narrow down your choice of characters.

image

As Ethiopian Amharic is a syllabary kind of like Katakana in Japanese, to enter Amharic you type the English letters that sound like what you want, and you get a list of choices as seen in this screenshot:

All of these IME's are available to you already in your current Vista installation. You just have to turn them on.

To summarize:

  • Regional and Language OptionsTo see your whole Windows Interface in a different language, look at a MUI or a LIP.
  •  To input a foreign language on your Windows machine, add a Keyboard and IME from Control Panel | Regional Settings.
  • To browse a website in a foreign language, make sure the fonts are installed. You can do it manually, or from Regional Settings. The XP example is at right. You don't need to do this on Vista, all the fonts come with it.

There's some confusing parts to this initially, but once it's setup, all you have to do is select the language from the Language Bar and it just works.

Cool stuff, I say.

Scott Hanselman 是 Corillian Corporation,一家提供電子金融服務的公司的首席設計師。他在以 C、C++、Visual Basic、COM 及目前的 Visual Basic .NET 和 C# 開發軟體方面擁有超過十年的相關經驗。Scott 非常榮幸在過去三年來受任 MSDN 俄勒岡州的波特蘭地區主管一職,並同時在波特蘭和西雅圖兩地發展 Developer Days 及 Visual Studio .NET 產品推出活動的內容並發表演說。Scott 另外還在四個城市的 Microsoft®Windows Server®2003 和 Visual Studio .NET 2003 產品推出活動中演講。他在國際間陸續發表跟 Microsoft 技術有關的演講,並與其他作者合著了兩本 Wrox Press 的書。在 2001 年,Scott 於全國 15 個城市巡迴演講有關 Microsoft、Compaq 和 Intel 採用 Microsoft 技術並傳佈良好的設計實例。今年 Scott 在太平洋西岸 4 個城市的 Windows Server 2003 產品推出活動、美國及馬來西亞的 TechED,以及奧蘭多的 ASPLive 中發表演說。有關他對於 .NET, 程式設計和 Web 服務的各項領悟,請參閱 http://www.computerzen.com/

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

Sony: Anatomy of a good web interaction

July 20, 2007 Comment on this post [5] Posted in Musings
Sponsored By

sony logo While I do dig Sony's hardware, my experience with their website and the company in general has been a giant, faceless, nameless automaton on another continent.

My wife has this Sony Clié "PalmPilot" from a million years ago that she totally relies on for her Address Book. She doesn't want me to buy her a new one because "this one works fine."

However, I upgraded her computer

(remember the Toshiba M200 I was trying to get to get Aero glass working on? That's hers now. It runs 1024x768 with Aero no problem, but I can't stand to look at it because the native resolution is 1400 by something. I don't know how you people can stand running an LCD at non-native resolution...)

 to Vista a while back, but never installed the ancient Palm Desktop for Clié.

Sigh...I figure, off to the beast that is the Sony website. I mean, seriously, they have like 2000 different products...

(By the way, which of you Dear Readers, is going to sell me a Sony Aibo?)

...so at this point I'm not looking forward to hunting for five-year-old software on a giant corporate website.

In fact, I was wrong. The interaction was brilliant. Here's how it went down.

1. Visit Sony.com...click Service & Support, then Drivers/Software. They get an initial -1 for using Flash for the whole home page. Not because I have a problem with Flash (or Silverlight for that matter) but because of my initial knee jerk reaction of "Oh crap, another fancy Skip This flash movie to introduce me to a corporate website." No one likes that feeling. In fact, I was wrong. I assumed they were loading a movie/intro but instead they loaded a very functional menu.

Sony Homepage 1

2. Next, I'm presented with this page. Not perfect, because the first reaction is to fill out both sides, but once I figured it out, I realized that I could either enter the Model Number or do the cascading menu thing. I really appreciate it when a company keeps the product menu complete and fresh. I was happy to see this old model still appearing in the menu.

image

3. This next page is inspired. Again, no one is winning any design awards for these pages, but I'm talking about smooth interactions. Why is this inspired? One word: everything. This giant corporate behemoth actually gave me a menu item for "Everything." This is the user interface item that says, "get out of my way and just give me the whole list." Fabulous. Boo-ya. I literally muttered "sweet" under my breath when I hit this page.

image

4. Bam, there's my software, with a five-year-old date on it.

(What does that say about the Internet that I'm amazed to find something Five Years Old that is still cared about? Why is finding stuff that old in my garage a daily thing, but on the web it's a miracle?)

I download the software and I'm on my way.

image

Yes, I tried Googling for Palm Desktop Sony Clie N710c first, but didn't find anything promising (I'm lazy) in the first page so I ended up going to Sony.com and finding what I needed very fast.

It is probably possible to make this 4-step interaction more streamlined, but sometimes one-step isn't the right number of steps. In this case, there were no false starts, no ambiguous questions, no backing up or poking around. It was not only clear to me how to find what I wanted (remembering I had low expectations), but the interaction left me thinking ever-so-slightly better of Sony - a company whose website I'd largely mentally given up on.

Whose website has recently surprised or impressed you with a specific interaction or a recent redesign?

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

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