Rants, rambles, news and notes from another geek

Trouble Finding Defaultss.xsl

Have you ever wanted to reuse the XSL file that Internet Explorer uses to render XML? You used to be able to download it from MSDN, but apparently that link doesn’t work anymore.

After much digging, I finally found someone who had it posted and so I don’t lose it, I’ve posted it here.

defaultss.xml (13.7 KB)

UPDATE: If you are going to use this from .NET, you will need an XSLT 1.0 compliant version of that. After more digging, I found one done by Steve Muench. Here it is:

defaultss.xslt (13.63 KB)

Geek Notes 2004-01-26 Part 2

So I found an interesting little “feature” with my Motorola MPx200 SmartPhone. If the phone has been “on” for a while (days), it will suddenly stop being able to do pass-thru connections for syncronizing email.

I have mine setup to do email and calendar to a server (Exchange 2003 or MIS) and the rest via Outlook (via the USB cable). When you are connected, however, you are supposed to be able to use the laptop’s internet connection to sync to the server, and this is what fails.

The only reliable way I’ve found to repair this is to power cycle the phone. Very annoying.

  • Mars Rover Screensaver - Now that Opportunity is down and Spirit is talking again, you should also download this screensaver so you can have the news and image updates automatically displayed on your PC.
  • To Write a Book? - Chris Anderson weighs in with his take on whether writing a technology book is a worthwhile effort. His final analysis says that it is not. My gut agrees with him, but I am still considering doing it anyway. We’ll see. (Aaron Skonnard agrees with ChrisAn.)
  • Simian - Matt Berther points us to a cool tool for finding duplication in code. Free for open-source or non-commercial use. Interesting. I wish the tool were free for all use… that would be better. :)
  • WAMP - If you want to install Apache, PHP and MySqland phpMyAdmin on a Windows machine, this install script is for you. It does it all for you. [via Stefano Demiliani]
  • Authorization and Profile Application Block - If the built in capabilities of ASP.NET aren’t good enough for you, here is some more code for auth and profile management.
  • Novell LDAP Library for .NET - In case you don’t like System.DirectoryServices, here is an interesting, open-source alternative from Novell written in C#. (source) [via Jesse Ezell]
  • codehaus - an open-source repository (a la sourceforge or GDN workspaces) that “aims to support commercially useful projects and thus does not sponsor or assist with projects licensed under the GPL or other business-hostile licenses.” Excellent idea! I’ll be keeping an eye on this site. Too bad it doesn’t have an RSS feed. [via Paul Bartlett]

Geek Notes 2004-01-26

Wow. A whole week has passed since my last post. Oops, sorry.

I spent most of last week giving .NET training in Woodland Park Colorado. A nice little town, but the commute from Denver was getting old by the third day. Here is some stuff I collected while offline, I’ll have more posts soon…

  • MSI2XML - A cool little tool that converts MSI files to XML files. Good for when you want to have MSI files as text files or when you want to tweak them. It also converts them back to MSI files again.
  • MSI-Repackaging - This an interesting project that collects MSI files (as XML files–see above)–with external file references–for products that don’t use MSI. Why would I need this? Well, if you are a sys admin using SMS to push MSI files to workstations, but you have a program that doesn’t come with MSI files, then you could use this.
  • NCover - A new code coverage tool. Go check your NUnit tests! (via Ken Brubaker)
  • BizTalk Server 2004 Generic Adapter - This article describes a “generic adapter” (with code) which you can use to write your own custom adapters quickly and easily.

Oh and by the way, during my week away from blogging I found out that I have been awarded Microsoft Most Valuable Professional (MVP) in .NET for my community efforts. Wow. I am honored. Thanks.

Geek Notes 2004-01-20

At the Denver Pragmatic Practitioners meeting last night, I had an interesting chat with Brad Wilson and others last night about blogging, wikis and such. Brad and I are both leaning toward moving to a wiki with an RSS feed instead of a blog engine. My blogging has really become these once a day posts which are fun, but since I stopped working on my old wiki, I haven’t had a place to write articles. I’ve heard rumours that dasBlog will support articles soon, but as far as I know, it doesn’t yet.

Brad suggested I check out FlexWiki. I’ll let you know what I decide.

  • 10 Better Questions for Don Box - A few weeks ago Chris Sells posted that he thought Don hadn’t been asked very good questions in an interview. After collecting questions from a number of people, Chris has decided on the 10 that he would send to Don. Now we just have to wait for the answers.
  • Niobe - A framework for generating Addins for Outlook 2003. I don’t really get it… I could do that without this. An what about Extended MAPI? Let’s see you do that with managed code. (via The Daily Grind 276)
  • Smoke Kills - I forgot on whose weblog I originally found this Flash movie, but it is hilarious. A variation on the “a butterfly flaps its wings and…” theme.
  • Caching Implies Policy - In this excellent little post, Rico Mariani discusses the side effects that caching has on your code and your design. Not that caching is bad, just that you need to think about it.
  • Han Solo Frozen in Lego - Yes. Someone actually took the time to recreate the Han Solo in carbonite sculpture from the original Star Wars trilogy. In Lego. “It took about 10,000 bricks, almost all dark gray, and about the months…” (via Boing Boing)

Geek Notes 2004-01-19

Have you ever noticed that if you copy a multi-line bit of text to the clipboard and then paste it into the Google Toolbar, the code in the toolbar strips the line breaks and turns it all into one line of text? This is invaluable for copy-pasting addresses into Google for a quick MapQuest lookup.

