Saturday, June 30, 2007

Oui, We Wii. Wheee!

While this blog will focus mostly on IT, this specific blog entry is about the Nintendo Wii. Ok, so what does the Wii have to do exactly with IT? Well, nothing really. I just happen to like the Wii for certain included features and I thought I would discuss them in this blog.

Nintendo Wii
The Nintendo Wii is the newest gaming system by Nintendo. At first glance, the case doesn't look like much. It looks a bit like a glorified external CD/DVD drive that you could buy for $50. But, it isn't. Nintendo finally got their gaming system right on many levels that actually matter. The one, and only one, thing that is lacking on this unit is high res graphics. The best resolution that this unit is capable of is 480p (equivalent to an NTSC DVD player). That doesn't sound so bad until you compare it to a 1080p signal from a Blu-Ray disk or the PS3. So, while the graphics are acceptable, they don't look great. But, graphics aside, what makes the Wii worth considering is two-fold. First, it has a unique controller system that finally makes sense, is ergonomic and has a unique input system. Second, the system comes preloaded with a firmware that is actually useful out of the box (mind you, it also requires a connection to the Internet). Not to mention that it also ships with WiiSports.

Compatibility with GameCube
Amazingly, the Wii appears to be completely compatible with GameCube games and GC controllers. I wasn't aware of this until I actually got a Wii. So, if you previously owned a GameCube and still have some old games lying around, you can play them once again if you happen to have a GameCube controller (it's required). The Wii has slots to hook in old GC cards and controllers under flaps on the top (if the unit is standing vertically).

The pricepoint of the Wii at ~$250 is really what's driving this unit into the homes. That is, compared to the $700 pricepoint of the PS3. While it doesn't compare graphically to the PS3, it more than makes up for that in its unique controller input system. The PS3 pales in comparison with its feeble attempt at a sensor in the controller. The controller system in the Wii lends itself to much more diverse and interactive games getting people off the couch and making them active. The PS3 doesn't do this, unless you count Dance Dance Revolution.

Controllers
The unique wand style remote (looks like a TV remote) and combines with the Nunchuk (a small hand controller attached to the wand by a wire) to create a full features controller system. The wand itself appears to connect to the unit by both Bluetooth and infrared. The wand controller has a small speaker from which audio can be played in unison with the system. This is actually quite unique. When playing tennis in WiiSports, the smack noise from the ball comes out of the small speaker on the remote. The Nunchuk controller gives two additional buttons and an analog controller for much more precise movement. Not all games require the Nunchuk. The wand requires a sensor bar that you hook up to the Wii and place either just above or just below your TV. This is what accepts the input from the controller wand. When you point the wand at the TV screen, it acts like a laser pointer and the hand (pointer) moves around on the screen based on where you point it. The Wand also has vibration feedback so that you know when you're over a button or for other purposes.

Comparing this controller system to the PS3, there is no comparison. Sony removed the vibration feature from their remote system due to Sony's loss of a lawsuit by the company who created the vibration system. So, no feedback on the PS3 (a step backwards). Worse, they tried to add an up, down, left right, and in and out sensor, but this system is so not useful as to be pointless in any game that uses it... which is why most games that enable it also give a way to turn it off.

Wii Sports
Wii Sports is a game that comes bundled with the basic Wii. It has titles like Tennis, Baseball, Bowling and Golf. Each of these games requires holding the wand remote in a specific fashion to do whatever the sport requires. So, in Golf you hold it like you would a putter. In Bowling, you hold it like you would a ball (and then swing and release like Bowling). These games play extremely well. Unfortunately, the graphics are nothing to write home about, though. But, for the lack of the graphics, the game play is what makes this game.

Channels
If you've used an Nintendo DS, then the Wii's interface might look a little familiar. It has a similar type of interface, but much more advanced compared to what's on the DS. This is similar to what Sony did from the PSP to the PS3. But, on the Wii, Nintendo now offers a new concept of channels. Think of a channel as an application or program (as it would be on the PC). Each channel contains a specific type of content. Like, for example, the Wii comes preloaded with a News channel. So, when you click on it, it's like reading a newspaper (requires wired or WiFi internet access). The articles appear as though they are on a page and a globe shows where in the world the news is. This news feature completely outshines PS3 by a mile. There is nothing even similar on the PS3. Of course, you could read news with the PS3's web brower. But, keep in mind that the browser on the Wii is separate from the news channel.

