Archive for February, 2010

My frustration with Internet Explorer.

February 28th, 2010 7 comments

It is hard to believe that Microsoft’s Internet Explorer still has the majority of market share in the web browser world (62.12%). I am just glad to see the rising popularity of Mozilla Firefox (24.43%), Google Chrome (5.22%) to even others such as Apple Safari (4.53%), Opera (2.38%), etc. Whenever I spend time to do various Javascript to even CSS development for various dynamic webpages, I am always held back by the non-compliant Internet Explorer. Today I will be picking IE8 as it is the latest and greatest from Microsoft.

For instance, I was doing some Javascript development earlier in the day yesterday morning and IE8 would fail on the following code:

<script language="javascript" type="text/javascript">
    if(grabURL[1] == null)
        window.location = 'error.html';
    [ ... ]

Specifically it would fail on the line of code changing the window’s location. I am not looking for any answers or workaround in this blog entry. I am merely venting off some frustration. Why does Firefox, Chrome, Opera and Safari not see any problems with this perfectly legal piece of code and Internet Explorer errors on it? Also, the error never gives a detailed enough reason as to what it had a problem with exactly.

I come across this kind of thing all the time. The above sample of code is one of many I have had to hack around for IE. It becomes very difficult to take the browser seriously but at the same time it is hard not to since they still own a good chunk of browser share.

Categories: Microsoft Tags:

Announcement: The Data Storage Management Suite (dsms)

February 21st, 2010 Comments off

It is official. The Data Storage Management Suite (hereafter, dsms) is still on schedule to be released by 1 May, 2010 for Solaris/OpenSolaris and Linux operating systems. A stable beta will be released in the beginning of March for general public use. I hope to hear some good feedback and suggestions. The dsms wiki page still needs some updating but for the most part the general information is about the same.

To recap, dsms provides a list of test tools (written in C and python) with some basic drive management tools with the intent to test, tune and manage data storage solutions. Equipped to run in both CLI and GUI, the user will have the capabilities to benchmark for performance, test data integrity and root out any data corruption, perform stress tests, view un-paged contents of data from a physical device to a file over a file system, send low level SCSI commands to further tests and manage a storage environment and more.

Here is some example usage of the diskanalysis tool (one of five binaries) as it runs in the CLI on Linux:

$ sudo diskanalysis /dev/sdb wr -s=65536 -m=1024 -i=1 -b=4 -l=sdb.log

diskanalysis 10.05a
Copyright 2009 Unovyx, LLC

PID - 3494

Start time: Sun Feb 21 08:11:17.29 2010
ITERATION NUMBER 1 Sun Feb 21 08:11:17.29 2010
Transfer Size: 4096 Range Size: 1073741824
END OF ITERATION NUMBER 1 Sun Feb 21 08:12:31.987 2010
Total KBs Read/Written: 1073741824 Total Iteration Time: 74.958

ITERATION NUMBER 1 Sun Feb 21 08:12:31.987 2010
Transfer Size: 4096 Range Size: 1073741824
END OF ITERATION NUMBER 1 Sun Feb 21 08:13:09.503 2010
Total KBs Read/Written: 1073741824 Total Iteration Time: 37.516


Here is example usage of the same tool when it comes across a data comparison error which could be a result of data corruption:

$ sudo diskanalysis /dev/sdb r -s=0 -m=127 -i=1 -b=2 -l=sdb.log

diskanalysis 10.05a
Copyright 2009 Unovyx, LLC

PID - 3550

Start time: Sun Feb 21 08:14:13.690 2010
ITERATION NUMBER 1 Sun Feb 21 08:14:13.690 2010
Transfer Size: 2048 Range Size: 133169152
Error. Data miscompare has been found on block number 0
END OF ITERATION NUMBER 1 Sun Feb 21 08:14:14.70 2010
Total KBs Read/Written: 2048 Total Iteration Time: 0.380


When the test runs, all information is written to the log output (in this case sdb.log). This includes not only the test summary but also an exact description of the error. If the error was a data corruption, then it would point to the location where the miscompare began and dump the expected and read buffer values.

Now here is an example screenshot of the datadump tool as it runs in the GUI on OpenSolaris:

DataDump on OpenSolaris

DataDump on OpenSolaris

The graphical version of DataDump differs from its command line counterpart in that the CLI version will dump physical data at the time of execution while the GUI provides more of a real-time feel as you traverse and read the device/file one block at a time.

Now here is some example screenshots of the drvtst python wrapper tool as it runs in the GUI on OpenSolaris:

DrvTst Python Wrapper on OpenSolaris

DrvTst Python Wrapper on OpenSolaris

