One of the weird and annoying things about Excel is that it shows you an item on the Windows taskbar for each document that you have open, but it doesn't let them operate as separate windows.  If you're using dual or multiple monitors you'll notice that you can't place one document on each monitor to see them side by side because they share the same window.  The following steps will allow you to open Excel documents side by side, but they involve some tweaks to the file system settings in Windows.  If you don't fully understand the changes below I would recommend that you not make them as they will be a challenge to fix on your own and could mess up your system.  To get Excel to open documents in separate windows so you can place them independently you can do the following:

Excel 2007:

  • Click the Office Orb in the upper left corner to bring up the menu.
  • Select Excel Options from the bottom right corner of the menu.
  • Click the Advanced tab.
  • Check the "Ignore other applications that use Dynamic Data Exchange" box and save.

Excel Versions Prior to 2007

  • Tools|options|General tab|Ignore other applications (check it).

Then in Windows Explorer

  1. Go to Tools -> Folder Options.
  2. Select the File Types tab.
  3. Select the XLS file type and click "Advanced".
  4. Uncheck the "Browse in same window" checkbox if it is checked.
  5. Select the "Open" Action in the Actions listbox and click "Edit".
  6. In the "Application used to perform action" textbox add "%1" to the end of the line and be sure to include the quotes around the %1.
  7. Uncheck the "Use DDE" checkbox if it is checked.
  8. Click "OK" and "OK" again.
  9. Repeat steps 3-8 for the XLSX file type if you have Office 2007 installed.
  10. Click "OK" to dismiss the Folder Options dialog.
 
 

If you already have Visual Studio 2005 Team Suite installed, you can download and install Team Edition for Database Professionals in less than 10 minutes.  Previously I had only seen the Database Professionals edition as a separate 3 gig download on MSDN that included all of Visual Studio along with it, so I never took the time to download it and install it since I already had the rest of the Team Suite installed.

Little did I know, Team Edition for Database Professionals can be installed as an add-on, so you don't have to waste your time re-downloading the rest of Visual Studio along with it.  The add-on is a mere 7.9MB in size and will add all of the database features to your existing Team Suite installation.

The Database Professionals tools are excellent and I highly recommend them.  Microsoft's brief description of the tools:

Tools for building SQL databases in a managed project environment with support for versioning, deployment, unit testing, refactoring, and off-line SQL development.

In addition it also lets you compare the schema or data of two different databases.  A good use of this is to compare the schema/data that exists for databases in different environments (i.e. dev, test, production, etc.)  The entire list of features is far too vast to include in this post . . . maybe another time.

 

Visual Studio 2005 Team Edition for Database Professionals Add-on

 
 
 

I am always having to open the Windows Task Manager throughout the day to kill off processes that are annoying me for one reason or another.  Usually their cpu or memory usage is out of control, so they need to be taught a lesson.  As a result I always keep the Windows Task Manger running in my system tray at all times.  Another benefit of doing this is that the system tray icon shows the current cpu usage.

To make sure that the task manager is always running I have created a shortcut to it in my startup folder.  This way everytime I start up my machine the task manager will automatically run in the task tray.  To do this you can do the following:

  1. Open your Startup folder, located at: C:\Documents and Settings\USERNAME\Start Menu\Programs\Startup
  2. Go to the file menu and select New, then select Shortcut.
  3. The dialog will prompt you for the location of the shortcut.  Type C:\WINDOWS\system32\taskmgr.exe
  4. Click Next, then click Finish.
  5. Right-click on the new shortcut and select Properties.
  6. In the dialog there is a "Run" drop down box.  Select "Minimized" and click Okay.
  7. Open the task manager and make sure that "Hide When Minimized" is selected in the options menu.

If you need even more info about the current state of your system check out the Process Explorer from SysInternals (recently acquired by Microsoft).  If you don't believe me that Process Explorer is awesome, check out some of the amazing things Scott Hansleman has used it for.

 
 

SmartSetr now officially supports automatic updating of SmartSets . . . for the most part anyways.  I can commit to updating everyone's SmartSets at least once per day, however, because of the bandwidth and server consumption required I probably won't bulk update everyone's sets more than once or twice per day.  If you would like to make sure that your sets are all as up to date as they can be then simply visit the SmartSetr site and click "Refresh All SmartSets".  If you haven't visited the SmartSetr site since January 10, 2007 then you will need to visit once more and auto updates will automatically be enabled for your account.

