Scott Hanselman

The FreeMiniMac has arrived and will the fun ever start?

November 19, '05 Comments [13] Posted in Reviews | ASP.NET | DasBlog | XML | Bugs
Sponsored By

MyNewMacDesktop was NOT a lie my friends. You wondered, what's Hanselman doing with that Free Mini Mac banner on his site? Well, it arrived today and it's the bomb. It was free and I didn't even have to pay shipping. I want to thank everyone who signed up with the program to help me get the Mac, and I hope you get yours also!

Here's the specs:

  • 1.42GHz PowerPC G4
  • 512MB DDR333 SDRAM
  • 80GB hard drive
  • ATI Radeon 9200 with 32MB DDR video memory
  • DVD/CD-RW combo drive
  • Integrated AirPort Extreme and Bluetooth capability
  • DVI or VGA video output
  • Mac OS X Tiger, iLife 2005 software
  • 6.5 inches wide and 2 inches tall
  • Weighs only 2.9 lbs

I'll probably double the memory, and I've got at least three firewire drives I could use if I needed to, but it integrated so nicely with my network I may not bother. It's a pretty amazing and tiny little thing, this Mini Mac.

Impressive Things

  • The OOBE (out of box experience) as with all things Apple, is amazing. Completely. The box, the plastic, the manuals, hell, the foam - everything is pristine, clean and classy.
  • I grabbed an old USB mouse and keyboard, and plugged it into my Dell 20". During the setup wizard it asked if I had an Apple ID, so I entered my iTunes credentials. At this point it hadn't even asked about the Internet. Seems like a small thing, but it's a nice detail. After entering my Apple ID it (of course) knew everything about me. It set the time, my timezone, my user name. All I did was enter a password and I was at a usable desktop.
  • I didn't realize until I re-read the specs that wireless was built in. I gave it my SSID and WEP details and I was on the wireless, which allowed me to remove the ethernet cable I'd stolen from my wife's machine. I noticed also that IPv6 was installed by default. Bluetooth is also built in, so I may pickup a wireless/bluetooth Apple Keyboard and Mouse.
    • ASIDE: For Windows XP, Microsoft will be sneaking IPv6 onto your machines during the installation of the new WinFX .NET Class Libraries.
  • I poked around in the System Preferences and noticed that it not only had identified my Dell 2001FP monitor, but it had already applied the correct color profile.
  • The machine is totally silent which is awesome compared to the jet engine that is my Pentium 4.
  • Screen rotation is just built in...this is still something we have to look to the Display Driver people on the Windows side.
  • Printer and File sharing JUST WORKS. I shared my Mac Desktop and my Windows Desktop. However, I ended up just using FolderShare for synchronization (see below.)

Here's the dirty little secret. If you want to do ANYTHING even remotely interesting on Mac OS 10.4, you have to shatter the illusion and start messing around in *nix. It took me 20 minutes to remember how to edit my .bash_profile to add a path to the MANPATH using VI. I couldn't figure out how to get the Finder to show hidden files. It's like someone has put a Ferrari engine in one of those Fisher Price plastic cars that you push with your feet.

