Thursday, December 27, 2007

Microsoft and Samba?

According to this article at Information Week, Microsoft and the Samba team have cut a deal to improve the compatibility between Samba and Microsoft's operating systems. This 'deal', unfortunately, is not without its pitfalls. The deal that the Samba developers had to make was to pay $10,000 to Microsoft for a 'license' and also agree to not disclose the protocols listed in said manuals.

Unfortunately, Samba is Open Source. This means, however, that even when the Samba developers roll these code changes in, the code will be visible as open source. So, I don't see exactly how this deal is going to work. If the terms are not to disclose the protocols, then they can't keep Samba open source. Or, alternatively, they have to build binary modules to be distributed with the source that will be compiled in when the final source is compiled. The other option is that they no longer make Samba open source. Frankly, hobbling Samba's open source status strictly to fulfill Microsoft's deal just doesn't seem right even if it makes the software more compatible.

Ultimately, I'm just not seeing the benefit that this deal has to the open source community. Should the Samba developer team include the code in the source and also keep it all open source, then the developers will have violated Microsoft's agreement. If the Samba team eliminates the open source status of Samba, that will hinder many people's ability to see the code and modify it themselves. Personally, I'd prefer them to keep the source open. If that means less compatibility, then so be it. If they have to close the source to keep the terms of the Microsoft deal, then I think they just spent $10,000 for nothing.

I'd be concerned by the motives behind this deal. It certainly appears that Microsoft wants control over Samba and this may be the first step to getting it. By inking such a deal, this means Microsoft will end up having very strict control over an open source product. This looks to me like the first salvo has been launched.

Wednesday, August 1, 2007

Inexpensive NAS appliances: Worth it?

Iomega, Buffalo, SnapAppliance, etc. These are all manufacturers who make inexpensive 1-2 Terrabyte NAS appliances. Should you buy one?

As an IT professional, I have worked with some of these devices. Here's what to look for in them to determine if it will work in your environment:

  1. Can you reboot it remotely? Some of these appliances do not let you restart them internally. Instead, you have to be physically at the device to power it off and on. This definitely makes for a problem in remotely supporting it.
  2. Does it support CIFS, NFS, etc? Some of these appliances only support CIFS. Some also support NFS. You need to evaluate the protocols you intend to use in your environment to know if these devices will work for you.
  3. Can you upgrade the Firmware? These appliances almost always have firmware updates. The issue is frequency and stability. Some of the manufacturers release seemingly untested firmware that simply doesn't perform or operate as expected.
  4. Does it support RAID? Some of them support various levels of RAID. Check the device to find out if it supports what you need.
  5. Does it have a Gigabit interface? Some of these devices only support 100Mbps or less networking. Check it closely to determine.
I have tried out both Buffalo and Iomega devices. These inexpensive devices, while the idea looks great on paper, are designed and built poorly. They have limitations and inherent firmware problems that make it a bad choice if you're trying to use it as a small office file server. Many of these devices are built using Linux under the hood. This means that to support CIFS, it has to use Samba. Samba is a tricky beast to configure. If the manufacturer doesn't configure it 100% correctly, it simply won't function properly. This means, your Windows shares may not work properly (or at all).

Of course, they do have lots of storage. What good is that if the devices don't perform well, are crash prone and have connectivity issues. So, be wary of choosing a NAS appliance solely on price. You might end up being sorry.

Vendors who produce quality appliances include SnapServer and Network Appliance. Both of these manufacturers have much higher prices, though. But the price you pay them is well worth the stability and features they offer. Shop around and compare, read the forums of the manufacturer before you buy. Look for reviews in places like PC Magazine or other trade and industry publications. It could save you a lot of headaches.

Windows Vista: Do or Don't?

Much has been discussed about Windows Vista including performances issues, hardware and software compatibility and device driver issues. As an IT professional, I obviously have interest in testing this operating system. However, due to the extensive amounts of problems users are encountering (without any resolution by Microsoft), it is doubtful I will roll this operating system out in the near future (either at personally at home or in the office). I will also continue to attempt to purchase new computers without it.