A second feature that has been added since launch is the ability to limit the number of photos that a SmartSet will contain.  This makes it incredibly simple to create SmartSets such as Top 10 Most Interesting, or Top 10 Most Interesting of 2006, etc. that will be automatically updated daily.  The maximum number of photos that SmartSetr currently supports in a SmartSet is 500.  This may increase as I get time to test the Flickr API's limits.

 
 

Until now you have always had to manually create sets on Flickr.  You could either go to the Organizer and select photos you wish to add to the set, or you could send photos to sets from the photo's page.  With SmartSetr you can now dynamically add your photos to sets by specifying criteria and SmartSetr will create the set and add the matching photos for you. 

SmartSets are sets on Flickr that are updated for you in an automated way. For example, if you have a SmartSet based on the tag "flower", anytime you add photos to flickr tagged with "flower" they will automatically be added to your flower set for you (after you click refresh on SmartSetr).

To update the photos contained in your SmartSets you must come to the SmartSetr site and click "Refresh All SmartSets". By clicking refresh, SmartSetr will query Flickr for the photos that match the set criteria and add them to the set. I am currently working on a way to automatically update everyone's SmartSets throughout the day, as well as a bookmarklet to let you manually update SmartSets from anywhere.

There are several types of criteria that you may use to create SmartSets including tags, text, date taken, and date uploaded. You may also filter the SmartSets by privacy level, and you may sort the SmartSets by a variety of criteria including interestingness, etc.

For text based SmartSets there are several search operators that may be used including AND, OR, and NOT. For example, to create a SmartSet that contains all of your photos of red flowers you would create a SmartSet based on the text "flower AND red".

Your Flickr sets that are SmartSets should be fully managed by the SmartSetr site, except that you may change the primary photo for the set on Flickr and reorder your sets on Flickr.

Here are some interesting ideas for SmartSets

  • All photos taken in 2006 sorted by interestingness
  • All photos from any year sorted by interestingness
  • All photos tagged with macro (dependent on your tags)
  • All photos tagged with certain lenses, i.e. "canon 50mm f/1.8 II" (dependent on your tags)
  • All photos tagged with the name of a conference, i.e. CES, Macworld

For more info on SmartSetr see the SmartSetr group on Flickr.  To send me a message directly send me a message on Flickr.

 

 
 

I have been trying to do development on Vista since I went full time Vista at home during the release candidates.  Until recently it was nearly impossible to get any development done on this platform.  Due to some hard working people at Microsoft, developing on Vista is now a pleasure.  There are a couple of things you will need to do in addition to the normal Visual Studio 2005 install to be successful.

Install SP1 for Visual Studio 2005.  This download is quite large and took me over an hour to install.  Multi-tasking while installing this is not advised.  Also, be sure to uninstall the Web Applications Project add-on, otherwise you will get a half hour into the installation only to have it error out.

Install the Visual Studio 2005 SP1 Update for Windows Vista Beta.  This is the magic update that allows development on Vista to be a great experience.  Before installing this update, whenever I would do ASP.NET development on Vista, the controls that I added to the aspx pages would not automatically be declared in the designer.aspx file.  This made it so that I could not programmatically access any of the controls that I had declared in the aspx page.  Installing this update fixed the issue and it has not happened since.

Setup Visual Studio 2005 to always run as administrator.  Browse to your install dir (C:\Program Files\Microsoft Visual Studio 8\Common7\IDE) and open the properties for devenv.exe.  Switch to the compatibility tab and select "Run this program as an administrator". 

Read this post and setup the Debugging Assistant if you are on a development machine.  The post details some IIS configuration changes that need to be made as well as provides a link and instructions for setting up the debugging assistant. 

Before installing the debugging assistant I would get the following error message when trying to debug from Visual Studio...

Unable to start debugging on the web server. An authentication error occurred while communicating with the web server. Please see Help for assistance.

Mike's article talks about how this is most commonly due to event handlers in global.asax like BeginRequest; however, I did not have any event handlers in global.asax and I was still getting the error.  The most likely cause that I can think of is that I am using the ASP.NET AJAX Extensions (Atlas) RC1 and it is probably subscribing to pipeline notifications prior to AuthenticateRequest.  Setting up Mike's Debugging Assistant fixed the issue that I was having and I am now successfully able to debug.

For some other interesting articles on working with ASP.NET and Vista/IIS7 check out this post from Rick Strahl and this post from Scott Guthrie.

 
IE7 for XP Released
 

