40 Years of Unix – A Timeline

Gary Anthes over at Computer World has a great time line of Unix from start to present.

Ever wonder about how Unix got started, not to mention all the twists and turns it took along the way? Here are some milestones of the operating system’s four-decade-long history.

Here is one I think is pretty significant:

1973 – Unix matures. The “pipe,” a mechanism for sharing information between two programs, which will influence operating systems for decades, is added to Unix. Unix is rewritten from assembler into C.

Read more..

Is HP Developing Its Own Version of Linux?

HP to develop its own Linux version

It’s been rumored in the past week or so that HP may be developing a flavor of Linux to allow them to move past all of the headaches that come with Windows Vista.  Nobody really knows at this point, but I do think that if it is true, it’s both a good move for HP, and a good thing for the Linux community in general.

If HP were to develop a flavor of Linux for their systems, there are a number of things that could finally come to the forefront for Linux.  A wider audience, official hardware and driver support, and better technical support, to name a few.  However, it’s unlikely that HP will develop a flavor of Linux made for distribution across all hardware platforms, though the Linux implementation may be easier to move to new systems than it’s current proprietary Unix implementation HP-UX.  But that doesn’t mean the contributions to further improve Linux will not help the entire community.

For Linux to finally make it as a mainstream desktop operating system, a backing like this from a major player such as HP is the final push it needs to compete with Apple and Microsoft.  This could mean big things for Linux.  Let’s hope the rumors are true, it could be interesting.

10 Good UNIX Usage Habits

Michael Stutz has a very nice article on IBM that covers 10 Good UNIX Usage Habits for the command line.

Adopt 10 good habits that improve your UNIX® command line efficiency — and break away from bad usage patterns in the process. This article takes you step-by-step through several good, but too often neglected, techniques for command-line operations. Learn about common errors and how to overcome them, so you can learn exactly why these UNIX habits are worth picking up.

Here is an example:

Make directory trees in a single swipe

Listing 1 illustrates one of the most common bad UNIX habits around: defining directory trees one at a time.

Listing 1. Example of bad habit #1: Defining directory trees individually

~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $cd b
~/tmp/a/b/ $mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $

It is so much quicker to use the -p option to mkdir and make all parent directories along with their children in a single command. But even administrators who know about this option are still caught stepping through the subdirectories as they make them on the command line. It is worth your time to conscientiously pick up the good habit:

Listing 2. Example of good habit #1: Defining directory trees with one command

~ $ mkdir -p tmp/a/b/c

You can use this option to make entire complex directory trees, which are great to use inside scripts; not just simple hierarchies. For example:

Listing 3. Another example of good habit #1: Defining complex directory trees with one command

~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

In the past, the only excuse to define directories individually was that your mkdir implementation did not support this option, but this is no longer true on most systems. IBM, AIX®, mkdir, GNU mkdir, and others that conform to the Single UNIX Specification now have this option.

For the few systems that still lack the capability, use the mkdirhier script (see Resources), which is a wrapper for mkdir that does the same function:
~ $ mkdirhier project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

Read more..