Web Browser
I was pleasantly surprised to find that the included browser on the Wii is powered by Opera. Unlike the PS3 web browser written by who knows. While much of the standard Internet fare works well in the Wii browser, including Flash content (mostly), there are clearly Windows-only content that doesn't work (just as it doesn't work on the PS3 either). So, don't expect to play WMA audio files or WMV video files on the Wii (or the PS3). Overall, for browsing, pages load very fast and render very well with no surprises. On the PS3, the browser is very very slow to render and doesn't always render the page properly. The Wii's browser choice was a smart one. Unfortunately, the browser doesn't come shipped on the unit. You'll have to have access to the Internet and then download it from the shopping channel. As of this writing, downloading the browser is, however, free.

Overall
For the $250 price, the Wii is a great offering from Nintendo. It's not the best gaming system out there as far as graphics go. Sony is clearly the winner for graphics. Howwever, I think Nintendo has proven with the Wii that graphics aren't everything. Gameplay and usability go a long way to satisfying gamers. So, Sony needs to take a card from Nintendo's deck and consider these aspects when designing advanced consoles. Clearly, it was a consideration in the PS2, but not in the PS3.

Friday, June 29, 2007

iPhone: Sweet or Sour?


As of this writing, the iPhone is now released. Big whoop. It's yet another cell phone device in a sea of cell phones. So, what is it about this phone is so appealing to certain people? Well, other than the touch sensitive screen and the auto-rotating wide to portrait sensor, I'm not so sure.

Why exactly do you buy a phone? Well, I would hope you buy it to make calls and answer calls. All of these other 'bells and whistles' are just that. But, even as great as the fun stuff is, there really are some major drawbacks to this phone that shows just how novice Apple is at creating cell phones. Let's list them now:

Benefits:

Auto-screen rotation
Excellent GUI interface
Looks like a Mac (because it really is MacOS X... sort of)
Touch sensitive screen
Bright and wide display
iTunes
Case design

Drawbacks:
Bright Wide Display (Why? Draws lots of power, not visible in sunlight)
Touch sensitive screen (Why? Can't dial you phone by touch...use both hands)
Case design (Why? Will likely scratch easily like the iPod)
iTunes (Why? It has iTunes, but can't download directly to iPhone.)
Battery (Why? It's not user replaceable! After 1000-1500 charges, must trash.)
Does not offer 3G
Locked to AT&T network!!! (Why? Well, I'll let you figure that one out yourself)
Forced to use a very specific $60-70 AT&T Wireless plan!
Yes, it runs MacOSX. No, can't load third party apps on it (not without hacking it).
Battery Life


For a $600 device PLUS $60-70 a month, this is a very very very (did I mention very?) expensive phone with way too many drawbacks! There are plenty of other smartphones on the market that easily have similar enough functionality to this phone that are far cheaper, work on other networks, offer 3G and even have user replaceable batteries. For the caliber and the quality that this phone is supposed to embody, it really has so many flaws that I consider it a version .5 (beta quality) phone. However, this really is par for Apple's course. They come very close, but miss the hole the first time out. Then make a hole-in-one the second time around. I'll personally wait to see what iPhone 2.0 looks like. Likely, Apple will have addressed each of these drawbacks above and added a bunch of new features to boot.

So, it's your choice. You can dump $600 + $60 monthly for a .5 version iPhone or you can go with another phone that will work equally as well for far less money and much cheaper service. If you take the plunge, just be sure that you buy an insurance policy on your plan so that when you either lose the phone or the battery no longer charges you can get a new one without paying another $600. I personally recommend waiting until Apple addresses these issues in iPhone 2.0 which will, inevitably, be available in about 6 months (or less).

Tuesday, June 26, 2007

What is it about Windows? Part I

So what is it in Windows that entices corporations, managers and developers to want to actually buy Windows? Sure, there's lots of cheap PC hardware available to run Windows but, other than MacOS X, you can put a myriad of operating systems on these hardwares other than Windows. Let's start by looking at Windows a bit more closely:

In the beginning (ignoring DOS), Windows was first designed as a desktop operating system for a single user
With kludgy changes and over time, Microsoft bandaged the OS to support multiple users (but not simultaneously... you have to buy a server OS for that, and even that has issues). Windows was born out of a non-multitasking OS (DOS) and, again, with some bandages, once again added a, sort of, pre-emptive multitasking kernel (thanks to a VMS guy). Another kludge, if you ask me.

These changes were not fundamental ground up changes. They were add-ons... after thoughts. This is the entire problem with Microsoft and their design philosophies. They don't work on redesigning, they work on patching. If the OS can't do something, they just add on a patch and the problem is solved. Like, .NET. Yet another add-on library. This was not a fundamental OS change, they just changed out an old previous framework and development system and introduced a new 'better' (patched) framework to handle Internet development functionality. The OS wasn't altered or modified or redesigned to make room for .NET. It's just another patch.

What's wrong with patches? Well, nothing, if the code you're trying to fix is actually broken. But, if you're making new design changes or making a paradigm shift, implementing that change as a patch is just a kludge. It means, as a developer, you didn't try and rework other parts of the OS to actually and properly integrate the code. Of course, one could argue that by adding the DLL, that it does become part of the OS... well, yes and no. The OS had no knowledge of this functionality until the DLL was dropped in place. Therefore, it's still just a patch. Of course, you could argue that the OS was designed properly to support extensions. Since the advent of shared libraries (originally introduced in UNIX), otherwise known as DLLs on Windows, that has been possible with most operating systems.

Filesystem design issues...
Of course, here's another different issue. The OS is still, to this day, laid out in the same filesystem design is Windows 3.1! Another prime example of patching! Moving to Windows XP (or even Vista), you'd think that we could finally get rid of the Windows, System32, Program Files, Program Files/Common directories as well as config.sys and autoexec.bat and actually design each application to be self-contained (let's take a page from Steve Jobs and his design for the .app folder).

Better, let's actually create an actual and proper startup routine for the OS (so you know how to get things to properly start up when Windows loads). We'll come back to the startup issue. There should be one single location to load common system DLLs. But these DLLs should never be touched, modified or altered (other than by vulnerability patches). Again, these DLLs should be left alone and stand alone. No application should ever add DLLs to this directory. All DLLs for an application should reside in its own structure within its own app directory (self contained). There is no need to strew tons of DLLs (and other files) all over the filesystem in tons of different places. It's no wonder that Windows ends up degraded over time with all this extraneous garbage being left out there running even after the application is deleted from the system.

Common Files?
Why is there even a Program Files/Common Files area? If I request an application to load on drive D, why is it that it still has to load garbage onto drive C? This issue should have been addressed YEARS ago. Why is it still placing stuff onto C? And here's another issue. Why are we still using single letters to refer to drives? Why can't I access my stuff by using Data: or some other alias? We'll come back to drive letters later.

Shells and Scripting
WHEN WHEN WHEN will Microsoft get rid of the command prompt (both CMD and Command) and actually replace it with an actual shell that has a real scripting language available? Batch scripting? Heh, that is so basic it can't even be called a scripting language as it has very limited and unusually constructed conditionals. It's intended for quick batch jobs. Definitely not for scripting. WSH you say? That thing is so kludgy and Windows-GUI-centric that it's not even funny. Plus, the language is not even that standard... yes, it looks a bit like Visual Basic, but it really isn't. Just give me a shell that has full fledge conditional scripting built in. I don't want to have to call cscript or some other command that interprets my script and then doesn't work properly half the time. There really is no good way to automate command line tasks in Windows. Yes, I can add on Python, Perl or even Bash as an add-on. But, something should be included out-of-the-box!

Task Scheduler and running scripts
Yes, there's 'Task Scheduler', but again this is yet another kludge that's dependant on IE. IE? Why the heck is Task Scheduler dependant on IE? So, if you get some kind of virus or malware (very easy with IE), Task Scheduler can easily be corrupted and no longer work. Worse, anything you run through Task Scheduler has to open that stupid command shell window to run (if only briefly). So, when you're working on the console, you have to endure that stupid black command window popping up to run periodic tasks. There is no way to suppress that thing. Such a great idea for task scheduling! Sure, I can go out and get CRON or some other UNIX ported tool for Windows NOW, but I shouldn't have to do this.

Filesystems / NTFS and data storage
Don't get me started on NTFS (written by Veritas). Ok, I will. Linux offers at least 5 other filesystems that are available for use based on the type of data and performance needs. Most of these filesystems get updated regularly, support journaling and various other advanced recovery tools (not to mention that they were designed for exceptional performance). NTFS hasn't really been touched since NT4. Sure they did a few things to create NTFS version 5. But those changes were so minimal as to not be worthwhile (mostly to do with large sized disks and large files). However, if NTFS gets corrupted, there really are no tools to fix this issue other than chkdsk which is only barely functional. Thanks Veritas! And NTFS can and does get corrupted. I can only recall once having corruption issues with a Linux filesystem which was likely related to a failing drive (and that was on EXT2, not the current filesystems). With Windows, once the MFT (basically the FAT table) is corrupted, you might as well backup, format and restore (BFR). The catchall for MOST windows filesystem problems.

With advanced filesystems such as EXT3, XFS, JFS, ReiserFS, VXFS (Veritas' newer advanced filesystem) and others, there are MANY tools and safeguards to prevent data loss. With NTFS, these safeguards are just not there. Worse, Microsoft won't let these third party filesystem providers introduce these filesystems onto Windows as replacements for NTFS!!! I've already tried trusting NTFS several times and each time I've been severely burned. NTFS cannot even handle directories where the number of files exceeds about 15,000-20,000 files!! Once you reach the undocumented threshold on the number of files, the MFT (yes, the MFT can only be so big) overruns itself and begins corrupting the rest of the filesystem!! Worse, you try chkdsk, and that tool also overruns itself and begins corrupting the NTFS volume even more. Why WHY would you EVER trust mission critical business data to a filesystem that has NO recovery tools available other than chkdsk? There are not even third party tools! That's how closed NTFS is.

XFS, JFS and even EXT3 offer full fledged journaling. So, short of a bad head crash of a single physical drive, you're not likely to lose data with these other journaled filesystems. Even in this instance, you can sometimes use 'dd' to clone the drive and get much of the data back! Better, because the file systems are open source there are plenty of recovery tools! Even still, fsck is an extremely robust tool and behaves far far better than chkdsk ever has.

(continued in Part II)

Sales people and last minute IT requests

Ok, what is it about sales people (and employees in general) that they always wait to the last minute to request things from IT? It's afternoon at say 5:00PM. Why is it that these people wait until now to come to the IT guy with lengthy new requests that just have to be done right then! I'm here all day working on other issues and could have made time during the day to do whatever it is (i.e., SOW review, security document, write something for a customer). But now, it's 5PM and it's always, "We've got to get this to the prospect right now!!!". Ok, so why do I have to rush to get this done when they can't plan better? I'm just at a loss at this behavior.

Of course, if you don't do whatever it is, then management doesn't consider you to be a team player. If you do it, then that bad behavior is reinforced and these people assume it's ok to do it again. This is a no-win situation. I just can't figure out why people can't plan ahead better and give a day or more or ask the prospect for more time.

An emergency on someone else's part does not make it an emergency on mine.

Monday, June 25, 2007

When things happen, they happen at once

I don't know why this is, but there's probably some probability model that explains it. We're humming along for months without problems. Anyway, when things happen, then tend to happen all at once. So, here's the events that happened Friday June 22nd... it always seems to happen on Friday!

Anyway, here's what happened. I awake to paging on my cell phone. Not an unusual occurance as we have lots of equipment and several pieces like to page. So, I picked up the phone and glanced. Well, for some reason, the mail server was acting up. So, I walked over to my computer and VPNed to work. It was ping failing, so I decided to power cycle it. I connected to the power cycler and forced a power off (not the best thing to do, but it's usually a last resort anyway). That didn't work. That meant I'd have to drive up to work. Corporate mail was down (as well as several other mailboxes).

So, I call the office to see who's there. Long story short, they couldn't get it back up either. But, he suspected the main boot drive has having partially crashed. So, I stop by Best Buy and buy a new hard drive. We clone and replace it (which, in and of itself is kind of a pain and took excessively long to do because of Windows). I digress. After the boot drive was cloned and replaced, we tried booting it again. Once again, there was at least one other drive (in an array) that also had gone bad.

So, we hop in my boss's car and go back to Best Buy to get yet another drive. Good thing I didn't try to drive my car there, some idiot decided to park his semi right in front of a large segment of cars at work blocking us ALL in. We replace that one and start the rebuild. Then, yet another drive was bad. Back to Best Buy, but this time I bought 3 more drives (to replace the last 3 just in case). No more going to Best Buy that day.

So, right about the time we got the second drive in the unit and it was successfully rebuilding, we had lunch. I turned on the projector (to give a small demo) and the bulb exploded (literally)! Hot pieces of glass came careening out of the unit and burned the very wood conference table (smoked and everything). So, not only did I have to clean up glass shards from the projector bulb, I had to go grab the other projector and move it into the main conference room until I could get a bulb replacement.

About the time I got done with lunch and sat down at my desk, I decided to call Dell about the projector bulb. Dialed the number and heard 'fast busy'. Hmmm.. I dialed another number. Fast busy... Every number I dialed (except our local circuit numbers) resulted in fast busy. I rebooted the phone system. That didn't work. But, I knew that our PRI connectivity to the AT&T switch was up and functioning. So, I called AT&T to report trouble. What a nightmare that was. I must have called about 5 different 8xx numbers before I found one that would actually help me. The first number, the one on the bill for service, couldn't help me. They transferred me into a system that said, "Sorry, we don't handle your account, call this 800 number". So, I call that number. This time I hear, "Welcome to AT&T's residential customer service center". We're not a residence! Click! I hang up. So, I dial the number listed on the demark (jack on the wall) and they also tell me they can't help me, but they give me yet another number. I call it. Finally, I get someone who can help.

After the AT&T telephone nightmare, they tell me there was an outage going on in San Jose (not that close to where I work, but close enough). Great. So, we have no inbound or outbound phone service either. No email, no phone. Thankfully, I had just implemented Live Help, but it hadn't yet been announced. It was about 3:30PM by the time I found out about the phones, but this had apparently been happening since about 2PM. The AT&T guy gives me a trouble ticket number and I hang up. About 2 minutes after I hang up, I receive an automated call on my cell phone (from AT&T) that tells me the exact same thing that the rep just told me. Then, I didn't receive any other calls from anyone else regarding that ticket. At about 5:30, I noticed the phone service was back up. Still no status updates from AT&T.

Of course, my mind wasn't so much concerned with the phone system as trying to repair the mail server. So, while ignoring the fact that AT&T hadn't call me to give status updates, I was still trying to make sure the email server would come back up properly. Well, it did and didn't. NTFS is still giving me chkdsk problems on the volume. If we try to repair it, it could take hours and totally corrupt the volume. So, we're trying to get what data off we can and then format and restore. This is about the fastest way to deal with a volume this corrupted. Chkdsk, under these conditions, could take hours (and I mean like 12-24 hours) to complete. We can't be offline that long. So, we skip the disk check operation for now and hope we can get the data off to a new volume where we can bring the mail server back up. Then, I can format that old volume in a proper way. Then, move it all back.

So, after we get the system back up around 5:20 PM (serving email), I sit down to call Dell. I realize the phone system may still be down, but I try anyway. Sure enough, the call goes through. Yay. I get some guy in India who proceeds to give me the run around about what they can do about the projector (nothing apparently). A projector bulb explodes, burns a table and they do NOTHING other than tell me to buy a new bulb. A $315 bulb! I did buy the bulb, though. We need the projector. But, what about the burn on the table? The old bulb wasn't that used. Anyway... that's the ramblings from hell Friday.