The .NET Framework v3.5 complete package can be downloaded from Microsoft's web site, but it comes at a hefty price - 197MB.  Within those 197MB, there's a version of the framework for x64, x86, a myriad of system patches that are required by the framework, etc.  The bad news is if software developers decide to redistribute the whole framework, they're tacking almost 200MB onto their customer downloads.  The good news is that it's probably completely unnecessary to do so.

In a spirited discussion on the Business of Software forum, the .NET Framework came under fire for being unreasonably large to download at almost 200mb.  I agree with that argument that if (and only if) your customers have to download the entire package.

As luck would have it, I had an old Windows 2003 (Service Pack 2, with only .NET 1.0 & 1.1) development virtual machine laying around.  As proof of not having any of the .NET 2.0+ bits, here's a screenshot of the %WINNT%\Microsoft.NET\Framework folder:

Win2K3_No_dotNet2Plus_Partial

I installed a trial-ware bandwidth monitoring tool called Bandwidth Monitor Pro to ensure that the Microsoft bootstrap installer (2.7MB) wasn't lying about the size of the bits it would download.  Here's what the .NET 3.5 Installer had to say about the download:

installer

63MB - Not thrilling, but but nice ( better than 200mb!)

The final verdict?  From Googling ".NET Framework 3.5", downloading the 2.7MB installer and it pulling down all the bits it required is a total of 66.64MB downloaded as shown below:

download_complete

 

Yes, 66MB is a relatively large download, but it's not the 200mb people are whining about.  If I find the time, and there's some interest - I may do this test with a Vista virtual machine as well.

but their desktops are utter garbage.

I bought a desktop PC from them with 4GB of RAM.  Of course, it can't actually use all 4GB of RAM (yes, even in a 64bit OS) because the BIOS doesn't have an option enabled to allow memory remapping.

When I contacted their executive escalations department (michael@dell.com) to complain, they just passed the buck to some tech...who passed the buck to the product group...who sent me a link to a Microsoft KB article stating that yeah...it's a problem.  For those who don't know what the memory remapping option is/does, it's not Windows specific, this problem would exist in Linux, etc.  Buyer beward.

At the end of the day...my unsolicited advice is...build your own PC, even if it costs $100-300 more.

The model of the PC is the Vostro 400 for those who might be thinking of buying one.

This morning a few of my coworkers and I went to Toronto Code Camp 2008 for .NET.  After getting up at 5am to drive two hours to Toronto (from my home in a suburb of Buffalo, NY) - I was sorely disappointed by the two presentations we went to:

  1. Building Workflow Foundation Enabled Windows Communication Foundation Services in .NET 3.5

    My first gripe was with the facility - the microphone didn't seem to be working properly, so while the facility staff was working on that, it was fairly distracting.

    My second gripe is, the presenter didn't seem to want to be bothered with coming up with his own material, so he simply based it entirely on someone else's presentation (which he states was available as a webcast online.)  Great - then why am I getting up at 5am on a Saturday for this?    He also couldn't manage to get the samples to run well. 
  2. SOA using WCF & WF

    Again, the microphone (in the same room, immediately following the first presentation) would simply randomly start/stop working.  Very annoying and distracting.

    This presenter was a much better presenter / speaker than the first, but I came away no smarter (or more informed) than if I had slept in.  I'm far from an expert by any means, but I was looking for some nuggets or gems of wisdom.

 

I have the following suggestions for organizers of such events:

  1. Put in an advanced track for these types of events and start calling the appropriate sessions "Introduction to..." 

    Talking about pass by reference vs. pass by value, or explaining what Workflow is, or defining SOA should not be necessary.  If you audience is proactive at keeping up with tech, there's no reason to go over this info.

  2. Provide experience-based wisdom, best practices, trade-offs - books and documentation can more than cover the basics.  If you want to provide real value to the audience, start with a real-world scenario and explain what and why you chose to do it that way.

Rather than stick around for the afternoon sessions (given the mediocre morning sessions) and got home a little bit early.  I had high hopes for this mini-conference, especially since it was within driving distance of Buffalo. 

 

Maybe next time.

I'm really surprised that Sony won this format war.  Luckily I'm generally a late adopter for media equipment, so I've been on the sidelines waiting for someone to be declared the winner.

Now I just have to wait for someone to come out with a $100 Blu-Ray player.


More here about the official demise of HD DVD.

 

I love the Perforce source control system - especially since the 2-user license is free.  However, I was a bit confused by the error message I got when the service failed to start.

