Oldskooler Ramblings

the unlikely child born of the home computer wars

Archive for August, 2007

Back on the grid

Posted by Trixter on August 25, 2007

Through the help of two good friends, I am now back on the grid, and (cue insidious music) stronger than before.  I finally have a dual-core rig, for one thing.

I have enough parts left over to construct a second machine to replace my ailing fileserver, so that’s my next project.  But before I start that, I’m going to write a curious new utility that will help anyone with digital picture frames.  More later.

Posted in Technology | Leave a Comment »

The truth about netopsystems

Posted by Trixter on August 19, 2007

I was first made aware of Net Op Systems (currently going by the name of NOS Microsystems Ltd.) when downloading Adobe Acrobat Reader about 3 years ago. I was struck by how small the compressed deliverable was, so, being a compression hobbyist, I did some preliminary analysis and found that they used a considerable about of context arrangement and prediction (ie. “solid” mode in rar/7-zip, or the content-specific predictors in PAQ) to get the size down. I recently ran across their product again when downloading the most recent version of Solaris x86; it comes in a 1.1G NOSSO executable package. The sole payload was a 3.1G .ISO image, which meant the compressed deliverable was 37% of the uncompressed size.  This is very impressive, given that the .ISO image is filled with a lot of .JAR and .BZ2 compressed images themselves. The successful extraction of a workable .ISO file from this compressed deliverable means that NOSSO has to perform the following to work its magic:

  1. Identify the various compressed files in the .ISO wrapper
  2. Extract those compressed files
  3. Decompress the content inside those compressed files
  4. Arrange everything by context (ie. all ASCII text in one group, all binary executables in another group, etc)
  5. Compress the entire thing to a proprietary stream, using content-specific prediction for various content groups
  6. Store the original arrangement of the compressed and uncompressed content

Upon extraction, the NOSSO distributable has to perform the following:

  1. Decompress everything and keep track of it
  2. RECOMPRESS the data originally found in compressed files, so that their effective format is kept the same. There may be small differences due to compression options and implementations, but as long as the end result is usable by the end program (ie. a reassembled .ZIP file is still able to be decompressed into the same contents) then there’s no harm done.
  3. Rearrange the end result back into the original container (in my case an .ISO file)

This is why they call their process “reconstitution” instead of “decompression”, because the end result, while functionally identical, is usually not bit-for-bit identical. By taking advantage of context and recompressing files from less-efficient formats into the more efficient format NOSSO uses internally, we can get these excellent compression ratios. (In fact, I’ll wager that, to speed up reconstitution times, they use a very fast and less efficient version of recompression of the files inside the target wrapper, which would inflate them slightly and result in even more “impressive” compression ratios :-)

What’s the downside? The downside is that this entire process defeats its own purpose. I’ll explain:

NOSSO is marketed as a delivery format that saves everybody bandwidth and, presumably, time. It’s that presumption that allows them to shoot themselves in the foot. While the compressed distributable only took 39 minutes to download on my 6mbit/s cable modem connection, it took a whopping 124 minutes to “reconstitute” on a 2.6GHz P4 with 700MB RAM free (out of 1G RAM total). My total time to get the end result was 163 minutes. (A 2.6GHz machine is not the bleeding edge in 2007, but it’s no slouch either, and is representative of the average system most people will use for everyday use.) At its original size, 3.1G, it would have taken me only 104 minutes to download it.

It would have been faster to get the end result had it not been compressed at all.

Now, 6mbit/s is a pretty fast broadband connection, so I understand that skews the results a bit. With a more common broadband connection speed of 3mbit/s, let’s check the numbers again: Compressed download + extraction: 202 minutes. Uncompressed download: 208 minutes. Okay, so it’s break-even at a 3mbit/s connection. But break-even still involves 100% CPU utilization as the thing is decompressed, resulting in an unusable system for two hours, so it’s still not “free”.

Is there strength in using any compression at all? Let’s check both WinRAR and 7-Zip on the original 3.1G unmodified .ISO file:

  • 7-Zip compressed size: 2.68G. Time to download at 3mbit/s: 187 minutes. Decompression time: 14 minutes. Total time to get the end result: 201 minutes.
  • WinRAR compressed size: 2.69G. Time to download at 3mbit/s: 189 minutes. Decompression time: 3 minutes. Total time to get the end result: 192 minutes.