Umm, judging by my rss aggregator I would guess that IE7 was released today.   Go get it!

 
 

One of the challenging things about debugging an AJAX application is that it isn't obvious how to view the html source that is being rendered by the browser after you have made modifications to it via an AJAX callback.  If you use the browser's built-in View Source command then it will show you the source that was used to render the original page, but it will not include any modifications made via javascript/AJAX calls.

To figure out how to view the generated source I turned to Google and found Rumen Stankov's post on telerik blogs. 

If you are trying to view the generated source in Firefox, the simplest way is to first download and install the Web Developer extension.  Then go to the View Source menu item and select "View Generated Source".

To view the generated source in IE you can type the following in the address bar

javascript:'<xmp>' + window.document.body.outerHTML+ '</xmp>'

Or you can use this bookmarklet (Drag to links bar or add to Favorites): View Generated Source

 
 

I always store my documents and media files on a separate disk/partition from my system files and by default Vista only indexes the User folders for its fast search service.

Originally I expected that I would be able to right-click on any folder and indicate that it should be indexed in the properties dialog or something.  That's not the case though.

To add a folder to the index you have to go into the Control Panel, search for "index", and then open up the Indexing Options dialog.  Once in there click "Modify", then "Show all locations", then accept the UAC prompt and you're finally there.  Now you're able to select any folders to be indexed from the folder tree.

Maybe there is an easier way?  I haven't found it yet...

 
 

I figured this one out via this post on Mitch Denny's blog.  To be able to install the Web Application Projects add-in for Visual Studio 2005 on Windows Vista Beta 2 or 5536 you need to run the installer as an administrator. 

The easiest way to do this is to hit the windows key, type command, right-click on Command Prompt at the top of the list, and select Run as administrator.  This will launch the command prompt, then all you have to do is run the installer from this command window and the administrator privileges will be granted to the WAP installer.

As a side note, I am loving Vista's instant search that occurs when you hit the windows key.  I have been using it as an application launcher for the last couple of days.

 

 
Days Go By
 
Days Go By
 
To Be An Artist...
 
To Be An Artist...
 
 

It is just a coincidence that I was able to buy these two lenses in the same week . . . I definitely will be waiting a while to buy more.  The lens that arrived today is a Canon 70-200mm f/2.8L.  I have been waiting a long time to get a telephoto zoom lens and this one should not disappoint.

Being able to shoot in low light situations is important to me, which is why I chose to go with the f/2.8 instead of the f/4 which is half the price.  Tonight I went out and took many shots around dusk on a cloudy day and most of them were taken at f/2.8 or f/3.5 with a 1/320 sec. shutter speed.  With a 200mm lens and a 1.6x crop factor, 1/320 is cutting it close.  If I didn't have the f/2.8 I would have had to bump the ISO way up.

 

New Lens!!  Canon 70-200mm 2.8L
 
 

Today my Canon 50mm f/1.8 II arrived!  This lens is commonly known as the "thrifty fifty" and comes highly recommended.  Because of the low price tag and the superb optics this lens is a must have for Canon photographers.  The lens only costs $70-80, yet the sharpness rivals some of the L series glass. 

I am really looking forward to having an f/1.8 lens so I can use natural lighting (no flash) as much as possible.  Even indoors in a poorly lit room I have been able to get some really sharp shots with this lens.  If you haven't heard of the "thrifty fifty" before I would recommend you check into it. 

One thing I will have to adjust to is the fixed focal length.  The fixed focal length is what gives the lens such great sharpness and large aperture.  The downside of fixed focal length lenses is that you actually have to physically move your camera/body in order to change the shot instead of just being able to zoom in and out.

 

 New Lens!!  Canon Prime 50mm f/1.8 II

 
 

Today I came across an excellent list of VSTS add-ons/add-ins/widgets/clients/etc. The list can be found at http://teamsystemexperts.com/widgets.aspx.

One of the more interesting sections in the list is the list of additional clients that are available for the Team Foundation Server source control repository. The list includes integrated clients for Visual Studio .Net 2003, Eclipse, SQL Server Management Studio, and there is even a Tortoise client. Tortoise source control clients are shell extensions that fit seamlessly into Windows Explorer and is my favorite way to work with cvs and subversion repositories.