DoNotClick.JPG

Note: Opening "C:\Perforce\svc_help.txt" didn't help solve the problem.  Googling for the problem however, did.

I had to copy/move a large virtual machine (167GB) from one hard drive to another on my Windows 2003 Server workstation today.  All I really wanted to do is start the transfer and let it run in the background while I browsed the web.  In a world of dual-core, 4GB honkin' workstations, I didn't think this was too much to ask.  Unfortunately Windows Explorer's file-copy thought differently about it.  Everything 15-20 seconds the OS would "hiccup" and refuse to relinquish control for a good 30 seconds to 2-3 minutes. 

It finally pissed me off enough to go look for a solution.  What I found was an explanation of the culprit (here for this who care.)  And a (free!) solution - TeraCopy.  It will integrate into your Windows Explorer / Shell (overriding the default copy/cut/paste behavior as well) and let you keep right on working.  Not only that, but I'm actually seeing great performance numbers (54mb/sec) that I would expect from two relatively fast SATA hard drives.

I wouldn't recommend doing anything crazy like encoding 1080p HD video while doing file copies, but it's far and away a much more pleasurable experience (no jerky behavior, etc.) - I can keep coding in Visual Studio, keep browsing the web, etc.  What can I say?  Go download it!  Save time!  It's free (for home use!) 

I'm so happy I may actually pay for the Pro version, just to show my support.  Cheers!

Ever need/want to change the remote desktop port for a workstation/server?  I've had to go through and modify the registry enough times to accomplish this task to make me take the time to build a simple remote desktop port switcher utility.  Check it out here.

I have an HTC Mogul (6800) phone which uses Windows Mobile 6.0.  When I originally bought the phone I thought it would be a great opportunity to build some custom .NET Compact Framework applications for it.  Five months later, I'm throwing in the towel.  Sprint has received so many complaints about this phone and as much as I'd like to blame the hardware, I'm going to place a good part of my frustrations/blame on the software (Windows Mobile 6.)

Here's a rundown of some typical day-to-day problems:

  • Locking up / freezing for no apparent reason (and no 3rd party software installed.)  Remedy? Pull the battery (i.e. reboot.)
  • Slow response to touch-screen input for dialing phone numbers.  Remedy? Disable the keypad tone sound.  Apparently playing a 'wav' file puts too much strain on the hardware... I'd buy that if my 1996 phone couldn't do it with 1/10th the processing power.
  • My biggest gripe about Windows Mobile phones is...they're pen-centric.  That's great if you have a chauffeur driving you around, but when I need to dial a phone number while I'm driving, I expect to use my fat fingers.  Microsoft has yet to understand that their pen interface doesn't translate well to phones.  Look @ the great work PointUI has done to make Windows Mobile devices achieve an iPhone-like interface.  Unfortunately it's not 100% complete yet - they haven't replaced the default dialer for example.  It's a decent work in progress. 

Sprint had no qualms with swapping my 5 month old phone out for a new BlackBerry Perl 8130 - at no cost to me.  It didn't take much to get it done, so I'm assuming this phone is not getting any rave reviews from their customers.

For another year or two, I say adieu to Windows Mobile.  Maybe next time.

I have to say that I'm pretty disappointed with the ADO.NET Entity Framework from what I've seen of it.  The few readers that know me personally know that I am extremely opinionated about data access layers & O/R Mappers.  The connection strings required for ADO.NET Entity Framework based projects are horrendous.  How horrendous?  How about an example:

<add name="MyProjectEntities" connectionString="metadata=.\MyProjectDataModel.csdl|.\MyProjectDataModel.ssdl|.\MyProjectDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=SERVERNAME;Initial Catalog=MyProject;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Then there's the lame requirement to include in the project output (bin folder) the 3 metadata files listed in the connection string (MyProjectDataModel.csdl, MyProjectDataModel.ssdl, MyProjectDataModel.msl). 

So  my gut feeling is this is not developer-friendly.  I'm trying really hard not to blurt out "Wow, this totally sucks."  I'll still learn it because clients will ask for it, but I'm going back to LLBLGen Pro for my own project.  The appeal that the ADO.NET Entity Framework had for me (over LLBLGen Pro) was that if I chose to provide my clients with the source code to my application(s), they would not need a 3rd party license for the O/R Mapper.  But if my initial impression of the ADO.NET Entity Framework is correct (more complicated to setup than necessary), it doesn't make a whole lot of sense to use it. 

Categories