Asus G73JH-B1: Powerhouse Laptop

Lately I have been eyeing a new laptop. My newest laptop is an Acer netbook which was bought for travelling convenience, and it serves that purpose well, having performed admirably first in Mexico, and most recently in Minneapolis. My older laptops are more powerful but still lacking. I have a Macbook Pro from late 2008 which performs well enough with a dual-core processor and 4GB RAM, but comes nowhere close to my development desktop which boasts an Intel Core i7 processor and 12GB RAM, not to mention reasonably hot graphics and two large monitors. Then there is the older HP Pavillion with a Core Duo processor and then-whopping 2GB RAM. Veritable dinosaurs compared to what’s available today.

My thoughts turned to a new laptop when I read a review of the HP Envy series. It ranked higher than current high-end Macbook Pros, and claimed very high build quality, awesome specs, and light weight. And with available Core i7 processors and four SODIMM slots for a potential 16GB RAM, this was a virtualization enthusiast’s dream machine. Until I tried to find a 17″ version with 1920×1080 screen, that is. This configuration doesn’t seem to exist in Canada, maxxing out at 1600×900 resolution. Worse, reviews were generally poor, with myriad unresolved issues. Hard to believe considering this is HP’s high-end laptop series.

I looked at many other types of laptops, including Alienware (nice, but $2500?!), Toshiba Qosmio (10 lbs?!), and Dell Studio XPS (also costly, and maxxing out at 8GB RAM). I somehow stumbled upon Asus’ G73 series which seemed a perfect fit. It has the screen resolution I wanted, 4 SODIMM slots, Core i7 processor, dual 7200 RPM drives, was reasonably priced and at 7lbs was of acceptable mass, plus it looked great, with a Stealth Bomber appearance: matte grey finish, angular edges, quite nice actually. I immediately dismissed it due to poor reviews which caused keyboard lockups, video crashing, and other system instability, but as my search hit dead ends with other vendors, I kept coming back to the Asus.

Then during another bout of laptop-obsession, I stumbled upon a thread that described a new BIOS version for the G73 series, that being v209. People seemed to hail this as a breakthrough that made their systems live up to their potential at long last. Indeed, even people who had RMA’d their units were left wishing that they hadn’t. After some reading, my mind was made up.

Best Buy had the G73JH-A1 (Intel Core i7 720 with BluRay reader) for $1500, but alas it was some special BB-only derivative that had “HD+” (900) instead of “Full HD” (1080) like I wanted. The best local price was Memory Express for $1700. I did some price-comparison because they claim to match any online or local reseller’s prices, and in doing so I stumbled across the higher-end model, that being the G73JH-B1, which is like the -A1 except it has a faster Core i7 740 processor. Now there’s probably not a huge difference between the two, but I found a -B1 online for essentially the same price as the -A1, and after Memory Express agreed to match that price and confirmed that they had a -B1 in stock, I went down today and bought one.

Words can’t describe how nice this machine is. The backlit keyboard is beautiful and functional, the display is gorgeous, and its speed is just as quick as my high-powered desktop. The fans run virtually silent and the unit is cool to the touch. While it’s not nearly as thin and compact as the Envy that I was first drawn to, I think it will be a lot more of a fit for me as I look to take my work on the road (or to a different part of my house!) And though I have only had it operational for a few hours, the machine seems stable enough, probably due to its v211 BIOS (the latest and greatest.)

While the machine is replete with crapware, I think I will resist the urge to immediately reinstall fresh. There are some very nice utilities installed, not the least of which is facial recognition automatic authentication. I will give this Windows 7 Home Premium 64-bit a fair shake before deciding what to do.

At some point I will also install the two 4GB SODIMMs which will increase my memory from 8GB to 12GB, bringing it on par with my desktop. Except this one I can take anywhere.

Microsoft Development Tax


I used to be a Microsoft-only developer until I started working with my latest client. I used to buy my annual $3000 MSDN subscription so I could stay on top of their technology. And to a diminished extent, I still have to keep on top of this because I have several clients that are Microsoft shops. But at my current client, they use almost all open-source tools and technologies. This I initially found quite disturbing. Where would support come from? How can we run our business using these amateurish products that anyone can contribute to. Where’s the QA?!