Applications I started with

  • I've got a copy of Mac Office 2004 that I picked up at the Microsoft Company Store so I've got the Word, Excel, etc stuff covered. But the real reason I wanted this Mac was to build Mono applications. More specifically I wanted to work on the DasBlog port to Mono. I believe DasBlog 1.6 is ported to Mono already, but now that MSBUILD can build Mono apps I thought it'd be nice to get the current DasBlog (and any future versions or derivatives) running on Mono.
  • I went to former-college-software-engineering-each-bought-Newtons-on-opening-day-sit-next-to-guy Steven Frank's uber-famous Panic and downloaded everything they offer. Panic personifies all things Mac and all things Portland, Oregon. They are decorated and awarded. I got Unison (USENET) and Transmit (FTP) as well as all the lil' apps.
  • I got NetNewsWire because it's basically FeedDemon for the Mac, now even more so. Hopefully soon it'll be hooked up to Newsgator Online. I exported everything from my Windows installation of FeedDemon into an OPML and imported it into NetNewsWire. Boom.
  • FolderShare - just when I thought it couldn't kick more ass, it does. I installed the Mac version and boom, my "Shared Desktop" lives on.
  • BuildingMonoEXEsOnMacMono for Mac. Installing it is easy, as is most all graphical installers on Mac. Installers download as mountable "disk images" with all the schmutz inside. Safari, the Mac's default browser, starts installing as soon as you give the OK. They are all the same interface. It's damn-near ClickOnce in its behavior. Pretty slick. However, the Mono Mac installer just installs the libraries, and not even the graphical ones for real application development. All this took me 3 hours. Notice that I haven't even gotten mysql or apache or Mono's ASP.NET support installed. We'll see how XSP/Mod_mono works. However, for regular development you have to:
    • Install Mono
    • Install Fink, a porting and distribution system for Unix Open Source software on Mac OS X
    • Update fink via CVS (yes, it's getting scary now)
    • Update fink to unstable by modifying fink.config
    • Update all fink's core packages
    • Install Apple's X11 support from the Optional Packages stuff on the Tiger DVD (interesting that X11 isn't installed by default.
    • Install ghome and gtkhtml3 via fink. MaxOS X has its own GUI stuff in the form of Aqua and Cocoa but since Mono builds against GTK# and there's no total package to bridge the ginormous gap you have to do this dance.
    • Build all this from source...woof.
    • Add a bunch of paths and goo to your path and environment.
    • Get Monodoc, gecko-sharp, gtksourceview-sharp.
    • Install MonoDevelop.
  • It's really amazing what this thing can do with only 512M of RAM. I have been pounding on it and it just keeps on running.

Crappy Things

  • From what I can see, Mono .NET development on a Mac is years away from even Visual Studio 2002. It's just brutal. I'll plan on doing my development using Mono on Windows and copying the results over. We'll see how that works out.
    • I'm tried using XCode and Mono to see if that's better. I was able to get XCode to build a Mono .NET exe and run it using a custom Makefile, but I wasn't able to get the error recognition to work. Of course, without a debugger it's a step back.
    • NOTE: The screenshot above is XCode using the custom makefile. The output is in the Run Log in the upper corner. The syntax highlighting in XCode for C# is actually just the Java syntax highlighter.
  • Maybe I've turned into a Microsoft whore (more than even you think) but even though I started out in C, worked on Palm in C, worked on Unix in Java, worked on device drivers in C, using C (even Objective-C) on Mac for development seems like SUCH a step back.
    • VNCingIntoTheMiniMacCan one of you who is a Mac developer share what development on a Mac is really like? How productive is the guy who wrote NetNewsWire? I guess I should go visit Panic and get a tour. I mean, for crying out loud, I was out in malloc/free world while trying to think about parsing XML streaming in over the net. Maybe Garbage Collection rots the mind?

Things I'm Not Sure About

  • What Mac application is best for Remote Desktop-like behavior from a Windows Client? Is it just VNC?
    • NOTE: To the right is a shot of me VNC'ing into the Mac while writing this very post.
  • What Mac/Windows thing could I get that would act as a software KVM, so that when I move my mouse to the right of my Windows machine it would start controlling the Mac?
  • When is installing Mono on a Mac going to suck way less? (which is argubly a Linux/*nix question more than it's a Mac question.)

Now playing: P Money & Scribe - Stop the Music (Featuring Scribe)

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Google Analytics - It doesn't suck

November 18, '05 Comments [14] Posted in Reviews | DasBlog | Javascript | XML | Tools
Sponsored By

Like everyone else on the planet I set up Google Analytics a few hours after it was released. For DasBlog it was easy, I just added the few lines of javascript to my hometemplate.blogtemplate file and it immediately appeared on every page.

However, LiveStats is also free on my kick-ass hosting service (Orcsweb) but can I get extra info from Google? First off, of course, Google's analytics are Javascript based so there's little they can do if the client browser has turned off Javascript. Also, everyone's ISP runs a different statistics program, so your mileage will no doubt vary. My question is just: should I bother with both?

Google Analytics tells me I really need to work on my stylesheet since there's a pile (surprised me) of folks running 1024x768 out there:


I can't find the same data in LiveStats. Google Analytics tells me that I have few dial-up users:


and most folks are running IE6, with FireFox in a close second:


Google also offers things like "Visitor Loyalty" and "Visitor Recency" to let me know if you stop by, and continue to stop by. Of course, it's only been 3 days, but I'll let you know in a few months. There's at least 20 (seriously, 20, to mention sub-reports) other kinds of reports from comparing targeted AdWords to "organic" visits to "Entrance Bounce Rates" to see what entry points to your site keep the visitor sticking around. Also every report can be drilled down to the hour.

It's amazing that Google can just destroy a whole industry just by giving a tool like this away. I shudder to think what it felt to work for a small web stats company that day.


Google Analytics is fantastically deep, and while it appears they are having some capacity problems as my data is pretty stale, I suspect that once they've ironed out the kinks that nearly every small site on the planet will be using it. Additionally, once they've completed the inevitable (more complete and seamless) integration with AdWords, it'll be even more compelling.

The interface is also Flash (not Ajax per se) and as such, is quite flashy. It's easy to navigate and very intuitive. I'll spend more time here than in my ISPs free stats package. I wonder if this means that many ISPs can cut costs by yanking their stats?

On yucky detail though, the XML export is crap. Well, not complete CRAP, as it IS well-formed, but for all intents it's just angle-bracketed delimited files. Note the mindless root node and lack of namespace, schema, or even inline DTD. Note the cheesy non-standard date range and ethnocentric presumably mm/dd use of "Sat 11/12." Woof.

   <report>Executive Overview</report>
   <date>20051112 - 20051118</date>
   <dataset id="0">
      <title>Visits and Pageviews</title>
      <column1>Date Range</column1>
<column2>Visits</column2> <column3>Pageviews</column3> <ncols>3</ncols> <record id="0"> <name>Sat 11/12</name> <value1>0</value1> <value2>0</value2> </record>
...more of the same...
<record id="59"> <name>Riyadh|246408|467728</name> <value1>6</value1> </record>

Note the "tunnelled" data near Riyadh there, separated by pipes. For a second there I thought I was looking at RSS. This crappy export format aside, it's an amazing package, and mind-blowing for free.

Now playing: India Arie - I Am Not My Hair

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

VS.NET 2005 Publishing SignTool Confusion

November 15, '05 Comments [0] Posted in Programming | Tools
Sponsored By

I really am made uncomfortable when I get messages like:

SignTool reported an error 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'.

...and they are fixed by restarting Visual Studio. Additionally, I'm not sure what the LoadedExceptions property is or where I'm to find it.

This happened over lunch as I was publishing a ClickThrice application to I'd had a solution with three projects that was building and publishing fine. I moved two of the libraries from Project references to direct assembly (lib) references and rebuilt. Everything rebuilt fine, ran fine, but publishing was broken. Visual Studio 2005 crash, Dr. Watson announced his concern, I killed all devenv.exes and started afresh. Works now. Woof.

That said, MSBUILD still kicks the llama's ass.

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb - Review of DasBlog

November 15, '05 Comments [7] Posted in ASP.NET | Reviews | DasBlog
Sponsored By

The blog has a review of dasBlog as part of their review series on blogging software. The review is quite positive. Here is the summary:

DasBlog is a suprisingly fully-featured system. For simplicity and features it beats bBlog, it's closest rival in terms of target market, and has some features that Movable Type even lacks. Bigger picture though I can't see a general user choosing this over MT or Wordpress.

It is definately (sic) a good choice for someone looking for a single .NET based blog though. Knowing that CommunityServer is not aimed at single bloggers, in the single .NET blog scenario I would say DasBlog is the top choice.

Thanks to Vasanth for the link!

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

BeyondTV4 Upgrade Review - Media Center Alternative?

November 13, '05 Comments [4] Posted in Reviews | Coding4Fun | Web Services | Gaming
Sponsored By

I paid for Beyond TV 3.5 and a Hauppauge PVR-250 on my main desktop machine a year before I made a Media Center PC. Interestingly, the Media Center PC has turned into a heavy MAME arcade machine and is rarely used, if ever, for TV. Perhaps that will change with the XBox 360's new Media Center Extender (as the original XBox Media Extender sucked egregiously) but we will see. Until then, I keep ending up watching TV on my main PC, using Beyond TV. So, it made sense when Beyond TV 4.0 was release a few days ago that I give it a trial. Here's a few impressions


The upgrade from Beyond TV 3.5 was a complete fiasco. Not failure, fiasco, there's a difference. During the setup I was informed that a number of .ax files (.ax files are actually just COM DLLs that have a different extension. They are codecs for the decoding things like video and audio.) were in use can couldn't be overwritten. My options were "Retry" (Um, can't!), "Ignore" (Um, dangerous!), and "Cancel" (Um, and do what?), so I, like a putz, selected ignore. In retrospect I should have selected Cancel and figured out who was locking the files. But, I charged on.

Interestingly, to me at least, Beyond TV 4 decided that it was cool to put itself in the existing Beyond TV 3 folder called c:\program files\snapstream media\beyondtv3. Since it's not version 3, that seemed ingenuous, but perhaps I'm being too hard. Either way, it failed to start up and was unable to show video. The install was hosed at that point.

Turned out that since I'd just tried a Web Cam conversion using the new MSN Messenger 7.5 and a little QCAM USB Gooseneck camera I picked up, that MSN Messenger had loaded every registered codec on the system into msnmsgr.exe's memory space. So, I blew away Messenger and figured I'd just run the installer again and select "repair." Which would have totally worked had there been a "repair" option.

Long story short, totally uninstall and reinstall of 4.0. Afterwards though, it started fine.


Windows Task ManagerColor me dorky but I always like to check out the system footprint of applications I run. Even more so since I started running without a paging (virtual memory) file.

Points to Snapstream for prefacing all the new processes with BTV*, but still, EIGHT processes? Um, ouch. Of course, who am I to complain considering that Microsoft released a whole new OS. (Yes, I know that's not totally true, but it's true from a marketecture point of view, so phooey on you.) There's also an extensive, but confusing series of COM interfaces that Clemens has seen fit to mess with, although there's also a Web Services API. We'll see what happens with that.

Chunks of BeyondTV are written in .NET 1.1 and there's no fewer than 28 .exe.config files that remind .NET that BeyondTV prefers .NET 1.1. There's over 130 DLLS and 30 EXEs that make the whole thing happen. It's a pretty complex goings on, but fortunately it's all in one folder and its footprint hasn't affect anything other than my curiosity. I've found it to be fantastically stable if a bit of a memory hog, but certainly less in total than any single Microsoft Office program.

Weird Things

  • Beyond TV 4 has a new "Lock Aspect Ratio" option, which is nice, but the only options are 4:3 or 16:9. That's not particularly useful when my monitor (and most desktop Widescreen LCDs) are 16:10. Valve Software's Steam is the BEST when it comes to awareness of the various aspect ratios available. GuildWars also handles odd ratios with grace.
  • Documentation is still a little sloppy. There's references to Beyond TV's 3.5 directory, old EXEs and what-not mixed in amongst the new stuff within the CHM (Help) files. Just shows a lack of attention to detail.
  • The "Web Admin" option seems to have disappeared from the right-click menu of the Beyond TV Tray Icon. The Web Server (Cassini-like) still runs on http://localhost:8129 so you can still get to it, but it seems odd to have been removed not only from the Tray but the Start Menu also. Also, it appears to be handled by BTVNetworkService.exe now, not BTVWebServer, but they both ship with 4.0.
    • UPDATE: The "Open Web Admin" feature exists but it's off by default now. Oddly enough I had to enable it FROM the Web Interface, so not exactly sure how Mort is expected to turn that chicken-and-egg feature on.
  • Beyond TV 4.0 has a great 3D accelerated video mode that does transparent overlays for all the interface elements. However, on my dual monitor machine it only works well on my primary monitor. When I try to view the TV on the secondary monitor the framerate drops precipitously. However, when I switch it to software-only rendering everything's great on the second monitor. It's more valuable for me to be able to use the second monitor as a TV, so I turned software rendering on against their recommendation and it works fine. I don't notice much of a different but the CPU does jump from 10% to 30%.
    • Literally as I was writing this sentence, while running Beyond TV 4 in Hardware Accelerated DX9 mode, I moved it from the secondary to the primary monitor and POOF. BIOS. Like, POOF. No warning, just BOOM. So, I'm running Software Accelerated now. Also interestingly that never happened while running Beyond TV 3.5, but in their defense I just upgraded my ATI's video drivers and we all know how ATI's known for stable video drivers.

Great Things

  • Beyond TV - Video Qualities - Mozilla FirefoxBeyond TV 4 has an SDK available (expect a Coding4Fun article on this from me) that includes COM, .NET and more importantly Web Service support. Any ideas on what I could do with a PVR that's totally controllable via Web Service? OK, how about something Clemens HASN'T already done? :)
  • Beyond TV 4 includes (yet another) UPnP server that makes the recorded video available to other devices on your network. Personally, I've started using TwonkyVision's server and have found it excellent and more compatible than Windows Media Connect, Nero, or any others, but Beyond TVs is meant to work primarily with their Beyond TV Link product. Beyond TV Link lets you install a small client on machines in your house that don't have a TV. It's a "Media Center Extender" that is specific to Beyond TV.
  • Beyond TV has a crapload of advanced features, most made available in the Web Admin. I like the "ShowSqueeze" option that takes my 1 hour=3 gig MPEG2 files and makes them WMV file overnight. I squish those onto the PSP.
  • It also added support for DivX as a target format along with a million other formats (see screenshot at right)
  • You can use the Web Admin as a zero-install web-only client to watch recorded shows and Beyond TV will automatically transcode (squish) them on the fly as it streams them to you. This makes it possible for me to watch my recorded TV from a hotel after VPN'ing in to the house.

All in all, it's a great product for the money despite my complaints. I used Beyond TV 3.5 daily for over a year without trouble, and I'm confident Beyond TV 4 is an improvement on 3.5. The MAJOR feature that was added in Beyond TV 4 that I wasn't able to test is its support for HDTV. I had an ATI HDTV All-In-Wonder but it was such a complete piece of crap that I took it back. Perhaps I'll try to get my hands on some of the newer generation HDTV cards and add to this post.

If you've got an existing machine and you're even slightly thinking about a Media Center PC, just spend the ~$150 and get a Tuner/BeyondTV bundle. Seriously, I know lots of folks out there who are looking seriously at MCEPC's for more than $1000, but could really save some money with a simpler product like Beyond TV 4.

Now playing: Original Broadway Cast "Rent" - Take Me or Leave Me

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

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