So, at 3mb/s, the end result was just about the same, except our system was only tied up for 3 or 15 minutes instead of two hours. We’d get even more compression at the same decompression speed if we burst the .ISO like NOSSO does, compressed using WinRAR’s or 7-Zip’s “solid” mode, and then reconstitute it back into an .ISO when done with a small utility program.

My conclusion from all this is that there’s really no point in using NetOpSystem’s product, unless the end-user’s broadband speed is 1mbit/s or slower. But if it’s that slow, the user is already used to ordering DVD-ROMs for delivery instead of trying to download them, right? Or, if the user downloads them anyway, they’re used to firing them off before they go to bed, to download overnight. So, again, no need for the product…

…unless you’re the content producer and want to transfer cost (bandwidth) to the end user (time). Which is probably why NetOpSystems is still in business.

Posted in Technology | 16 Comments »


Posted by Trixter on August 17, 2007

Can’t believe I forgot to post this:  Wednesday of last week, Max fell off his bike, landed directly on his right clavicle, and broke it completely in two.  Proof:


They don’t set bones like that unless they’re poking out through the skin.  It’s not a support structure (ie. he doesn’t need it to hold his shoulders up or anything) so he’s just walking around with it like that.  At least, somewhat like that — I’m hoping it heals properly.  He gets another xray next week, and we’ll see after that.

Poor guy!  I’m 36 and haven’t broken anything (yet)…

Posted in Family | 1 Comment »


Posted by Trixter on August 2, 2007

My anality reared its ugly head — I couldn’t take this computer-in-unknown-state any longer, so I gathered up my birthday money and bought a new power supply and motherboard. Eight hours later at 4am, I finally heard my first BEEP — one long and two short, which was a memory problem. I can’t tell you how wonderful it was to hear the damn thing finally speak to me. Some DDR swaps, and we finally boot.

So the motherboard was toast. Problem solved. So why the new power supply? Because it didn’t quite pass the ATX power supply tester I have. You see, the tester is supposed to show lights and beep. The one I was given showed lights… but no beep. So it was flaky. New motherboard: $70. New power supply: $40.

Total cost of this free machine: free $50 $90 $160. And I still don’t have a PCI-e video card yet (my old Diamond Viper is currently driving the machine. Yes, that’s right kids, a TNT card from 1998 is sitting in an Athlon 64.)

The best part? I scraped off the thermal goo and found it’s an Athlon 64 3200 — as in, the original Athlon 64. It’s slower than my main desktop machine (an Athlon XP). I have now paid upwards of $160 for a machine that is effectively three years old and slower than what I already have. Viva l’irony!

Don’t get me wrong; I think the entire process has been a hoot, and I love solving PC hardware problems. Better yet, the motherboard supports Athlon X2, so when I scrape together some more cash (probably my next birthday ;-) I can swap in an X2 and finally join the world of multi-core computing. It’s all good.

Posted in Technology | 5 Comments »

But it’s FREE

Posted by Trixter on August 1, 2007

In sympathy to my financial plight, and possibly as a birthday present (I’m 36 today, whoopidy-doo), a coworker donated an Athlon 64 rig to me so that Sam could have a fast enough machine to run voice recognition software so he could email his family. (Sam has processing delays akin to autism and has trouble typing quickly.) I received a case, power supply, unknown Athlon 64 CPU hidden under a giant Zalman heatsink, motherboard, and RAM — which is more than powerful enough for voice recognition. All I need to do is add some spare hard drives lying around and it’s functional. It was a very generous donation.

It also doesn’t work.

It won’t POST, other than the fans spinning up; that’s it. No beeps, nothing. So, here begins the shopping list I’ve had to purchase in order to troubleshoot the thing:

  • 20-to-24-pin power supply adapter: $4

…because the PSU was 20-pin and the motherboard was 24-pin. No change in operation. Now we test the power supply itself:

  • Power supply tester for ATX 2.0 power supplies: $20

…confirmed that the power supply is functional. Moving on:

  • Motherboard POST code display and PCI power testing board: $26 (cheap!)

…which I’m still waiting to arrive in the mail. This will let me see any POST codes as well as making sure power is going through the motherboard and hitting the PCI slots. If it starts to POST but stops, then probably the CPU is bad. If it never POSTS a single code, the motherboard is bad. Either way, this “free” gift has cost a minimum of $50, with at least another $80 (CPU or motherboard, whichever I find is bad).

Still, the thought was nice. And heck, getting an Athlon 64 rig for free $50 $130 is a great deal.

I’m not down or anything, I just find the situation ironic (and, by proxy, funny).

Posted in Technology | 2 Comments »