Also in the list of utilities is the Team Foundation PowerToys. The PowerToys add some additional capabilities to VSTS that did not ship with the initial release. Added functionality includes things like Unshelve + Merge, Rollbacks, Undo Unchanged, and Get Changeset. The PowerToys were written by a Microsoft dev but are not officially supported by Microsoft.

If you are using Visual Studio Team System I highly recommend checking out this list of add-ons. There are many more tools on the site that I didn't highlight here including tools for Continuous Integration and MSBuild.

 
July 2006 Site Redesign
 

It was this post by Paul Stamatiou that inspired me to redesign my site. I had actually been working on it for a while, but I liked his new design so much that inspired me to create one of my own. If you compare our two sites you'll notice how mine was influenced by his. Like Paul I was also inspired by the following . . . Cameron Olthuis, 43folders, Vague Dream, and 37signals.

For the first time I have completely customized just about everything in the site design, and you probably can not even tell by the layout that I'm using dasblog as my underlying blogging engine. ericappel.net now has a much clearer focus and purpose. It highlights the things in my tech and development life that are important to me, as well as my photography.

In the top right corner of the site you will see the latest five photos from my "Highlights" set on flickr. I decided to move the search box to the archives page, so if you are looking for a certain post, that will be your best bet. In the future I would like to create a custom projects page to highlight my projects in a more structured way. Future enhancements may also include a cleaner looking archives page, a site dashboard, and a redesigned side nav bar with additional content.

 
Project: Flickr Sprinklr
 
Flickr Sprinklr is an asp.net app I wrote to allow Flickr users to quickly add their photos to multiple groups. Flickr users often submit photos to 20 or more different groups, and the interface in Flickr currently requires you to submit a photo to each group one at a time. Sprinklr loads all of a user's groups into a table and then allows them to check off checkboxes for each group they would like to submit the photo to. If you save the Sprinklr Boomarklet to your browser's Links bar (Internet Explorer) or Bookmark Toolbar (Firefox) and then browse to any of your photos on Flickr, when you click the bookmarklet it will take you to the photo on Sprinklr so you can add it to groups.  If you hover over any of the group descriptions, Sprinklr will display a tooltip showing the group’s description so you can quickly see the rules for posting in each group.  To use Groupr you must of course have a Flickr account, and belonging to some groups helps as well.

Sprinklr has been linked to by the Great Flickr Tools Collection

 
 
