Windows
Hamilton C Shell 2009 – The Missing Shell for Windows
Sep 19th
Rather than get right down to the details with Hamilton C Shell 2009, I’d like to take a moment to give a bit of software history. The reason I feel this is imperative is that most people buying software today that didn’t use computers until just 3-5 years ago don’t know about the quality of software that used to exist. When you bought software, you got a big thick manual, a solidly built product that was meticulously optimized for speed and reliability, and a product that didn’t need an upgrade every few days or weeks via some sort of automatic upgrade mechanism because it wasn’t well tested and well delivered.
If you choose to buy Hamilton C Shell 2009, you’ll get such a wonderful product. That’s rare these days. I purchase quite a bit of software in my line of work, both for my own use, my companies use, and my client’s use. The quality of the non-open souce software that I’ve been obtaining has gone downhill considerably. Gone are the manuals and the optimizations. To keep the product running, I have to update it sometimes on a weekly basis.
When I first downloaded the demo of Hamilton C Shell 2009, I was wondering how I was going to really put its paces at 10 commands per session. I’d start digging in then have to restart it. However the author, Nicole Hamilton, was very helpful and kind and provided me a full copy for evaluation. Once I installed the full version, I was able to put it though quite a bit.
I should note first that I’m using Windows 7, x64 edition. I’m not sure if the product has been tested on this platform, but it works on all Windows platforms from modern editions back to Windows 95. You’d really be hard pressed to find any product for Windows that has such amazing backwards compatibility.
I do a lot of Ruby / Rails development, PHP work, and some occasional C programming as well, so I’m almost always in the shell when I’m in Windows. When doing Ruby work, I’ve found it easier to just use a Linux machine that I have setup for all of my programming tasks, mainly because of bash, my favorite shell, but also because many of the UNIX tools are there too.
That’s the interesting part about Hamilton C Shell though. It’s not as a UNIX emulator like Cygwin. The author states that she didn’t want to emulate UNIX, rather design a shell specifically for Windows. I’ll have to admit, at first, I wasn’t sure if this was a good thing or not, but my opinion quickly changed once I started using the product. I found myself using UNIX commands to navigate my Windows file system. Never before had I been able to do that natively. Sure, Cygwin let me do this on Windows, but not in Windows, natively working with the files and directories in the way that Windows deals with them, not trying to make them bend to the UNIX way.
Being the UNIX/Linux fan that I am, I really had trouble at first adopting to this paradigm. Soon though, I had sort of a software epiphany (and yes, you’re truly a computer geek if you have software epiphanies). I realized that all of my searching for the perfect way to balance the UNIX and Windows world was over, and it was finally time to quit making Windows do things it shouldn’t be doing.
It’s really rare for a piece of software to dramatically change my outlook on a platform or on how I do my daily tasks. This was the command prompt that I’d always been missing in Windows. Before I was trying to take bash, the proverbial square peg, and trying to make it fit into the roundish hole that is Windows. Little did I know the answer to most of my command prompt problems was there all along – since 1988!
The only learning curve I suffered with the product was in that I’m used to the GNU convention on some command line switches. For example, I’m used to clobbering together command line arguments without separate minus signs (i.e. ls -la instead of ls -l -a), but this isn’t a right/wrong way, it’s just different. The performance of the native utilities like tar is wonderful, and while I didn’t perform a proper full benchmark, it seems faster than the Cygwin emulation of tar.
One other item I noticed is that when firing up Mongrel on a Rails project, the CTRL+C didn’t work correctly to terminate it. I had to use the Task Manager in Windows to terminate it. No big deal really, I suspect it’s something simple to fix, and likely not Hamilton C Shell’s fault, or even Mongrel’s, but an artifact of the Windows Console. I’ll dig a bit deeper and figure out what’s going on there, but its a minor problem, and one that’s very easy to work around.
I was able to do all of my usual tasks while working with my files and with Ruby without any other problems, and got them done much more efficiently. I will have to dig into the manual a bit more to find out about customizing the prompt more to my taste, but I’ll get to this eventually.
This software has even got me to thinking about writing and/or porting some clones of commands that don’t exist in Windows yet, like rsync and top. Yes, I know you can use rsync with Cygwin, but it’s not the same. It’s not native to Windows. Before the author told me about her product, I would have said this was fine. Now I see it’s not, and it has honestly excited me about using Windows again. The author also told me that she’s working on adding full UNICODE and better UTF-8 support.
As for the price of Hamilton C Shell 2009, at first I thought it was a bit steep at $350 US. Then I realized that you really do get what you pay for here, and that this product is worth every penny of that price.
Even as I write this, I’m trying to think of the last time a software product changed a paradigm for me. It’s happened many times for sure, but not lately, and not anything on Windows in recent times. This review has honestly left me grateful to the author and to her product for breathing fresh air into the Windows console for me again.
Windows command line users and developers, your days of UNIX envy are over. You now (have had for nearly 20 years, I just didn’t realize it) have a command line to be proud of!
Turn Hibernate on in Vista
Jun 22nd
If you find yourself missing the hibernation feature in Vista, you can turn it on easily by running:
powercfg -h on
on the command prompt. You must run this command on an administrator-elevated prompt. To do this, right click on the command prompt icon and click “Run as Administrator”.
<!–break–>
Another Silly Vista Prompt
Jun 18th
Vista has a nice user interface, and I'll have to admit the more I use it the more I have grown accustomed to it.
That said, you see silly dialogs like this sometimes and it just makes you wonder what in the world they were thinking:

Do I want to move, or copy? This dialog is very misleading. It's really asking me for my confirmation before performing a move or copy procedure. But it seems to be asking do I want to MOVE the files, or COPY them.
I got this dialog while copying files out of a ZIP file.
It would have taken a few more lines of code to make a second dialog, asking “Are you sure you wish to move…” and rename the first one to “Are you sure you wish to copy…”, but that would have been time well spent in my opinion.
<!–break–>
Microsoft Arrogance or Poor Design?
May 6th
This sort of dialog box is either a textbook example of Microsoft's arrogance, or a display of its poor design choices:

This pops up after you've used Vista a bit. Now, let's say you don't want to join the program. You'll notice the “OK” button is grayed out. It only lets you click on it once you pick Join the Windows Customer Experience Improvement Program and then make your selection. In my case, I chose I don't want to join the program at this time.
Why in the world would they make it to where you cannot choose “no” without jumping through hoops? Is it arrogance on their part, assuming anyone would want to say yes? Or is it just bad design. Or both?
Either way, whatever you choose, you still have to confirm with the UAC prompt that pops up afterwards.
<!–break–>
Fed Up With Windows, I Recommend a Mac
May 5th
I'll start this article with one simple word:
WOW.
This is my first time recommending a Mac to anyone. I don't even own one yet, but recommended one. Those that know me will recount me being on the PC/Windows side of the fence for quite a long time. My main argument was hardware and not software based. Since I love Linux and use it daily, my argument for PC's was always the winning one usually, as before Mac's got Intel chips, PC's were simply the best computers to buy. And, even afterwards, it really took some convincing to bring me to the conclusion that Mac's were better, because XP simply worked.
Then came Vista, and all of that changed.
My sister-in-law is soon to purchase another computer, and being the family go-to guy for computer advise, I told her to get a Mac. So why did I finally recommend Mac to my sister in law? Simple – I'm fed up with Windows.
Vista, specifically. XP was a good operating system. It had its flaws, but once you got it updated and everything you used installed, it ran fairly well with few problems.
The same can't be said about Vista unfortunately. Vista is a conglomeration of crap. I won't get into the reasons I (and may others) believe this (if you want them, simply search my site for Vista and read one of my many rants about it). Quite simply, Vista is a broken product. Service pack 1 doesn't help matters much, it still has a multitude of problems that I don't see Microsoft being able to fix in this release of Windows.
I told her that if she absolutely wanted to get a Windows machine, do not get one from the value $500 or less variety, because Vista runs horribly on them. After we discussed it for a while, I think she's going to give a Mac serious consideration.
There are several things that have changed in recent years that make a move to the Mac for people (including her and I) feasible, including:
- More and more applications that people use everyday are going online (i.e. Gmail), so the OS you run doesn't matter as much
- Apple has improved its interoperability with Windows machines considerably, and the move to Intel made running Windows applications via virtualization possible.
- Most hardware is now compatible with both Windows machines and Mac's. I looked up all of her accessories, including her camera, printer, and scanner, and found them all to be compatible with Mac OS X.
- The growing list of quality end-user open source software, like OpenOffice and Firefox (both of which she already uses for Windows) means that those applications are available on all major platforms – if she moves to a Mac, she won't have to get used to something different.
As for Microsoft, they have done a terrible job convincing people to stay with Windows. The many editions of Vista, the shoddy performance, and the “how did this get out the door like this?” problems have made the Mac more appealing to me.
For me, I'll enjoy having the beauty of the UNIX command line to get my work done while still having all my favorite applications (sorry, Linux just can't do this – yet) at my fingertips. For her, she won't know or care that UNIX is under the hood – but will benefit from its stability and openness.
I do have to say, I'm not particularly pleased with all of Apple's business practices. I think their iTunes DRM is appalling (Amazon MP3 will soon force them to change this though), and I think they've made some stupid moves in the past that some of which they haven't recovered from fully. Their attitude of elitism is frustrating as well, but as more and more people give up on Windows and use Mac's, this will diminish.
So that's right, I recommended a Mac to her. I'll be getting one soon myself.
It's probably nearing freezing in hell as I type this and pigs are sprouting buds that will soon be wings.
There Are Other Formats Besides Quicktime
Jan 28th
Flash video has become the de-facto standard on the web for displaying streaming video. There are many reasons for this, portability being the main one. Flash is available for Windows, Linux, Mac's, and a host of other devices.
Why then do Web 2.0 companies with Mac fans running their IT departments insist on forcing everyone to watch their tutorials, walkthroughs, screencasts, and such on Quicktime?
Quicktime isn't portable. It doesn't work well on Linux, because Apple thinks that Mac OS is the only UNIX OS out there, and don't see a need to distribute Quicktime for Linux. It's ironic, because if you include servers, there are many more Linux machines than Mac's, but that apparently doesn't matter.
I'm sure it sucked back when Mac's had to put up with everyone using Windows Media and Real Player (ugh), but that doesn't mean its right to take out those streaming video frustrations on Windows and Linux people. Quicktime sucks for Windows, frankly, and what support there is for Linux for it is spotty, at best.
Go with Flash video. You'll reach a wider audience with the least technical frustrations possible.
Vista Thoughts 1 Year Later
Nov 27th
It's been nearly a year since Vista was released, and on this blog I've been all over the map with Vista. I at first liked it, then didn't like it so much, but slowly started to like it more once I upgraded my hardware (which was fast to start with).
I've had it on my Windows machine for about 4 months now (the Vista Business Edition, 64-bit), and my thoughts are still somewhat mixed. I do believe they have fixed many of the critical issues that kept it from being a productive operating system, but there are some lingering things that still cause problems on occasion.
We'll start with the things I do like:
- The new interface. I know it's had mixed reception, but I find it generally appealing. I find switching windows and seeing what other windows are doing easier now, and I don't think about window navigation as much as I used to with XP. And no, they didn't copy Mac's.
- The 64-bit kernel. Vista's 64-bit kernel is amazing, just as stable as Windows 2003's or Windows XP 64-bit edition, if not more. I have yet to suffer a blue screen or hard lockup since I've had this install.
- UAC (User Account Control). There have been people who complained about this feature more than anything else in Vista, and I don't get it. Everyone wanted better security in Windows and disliked the idea of everything running as Administrator, so Microsoft fixed this and people complain. What gives? UAC isn't 100% polished, but it works well, and does keep a system safer than without it. Linux has had this (via
sudo) for years, and people have long advocated it there. In fact, many peoples security wish list for Vista (including mine) wanted some sort of user mode with moving to administrator mode only when absolutely necessary. - The folder views. In general, they're very good. The sorting and stacking is much better, and I've actually used it to help me find things more easily.
- Previous versions. The Mac people talk about how great the new time machine is in Leopard, and in the same breath complain that Vista ashamedly took Mac's ideas. Good grief. I'm afraid it was Vista that was copied this time around. The previous version feature has saved me several times. My only gripe with it I will address below.
- The Vista installer finally lets you load RAID drivers from a CD-ROM, instead of having to resort to floppy drives like you did in XP and 2000. This was annoying, and the fix was long overdue.
- Powershell. Technically this isn't included in Vista (it wasn't ready when Vista was RTM), and its available for XP, but I like Windows having a real, almost UNIX-like shell. It actually responds to the
lscommand, which is good because I usually type it by mistake rather thandirsince I'm on UNIX machines so much. - The wallpapers. No really, they're good!
- Snipping Tool. This handy little screenshot grabber I keep in my quick lanuch bar. Sure there's other programs otu there that do it, but this comes with the OS and is easy to use.
- The
C:\Users\Robfolder (of course, it would beC:\Users\Your Nameand not Rob, unless you're named Rob). Moving this fromC:\Documents and Settings\Robmade total sense. - The Windows Calendar and Address Book. I don't use them, but I think they're great if you use nothing else. Windows has long needed this. They're well done tools as well.
- DirectX games are handled better in the windowing system, and switching back to your desktop is faster and easier under Vista than it was with XP. This is a natural benefit from running the desktop in graphics accelerated mode.
- Vista is a hog, more so than any other Windows OS. You need more RAM and a decent graphics card (A 7000 series nVidia or better for good performance). It runs poorly on laptops, and doesn't provide much more bang for the resources it uses than XP did.
- Without the performance and stability patches, there are some highly annoying problems that will keep you from liking Vista from the first moment you use it. It
- Copying files from removable drives is tough. You can't select multiple files, you must copy them individually. This is stupid. Why is this the case? I just use a command prompt and run something like
copy G:\DCIM\1007ZDIM\*.* C:\Users\Rob\Picturesto copy pictures from my camera's SD card, but if you don't know how to use the command prompt you're stuck here. This is a backwards move from XP. - The programs menu seems crowded. I like how it expanded in XP. It seems claustrophobic now.
- The new backup and restore utility is certainly easier to use than XP's or 2000's, but from what I can tell you cannot back up certain folders on your system, you either can back up your documents only or your entire hard drive. It specifies exclusions that you can't edit that could possibly be a problem.
- The new activation scheme is less buggy, but silly. I've always thought activation for an OS was a bad idea.
- The sidebar. I just deactivate it. I don't see a need for widgets. This isn't really a fault of Vista's, its just my preference. I have yet to find something that widget can do that I can't live without.
- The name. Is Vista really the best name they could give this OS?
Things I don't like:
It would seem that my list of likes is bigger than my list of dislikes. In general, that's true. I'm happy with Vista on my Windows machine, and would rather use it than XP. Vista feels more stable, if that can be quantified. It feels more substantial, and after using Vista for a while I find using an XP machine is a bit of a challenge, as I'm missing some of the new Vista windowing tools and explorer views.
Having said that, if I had a less equipped machine, I would definitely go with XP. XP Media Center Edition is still installed on my laptop, and I'm not upgrading it to Vista for the life of it, ever. I tried Vista on it, and it was very slow.
You need 2 GB of RAM really to run Vista. You can get by with 1, but it's not pleasant if you run more than 1 or 2 applications at a time. Ideally you need 3 and above. I'm running 3 GB and have not had any performance problems. A dual core processor helps too. When I had it back on my single core CPU it didn't run nearly as well. That's still a lot of hardware to throw at an OS, even today. XP and Linux run with far less.
So what would I advise people who are thinking of getting or building a computer today? If you're willing to spend over $1,000, go with Vista. If not, stick with XP. Vista is not better for gaming, despite what Microsoft says. I get similar frame rates with XP and Vista. If you want DirectX 10 though, which some games are starting to use, you will need Vista and a DirectX 10 capable graphics card.
For your average “I check my e-mail and surf the web” kind of computer user, I'd still recommend XP, especially if they don't want to spend a lot. Computers priced below $600 with Vista truly suck.
One thing I miss while I'm using Vista is the UNIX shell. I realize though this isn't Vista's or XP's fault, they're just not UNIX products. I know DOS commands quite well, so I can work with good ol'e CMD.EXE, but it's just not the same as bash.
The bottom line on Vista is that like it or not, if you want to use Windows, Vista is going to quickly become your only viable long-term option. You can still get some mileage out of XP, but this won't last forever. If you're going to buy a new system and are willing to spend some decent money on it, go with Vista, if for nothing else than to get the transition over with as soon as possible. For better or worse, it's inevitable.
If you're going to stick with XP, run XP 64-bit edition. XP 32-bit is just not worth it anymore. Not only does XP 64-bit it use the faster and more stable Windows 2003 kernel, but it's harder for viruses to infect (for now anyway) and will help you get ready sooner for the day when OS's will only come in 64-bit flavors.
<!–break–>
Why Apple isn't Any Better than Microsoft
Oct 2nd
This world seems to revolve around monopolies. When you purchase a product or service, there seems to be a market leader in many categories. There are usually second and third place alternatives, and they may even be better, but the market saturation of the first makes it actually an advantage that so many of the said product are out there.
Computers work that way to. Many Apple fans have long said Apple “gets it” better than Microsoft does as to what people want in a computer, to “just work”. They claim it's a viable alternative that frees you from the “Microsoft monopoly”. It's computing with the user in mind, not what the marketing department thinks it should be.
What they fail to realize is that the Apple is in many ways more of a monopoly and a closed operation than Microsoft.
Sure, they might have nicer user interfaces, but when it comes to interoperability, compatibility, and upgradeability, things that really matter to people, perhaps even more than it “just working”. Things like being able to use the device or computer you purchased with a broad range of third party software, the vendor(s) and provider(s) of your choice, and the knowledge that in the future you can upgrade the device are very appealing to users, and is why the PC hardware has done substantially better than Mac hardware.
Microsoft actually has little to do with the hardware successes of the PC. The open architecture idea was started back during the PC clone wars and is still carried to this day, but Microsoft made a product that works on all PC's, not just ones it makes. That's a crucial difference.
Apple on the other hand is obsessed with controlling the entire stack, from manufacturing, to software, to marketing, and even who people go to get upgrades and support. There may be some benefits to this model, but the biggest downside is that you HAVE to use Apple for everything, or the vendors they pre-select for you. If you don't happen to like them (i.e. AT&T), you're just out of luck.
It's been said that Apple makes technology less confusing to people because they offer less choice. But if that were the case, and Apple truly had better products, why do their devices not sell nearly as well as others (with the exception of the iPod)?
Is it because the “evil Microsoft” has a corner on all of the markets Apple doesn't dominate and is selfishly keeping them to itself? No.
Microsoft actually learned quite a long time ago that letting third parties into the process enriched the experience. In fact, when it was making MS-DOS, it depended on third parties extensively for is product to even have a platform to exist on. Now they've had their share of mistakes, and many of those mistakes ended up dragging them through years of anti-trust litigation, but I do honestly believe they have learned from that experience.
To demonstrate this idea, take Windows Media Player for example. When you install it, it asks what music store you'd like to use. Of course the URGE store is displayed as a primary and recommended choice, but it works with many other online music stores as well. You have a choice in the matter. You also don't have to use Microsoft's Zune player either, you can use an MP3 player from nearly every manufacturer out there with it. That's true interoperability.
What do we get with iTunes? Well, it's a great product, but it only works with the iTunes online music store. Secondly, it only works with the iPod. If you have another MP3 player, you're out of luck. If you want to use a different music store, you're out of luck. It does work with the iPhone as well, but that device is made only by Apple, and I won't even go into the massive problems people have had with that device, but it does seem important to note that it can only be used with AT&T.
Isn't vendor lock-in more harmful to the consumer than a product that is used on 90%+ of computers out there? I'm honestly surprised that Apple doesn't lock you into a specific broadband or even dial up provider. I'm sure Apple fans will say that would be silly, but it doesn't seem too much different than to locking your Apple-powered cell phone to one provider, or locking your media player to one online store.
You might think from this post that I dislike Apple. You might also think I like Microsoft. You would be wrong on both counts. I think they both make good products, but for me it comes down to a choice of being locked down to one vendor who doesn't play well with others and insist you only do things their way, or go with another vendor that is the biggest player in the industry and even if begrudgingly so, works well with partners and other vendors.
Makes you wonder if Apple's “it's about you” attitude, stressing the all importance of the consumer, isn't really more accurately stated as, “it's all about Apple”.
Vista Thoughts – Part 3
Sep 6th
I've had several rants about Vista, and none of them good. That's going to change here, at least for the most part.
Due to several hardware factors out of my control, I had to replace my desktop computer, so I decided to get one that had Vista on it already. I used to build computers for myself, and still customize them quite a bit, but time is shorter now and I simply want something that works. I got a computer with an AMD X2 5000+ CPU, 3 GB of RAM, and an nVidia 7600 GS video card. While I certainly could have gotten something faster, this is a very fast machine, and plenty for my needs at the price point I bought it at.
The only thing I really did to the computer was install Vista Business x64 edition because it had a 32-bit edition of Home Premium on it. Not that i have any problem with the Home Premium edition, I wanted 64-bit because I know from my previous Vista experience the 64-bit edition is faster (by my rough estimates, about 10% so).
Once I got everything up and running, I was amazed. The performance of this machine (which scores 4.3 on Vista's overall performance meter, with subscores of 5.1, 5.9, 4.3, 4.5, and 5.7, in order), is quite good. It runs everything I want it to run very quickly, and games work very well. I have yet to play a game with all of the settings turned up and get less than 30 FPS, what I consider to be the lowest acceptable framerate on a game.
Why is my experience so different from the previous ventures with Vista? My guess is the hardware. The previous computer was an AMD Athlon 3000+ with 2 GB of RAM and an nVidia 7200 series graphics card. It scored less than 4 on Vista's performance gauge. While it performed very fast under XP, it just didn't have enough to make Vista a seamless experience.
Now having said all this, I only started really putting Vista through its paces after I installed all of the updates, including the recent performance and reliability updates that boost regular desktop work significantly and remove some nasty bugs, such as the “Calculating time” bug while copying files. Once all of this was fixed, I will have to admit I'm now happy with Vista, and don't plan on going back to XP on my Windows machine.
Of course, my first love is Linux, and will probably always be. But I have to admit that Linux, even with Ubuntu's goodness, is still not 100% ready for the desktop in most cases. It does 98% of what I need, but that 2% is really annoying. Of course, when it comes to development and such, I'm nearly always on Linux.
So, I'm going to state for the record that I believe Vista has come a long way recently, and I'm happy with it. No, I don't like the DRM (which really doesn't affect me now), and I think some design decisions could have been made better. But, as I was recently reminded by someone that not everyone likes Chocolate (hard to imagine though), it's impossible to please everyone. Microsoft fumbled with Vista, and it could have been much better. But it IS better than XP, and that is progress in the right direction.
I Spoke Too Soon
Aug 27th
Last time I posted that Vista x64 edition was substantially better than its 32-bit counterpart. For the most part, that's correct, but I spoke too soon. Vista, in any edition right now, is not a suitable operating system for a power user, meaning anyone who needs more from their computer than e-mail, web browsing, and basic operations.
I've made numerous postings as to why I think Vista isn't ready for us as a serious OS so I won't bother you with those details again, but essentially many of the problems that I experienced and overall sluggishness I felt while using Vista on my highest end hardware were still there with x64, it just took them longer to surface, and the 64-bit kernel made them a bit harder to notice at first.
When I switched back to XP though, I installed Windows XP Professional x64 edition. I've had this edition before, back when it had pitiful driver availability, but this time all of my hardware was supported, and I have yet to find one compatibility problem yet. I don't have to go out on too far a limb to say that Windows XP Professional x64 edition is by far the most stable, productive, and reliable operating system Microsoft made.
So when will I switch to Vista again? Not for quite some time. I'm not even sure that a service pack can fix some of the problems that just seem inherent with it. SP1 won't make the DRM issue go away, it won't reduce the ludicrous amount of versions of the operating system, and it won't fix the claustrophobic start menu that to me at least is less productive than the XP version.
The two recent hotfixes released meant to increase performance and fix some of the most annoying problems with Vista are being met with mixed reviews. Some say they see a difference, some can't tell they installed them. The newly discovered network performance drop while playing audio has prompted a quick rebuttal from Microsoft, claiming in part that it is designed behavior.
Needless to say, the situation with Vista is just plain messy right now, and I'm not sure when it will be straightened out. Until then, I'm running XP on my Windows machine, and will likely continue to do so for quite some time.