Unfortunately, it appears that Microsoft is still on the mark to stop shipping copies of XP by the end of 2007. So, this could become a real dilemma for IT professionals once XP stops shipping. Microsoft definitely needs to stabilize this release of Vista and fix the major issues before removing XP from the market. Otherwise, Microsoft could find itself in a very tough spot:

  1. XP is, then, off the market so you can't buy new systems with it
  2. Vista is unstable, lacks in performance and is incompatible with many applications, so you can't go forward
The only option left, at this point, is to jump ship and find a new operating system that is both stable and reliable. This may very well be the turning point that Linux has been hoping for. In fact, this may be the final straw that forces many IT shops away from Windows permanently (both on the desktop and in production).

Microsoft needs to realize that it is at a very tenuous crossroads. Without a stable operating system on the market, it has no fallback options. Microsoft could try to force people into Windows 2003 server, but that's overkill and extremely expensive for a desktop or notebook. So, this issue can easily lead IT professionals into making tough choices including completely jumping ship.

Up until now, Microsoft has been responsive to problems within its operating system. But, it appears that Microsoft has changed its attitude, once again. Now they are basically forcing Vista (an incompatible slug of an OS) onto consumers and IT professionals alike. It simply does not believe that there is any problem with Vista (completely ignoring what users are saying). They're living in their own corporate bubble.

You can't exactly release an application in a corporate environment unless you know the underlying operating system is stable. But, so far Vista has been far from that. So, without a stable OS, you can't expect many shops to roll out Vista. This is exactly what is happening.

Microsoft, wise up. Learn what your customers want and give it to them. Don't try to foist garbage onto people and expect them to embrace it with open arms. Over the years, you have forced your users to become more intelligent and critical. In so doing, you have sown the seeds of your own demise. The times of the ignorant user are now long past. Users won't install a new broken OS knowing their applications will fail. So, do or don't?

Thursday, July 26, 2007

Harry Potter and the Deathly Hallows Book Review

I know this has nothing to do with IT, but because I tend to like Harry Potter, I thought I would post my review of this novel:

This review contains spoilers, do not continue reading if you want to read the book for yourself.

Stars: **** (out of 5)

I would love to say that I love this book, but I don't love it. While it is a good effort to ending the Harry Potter series, it really does leave some to be desired. There are many issues that are addressed in such a simplistic (shallow?) way, that it just doesn't ring true.

Let's start with what this book isn't. I thought that each book was supposed to chronicle Harry's life at Hogwart's? This final book didn't chronicle anything much at Hogwart's (save the final battle, if you can call it that). Yes, after book Six, Harry was supposed to set on a quest to find the Horcruxes. No, Harry does not end up back at Hogwart's in any educational way in Year 7. We, as the reader, don't even get to say goodbye to the place (or many of the people). By the time the dust settles, the book is over. This is especially frustrating as much of the novel is set outside of Hogwart's.

Close to half of the book is spent with Harry, Hermione and Ron on-the-run moving about the countryside in a tent with no direction. No wonder Ron leaves for a while. Even he saw just how useless this part of the novel is. In every previous novel, Harry's always had a breadcrumb trail neatly laid out in front of him. So, why is this book different? If Dumbledore truly had a plan, then the breadcrumbs would have, again, been neatly laid out for Harry (and definitely visible). Yet, Harry just didn't or couldn't find the crumbs for months on end.

When Harry finally does find the trail (sort of) and ends up back at Hogwart's, the teachers rally behind him immediately. This kind of made me wonder what the point of having Harry, Ron and Hermione on the run most of the novel? Why didn't Harry go directly to Hogwart's in the first place? If most of the teaching staff was that supportive of Harry and his quest, then that's the place where the novel should have started (and where Harry should have gone first, not last). Sure, there were a couple of things that came out of their boring travels, but they could have gotten that information or those items in a different way.

The romance aspects of the novel were lackluster at best. JK had been building these relationships up slowly throughout the series, but it basically all falls into place in a rather odd, rapid and not very meaningful or romantic way. In fact, the whole Cho Chang thing is completely left hanging with no real closure. Cho appears in one part of the novel as if something might happen, but then it's just left hanging.

The people and animals who died in the novel had no real thought put behind why they died. They seemed to die just to be killed off, but without real purpose. Sure, there's a 'battle' going on, but if a character is to die, they should die in a way that at least makes their death seem more acceptable. Many of the people who die, die out of sight. So, we only hear of their death third hand or because their body is being carried by someone. The characters who die in front of the reader die without any real explanation or reason. They're just dead. Again, little thought went into these deaths. Sure, some people will die in an epic battle, that's a given. But, it makes more sense when it's in the line of battle or because of a specific event. Obviously, there are random deaths in real life, but this isn't real life. This is a fanciful novel and these people are supposed to be Wizards and Witches with 'spells' on their side.

The loose ends that are left open from the previous novels are closed, at least the ones that Rowling deems worth closing, a little too neat and tidy. They were all closed not with a twist, but in a very straight forward and expected way. Almost like presents wrapped with neat little bows. These closures, then, end up a bit anti-climactic and, at least for me, unsatisfying.

Harry eventually pieces together what the 'Deathly Hallows' are, but this thread is really left hanging, more or less. We finally end up knowing what it is and it does help Harry in the end, but only in an indirect (cerebral) way.

This leads to the final Harry and Voldemort thread which closes, not with a long fantastic duel as one would expect, but with a very rapid cerebral closure. This kind of cerebral closure is kind of strange for a 17 year old who shouldn't be (and isn't) quite this 'wise' yet. At least, if Harry had had some revelation or some kind of major light-bulb-goes-on storyline, it might have been more expected and in character. But, the entire series of novels had always painted Harry as this guy who's been thrust into a a fanciful situation and has managed to get out of situations due strictly to luck, not experience.

That's not to say that the novel isn't worth reading. It is. It's just that you shouldn't go into it with the expectation of getting the kind of spectacular closure you would expect from the groundwork laid in the previous six books. Hallows is definitely a good book. But, it is strides away from being an outstanding book. Harry Potter may live on in literary history as media novelty and a great children's series, but it will likely never be considered a master work.

Saturday, July 14, 2007

What is it about Windows? Part II

Click Here to read Part I

The Registry
What is the registry? Well, it's a database of system and application settings. Put simply, it's a database! Now, let's think about that for a moment. Microsoft already makes a REAL database named MSSQL. There are many third party databases including MySQL, Oracle, Ingres, PostgreSQL, NDBM, and the list goes on. So, why did Microsoft opt for some no-named crappily written kludge-of-a-database for such a critical system component as the registry? I mean, who's brilliant idea was this?

So, you're probably thinking, "But some of those databases weren't available back when the registry was introduced". Perhaps MySQL wasn't available then, but MSSQL, Oracle, NDBM and several others were all available. In fact, they even had MSAccess with mdb files or they could have even used Dbase (DBF files), both of which ship with actual repair tools. In fact, all of the databases mentioned support repairing corrupted tables. Why did Microsoft choose this so-called database named, I think, 'SAM'? I'll never know. This database system is extremely easy to corrupt and impossible to repair. There aren't any repair tools available (or none that I know that actually work, that is). So, if the registry hive gets corrupted, Windows won't even boot. Better have a backup of the hives or you'll be backing up, formatting and reinstalling not only the operating system, but all of your applications all over again. A typical MS standby when things just don't work right.

If you're wanting to run a mission critical production system, would you trust your critical data to an operating system that hangs its day-to-day existence on a database that could become corrupted at any turn? This is part of the reason I trust UNIX/Linux a whole lot more. Of course, there are critical files on UNIX that, if corrupted, could prevent UNIX from booting. The difference between UNIX and Windows in this regard, however, is that in the UNIX instance you can easily repair or replace those files and bring the entire system back easily. With Windows, if the registry gets corrupted and you can't boot, you can't easily fix this issue. Windows repair processes cannot fix a corrupted registry. If you don't happen to have a recent backup of the registry, you can't easily drop a new one in place. If you drop a brand new registry in place, it may not boot at all, or it could boot up showing no applications loaded (depending on the corrupted hive).

With the introduction of System Restore in Windows XP, this can aid in recovering the registry, but only if System Restore has done its job and you have a recent backup. I find, however, that System Restore doesn't always do its job properly and that the registry files are weeks old or not relevant. Worse, you can't tell if the hive files are the 'most current' simply by looking and there are no tools to help you find out. Also, 9.9999 times out of 10, you can't simply use the Automated System Recovery (ASR) to restore these files anyway. Every time I've had to recover registry hive files from the System Restore, I've had to do it through a very tedious manual process with the Recovery Console (extremely time consuming). Because of the excessive amounts of time involved in manually using the Recovery Console, I've found another alternative recovery system that boots a live version of Windows from CD so I get a full WIndows environment instead of just an extremely limited shell.

It just amazes me that in this day and age, Windows is still stuck in 1984 with a database that has no recovery tools, no repair tools and no easy way to fix problems that arise. In spite of Microsoft, there is a flourishing community of hackers (the good kind) who have written recovery systems and tools to aid (although not repair) hive corruption. It's unfortunate that as a system administrator, I have to rely on third party tools to fix problems that arise regularly... and Microsoft releases absolutely nothing in this area. There are loads of knowledgebase articles related to corrupted registries, but simply no tools from Microsoft to aid in fixing these issues.

It's most definitely about time for Microsoft to get rid of the extremely old and unreliable registry database system and replace it with an actual database that has journaling, recovery and repair tools.

System Administration + Datacenter Reliability
As a systems administrator and overall IT guy, I have worked with many systems in my 15 year career. I will say that Microsoft's operating systems are the absolute weakest when it comes to systems administration. For everyday easy stuff, like adding users, printers, applications, etc... Microsoft keeps it in the GUI world and makes it 'friendly'. However, most things related to system administration are not in this GUI world. When things break (hard drives die, cards fry, CPU fans break, files go missing, corrupted MFT, etc), there are extremely few tools to help manage, diagnose or fix these issues. Microsoft does provide some limited command line tools to aid in fixing some limited issues. But, once you've gotten to the point where you need a command line tool (which most major failure issues require), you're likely well beyond the tools that are included with Windows (or in the resource kit). Microsoft has basically limited its exposure and systems admin tools to the operating system in GUI mode.

Windows lack of hardware diagnostics and proactive failure monitoring
It is left up to the hardware manufacturer to provide tools/drivers to monitor the hardware for failures as Windows has no provisions for this at all. Even still, the hardware monitoring tools provided by third parties are usually so limited as to be worthless.

For example, most hard drives today support S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology). This technology has been available for at least 8-10 years. Simplistically, it is a system by which the drive itself keeps a log of how many errors, how often and where on the drive the errors exist. If the errors hit a certain threshold, the drive is marked as 'failed' internally. Yet, Microsoft still does not support S.M.A.R.T. technology natively in the OS. There may be add on softwares that can help this issue, but if, for example, your S.M.A.R.T. drive fails, Windows doesn't report the error at all. It just continues to try to load data from this drive failed or not!

It is this lack of proper simple systems administration tools, diagnostics and proactive hardware monitoring that makes Windows unreliable for data center operation. Basically, you hang your system out to do work, but if things fail, Windows never tells you. Midrange UNIX servers have had these basic diagnostic and monitoring tools for years. Yet, Windows has never gotten there. I've worked on systems that were designed in the late 80's that had monitoring systems available for such things as autoremapping of bad memory sectors, autofailure of bad memory sticks, notifications of failed drives (and the system actually tries to be proactive and detect such things). These were systems that I used back in the early 90's and likely designed in the 80's! Here we are in 2007 and Windows still doesn't have tools and diagnostics such as these! ... And Microsoft has the gall to call one of their products a 'Datacenter' version!

(continued in Part III)

Monday, July 2, 2007

Spam Poison

If you haven't noticed, there's a small image that says SPAM POISON. Basically, this icon links to the Spam Poison site that, in turn, has links leading to an unlimited amount of junk email addresses. Because of the Spam Poison site, if a bot tries to crawl this site looking for email addresses, that bot will deep link into an unlimited supply of junk email addresses. This effectively poisons any list that the bot is attempting to create. Thus, if any email addresses get posted on this blog, rest assured that the presence of the Spam Poison banner effectively makes any email list they attempt to create from this blog into a worthless piece of junk. If you don't see the Spam Poison banner, then that site is not protected from email culling and you should think twice before posting your full email address.

If you want to protect your web site from being crawled for email addresses, simply click on the Spam Poison image and follow the instructions on how to implement it on your site. This might be worthwhile also placing it onto your corporate web site on pages that contain corporate email addresses. I have followed their links on their site and they are part of the Spam Daily site which appears to be a legitimate organization. The idea they have implemented is an excellent technique to combat email culling that is so prevalent by spam houses today.

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.