Scott Hanselman

Coding4Fun Videos up on Channel 9

November 20, '05 Comments [0] Posted in Coding4Fun
Sponsored By

There's a nice video up on Channel 9 with Scoble interviewing the Coding4Fun managers. Dan Fendandez and Brian Keller are up there showing off all our articles. My GPS and Security Fob mod/projects are up demoed.

The Logitech io2 Pen article should be up soon, and I just finished a ClickOnce application that will connect to Webcams (like the new one in the baby's room) with some CodeProject.com code, along with the blessing of the author, to handle motion detection. His motion detection stuff is really slick, with pluggable detectors. He also, in a clever hack, abstracts away his Video sources by using events to throw each frame of the video. The motion detector receives and processes these frames. It's very clever, and hopefully I'll have a website link by then from him. I'll see if I can get that article done before the baby comes.

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

YAVS2005B - Yet Another Visual Studio 2005 Bug - Integrating MSDN Help with the IDE

November 20, '05 Comments [4] Posted in Bugs
Sponsored By

I've run into this bug on my home machine, where MSDN's October 2005 Help, or any help for that matter, isn't integrated into Visual Studio 2005. The Microsoft Support fellow in the USENET group says "reinstall" but I'm not a fan. If you get a spot on your carpet you shouldn't have to lay down new carpet.

Anyone figured out how to get Visual Studio.NET 2005 to use or integrated with the MSDN External Help?

UPDATE: Apparently this is a known bug of the "functions as designed" variety. They say:

The October 2005 Library is only compatible with Visual Studio 2003. In order to plug your documentation into Visual Studio 2005 you must use the Library that ships with the product.

Time to wait.

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

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

MyNewMacDesktophttp://macminis.freepay.com 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:

GoogleScreenResolutions

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

GoogleConnectionSpeeds

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

GoogleBrowsers

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.

GoogleExecutiveReport

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.

<urchindata>
   <profile>www.hanselman.com</profile>
   <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 hanselman.com. 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

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