It didn’t take long for my fears to subside. What I had initially thought to be concerns turned out to be benefits. I won’t get into the whole open/closed source debate here as it’s been done to death, but it became apparent that quality of these products, especially the more mature ones, is in fact probably better than that of the corresponding Microsoft offerings. Now, everyone makes mistakes and bugs get into products all the time. In the open source world, when a bug does get introduced, many many eyes quickly see it, and enthusiasts (as opposed to paid staff) race to fix the problem. As a result, quality really becomes almost a given because poorly-written applications are largely destined to never make it out of the gate due to a lack of adoption. Don’t get me wrong: there is plenty of junk out there. But by and large, software like Ubuntu, Ruby on Rails, and Eclipse just to name a few are very robust and proven technologies. One needs to be diligent in selecting the tools that will run their business just as much in the open source world as in the closed source world.

When asked to build a solution for one of my clients, I would normally create a .NET web app  in Visual Studio that would eventually run on Windows Server. Visual Studio is not cheap. Windows Server and its various client access licenses is not cheap. Now I write Ruby on Rails apps that run on Ubuntu Server. These are proven technologies, and Rails is one of the nicest environments to work with, which makes my work more fun and more productive. A great benefit is that all of this is free. So tell me how I am supposed to tell my clients that they should pay for Microsoft infrastructure when I can give them the same thing built faster that uses free software? I can’t.

You Expect Us to PAY for This?

But to me, there is a more fundamental problem with Microsoft. And this one is really starting to bother me.

A constant theme in the open source world is that there are minimal financial barriers to adoption of these technologies. You want to run Ubuntu or some other flavour of Linux? Download the installer disc and install it. No CALs or other license fees to worry about. You want to learn Ruby on Rails? Go to the Rails site, install the executables, and away you go. There are some free IDEs if that’s what floats your boat, but by and large people use simple text editors. And there are lots and lots of tutorials, examples, blogs, screencasts, etc. All free. Not so with Microsoft.

Now it’s technically true that you can write .NET apps with Notepad or one of the free versions of Visual Studio. But no serious developer is going to that, especially in a corporate setting. Microsoft keeps most of the really useful features out of these free versions so you are really forced to pay to write code for their platforms. It’s no secret that more people are shunning Microsoft solutions as time goes on, so you’d think Microsoft would want to reverse this trend by making their platform more attractive to developers. Instead, Microsoft seems intent on taxing developers, the very grassroots community that they built their business on, by charging them for things like Visual Studio, MSDN, TechNet, and development copies of Windows and Windows Server. This seems self-defeating in an age where there are so many free alternatives.

Instead, Microsoft should drive development by making things like VS2010 available freely. This would really help turn things around for them. It is hard for a lot of SMBs to justify spending thousands on a copy of VS2010 PLUS Windows servers, CALs, etc when they can spend nothing on Linux server apps built on free Java/Eclipse or Ruby on Rails. Once today’s open-source enthusiasts, which is predominantly a younger demographic, gets promoted within enterprises to the point that they make infrastructure decisions, Windows will be in serious trouble.

Microsoft TechDays (BlechDays?) 2010

What  brought me to write this is the upcoming Microsoft TechDays 2010. While it’s true that there is value in the sessions presented at this event, a big attraction is the “free” stuff you walk away from the event with. Last year, the only significant take-away was a one-year subscription to TechNet Plus. This product (which arguably should be made freely available to developers, see above) has a sticker price greater than that of TechDays itself, and was a major consideration in my deciding to attend. No doubt a lot of others felt the same way.

It was recently announced (note the distinct lack of comments) that a TechNet subscription would NOT be included for 2010 attendees. This was enough to make me instantly decide not to attend. Fast forward a couple of weeks however and I get an email link to a post saying that TechNet WOULD be included in 2010 because of the efforts of the event coordinators who convinced MS Canada to supply attendees with subscriptions. Here is an excerpt:

I am happy to announce that the hard work has paid off and we have been able to work with Microsoft corporate and each TechDays 2010 attendee will get a TechNet subscription!

This benefit is added to the over 50 Sessions of technical content, networking opportunities, great offers from our Partners, like Telerik, Pluralsight, Xceed, and access to 50 virtual labs to get hands-on without requiring you to provide the necessary hardware and software to support adoption. 