The drvtst wrapper ( is an intuitive graphical environment offering support for the diskanalysis and scsigen tools of the dsms suite, along with various python written scripts. With drvtst the user can create an I/O profile, initiate it, monitor and manage all running process to even sending low level SCSI commands to the end (SCSI) disk devices.

DrvTst Process monitoring on OpenSolaris.

DrvTst Process monitoring on OpenSolaris.

This tab (above) displays the layout of how to monitor and manage your dsms applications. In the next release, the user will also be able to monitor details such as MB/s written/read, IOPs and more.

DrvTst SCSI Gen[erator] on OpenSolaris.

DrvTst SCSI Generator on OpenSolaris.

The last tab (above), gives the user an easy way to select a disk device and send a low level SCSI command to the disk device. This portion functions almost identical to its command line counterpart (scsigen), although the CLI version will present a little more detail in message output.

We, at Unovyx, LLC are already planning the next release of the test suite which not only includes some more advance features and functionality but also a port to Microsoft Windows Server 2008 and Windows 7.

Note that we are always looking for support of our projects one way or another. That can be done in any number of ways. For instance, a donation can be made to the project through (5% will be re-donated to Or if you are interested in sponsoring certain features or a porting to a new operating system (including Windows, AIX, FreeBSD, etc.), the proceeds will aid in not only obtaining the equipment but will also accelerate the process of development and testing until we have a nice and stable build. To sponsor the project please feel free to contact us and let us know what you are looking for.

The Disposable PC.

February 16th, 2010 14 comments

I was just having a conversation with a colleague when we had gotten to the topic of the disposable PC.  If you are not familiar with the concept, this post will highlight the details below. When I first dabbled with computers back in the late 80′s, it was an Apple. We didn’t own it. It was available at the local school in the school’s computer lab of no more than 25-30 computers. They were running the Apple IIe and even though they were outdated at the time, they didn’t have the finances to upgrade the systems. By the time the 90′s hit I was already well acquainted with Macintosh line of PCs but again our family didn’t own any. All computers were just too expensive. At around 1995 (maybe a little earlier) our family dropped nearly $2,000 (USD) into a Packard Bell (rated as one of the worst PCs of all time). I am going off of memory but it ran no more than 70 MHz (Intel Pentium) and had no more than 8 or 16 MBytes of EDO RAM. I don’t remember the hard drive space, although I believe it was 2 GBytes supplied from one of the old school big foot drives. The PC came with Windows 3.11 but was soon later upgraded to Windows 95.

Note that I still use those big foot drives. I actually have a few scattered around the house and are used as door stops. It is all about recycling old computer equipment.

So there you have it, that is what almost $2000 bought you. So when you had a problem with your PC, you spent the money to fix. That is you bought all the necessary software or paid the appropriate technicians to handle all of the work. The PC was an investment and you were not going to drop it for anything else.

Flash forward to the year 2001, when Windows XP was released. A decent computer could be purchased as low as $700 USD. That included a licensed copy of Windows XP. Flash forward to the present when mobility is a constant demand, and a decent notebook or even netbook could be purchased at $500 USD. Obviously thanks to manufacturers such as Intel, AMD among others, the prices for hardware components have dropped significantly. It is very affordable to acquire the necessary equipment and has gotten easier to set it up in a home or anywhere else.

When I write about the disposable PC, blame for the creation and maintaining of such a culture does not belong to a single entity. It has gotten to the point where hardware has become so cheap that whenever someone who lacks any real technical knowledge comes across a computing problem (whether it be hardware or software related) has no problem running out and purchasing a new replacement. Microsoft and retail stores add to this culture.

For instance, what happens when you (a non-technical person) are prompted with a bunch of error dialog boxes, a virus or a system crash? If you do not personally know anybody who can fix it, you will take it in to a retail store that offers PC repair services, such as Best Buy. The only reason why I pick on Best Buy is not because I harbor any negative feelings toward them (they are a business selling services and products) but instead because in the late 90′s to around 2001/2 I used to work for them and was familiar with the processes and routines when it came to PC repair.

Note that prices may have changed since then.

To diagnose a PC, it was $60. We would not have repaired the PC, even if the problem was apparent unless this diagnostics fee was paid in full. This $60 was never applied toward any other repairs either. So if we came back saying that your hard drive went bad and you need to replace it and reinstall the OS, you looked at spending another $120 for a hard drive, $60 to re image Windows followed by another $20 or more to install all Windows Updates and/or any other applications or device drivers. Add another $60 if we were able to salvage data from your old hard drive and transfer it to the new one. At times you were looking to spend over $320 for repairing a PC. This could have been more than half the price of buying a new PC. So why invest into something that is already outdated? And if the service prices have increased since then, then what is the point when you can spend $400 or less and get a netbook with a Linux distribution or Windows 7 pre-installed?

Some of you may be asking: how does Microsoft fit into this? Deep down, I believe that more than half of the problems in Windows are intentional primarily because Microsoft (and good for them) is a money making machine. In order for them to make money, the people that sell and repair their products have to make money. I am pretty sure that if Microsoft wanted to invest the time and money to create the most secure and stable operating system, they could. They don’t have idiots working for them. I think it is that “if you scratch my back, I will scratch yours mentality.” It also doesn’t help that whenever a call is placed to a support center or when a PC is brought into a repair shop, the solution usually given by the technician is to re-image Windows. If I have a virus, why can’t you just remove the virus and I will be on my way?

I, as many of my readers, on the other hand know better and choose to rely on something a lot more stable and secure with (insert flavor of Linux or UNIX here). Why be bothered with constantly having to maintain or repair your OS. Sometimes you just need things to work. Maybe that is why you read stories about how repair shops such as Best Buy’s will refuse the repair of a computing device if you are not running a version of Windows. They probably don’t see any money it.

Categories: Linux, Microsoft Tags: