Rants, rambles, news and notes from another geek

Fun With VPC

I’ve been a longtime fan of VMWare, but since my company gets VPC licenses with our MS Partner license, I’m moving away from it.

At first it was annoying because it was different, but I’ve found a few things that I really like about it:

  1. You can mount an ISO image as a CDROM drive in the guest OS from your host PC. Very convenient since almost everything on MSDN downloads is in ISO format
  2. You can mount a folder from your host PC as a drive in your guest OS. I only just discovered this one and it is very cool.
  3. The video driver’s tolerance of window resizing is amazing

I’ve also run into a few problems. Some I’ve solved and some I haven’t

  1. In VMWare, you could setup networking as “host only mode” and you didn’t have to worry about it. It just worked. This is very nice for when you are building an AD controller in the virtual machine and don’t want it messing up your “real” domain. I figured out how to accomplish the same thing by using the loopback adapter and static IPs. Not quite as elegant but it does work.
  2. Each VPC can only have 1 NIC, so you can’t simulate complicated server setups
  3. I haven’t tried it yet, but I can’t find any docs about setting up clustering using VPC. Anyone?

All in all, I’m pretty happy. Apparently there is a new version in the works. Wonder what they’ll add?

Denver Pragmatic Practitioners

Well, it has begun. Monday night Gordon Weakliem, Brad Wilson, Greg Reinacker and myself got together for a planning meeting over beer at the Park Meadows Rock Bottom Brewery.

We put together a tentative plan for how we will make this thing work. We are hoping to get Dave Thomas to join us in November, so once I get confirmation from him I will post a message telling when and where we will meet.

I have created a page for our group on The Pragmatic Programmers Wiki. Please keep an eye on that page for details.

I will post an announcement here when we have a date for the next meeting.

Open Source Licensing

NAnt is considering switching its license from GPL to something less restrictive. In my opinion, this is a very good move. I’m not a huge fan of the GPL. Way too restrictive.

Stefan Bodewig (long time contributor to Ant and member of the Apache Foundation) gives a nice analysis of the difference between the different licenses.

Behind the (L)GPL is the philosophy of Free Software as defined by the FSF. It is a philosophy and a political manifesto that you can agree with or not. The GPL has been crafted to enforce this vision.

The GPL as well as BSDish licenses give their users the right to get the code for free and to modify it. The GPL takes away the user’s right to distribute the modified software under different licensing terms, and it does so because it wouldn’t be “Free Software” anymore otherwise.

If you have any problem with big companies making money with your software without giving anything back to you - the BSDish licenses are not for you.

As for “most open”, I’d say the MIT license1 probably is the winner here. It basically says “do with this what you want, don’t blame me”.

The BSD license2 adds one thing “don’t advertize with my name, at least not without asking for permission”.

And the Apache Software License3 adds brand protection on top of this. “Don’t call your derived project like mine”.

I like this description because it helps clarify what it is that I don’t like about the GPL: I don’t agree with its philosophical underpinnings.

Stefan continues…

I for one don’t agree with the FSF’s vision, I feed my children from money I get for writing commercial software and I don’t feel bad about it.

I enjoy writing software and giving it away for free as well - and if I contribute to a open source project that uses a BSDish license I get the additional benefit that I may use my own code (plus improvements made by others) for the commercial software I write.

Exactly. The FSF has tried to ram the GPL down many people’s throats and I think a lot of young developers don’t really understand the implications.

The reason I’m writing OpenPGP.NET from scratch is because the only open source implementation that I could find was GPL’d. I don’t want to contribute to it because I would then be prevented from using that code (that I wrote) in a commercial application.

The GPL is way too socialistic for my taste. I tend toward a BSD or Apache license because I feel the restrictions they are adding make sense.

My 2 cents…

PS. If you are looking for greater detail on the various open source licenses out there, check out this list at opensource.org.

[Original Bodewig quotes found via John Lam’s iunknown.com]

Make Acrobat Load Faster

Robert McLaws points us to this post by Vasanth Dharmaraj:

Here’s how to do it:

  1. _Go to C:\Program Files\Adobe\Acrobat 6.0\Reader (replace the C if you installed on another drive, like I did). _
  2. _Create a new folder called plug_ins_disabled. _
  3. _Move all files from the plug_ins folder to the plug_ins_disabled folder except EWH32.api, printme.api, and search.api. There should only be these 3 files in the plug_ins folder. _
  4. You’re done.

Thank you. Acrobat just seems to be getting slower and slower.

Documentation, Documentation, Documentation

Wallace McClure has been writing about his unhappy experiences on a new project. In one post he wrote:

I asked for some documentation when I first got here.├é I looked at it, realized that this was some “God-n-Country” documentation that basically was a cut-n-paste of some Microsoft Marketing documentation for├é certain technologies,├é and then asked for the programming documentation.├é There is no programming documenation and the guys that originally developed this app have left.

My question to Wallace and everyone else out there is this:

Have you ever walked on to a legacy project and been given good documentation?

I haven’t. I don’t know anyone who has. I’m not saying “no documentation” is a good thing, but I think people have a tendency to yell “WHERE ARE THE DOCS?” anytime they have to take over someone else’s code. The fact is, taking over someone else’s code sucks. No one writes code and cleanly as you do, and everyone makes decisions that you wouldn’t have made.

Right?

Even if you have been handed a bible of documentation, did you trust it? Did you just end up reading the code anyway? I’ve certainly heard this before: “Yeah, that (points to binder on desk) is the docs from the last release but they seem to be way out of date, so I’m just reading the code.”

I don’t like this anymore than you do, but I happen to agree with the TDD guys who preach that the code itself is the best documentation. If it is well written and clear, you shouldn’t need much more than a few pages of architectural and glossary information. Maybe not even that.

Tojan.QHosts

So I was up in Vail working through a breakout session (with a mild hangover from the night before) when my dad calls.

“I can’t get to Google. I can get to a bunch of other sites, but I can’t seem to get to Google? Did you mess up my networking?”

He asked this last bit because when he was at my house I had to tweak his wireless to get him on my network. But I didn’t do anything other that add a SSID and WEP-key to his wireless config, and since he could get to some sites but not others, it couldn’t be that.

So we went ‘round and ‘round and finally I had to go back to my meeting. Later in the day he found a post by someone telling him to delete the hosts file in C:\Windows\Help. This solved his problem.

This morning I discovered what it was that was causing this… another damn virus/worm/trojan/malware.

Pragmatic Practitioners in Denver

Brad Wilson (aka .NET Guy) writes:

Peter Provost_ mentioned once about _his desire to start a Pragmatic Practitioner’s group here in Denver_├é and having an inaugural meeting November. Is this still happening? Is there something I can do to help along the process?_

My bad. What happened is that I emailed Dave Thomas about coming, and after an email or two he went dark and after waiting for him I kinda forgot about the project.

So! I guess what we need to do it schedule the darn thing and see what happens, eh? A number of people showed interest. Who would like to help me organize this thing?

We need to do a few things:

  1. Pick a location. I doubt we will get more than a dozen people at first, so we don’t need anything huge.
  2. Pick a topic/agenda/plan. We should probably review everything at http://www.pragmaticprogrammer.com/cgi-local/pragprog?HomePage to get an idea of what other groups have done.
  3. Schedule it and send out invites. I think we should still target Nov 15-17 just in case Dave can join us.

I would like to ask for a few volunteers (Brad? Gordon?) to help me get this done. Perhaps we can meet for an hour or two over a beer to plan this out.

Let’s take this offline for now. Please email me if you’re interested. I would like to schedule the planning meeting for sometime in the next week or so.

Thanks!

I'm Back

Spent the last 5 days in Vail on our company’s annual management retreat. (Who me? Management? Yeah, right.)

Anyway, I got back to a full work Inbox, a fuller (sic) personal Inbox and an absolutely massive pile of unread posts in my RSS aggregator.

Whew! I’m working my way though the RSS, SpamBayes cleaned up 95% of my personal Inbox and I spent this morning catching up on work email. Maybe I’ll be caught up by tomorrow… we’ll see.