Now, to be clear, I did announce just a couple of weeks ago that we would notbe providing TechDays 2010 attendees with TechNet subscriptions, but understanding that now, more than ever, you need all the tools in your arsenal to help you deploy Windows 7 and Office 2010, implement Windows Server 2008 R2, Hyper-V, SharePoint 2010, and other technologies, we were able to work with our colleagues at Microsoft Corporate to make a one-time exception.

Fantastic! But several inconsistencies and flaws in their reasoning were apparent.

First, the email stated how significant it was that they managed to secure subscriptions for attendees. I agree. But they went on to seemingly minimize the significance of this by stating that it will NOT be included in 2011 or later, and that it’s really no big deal because it’s the sessions that provide value blah blah bullshit. So which is it? Are you just trumpeting yourselves for getting us TechNet subscriptions, or telling us that they aren’t really all that important because you aren’t going to try and get them in 2011, or they are important but you aren’t going to bother trying again? A lesson in expectation management seems in order. But I really started to boil when I read some of the comments to that post which were somewhat smugly answered, seemingly in an attempt to minimize the value of TechNet compared to the sessions. While I can’t disagree with that statement to some extent, it seems they fail to acknowledge that there are a lot of people that go to this event primarily for TechNet and the value that IT brings. Worse, in typical Microsoft style, they try to tell people how to think rather than listen to their concerns. After all, they are Microsoft, so they must know best. To wit:

The sessoins [sic] are the main “gift” you get and I think people must see the value of that.

Thanks for that blinding insight, clearly we aren’t capable of thinking for ourselves. But what really got to me was that they censored my comments to that post. I twice asked why Microsoft doesn’t make development tools more freely available, once rather pointedly, a second time in a much less aggressive fashion, but both comments were never listed. I guess they don’t want others thinking that people might not agree with their authoritative views. Well f*ck you Microsoft Canada, I will not pay even the early bird fee of $350 for the privilege of attending your TechDays now or in the future. And while I will provide Microsoft solutions to my clients if they so desire, that will not be my first recommendation.

Camping 2.0

Traditionally, we liked to go camping with Barb’s daughter Lisa and family. They would go to Birds Hill Park every chance they get (read: whenever Mike grows weary of saying “no”) and pitch their tents. Barb and I and sometimes our kids would go for dinner and campfire, then drive home to our warm beds for a comfy sleep while they braved the elements, at the mercy of rain (leaky tents), heat from the early morning sun, and noise from the early risers. It worked out pretty well but I always felt we were missing out on some of the fun, but Barb is just not a camping person.

Lisa has long dreamt of buying a camper, but two things were in her way: money and money. Specifically, money to buy a camper and money to buy a vehicle to haul a camper. This year we went with them to look at campers. We half-considered buying a small popup camper so they could move to the next stage. Over the course of the next several weeks, we looked at everything from little popups for $5,000 to $35,000 tent trailers. We looked at new and used ones, and back and forth we went. We just couldn’t see ourselves in a little popup, yet we were wary of dropping $30,000+ when we weren’t sure if we were really the camping type. At some point in the not-too-distant future though I could see us travelling in a fifth wheel. But we aren’t there yet.

Then one day we found TWO nearly-identical campers that seemed like a good fit. They are the Cadillac of popups, high-walled Starcraft 3610 with add-a-rooms. These offer dual king-sized beds, a roll-out sofabed, and a slide-out side with bench seating that converts to a large bed. It sleeps 8 easily. One had air conditioning, a power lift system, and wood-grained interior and had only been used 7 times, while the other had white interior with a bike rack and had suffered a punctured roof when a tree fell on it. Pretty easy choice, but the former cost a couple thousand new. We ended up getting it for $11,000 (it was bought a year previous for $20,000!) so it was a great deal given its low use, features, and condition. Plus the vendor delivered it to us. I had recently bought a 2000 Dodge Ram 1500 for $5,000 which was also in very good shape, and I installed a brake controller, so we were all set.

The first few trips were so-so. Because the campground’s electrical sites were long since booked, all that was left were the poor sites. The first two weekends we got low spots and the ground was always wet. It was pretty gross, especially with four dogs, but we learned each time how to set up and tear down more efficiently and bought tarps, carpets, patio lanterns, coolers, bug zappers, and other such things to help improve the experience. The next couple sites were better, and now it looks like we have nothing but primo spots for the rest of the year.

But the point of this post isn’t about how we got a camper. It’s about what I have set up in that camper this weekend.

This weekend we really have no business camping. I am feeling rather crappy with a sore throat that kept me away from work the last two days, plus it’s pouring rain as I type this. Also I have tons of work to do for the upcoming election, so I copied my election-work development virtual machine to a laptop and installed VMware. There, now I can work in the camper, mostly because my current work doesn’t require Internet connectivity. But even if it did, last weekend I got Internet tethering working through my iPhone onto a laptop, and it worked pretty well indeed. So this morning when I went home to get some more stuff, I brought along my MacBook and a netbook in addition to the dev laptop. I had previously used the Mac to test tethering, and the netbook should have worked too (but for Windows 7 Started edition, but that’s another story…) Yada yada right now we have seven devices in the camper with Internet access via my iPhone: my iPhone, my MacBook, my netbook, my dev laptop, my iPad, Barb’s phone, and Mike’s laptop. Camping has truly never been so hi-tech!

Time to get back to work. The rain has really picked up since I started writing this.

iPhone 3G Voice Dialing Woes. Or, Why My Next Phone Will Be an Andriod.

Unbelievably, at least to me, the Apple iPhone 3G is incapable of voice dialing on its own. Manitoba recently implemented a handsfree policy on electronic devices while driving, so I went out and bought a Motorola T215 bluetooth visor in an attempt to be compliant. Was I in for a disappointment!

Not only would this visor not voice dial my iPhone, subsequent research revealed that there were people aplenty who were mightly disappointed in this oversight. iPhone OS 3.X apparently introduced this feature to the iPhone 3GS, but it was disabled on the 3G models. To me this illustrates another example of Apple’s closed modus operandi. Not sure what their rationale for this, perhaps they want to drive sales of the 3GS/4? Regardless, this is the final nail in the coffin for me: my next phone will definitely be an Android. Despite the fact that Android devices largely suffer from the same problem/missing feature, their open platform at least suggests that this could be fixed at some point.

What really irks me is that my iPhone works great in my wife’s Toyota RAV4. This vehicle has bluetooth voice control built in, using the car’s electronics so all the phone has to do is dial and handle voice communications. It stores its own phone book and has its own menus and speech recognition. When my Lexus RX 400h is off lease in April, my next vehicle will definitely have this built in; candidate vehicles are the Dodge RAM 2500, Ford F250 Super Duty, and maybe even the GMC Denali HD, all of which are diesel.

After what seems like dozens of searches, not to mention trying a couple new devices that the salesmen swore would work with the 3G, I found an obscure post suggesting that the Parrot MiniKit Slim will work with the iPhone 3G since it downloads the phone’s contacts and uses its built-in speech recognition to prompt you. Indeed, it seems to work very well, and at $129 isn’t a terrrible price for a nine-month stopgap solution.

UPDATE: the Parrot sometimes irritates me. It seems to be British in origin, and sometimes ASR only works if I speak with a British accent. Blimey!!!

iPad? iSad!

I got home tonight and decided to watch the highlights from tonight’s NBA Finals game on my iPad. How disappointing that it can’t play’s videos because they require, you guessed it, Flash. Apple is taking a lot of heat over their decision to not allow Flash on their iDevices. It’s like they are the new Microsoft, possibly worse given their tyrannical AppStore control controversies. I left iPad product feedback but I doubt it will make any difference. Steve Jobs has said that they will listen to their customers regarding this issue; we’ll see about that.

VMware ESXi: at home!

A co-worker was making me jealous the other day about how he built an ESXi whitebox, and I got to thinking that I needed something like this myself to host my company’s servers. I have been an avid virtualization junkie ever since the original Virtual PC was made available to me in an old MSDN subscription, and this obsession continues to this day. Currently I use VMware Workstation 7 on my high-powered (Core i7, 9GB RAM) but wholly underutilized HTPC, and while it works well enough, it’s really not very “enterprisey”. Neither is a homebuilt ESXi server, but I can certainly make it pretty close, and it would be far superior to the HTPC which to my horror people often shut down when they are done watching something.