It has always bothered me that the makers of my Toshiba Satellite laptop thought it was a good idea to put the `~ key where the Windows key belongs on my keyboard. The Windows Key Shortcuts are some of my favorite shortcuts in Windows. Toshiba's placement of the Windows key in the upper right corner of the keyboard severely limited my access to the key. Enter RandyRants' SharpKeys. SharpKeys allows me to easily remap the Windows key to be where it should be. I simply remapped the `~ key to be the Windows key and the Windows key to be the `~ key. Now I have easy access to all of my Windows key shortcuts again. If you care to know, SharpKeys works by adding specific registry entries in Windows to indicate what keys need to be remapped.

UPDATE: I also want to add that SharpKeys is not specific to Toshiba laptops. It is able to remap keys for any Windows keyboard.
 
End of Daylight Savings
 

The end of daylight savings time just gave me an hour of my life back!  This is definitely a good weekend for having a free hour given to me!  I know, I know, I don't really get an extra hour, but it feels like it right now!  Don't forget to set your clocks back.

 
 

Saw this on Scoble's blog and I'd love to give it a try in some apps and see what it's all about.

 This 2.1 update includes over 60 improvements, including new support for .NET 2.0 and Visual Studio .NET 2005. VistaDB is a small-footprint, embedded SQL database alternative to Jet/Access, MSDE and SQL Server Express 2005 that enables developers to build .NET 1.1 and .NET 2.0 applications. Features SQL-92 support, small 500KB embedded footprint, free 2-User VistaDB Server for remote TCP/IP data access, royalty free distribution for both embedded and server, Copy 'n Go! deployment, managed ADO.NET Provider, data management and data migration tools. Free trial is available for download.
- Learn more about VistaDB
- Repost this to your blog and receive a FREE copy of VistaDB 2.1!

 
Creating New Posts
 

Lately I have been looking for the best way to publish new posts. I have tried out several desktop apps for blog posting such as BlogJet and WB Editor. Both apps have decent interfaces, work well with DasBlog, and are convenient to use. The main reason I wanted to use a desktop blog publishing tool was for convenience reasons. The easier it is to post, the more I will post. The problem with both apps though is that they don't handle code copied and pasted from Visual Studio very well, which is of course necessary. The built in post page for DasBlog uses FreeTextBox which works great for handling code in IE. So I've decided to go with the built in posting page for publishing all of my posts. To get the convenience factor that I got with a desktop app I have created a shortcut to Internet Explorer which passes in the URL of the EditEntry.aspx page for my blog. I can then put this shortcut wherever I want; I use Y'z Dock for launching apps, so I put the shortcut there. I also set my blog to auto login in IE. Now all I have to do to create a new post is launch the shortcut and it will take me directly to the posting page in IE.

If you know of another good blog publishing desktop app, or how to get a better experience with inserting code in BlogJet or WB Editor, let me know!

 
 

Try to figure out what the problem is with the following C++ code. I've seen this bug in the wild, so I thought I'd share it with everyone.

    int number;
    char* buffer = new char[8]();
    _itoa(number,buffer,10);

The problem is that the character buffer is only 8 characters long. This means the buffer can store 7 digits plus the terminating null. A 32 bit int could potentially have many more than 7 digits, so the call to _itoa() could potentially write past the end of the buffer.

 
How To Create A Blog
 

I have noticed by watching my tracker stats that someone who has visited my blog a couple times has been searching for how to create a blog. So I thought I'd throw up a quick post on my blogging setup and the other setups that are available. I personally use the fantastic blogging engine called DasBlog. DasBlog is built using ASP.NET and is very easy for developers to customize. For example it was really easy to create my own custom theme template for my blog. Also it was relatively easy for me to build my Flickr Photos page into DasBlog. DasBlog does require that you have your own web hosting that supports ASP.NET (I use WebHost4Life). DasBlog is currently maintained by Scott Hanselman and Omar Shahine.

For those who don't currently have an ASP.NET webhost or aren't web savvy enough to setup something like DasBlog, there are plenty of great free hosted blogging services out there. For starters there is Microsoft's MSN Spaces. Spaces is a blogging service that not only allows you to create a blog, but also is great for sharing photos, creating custom lists for things like projects, and is also going to have some great features dealing with integrating content from Xbox360. A couple other popular free blogging services are Google's Blogger, and Yahoo's Yahoo! 360

 
Convert FAT32 Drive to NTFS
 

In order to convert a FAT32 drive to NTFS all you need to do is simply open up a command window and type in the following

CONVERT C: /fs:ntfs

Found that little trick here. The conversion will not cause any data loss and your files will remain intact according to the site. Of course a backup of your data is highly recommended before doing this!!

 
 
I have been having connection issues with Outlook where it can't connect to my university imap accounts to recieve mail. Then a strange thing happened today. I'm working on reformatting my wife's laptop for her (it's running slow and hasn't been reformatted since she got it 4 years ago) and I backed up her Outlook data file for her. To make sure that the exported data file contained everything it needed I copied it into my Outlook data file directory (C:\Documents and Settings\Eric\Local Settings\Application Data\Microsoft\Outlook) and renamed my Outlook.pst to Outlook.pst.old and renamed hers to Outlook.pst. Then I start up Outlook and verify that her data is there and also realize that it has fixed my connection issues that I was having. So I closed down Outlook renamed my data file back to Outlook.pst, opened Outlook and the connection issues are still fixed . . . very strange.
 
Remember the Milk Update
 
So I'm going to have to go back on what I said about Remember the Milk and tell you that it isn't everything I had hoped it would be. I should have spent some more time with it before I posted on it. RTM doesn't have the due date based views that I thought it did. There is still a lot of emphasis put on what is due today and tomorrow, and it is more difficult to see what will be due in the next couple weeks. So I will continue developing my Outlook task viewer app. I think when I'm finished with it, it will give me a great task management solution. I'll have all of the power of Outlook, an overview of the tasks coming due, and web synchronization with Plaxo. I started development on my task viewer last night, and I will post it up when I finish the first version of it. Or should I say beta? I will still keep my eye on Remember the Milk, but it's not quite there yet. If they had date based views and a local synchronization story then I'd go with them.
 
Remember The Milk
 
A friend of mine referred me to Remember The Milk today. Remember The Milk is everything that I have been searching for in tasks management . . . almost. The UI is great, simple, and easy to use. Not only that, but it allows you to do things like separate tasks into separate lists, such as Personal, Work, etc. My biggest issue with task management in Outlook is that there is no time based view of your upcoming tasks. One of the most important pieces of a task is its due date. In Outlook there is no simple way to see an overview of what is due today, tomorrow, in three days, and so on. Remember The Milk understands that tasks have due dates and priorities and gives you views on your tasks that allow you to easily see these things. So why can't I fully switch to this beautiful AJAX task management application? Because there is no local view of my data. Remember The Milk needs to have what Plaxo has . . . Outlook synchronization. If not that, then at least an API so that someone could create a desktop app to store the tasks locally and create views of it on the desktop. I need a complete task management system, and I was thinking of writing a .NET app to create a time based view of the tasks store created by Outlook. This way I would still have all of the power of Outlook task management, and at the same time be able to see a simple time based view of my tasks. Anyways, Remember The Milk would be just about perfect if there was an offline story. I'm always on the go with my laptop and there isn't always a web connection where I am, so offline data is crucial.
 
Project: WebPing
 

WebPing is a Windows app I created to refresh a specified site every 19 minutes. Why would anyone want to do this you ask? This is why. Basically if an ASP.NET application stays idle for 20 minutes on IIS6, the worker process for the application will be shutdown. When my site was in the early stages and not getting hit once every 20 minutes, dasblog would be restarted all the time and take a really long time to load on startup. Running WebPing on my Media Center alleviates this problem by hitting my site every 19 minutes and keeping the site active.

System Requirements: .NET Framework 2.0 beta 2

Instructions: Download the exe and place it in the location of your choice. The app takes a command line parameter to specify the URL you would like to have loaded every 19 minutes. Example command line call:
WebPing.exe http://ericappel.net/blog
You can also create a shortcut to the exe and place the URL at the end of the Target line in the shortcut's properties.

Download: WebPing.exe

 
Microsoft Remote Assistance
 
Yesterday I discovered that Microsoft's Remote Assistance app that is built into Windows XP actually works. I was skeptical that it wouldn't be able connect through the various routers and firewalls in place between me and the person I was trying to help out (afterall, it's still next to impossible to simply send a file to someone over and IM client). To my surprise it connected with ease and didn't require me to tweak any settings anywhere. No port forwarding, no nothing. The user experience was actually really good too. I was able to connect to my brother-in-law's laptop thousands of miles away and control his machine as if it were my own with very minimal lag. Quite an impressive experience and it will be extremely valuable when I am providing tech support to family and friends. It's much easier to just do things for people than to try and describe everything on their screen to them without even being able to see it yourself. I would agree with what Omar says about needing a way to offer other people assistance, instead of always having to explain to people how to invite me to assist them.
 
Teaching People to Drive
 
Since my fiance is down in Corvallis OR, I'm in DuPont WA, and our wedding that we're planning is in Hillsboro OR, I do quite a bit of driving.  The rules of the road are supposed to be to stay in the right lane unless passing . . . in reality it's the exact opposite.  It's infuriating when people drive so slow in the left lane and don't move over for anything!  Get out of the left lane people!!!!!!!
 
Hard Drive Hell
 

For the past two days I've spent the majority of my time (when I'm not in class or at work) trying to get my 250 gig external hard drive set up just the way I want it.  My idea was to partition about 7 gigs of it to install OS X Tiger on, and partition the rest as a FAT32 cross-platform storage drive.  I now believe this to be impossible.  The problem is that Windows cannot read the Mac partition table, and the Mac cannot boot an OS from a Windows partition table, although the Mac can otherwise use a Windows partition table just fine.  So now I have a 7 gig Mac HFS+ partition that is useless on my drive.  The part that really sucks about the whole thing is that I spent about 8 hours working on getting the partitions set up the way they are now, only to find out that Tiger can't be installed on a drive using Windows partitioning.  If for some reason you ever needed to have an HFS+ and FAT32 partition on the same drive though, I know how to do that.  In a Mac terminal window use the command

diskutil partitionDisk /dev/disk2 2 MBRFormat MS-DOS fat32partitionName 225G "Journaled HFS+"  macPartitionName 7G

This command will create 2 partitions, 1 HFS+ and 1 FAT32.  Both partitions can be mounted in OS X and the FAT32 partition will show up in Windows.  In the above command 225G and 7G are the size of the partitions you want to create in gigabytes and /dev/disk2 is the name of the disk you are partitioning and formatting.  You can find out the disk name on your machine by using the command

diskutil list

Hopefully someone will have use for this information.  In the meantime I'll be formatting my drive with a single FAT32 partition for storage use only.