One of the greatest strengths of today's computing environments that is completely underutilized by most of the user base around the world is that of virtualization. Virtualization allows you to run multiple "guest" operating systems simultaneously on a single machine. You might ask - "Why is this so groundbreaking?". Virtualization offers numerous advantages over traditional single operating system setups for a lot of reasons, but not limited to the following -
Those are just some of the advantages of setting up a virtual environment. Now that I have convinced you on virtualization merits, how do we get everything setup. My virtualization software of choice is VMWare Server 2.0 which is free to use and allows you to install this software on your current operating system. My computer at home was running Windows Vista Ultimate at the time which made the decision of what virtualization software easy to use as Windows Virtual Server 2008 doesn't support Windows Vista.
Installing VMWare Server 2.0
Here's a pretty easy guide to follow for installing VMWare Server.
Once VMWare Server 2.0 is up and running on your "host" machine, you want to start setting up "guest" machines. In preparation of starting the guest virtual machine process, you want to obtain an ISO of every operating system you want to setup. For me, I get all my Windows ISOs through my MSDN Universal subscription, but you can definitely create Windows ISOs other ways. For Linux distros, you can download those freely from that distro's website. After you have all the operating system ISOs you need, you are ready to create your first guest virtual machine.
Creating a Guest Virtual Machine
For this example, I am going to create a Windows 7 Ultimate guest virtual machine because it's probably the most complicated (and that's not saying much). I followed this guide for creating a Windows 7 virtual machine. You would follow very similar steps for setting up any other VM whether Windows or Linux.
Using Your New Guest VM
I won't rehash too much of what is already spelled out in the above guide; however, there are a few things I want to point out. When you load up the VMWare Web Access Home Page, you may get an authentication prompt and you have no idea what to put in. You will put in the same username and password that you used to log into Windows. After that, you will want to make sure you install VMWare Tools as directed by the guide. This allows for much easier copying and pasting between your host and guest machines. In addition, I have found that VMWare Web Access doesn't work properly in some browsers like Google Chrome so you might be forced to use a browser that you don't normally use like Internet Explorer - especially when trying to launch the console plug-in.
Once you have powered on your guest VM, click on the Console tab in the Web Access page, load the console plug-in viewer and start using your new VM! Good luck to everyone trying to setup virtualization - once you go virtualization, you'll never go back.
Finally, finally, finally. Blizzard has opened the StarCraft 2 Beta! I was lucky enough to win a beta key through Twitter and following the SC2 Team via their updates there. Promptly after the beta opened, I received my email with download instructions and beta key.
The download was 1.64 GBs and went pretty quickly considering I am sure the beta servers were being hammered by downloads from all over. Once the download was complete, you are presented with a well-done installation screen and installation is remarkably painless for a beta product. On my 64-bit system, it defaulted to the Program Files (x86) directory.
Upon setting up your StarCraft 2 user ID, you actually have to pick two names separated by a period which is definitely a little confusing. This is supposed to prevent naming collisions, but I think the entire system is too confusing and could definitely be simplified. After setting up my account, I immediately created a 1v1 game against a computer AI. Currently, the computer AI is locked into "Very Easy" mode which basically means you can build uninterrupted with no aggression from the computer. Immediately, there are some pretty noticeable differences from the original StarCraft - mainly, old buildings have some new key shortcuts and some buildings have new add-on options and research capabilities which I will hopefully address in future, separate posts.
Tech Trees
Currently, the only way to really see the tech trees, since there is no manual, is from within the game itself. Therefore, I decided to use the game's screenshot function to capture the tech trees for each of the races.
One of the biggest omissions from the Zerg tech tree that I noticed is that the Lurker unit has been removed from the beta. The Lurker was a powerful, burrowed attack unit that did range damage to everything in its path in the original StarCraft and I believe was originally in the plans for StarCraft 2, but is currently unavailable.
Original StarCraft vs. StarCraft 2 Beta
Wow, there are so many differences it's almost nothing like the original, but similar enough that outsiders may just see "only new pretty graphics". I will try to address the differences race by race as I find them.
Terran
Recently, on my new 64-bit home development machine, I fired up Visual Studio 2008 for the first time in a while and decided to start cranking out C# solutions to the Project Euler questions. Since I have already completed 14 questions about a year ago, I was able to code a solution to Question #1 very quickly. I decided to debug the solution and ... wham. I received the following error -
The components for the 64-bit debugger are not registered. Please repair your Visual Studio 2008 Remote Debugger installation via 'Add or Remove Programs' in Control Panel.
To resolve this issue, you will need your Visual Studio 2008 installation disk. On this disk, you will find the following path -
Inside this folder should be an executable called "rdbgsetup.exe". Run this EXE, open up Visual Studio and you will now be able to remotely debug your projects.
Recently, seemingly at random, our company's SharePoint sites all experienced a serious error when trying to utilize the "Export to Spreadsheet" list functionality. When users would click on "Export to Spreadsheet" everything would seem normal - users would get a prompt asking them to either Open or Save an .iqy file, (assuming you choose Open) Excel would launch, depending on the user's security they would get the macros warning and then ... error. The error reads -
"Excel cannot connect to SharePoint list."
That's pretty much it - no details, no stack trace, no real logging, no event log notification - nothing. With pretty much no information to go on and nothing in our Change Management Log for our SharePoint server farm, I started troubleshooting this issue mainly in the dark. Turning to the search engines, I definitely didn't find much information on this error and even less when taking into account we were running Windows SharePoint Services (WSS) v3. I tried a few of the fixes I found online with no success. At this point I opened up a case using my MSDN incidents and started working with Microsoft. The MSFT tech had me check some of the basic issues such as what authentication type my site was using (Kerberos vs. NTLM), some user permissions, SQL security, etc. However, he finally found the issue when we opened up the web.config file located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI. In this web.config file, there was the following entry -
According to the MSFT tech, this entry is due to the fact that at some point Web Services Enhancements (WSE) 2.0 was installed on the server (although, I really have no recollection of this ever occurring - maybe this was done through a patch?). By removing this line from the web.config specified above and performing an iisreset /noforce, I then tried exporting to Excel and the functionality was restored. Hopefully, if you are encountering this article, I can save you a support call to Microsoft.
Well, after almost no updates for 5 months (although the Hagrin.com Forum has been pretty active), I finally decided to take a look at the blog portion of this site and address it once again. I finally upgraded the core Drupal installation and all the installed modules from version 5 to version 6 - a task that I really didn't want to have to do, but was surprisingly easy. I can't stress this enough - make sure you follow the UPGRADE.txt file's instructions verbatim. The instructions posted on the official Drupal site are actually not as complete as the instructions found in this text file and I avoided a lot of headaches by taking my time and stepping through the steps outlined.
A couple of other suggestions that I would recommend -
Now, just think - we all get to do this again when version 7 comes out. Good luck everyone.
Here's a quick tip post that will help those doing web development on an Apache web server and cannot see their .htaccess which FTPing. If you use Filezilla as your FTP client, by default, Filezilla may hide the .htaccess file during a remote directory listing. To view the file using the Filezilla FTP client, click on Server and make sure the "Force showing hidden files" option is checked. Your .htaccess file should now be viewable in the remote directory.
After having issues installing Magento on a GoDaddy Virtual Dedicated Server (VDS), I had two clients that wanted Magento installed on 1and1's Virtual Private Server (VPS) hosting package. After struggling with this process, I decided that I would document that process.
Hopefully, this guide helps everyone get their Magento installation up and running with little effort on 1and VPS hosting.
Yesterday, I ran a somewhat successful Long Island marathon as I completed the race in 3:35:12 which was good enough for a 95th place finish. Considering I had run 70 miles only 3 weeks ago at the McNaughton 150 and was battling some right foot problems, I am generally happy with how I ran and how my body held up.
Race Overview
The LI marathon is built to be a fast marathon - it's held right at the beginning of May before it gets too hot, has an 8am starting time, has very little elevation change, has fewer runners than most races and hasn't been very windy the years I have been out on the course. However, the LI marathon isn't without its faults having one of the more mind numbingly boring courses I have ever been on and the sheer lack of spectator enthusiasm when compared to other races. Personally, I despise running this race and its ~12 mile Wantagh Parkway section, but I do it because I have friends who run the race and I should definitely support my local races more.
Newton Running Shoes
After reading some interesting emails on the Ultra List and seeing Pam Reed where them at the 6 day race here in NY, I decided to purchase a pair of 2009 Newton Neutral Racer shoes. While these shoes are on the expensive side, I have to say that they are worth every penny. These shoes are lightweight and help to improve and force runners to foot strike with the correct part of the foot. There is a pronounced red "lug" that really helps runners to learn to midfoot strike as opposed to heel striking. These shoes really protected the bottoms of my feet as the bottoms of my feet tend to get very sore when road racing, but are still very lightweight at ~8.6 ounces. I have to say this is the perfect shoe once you get used to the different feel of the shoe's bottom and I definitely recommend this product to anyone looking to improve their foot striking and running technique.
Actual Race
Before the race I had decided that I couldn't run this race slowly as my right foot really couldn't take the extra pounding of going slower (somewhat counter intuitive, but that's how my foot felt in warm-ups) so I had told my running partner, Allegra, that I was going to go out at a much faster pace than she had planned on running (more on this later). My first 4 miles put me at sub 7 minute pace and I was definitely holding back as I could have definitely run that section much faster, but I was worried my foot wouldn't hold up. By the 10K mark, I was somewhere in the 7:15 range (maybe faster) and was generally feeling pretty well. I went through the half marathon at ~1:37 so I was definitely making pretty decent time considering I wasn't really trying to run at 100% effort (I had run a 1:35 first half in Miami in January where I was going out at 100%). By this point I was still feeling pretty good and the cool mist that had existed since the race start was starting to turn into a light drizzle.
This put me about 3 miles into the section of the course I dread - the Wantagh Parkway where there are basically no spectators, there are basically no turns and it's nothing but empty parkway. Being used to and in love with trail running, I can only describe this section as depressing. However, having run this race before, I was ready for it and just tried my best to zone out. By mile 18 I was starting to fall apart with the pre-race injury in my right foot really starting to act up. In addition, my running partner Allegra, who had planned on running 10 minute miles, zoomed right by me at mile 19 running 7:30 pace leaving me as if I was standing still (so much for running slow huh?). At that point I was pretty demoralized and decided to shut it down and save myself for the 50K I will most likely be running in 6 days. Between miles 20 and 24.5 I mailed it in just sort of plodding along, but with less than 2 miles left I decided to pick up the pace knowing I could still run sub 3:40. Unfortunately, the only runners in front of me were also kicking pretty hard so there was no one to pass in the last 1.5 miles and I crossed the finish line with the announcer yelling out someone else's name. Allegra ended up finishing in 3:21 and placing in the Women's Overall group while running a PR - not bad for someone who had planned on running "10 minute mile pace".
The normally festive post-race area was a little mellow this year due to the fact that it had turned pretty cold and the rain was coming down more heavily at race end. The race does a great post-race setup where you get your medal, protective heat wrap and goodie bag which I honestly haven't opened yet. I'll probably be back again next year with a goal of running a 3:30 or so depending on my ultrarunning schedule.
I tend to not write race reports for race I DNF, but this was such an unique experience that it's definitely a story that needs to be told. The short version is that I felt I was running maybe my best race ever, but I DNF'd at the 70 mile mark due to swelling and pain on the top of my right foot.
Pre Race
I flew from LGA to Pekin International on Thursday morning and picked up my rental SUV and headed off to the race site to get a good understanding of the race's location. When I arrived, I was the first person at the start/finish so I started unpacking my gear into the back of the SUV and then took off to find a supermarket. After purchasing food for the next few days and fluids, I went back to the campsite to see a few tents had been setup. I set my tent up to the right of the start/finish line which I highly recommend for those who aren't tempted by sleep - if you have issues with sleeping too much during races, I wouldn't suggest setting up so close and I would instead rely on your start/finish drop bag. Everything was great on Thursday until night came and with the darkness came unrelenting rain. McNaughton has been known for its thick, peanut butter like mud and the rains signaled that the first few laps of the race would be sloppy at best. The rain continued throughout the night and even up until the start of the race where runners wore their best rain gear and just enough to fight the cold temperatures.
Loop 1
I was definitely overdressed for the first loop, but luckily I kept a pace that wouldn't cause me to sweat too much. I wore long windpants, long sleeve Under Armor, a long sleeve tee shirt and two rain jackets (one too many for sure) with a Nathan hydration vest. I found it odd that I was one of the few who wore a hydration vest considering that, with the mud, climbing up muddy slopes and carefully navigating steep downhills could require both hands to be free - especially when dealing with the "rope climb". I would recommend a hydration vest/waist pack strategy over handheld water bottles where you only fill up your vest at the start/finish and supplement your fluids at the aid stations.
Loop 1 was generally unremarkable except for the fact that two deer shot out in front of me missing Tracy Thomas and I by about 10 feet. I took the course very tentatively knowing I would have to run this same loop 14 more times in order to finish. I had wanted to run a sub 2 hour loop, but ended up crossing the start/finish line in 2:03 - a little slow, but generally right on pace.
Loop 2
It was still raining at the beginning of Loop 2 and the course had gotten progressively worse now that ~60 runners had already covered the muddy ground. Loop 2 was uneventful until about mile 17 when something very ... "interesting" happened. A little back story here - my normal trail shoes were taken out of my gym bag a week before the race so I scrambled to find trail shoes that I had worn before and in my size. I found 2 pairs of North Face Arnuva 50 Boa trail shoes. I had used these when I ran Umstead and some other races and they were fine, but I had stopped wearing them because they severely overpriced. One of the stores had 2 pairs in my size so I bought them and decided I was going to run in them. Well, after Heaven's Gate, the laces that are "made from 19-strand aircraft-grade steel, Boa® is renowned for its durability in snow, water and ice" snapped on my left shoe when running over flat terrain. Obviously, there's a reason why "mud" isn't mentioned on their website. Congrats North Face, your $125 shoes lasted all of 17 miles. I was left to run the last ~3 miles of Loop 2 barefoot carrying my left shoe in my hand. Let me tell you - there is nothing like a creek crossing and having your toes "smoosh" into some cold, slimy mud for 3 miles during a race.
The effects of running with one shoe on was negligible - I did experience some tightness in left calf for the rest of the race, but it really didn't affect the outcome. I didn't lose much time, but now I had a problem. The only other pair of trail shoes I had were the NF Arnuvas and let's just say I lost all confidence in them. The only other shoes I had left were my cross trainers that I wear when I walk around. I opted for the cross trainers thinking the trail was soft enough I could get away with them and started out.
The Rest of the Race
I ran most of Loop 3 with Phil Rosenstein whom just astounded me with his running experience. As he was telling me about all the 100s and races he had finished, I face planted on completely flat, rootless mud. Poor Phil must have been wondering what he got himself into when we started running together. I passed Phil after the rice patty field by Heaven's Gate and kept a pretty good, steady pace going. Loops 4 and 5 were pretty unremarkable except for the fact that I spent a really nice 2 mile section with the runner with her own category (the "Late Early Special 100") Varsha. Her company definitely got me through the section of the course I hated most due to the still sloppy, thick mud right before the start/finish line.
As I waiting to start Loop 6 (and waiting for my hamburger to cook - burger was more important than running at that point), a volunteer came up and told me I was just outside the Top 10 and that I should get moving. Also, to my surprise, I met my pacer whom I had never met before, but sent him to bed telling him I would need him when the sun rose and to wake up in 6.5 hours. During loops 6 and 7, I felt and must have looked strong because I wasn't passed during these loops, but did pass quite a few runners including a runner who already had looped me (while he slept upside down at Heaven's Gate which was really funny to see - I think his name was Adam?) and quite a few people commented on how strong I still looked (and not that condescending "Looking good!" compliment you get from well-meaning people, but you know is a complete lie). Looking at the times, I really ran a strong couple of loops in a row and for me to post times like that is something of an anomaly as I consider myself a back of the packer. However, closing in on 70 miles, I felt great - was still running, no blisters, no soreness, full range of motion, etc.
And then it all ended in a split second.
There was a 1 foot little stream that I jumped over and because I had track shoes on, slipped and heard something snap in my right foot. "Boy, that didn't feel right." I still finished Loop 7 strong, but sat down to clean the small pebbles out of my shoe and to change socks. Unfortunately, that's where my race ended. By the time I changed socks, my foot had swollen to the point I couldn't get the shoe back on. That was it - with no hyperbole, THE best run of my life ... over. I have DNF'd before - in fact, I'm quite good at it, but all my past DNFs I could "see" coming. You know when your body is just completely finished or you're mentally over it, but this one ... I'm still in an unsettled daze from. It may seem a little melodramatic and I'm pretty blahzay about running to be honest, but this one cuts real deep because it was the "perfect" (for me) run for 70 miles.
After 70 miles, it looks from the online splits that I was 13th and moving up very quickly as my split times were faster than those runners running ahead of me (sans the elites of course). Overall, I covered 70 hilly, muddy miles in 19+ hours with over 32 hours left to complete the last 80 miles. I am definitely disappointed by the overall outcome despite how well I felt after such a long distance.
I'm not sure I would do this run again for a couple of reasons with expenses being the driving force. I also think that this course becomes more a survival race if the weather turns poor than a race testing your running prowess. In addition, the race director has since moved to Vermont and I would probably end up doing that version of this race in the coming years.
Splits
| Lap | Time | Pace | Mileage |
| Lap 1 | 2:04:11.00 | 12:25/M | 10.000 |
| Lap 2 | 2:35:18.00 | 15:32/M | 20.000 |
| Lap 3 | 2:40:33.00 | 16:03/M | 30.000 |
| Lap 4 | 2:52:39.00 | 17:16/M | 40.000 |
| Lap 5 | 2:54:48.00 | 17:29/M | 50.000 |
| Lap 6 | 3:11:13.00 | 19:07/M | 60.000 |
| Lap 7 | 2:59:14.00 | 17:55/M | 70.000 |
For the last 5 days, I have been encountering an error when trying to automate the creation of an Excel document through a scheduled SQL Server job. The error I was receiving was -
Exception from HRESULT: 0x800A03EC
Let's take a step back. The same code I had written worked on my development machine, worked on other target servers while scheduled as SQL jobs, but the code would not work on the following target server -
After adding some StackTrace code to my program, I was able to determine that the EXE was failing on the Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs line. After trying multiple iterations of the SaveAs command (a quick Google search provided some potential solutions), I continued to get the same 0x800A03EC error code. I went down the road of thinking it was a problem with my 32-bit development environment and had our Sysadmin build me a 64-bit virtual machine for me to compile my application; however, this also yielded the same error. I made sure that the Excel assemblies on the development environment and the target machine were the same version. On the target server, I went to dcomcnfg, selected the Microsoft Excel Application entry and made sure it was using the "interactive user" and still no luck. I made sure that, for testing only, all the SQL services ran under my domain admin account to account for SQL security differences and still nothing.
At this point I decided that I was spinning my wheels and I would call Microsoft and use one of my MSDN support cases.
After speaking to several departments, I finally reached the Office department who tried to help. After explaining my issue quite a few times over and over, I finally got the response I had dreaded - it can't be done that way. Ugh. I had feared I would get this response after reading that using Open XML to create Office documents was the recommended approach and that using the Office COM references was no longer supported (if it ever was) and Windows 2008 has additional security that prevents the old approach from working properly. Well, I guess that explains why it wasn't working.
So where do I go from here? Even though Microsoft support couldn't provide me with sample code or a link to some code, I was able to find this knowledge base article detailing how to to create Excel files using Open XML. Hopefully, this approach will work on my target server environment.
Recent Comments
5 weeks 2 hours ago
5 weeks 1 day ago
6 weeks 17 hours ago
6 weeks 17 hours ago
6 weeks 22 hours ago
7 weeks 21 hours ago
8 weeks 5 days ago
9 weeks 4 hours ago
12 weeks 6 days ago
15 weeks 4 days ago