I have a Dell Inspiron 845 that was used by an employee for a past project. It’s a reasonably powerful machine with a quad-core, VT-enabled Intel processor and 8GB RAM, so I figured it would do the trick. According to, by simply adding an Intel 1000 GT or CT NIC, ESXi 4.0 will install without any modifications or funky drivers. I picked up a couple of these NICs for $45 each, installed one (the PCI-e CT version) in the 845, and within minutes I had my own ESXi server. Sweet! The only gotcha is that my Windows 7 host can’t run the vSphere management tool, so I need to run it under an XP VM. Oh, the irony!

Next up was to use some enterprisey storage. I have an OpenFiler server sitting in my wiring closet with a 400GB iSCSI volume that’s sitting idle, so after some frustration getting ESXi to see the iSCSI target, I now have what should be a very robust data store for my VMs. I’ll make a post later about exactly what you need to do to get this configured.

I installed the VMware standalone converter utility and migrated my VMware Workstation VMs, initially a development Oracle server and Redmine plus an (*ahem*) bittorrent server, to the new server in its iSCSI data store. Everything went exactly as I’d hoped it would, very smooth. I only needed to reset some static DHCP mappings due to MAC address changes.

I still needed a backup solution though, and last night I got one working. Briefly, it’s the ghettoVCB script which is highly regarded, and I can see why. There are some nice guides on how to get it set up, and I’ll post more on this later. Here’s hoping that tonight’s daily backup works!

Accessing a Windows Home Server Guest Share in Ubuntu

I wanted to use the Transmission-Daemon bittorrent service on Ubuntu to download files directly to my new Windows Home Server. This was harder than I thought, but only because I didn’t understand all the nuances.

First, the WHS share. Simply called “Downloads”, I made it a non-duplicated share that allows the Guest account full access. There is no password on this account. That’s all that’s required on WHS.

Now to Ubuntu. I tried editing /etc/fstab to automatically mount //whs01/Downloads to /mnt/downloads. This worked using my userid and password hardcoded in the fstab file, but then only  root could write to the share. I tried using guest instead, but the same thing happened.

Turns out you can specify “dir_mode=0777,file_mode=0777” which sets up the mount to be updatable by everyone, including the transmission-daemon process. Too easy, once you know what the problem is, that is!

The final fstab entry looks like this:

//whs01/Downloads /mnt/downloads cifs noatime,rw,user=guest,dir_mode=0777,file_mode=0777 0 0

Windows Home Server, Part 2

I awoke to an error message saying that a WHS installation script had failed. The “solution” apparently was to delete some registry keys, then on reboots that message would go away. But WHS didn’t have any shares created and certainly didn’t seem complete, so I dismissed this advice. Instead I turned to the log file.

Things made sense when I saw that it was trying to find the path X:files (HAH HAH very funny guys!) Since I had to remove the installation USB key before reboot lest it stay in a neverending install loop, this caused problems because apparently the install needed to access files that were on there (the X: drive) after the first reboot to run the ill-fated script; normally Windows installs copy everything to the hard disk as the first step of their installs to avoid this sort of thing. In any case, I restarted the server and reinserted the USB drive once Windows had started to load in the hopes that it would be mounted and available when the script started, and indeed it was as installation resumed. Annoyingly, a few other reboots were required so I did this USB removal/insertion thing a few more times, but it seemed to work. Regardless, I did go out and get an external DVD drive for future use in cases like this, and netbooks, etc.

WHS still didn’t seem right though. Device Manager showed several devices were unknown or had no drivers. Since WHS is based on Windows Server 2003, I looked for the appropriate drivers at Asus but there were none to be found. It seems that I am not alone in this regard as others are pleading with Asus to release W2K3 Server drivers for the AT5NM10-I board.

I can live with a non-optimal VGA driver for a machine that will be headless, but it sort of needs a functional Ethernet controller to be of any use obviously! Fortunately, the XP driver on the Asus install CD worked. I also ran the system install which cleaned up at least one other unknown device. I tried some other drivers which left me with a very uncomfortable feeling due to their error messages, so I decided to use that new external DVD drive and reinstall one more time.