But why doesn’t IE (or any other browser for that matter) do this for the address bar? I’m sick and tired of having to “reassemble” multi-line URLs in notepad before pasting them into IE. I know there are plug-ins and other things to help with this, but Google figured out the answer on their first try. Why didn’t anyone else?

  • Hacking Across the Process Boundary - Chris Taylor posts a solution to a problem I had a few months back. How can you get the LVITEM from a ListView in another process? A very interesting solution to a very uncommon problem.
  • Free USB WiFi Adapter - If you don’t have built in wireless, this is a great way to get a free card.
  • Command Prompt Explorer Bar - If you really want to have your command window docked to your Windows Explorer window, then this will help. C# source code provided. [via Julien Cheyssial]
  • Microsoft Dev Days 2004 - I will be presenting “Threats and Threat Modeling - Understanding Web Application Threats and Vulnerabilities” at the Denver event this year, so please come. Rumor has it that VS.NET Whidbey Beta 1 will be given to all attendees, so don’t miss out.
  • RSA Algorithm - Ever wondered how an encryption algorithm works, but didn’t want to read Bruce Schneier’s Applied Cryptography? Check out this little page and you can see how RSA works. (via Roy Osherove)

Nullsoft Scriptable Install System

Matt Berther writes:

A few days ago, I stumbled across NSIS, which is a tool that allows you to create installers for Microsoft Windows. It’s released under an open source license and is completely free to use.

I really havent had that much time to work with it, but so far, I like what I see. If you do download this and check it out, make sure and get one of the editors for it. It definately makes things easier when you’re getting started.

I’m noticing that the install and uninstall runs so much faster than the Installshield or VS.NET msi files that I have been using.

If you’ve used NSIS, Id love to hear what you think about it.

I mentioned NSIS a few days/weeks ago in one of my Geek Notes columns. Because my customer was very size sensitive, the project that we shipped last week used NSIS for its installer. The VS.NET/MSI installer we created was almost 4MB while the NSIS installer was less than 520K. And like Matt, I find the NSIS installers are much faster.

The downside is that these installers are not MSI based. In fact, the reason the VS.NET installers are so big is that they bundle two copies of the Windows Installer 2.0 (ANSI and Unicode) within the installer. If you switch the deployment project properties from “Windows Installer” bootstrapper to “No bootstrapper”, you can alleviate this, but you also can only run the installer on machines that are already running Windows Installer 2.0.

Also, if you are considering using NSIS for a project I would really suggest you look into HM NSIS Edit, a full-featured IDE for NSIS scripts. We used the Wizard to build the skeleton of our installer and it worked great. I added about 20 lines of script for registering DLLs and such and that was it.

Now I just need to get Jamie Cansdale to write NSIS Addin for VS.NET so I can stay in my IDE. :)

Geek Notes 2004-01-17

I spent most of the evening tonight watching episodes from the CSI Season 2 DVD we got from the library and playing Hold ‘Em Poker on Yahoo. Just relaxin’…

  • The Vos Pad - All LED lighting… plasma screen… tres chic! (via Ole Eichhorn)
  • Microsoft Virtual PC 2004 Trial - This is a free 45-day time-out, full version of the Microsoft Virtual PC 2004 product. No serial number is required. Now you can try out VPC-based development for free!
  • Sticky Draggable Divs - Brendad Tompkins shows us an alternative to modal dialogs in ASP.NET applications. IE only right now, but it should be convertable to Mozilla if you wanted to bad enough.
  • String Formatting FAQ - Having problems with curly braces in C# strings? Brad Abrams writes a quick little FAQ about string formatting in C#.
  • 1TB External Drives for $1200 - Soon they will be less than a grand… wow. (via Boing Boing)

Geek Notes 2004-01-16

Well, we shipped today. Now we enter that phase of a project that all developers hate… support. Waiting for the phone calls and emails to come in telling you that you let a bug through. Ugh.

  • NASA Scientists Get Custom 24h39m-per-day Watches - Interesting… I wonder how long until we see one on eBay. [via Slashdot]
  • TheServerSide.net - New site dedicated to building enterprise apps in .NET from The Middleware Company. (rss) [via Craig Andera’s Weblog]
  • Indigo Lingo - A new MSDN column dedicated to Indigo. The first article is “Creating Indigo Application with the PDC Release of Visual Studio .NET Whidbey” by Yasser Shohoud.
  • Visendo SQL-Admin - Freeware tool for administering MSDE (or SQL Server) databases. Particularly useful on Windows Server 2003 Web Edition. (via The Daily Grind 271)
  • Mustaches Give Cops More Authority - Cops in India are getting raises if they grow a moustache. Apparently it gives them “more authority”. When my dad lived in Nigeria I remember a friend’s driver telling me that he had a moustache because it made him look “more like a policeman” and that it “helped him avoid hassles at police checkpoints.” Crazy. [via Boing Boing]

January Meeting of the Denver Pragmatic Practitioners

Date: January 19, 2004 5:30 PM- 8:00PM


Location: Interlink Group Offices, 98 Inverness Drive East, Suite
150, Englewood CO 80112


Topic: Smart Clients (Are Web Interfaces Dead?)


Lately Microsoft and others have been foretelling the end of web-interfaces in favor of so-called “Smart Clients”. Come join a roundtable forum of your peers as we discuss what smart clients really are, whether we think this prediction is true, the technologies available and if web interfaces are really dead.


Refreshments will be provided.


We look forward to seeing you there.


(Join the Denver Pragmatic Practioners Mailing List at http://groups.yahoo.com/group/pragprog-denver/)