{soapbox}

OK, OK so Q1 was sort of my little jab at Linux. I already knew that the basic answer is that it is just a legacy issue, and that there are, in fact, many tools that will archive AND compress (i.e. even old TAR with the -z parameter). I also know that most Linux folks believe small, single purpose apps stacked up to provide larger overall functionality to be a good approach.

Since 99.9% of EVERYTHING Linux is .tar.gz (or more recently .tar.bz2) and the vast majority of the time I just want to download and unpack things, it only makes sense to me to simply write a script to handle it. So, my very first Linux script: "untargz" goes something like this:

#!/bin/bash
gzip -d $1.tar.gz
tar -xvf $1.tar


there is probably a better way, but this made simple (KISS) sense to me.

Now where

(cd /mnt1 && tar cpzf - .) | (rsh somehost '(cd /mnt2 && tar -xvpzf -)')

may be a very clever trick, I think it could be argued that this is far from the KISS principal. Something that would be much simpler and make more sense to me would be something like

copy /mnt1 somehost/mnt2 --preserveall

but maybe I am just too simple minded.

Somehow the rather cryptic 'tar' trick reminds me of the clever fellow who wrote an entire multitasking OS in one line of recursive C code (100,000 chars long and impossible to read or debug).

I guess that this was just my frustrated outlashing about the cryptic nature of the Linux shell language in general. I find myself constantly frustrated at things like:

ls = get a directory LiSting
su = create a shell with a new user (SuperUser)
rsh = run a command on a remote host (RemoteSHell)
rm = delete file (ReMove)
rcp = copy a file between two machines (RemoteCoPy)
cp = CoPy a file

I could go on, but the point I am trying to make is that it has never stricken me a simple to take two letters out of a command like COPY and turn it into CP, or seven letters out of SUPERUSER and turn it into SU. Now, these are simple cases that are fairly easy to remember, but the trouble is that when you go off abbreviating everything, and everything gets to be a lot of things, I soon forget just which letters I left out. I find it a whole lot simpler to type the whole command out:

list = ls
superuser = su
remoteshell = rsh
remove = rm
remotecopy = rcp
copy = cp

it's more typing, but it is so much easier to remember, to read and to guess when you don't know, than all of the abbreviated versions. And besides, that is why they came up with graphical UIs, so we would not have to type (or remember) anything at all!

I know that the Linux community disagrees with me on this (GNOME users notwithstanding), but I just had to vent somewhere.

{/soapbox}

Now I can get on with what I really like about Linux: scalable, cross platform, stable, multitasking, vaguely real time, small footprint, massive number of device drivers, etc...

I truly believe that the embedded landscape would be in a world of hurt if not for Linux. The processors have grown in power so much, and out demands of embedded systems have increased so much that we need a real OS. Simple state machines and hand rolled task swappers just don't cut it when you need to use a hard disk the store and retrieve data, or use a PCMCIA 802.11 card and TCP/IP in your embedded system. I'd like to see what a pain in the #$% it would have been to implement the empeg on a CE platform. I wonder if a Hijack trick would have even been possible, and would I have to keep installing security patches on it?

{soapbox}

Now would someone like to get me started about this "we can make stuff just as good as or better than Micro$oft in the free arena" dollar sign thing?

{/soapbox}

... damn soap box, I keep stepping on it ...

BTW, I could still use some help on Q2 and Q3 if there is anyone left who does not hate me now!


Steve

(note to self: never attack Linux on the empeg site if you want some help... or at least log on as a different user...)