Of note is that the DVD install was a lot slower than the USB install due to the slower speed of the optical drive. This time it said it would take over 50 minutes, but it ran flawlessly and other then the W2K3 Server driver for the Promise card, it required no intervention whatsoever as it went about its reboots. I installed the Ethernet driver and ran the mainboard install but left it at that. Perhaps a Windows Update will eventually locate suitable drivers.

Now I have my pristine Windows Home Server. First order of business was copying over 10 years worth of photos, a little over 26GB in all. This took about 35 minutes, and after being complete, all drives still report 99.9% free. Yes, it’ll be nice having 12TB to play with…

Windows Home Server, Part 1

I built a 12GB storage server last night with the intent to consolidate my various NASes into a single unified machine. The old Dlink DNS-323 was good but at only 1.5TB mirrored, it’s limited in what it can hold. The OpenFiler server with RAID5 created from my old workstation works great, but I don’t really trust the drives since the RAID5 array failed when running as my workstation, plus the volume layout sort of sucks (I don’t really use iSCSI despite allocating 33% of its disk space as such)

The hardware is very simple. A tiny ASUS AT5NM10-I CPU/motherboard runs an embedded Intel Atom D510, a dual-core processor in a fanless package. It comes with 2 SATA ports, 8 USB ports, integrated video and sound, and gigabit ethernet. 2GB RAM should be more than enough. I also added a 4-port SATA controller from Promise and six 2TB Western Digital “Green” hard drives, which gives the 12TB capacity. I then threw that all into an Antec Nine Hundred case with a 500W power supply. Total price was around $1000, and I built it in about an hour.

I had originally intended to install OpenFiler again, but Windows Home Server nagged at me. A colleague told me about all the great things he’d heard about WHS, and since I have access to it via MAPS and TechNet, I thought it might be a good fit. Indeed, after reading up on it, it sounds fantastic, so I thought I’d give it a try.

The only problem with having 6 hard drives is that there’s no room to connect a DVD player. I spent a couple frustrating hours trying to install the WHS install disc to a USB key, even trying the normally-excellent UNetBootin. Yes, I could disconnect a SATA drive and temporarily hook up a DVD, but that seemed too much like giving up. In the end, the following simple instructions worked after starting Command Prompt as Administrator:

Next up was to copy the files from the ISO to the USB drive. Once complete, eject the disk, insert it into the new server, and after a reboot, the install begins!

  • diskpart
  • list disk
  • select disk n (where n is the USB drive)
  • clean
  • create partition primary
  • select partition 1
  • active
  • format fs=ntfs quick
  • assign
  • exit

The WHS setup didn’t recognize my Promise SATA card drivers so I downloaded them from the Promise web site and copied them to a USB drive, then restarted the install. Selecting Load Drivers and navigating to the driver file caused all the drives to show up. Things looked good, so I selected Disk 0 and began the install. It formatted the file system and rebooted.

But it was too good to be true: BSOD! Maybe an issue with the Promise controller? I disconnected all drives but the first and tried the install again with the same BSOD result. But I am tired and I have a lot to do on my “day off” tomorrow, so I’ll continue this later.

Stubborn is my middle name, so after a quick search for WHS install/reboot BSODs, it sounds like the install can’t handle the drives being set to AHCI in the BIOS. Indeed, after setting this to IDE and rebooting, the install continued. I noticed the motherboard install disc came had a AHCI driver, so I set it back to AHCI in the BIOS and restarted the install: uber-stubborn or what? This time I choose both the Promise and AHCI drivers. Would it work?

Of course not! The warning message when I selected the AHCI driver said that they would require a reboot, so I guess they never took effect. Later once it’s all working (if?) I’ll try setting this to AHCI in the BIOS after reloading the appropriate driver. In any case, setting back to IDE allowed setup to continue. Interesting that it says “Windows Server 2003 for Small Business Server Setup” after the first reboot. Needless to say, this seems very odd, but after another reboot it’s back to a nice Windows Home Server GUI setup. In the meantime, I learned that WHS is made by the same team that makes SBS, and indeed they have a lot in common.

OK that’s enough for tonight. Setup says it will complete in 39 minutes which will take me to almost 4am, and that’s not going to happen. 7:30am will hit soon enough as it is…