Rants, rambles, news and notes from another geek

HOWTO: Adopt .NET for Free!

I spent most of today at the Microsoft Community and Technology Leaders Roundtable. It was a good event. I sat with Brad Wilson, Kathleen Dollard, Andy Smith and a number of other cool people. In addition to the local .NET geeks, there were a number of Java guys and during the discussion Scott Ryan, President of the Denver BEA Users Group, asked why they can do Java development for free, but people can’t do .NET development for free.

I responded that of course you can do .NET development for free!

We talked further because I wanted clarification. He wasn’t just looking for the .NET SDK, but for the whole enterprise development platform. Apparently (and I’m trusting him on this) you can just download Web Sphere or BEA Weblogic and DB2 for development purposes. He said that the license is limited to development only and expires in a year, but it is available for people who want to test drive the technology.

To which I responded again, you can do that in .NET too! Although I will admit the licenses aren’t always quite so good.

I promised him that I would post a list of links to the products I mentioned, so here goes:

  • Microsoft .NET SDK 1.1├é - Provides everything developers need to write, build, test and deploy .NET 1.1 code. This is the bare minimum requirement to do .NET development for free.
  • Microsoft SQL Server 2000 120-day Evaluation - Sure it isn’t a 1-year license, but 120 days should be more than enough to get started. If you would rather not have the 120-day limitation, you can download and use MSDE 2000 Release A for free! Be aware though that it has a connection limit and is missing full-text indexing so it won’t work for all production situations. Also, you may need an administration console for MSDE, since it doesn’t ship with one (see below).
  • Microsoft Windows Server 2003 - If you are using the full blown version of SQL Server, then you may need an operating system to install it on. (MSDE will install on almost any operating system that .NET will install on so you don’t need this for MSDE.) This one is a 180-day evaluation version, but it should work for you to get started.

At this point you really do have the full enterprise environment “top to bottom”. But what you are missing is some of the core developer tools that make your life easier. Here are a few to get you started.

  • Visual Studio .NET Trial Edition - As far as I know, you can’t download this, but you can order a copy of this 60-day trial version.
  • SharpDevelop - Want a rich IDE but don’t want to pay for VS.NET? Check out the open-source SharpDevelop IDE.
  • Eclipse - Most Java developers are familiar with the Eclipse IDE and now there are at least one Eclipse Plugin for C#. I don’t know if there are any for VB.NET, but I would be very surprised if Java developers are interested in VB.NET.
  • Sql Buddy - If you choose to use MSDE and don’t want to do your database management from the SQL prompt, you will need an administrative console. This one has gotten good reviews and looks fairly complete, although I will admit that I haven’t used it. For a complete list of MSDE tools, check out this excellent list.
  • NAnt - If you need a good build engine, you don’t need to look farther than this port/rewrite of the famous Ant build tool. (Although I do know of one unnamed developer who used Ant with .NET and reports good results.)
  • NUnit - Originally a straight port of JUnit, this has evolved into a unit test harness like none other. It takes full advantage of .NET features that are unavailable in other platforms. Very recommended.
  • CruiseControl.NET - If you are looking for a build server tool, ThoughtWorks has ported CruiseControl to .NET. We use it and it works nicely.
  • Log4Net - Yeah, yeah… another port of an excellent open-source Java product. If you need a logging framework (and you do), then don’t look any further than this.
  • FxCop - This tool, provided my Microsoft for free, is a code analysis tool that checks compiled .NET code for conformance to the Microsoft .NET Framework Design Guidelines. Don’t like their rules? You can write your own.
  • Nullsoft Scriptable Installer - You need to deploy your application, right? This toolkit makes the smallest installers I’ve ever seen. And it is free! If you decide to use it, I would suggest HM NIS Edit as an IDE.
  • .NET Reflector - The coolest tool in my .NET toolbox, this will allow you to analyze and decompile any .NET assembly you want. A must have for figuring out what is going on inside the framework sometimes.

Enough? Have I convinced you that you can do .NET development for free? I decided not to bother telling you all about vi and emacs, ‘cause who wants to go back to that, right? :)


If you need an even more comprehensive list of tools for .NET, I would recommend Sharp Toolbox. They have the most comprehensive list of tools you will find anywhere.

Interlink Weblogs Have Arrived!

Well, after much preaching, I finally convinced a few Interlinker to start blogging. And even better, I convinced the bosses to let me setup a .TEXT server.

The address is weblogs.ilg.com and we have a few people who’ve started posting. We have some developers, some network engineers and some managers. Should be interesting.

Here are a couple of highlights:

  • Thoughts on Continuous Integration - Kris Syverstad’s first blog post is about his recent experience with CI. Hopefully he’ll be posting a lot more soon!
  • Microsoft Data Access Application Block Bug - Chris Austin has found what he thinks is a bug. I told him that it is probably there by design. Opinions?
  • Syverstad’s Software Development Standing Orders - Kris Syverstad and I have been playing around with a military organization for software development and he has started a category on his blog for his thoughts on the subject. His first post is interesting.├é I don’t agree with all of it (comments?), but I like what he’s trying to do.

One thing of note is that I think I prefer .TEXT to dasBlog. I’m sorry Clemens, but it is true. I want the Articles section and I’m sick of waiting for it and I’m too lazy to write it.

Maybe I’ll switch to .TEXT one of these days… I wonder if I can a) easilly port my content [probably] and b) keep all the old links working [maybe]. We’ll see.

Geek Notes 2004-02-17

As I was driving to my mother-in-law’s house this evening to fix her broken DSL I saw a billboard that said:

“My free lessons are already on your computer!”

As I drove past I started thinking about what it was saying. It is basically a big fat lie. Why would anyone want to take computer lessons from some schmuck who lied to me about how my computer worked? His f**king computer lessons are NOT on my computer! They are available online, but that is not the same thing.


  • We Are Morons: A Quick Look at the Windows Source - Tim Tabor posted a link to this article to WTOT today. What an interesting read. It is a general review of some of the code that has been making news lately. Honestly, it makes me├é want to see that code, but since I don’t have it the review will have to do.
  • Crimson Room - Man this damn game is addictive. One room… try to get out! It took me almost an hour, but I did it.[via simplegeek]
  • Services vs Components - Clemens Vasters makes some really good points about what a component is (and isn’t) and what a service is (and isn’t).
  • Premature Optimization - I was talking with one of our developers today about how so many people have a tendency to prematurly optimize their code. You know, worry about performance “problems” before you actually know where your performance bottlenecks are? Or before you know what your performance requirements are? I’ve also had a few discussions with Brad Wilson (aka The .NET Guy) about this. Favorite quote? “It is easier to optimize correct code than to correct optimized code.” Good advice.

Oh and one more thing… my wife like me to watch American Idol with her so we can make fun of them together. Well tonight they all SUCKED! I can’t believe they let those boring idiots even go on television. The only good part was when they played a Simpsons clip (from the upcoming episode) of Homer punching Simon in the face.

Geek Notes 2004-02-15

So my wife and I found out on Friday that we are going to have a boy in July. She’s been predicting a boy since we found out that we were pregnant, but I wasn’t sure. After seeing the “parts” on the ultrasound, I’m convinced. We are all very excited and I have to admit, knowing the gender really does make the name game a little easier. :)

  • New Longhorn Screenshots - Courtesy of Neowin.net, here are shots of build 4053. Apparently nothing new since the PDC build. [via Stephano Demiliani]
  • QueryDom - Here is a resurrection of an old idea (I attempted something like this in C++ years ago). A DOM (Document Object Model) that you can use to generate dynamic SQL queries.
  • XmlSerializer Leak - Paul Wilson found a nice little memory leak in XmlSerializer. If you use this class very much (I sure do), you should read this post.
  • Dynamically Adding <head> Content in ASP.NET - Brendan Tompkins proposes an interesting solution to this problem. I’ve always just used a Placeholder, but his trick should work too.
  • Allegiance Source Code Released - Back in 2000 MS released Allegiance, a team-based online game unlike anything before it. Now you can have the source… only 511MB! If you don’t care about the source and just want to play, visit FreeAllegiance.org.
  • Simpsons Movie Finally Going to Happen - Matt Groening has been hinting at this for years. Will it be great or will it suck? I wonder…

Geek Notes 2004-02-14

So I spent a few hours on Friday bringing up a .TEXT based weblog site for my employer, Interlink Group. We have a number of really smart guys there and I’ve been trying to get them to blog for a while. Hopefully it’ll work out. At first glace, I really like the look of .TEXT. I particularly like the Articles bit. From looking at the code (and talking to The .NET Guy) it sounds like the templates aren’t separated from the code well enough, but I don’t know how much I really care about that. We’ll see… maybe I’ll convert from dasBlog to .TEXT one of these days.

  • DevDays 2004 Walkaways - Wow! Check out all the good things you will get when you attend DevDays this year. Come on out for the free stuff (particularly the Whidbey Tech Preview), stay for the interesting topics.
  • VS.NET Debugging Tips - Daniel Cazzulino gives us a number of interesting debugging tips for Visual Studio .NET.
  • Whitehorse on MSDN TV - Wondering what to expect in the way of Web Services debugging in Whidbey? Watch this video. [via Aaron Skonnard]
  • Hackers Hall of Fame - The Learning Channel has a new site up focusing on the most famous hackers and crackers of all time. An interesting read… if for no other reason than to see what some of these guys look like. [via Stephano Demiliani]
  • Justin Rudd Reviews Shadowfax - In case you haven’t heard of it, there is an SOA reference architecture in the works called Shadowfax and Justin Rudd doesn’t like it. I have to admit, when I looked at it I saw the same thing… too complicated for most people.

Happy Valentine’s Day!

Geek Notes 2004-02-11

Whew. Had a few minutes to catch up on some RSS content now that the ADS is over.

  • Don’t Let Your Dog Drive on Pills - This is from one of my favorite sites, “This Is Broken”. I get more laughs from this site than any other single source.
  • Sanjay’s Coding Tips :: MSDE Tools - A nice collection of information about using MSDE effectively. (via Paul Bartlett)
  • Drum Machine - Every now and then a new Flash movie makes the rounds. My good friend AaronX sent me this one and it could easily be the next one… very very cool.
  • Power Point Presenting Dos and Donts - Since I’ve been doing tons more presenting lately than ever before, I stop and read posts like this very carefully. Especially when they are from Scott Hanselman.
  • Dillo - A tiny little open-source web browser written entirely in C from scratch. Less than 350K in size. [via Stefano Demiliani)
  • wx.NET - An implementation of wxWindows for .NET. Allows cross platform GUI development in .NET (supports .NET, Mono and DotGnu). [via Stefano Demiliani]


OneNote Complaints


So I’m out here at the MTC in Silicon Valley and I’m using OneNote instead of Word to capture my outlines and notes. I have a number of complaints.

Why doesn’t OneNote use the same keyboard shortcuts as the rest of Office (particularly Word)? For example, I use these keystrokes in Word:

  • CTRL+SHIFT+L - Convert to Bulleted List
  • CTRL+SHIFT+N - Convert to Normal Text
  • SHIFT+F3 - Cycle capitalization (lower, title, all caps)

Update: CTRL+SHIFT+L works as expected, but CTRL+SHIFT+N creates a new page. Oh well…


Why are the keyboard shortcuts incomplete? For the life of me, I can’t seem to find a shortcut for toggling a single outline level. I can double-click on the little icon to do it, but I want a keystroke dammit!

So then decided to map some of my own keyboard shortcuts. Know what? You can’t. You get the ones they’ve given you and that’s it.

And why does it use some screwy binary file format? Why can’t I save as OPML?

In general, I would say I like the product, but it is obviously a version 1 product. The rest of Office has tons of customization features that let me adjust everything I want. OneNote assumes I am a mouse user and has completely omitted the features that a keyboard guy needs to really get work done.

Off to MTC Silicon Valley

I’m off to the Microsoft Technology Center (MTC) in Silicon Valley tomorrow morning for a 2-day Architecture Design Session (ADS) with a large client. I’m optimistic. We’ll see, though… I’ve had people say to me, “Bring a book,” implying that I would be bored. I sure hope not.

I don’t know if I’ll have any connectivity while I’m there, so probably no blog entries until I get back.


So I’m sitting here trying to figure out how all the top training guys (Don Box,├é Chris Sells,├é John Lam,├é Craig Andera, Keith Brown, etc.) ever find time to blog or write. Sure Don and Chris aren’t doing├é much of the training thing anymore, but I still don’t know how they ever found time.

In the past few weeks I have been doing a lot of training for the Microsoft Rocky Mountain District office. Some of it was customized curriculum, that I had to write, and some of it was official MOC material. But I am not the kind of person who can step into a room full of people unprepared, so each night I spent a fair amount of time getting ready. You know, reviewing my slides, practicing the demos, confirming that the labs work, etc.

But for a full day’s training, it takes at least 3 or 4 hours to prepare, even when you already have the materials. So the question remains, how the heck did they ever find time to blog, do the newsgroups, write articles… not to mention write books?

I am in awe of them.

PS. I’ll try to get a Geek Notes issue out soon…

How Not to Behave in a Movie Theatre

So, Saturday night my wife and I went to see LOTR ROTK at the local theatre. It was my second time to see it but her first. It is always nice to get out and have a night away from the kid, just me and her.

We got there a little early and settled into seats on the isle. Em is pregnant, so she was concerned about bathroom breaks during the 3 1/2 hour film. As the previews rolled, the theatre was starting to fill up.

The seats we had chosen were in the second isle.. the one that has the railing in front of a few seats. The railing corresponds to a handicap section in the row before. Right as the movie was getting ready to start, a woman wheeled in with her dog and a couple of friends and they settled into that section. Behind us I could hear what sounded like a russian couple chatting… no biggie.

Until the movie started. Now I don’t want anyone to accuse me of picking on Russian or wheelchair bound people, ‘cause I’m not. I just happens that these two groups of people almost ruined this movie for me and my wife. Picture this…

After every line in the movie, the russian lady would translate for her husband. If something was written on the screen, they would both read it out loud. At the beginning of the film, they were whispering and I didn’t really notice it. I sorta just blended into Frodo’s hallucinations and Gollem’s mutterings. But they got louder and louder. By the time it gets to where Frodo is finishing up the book, the two of them were basically reading along with Frodo at full speaking volume. I was fuming.

So what is up with the handicapped lady, you ask? I think it annoyed my wife less but me more. Have you ever sat in a theatre with people who don’t understand that you shouldn’t always bark out a laugh every time something mildly humorous on the screen? People who clap and cheer when the good guys do something well? People who high-five when Gimli makes a joke?

God I hate that. Applause is for when you want to let performers know that you like their performance. You don’t need to clap during a movie. And a little bit of restraint on the other boisterous behavior would be appreciated by all the people around you.