[Thu Jul 28 08:42:02 CDT 2005]

Thomas Hormby has published a great account of NeXT Computer, the company Steve Jobs founded after he left Apple back in 1985.

Jobs envisioned a workstation class computer and operating system for consumers. As soon as he had announced his intentions, Apple sued NeXT for stealing Apple's intellectual property by hiring many Apple engineers and building a machine that would compete directly with the Macintosh. The two companies settled out of court, with the conditions that NeXT not compete directly with Apple. Suddenly, NeXT was pushed into the workstation market, where it would compete with Sun and Apollo.

The article goes on to tell us how Jobs hired Avie Tevanian, from Carnegie Mellon, to build NeCTStep around the Mach microkernel. They licensed PostScript from Adobe in order to build the display. As Hormby explains:

The microkernel was also a brand new concept in computing. Instead of integrating all the drivers and networking routines into the kernel (a monolithic kernel operating system), a microkernel operating system uses the kernel only to manage communication and tasks, while everything else is managed in the servers. This made the system more stable (should one server fail, it only needs to be restarted).

Needless to say, things are not so straightforward as he portrays them to be, of course. After all, Windows NT was also built on a microkernel and few people out there would dare to say that the system was "more stable" and all one needed to do was "restart a particular service" to solve a problem. Still, in theory he is correct. Besides, NeXTStep's major selling point was not its architecture, but rather its object-oriented programming environment, based on Objective C. Finally, as far as the GUI is concerned (Hormby's article has some screenshots), the NeXT machine was also a leap forward to the point that plenty of people out there still prefer to run the AfterStep or WindowMaker window managers instead of KDE or GNOME. NeXTStep did come up with a few innovtaions of its own: a 3D look that uses grayscale, a toolbar to switch between applications, a task switcher, a task launcher, scrollbars on the right side of the applications, etc. Hormby's article also discusses the NeXTCube, the NeXTStation... things were not so bad, after all.

The NeXTStation sold incredibly well for NeXT, especially to government agencies and universities. NeXT sold several hundred to the National Security Agency alone. All in all, NeXT was looking OK. By 1993 (after several upgrades across the product line, including the addition of color to the Cube and Station), NeXT was selling 20,000 copies of the NeXTStep, which had since been ported to the PC and Sparc, a year, and was the fourth largest UNIX workstation company in the world. Funding the factory and hardware development in general took its toll on NeXT's bottom line, and in late 1993, NeXT discontinued all NeXT hardware.

Since the early nineties, there was a lot of hype about the next generation, object oriented operating systems. Microsoft promised that Cairo, an object oriented version of Windows NT, would be ready for release in 1996. IBM actually released an object oriented operating environment (it ran on top of AIX or OS/2) called Commonpoint, based on the Taligent project at Apple. NeXT attracted the attention of Sun Microsystems, who wanted to implement a version of NeXTStep on the Solaris operating system, and avoid losing clout to Microsoft. The two companies agreed on a framework called OpenStep.

We all know how the story ended: NeXT floundered, but Apple bought them in an attempt to inject some vitality into its old Macintosh, Steve Jobs managed to become the CEO of the company again and they released their flashy MacOS X. In other words, in spite of NeXT's ultimately being a business failure, the truth is that this adventure ended up saving Apple's neck. {link to this story}

[Wed Jul 27 16:18:28 CDT 2005]

ComputerWorld published an article today about the problems of archiving data for the long-term. Most of it deals with the problem from a hardware perspective (i.e., the advantages of using disk versus tape, off-site archive providers, etc.). However, I found the following comment quite interesting:

Today, the only safe path to long-term archiving is repeated data migration from one medium and application to another throughout the data's life span. (...) One solution to the backward-compatibility problem is to convert data to common plain-text formats, such as ASCII or Unicode, which support all characters across all platforms, languages and programs. Using plain-text formats to store data enables virtually any software to read the files, but it can cause the loss of data structure and rich features such as graphics.

In other words, when possible, stick to good old ASCII, which has been my modus operandi for quite sometime now. {link to this story}

[Wed Jul 27 08:48:23 CDT 2005]

A friend of mine sent me an email with a very good example of geeky humor:

The War on Terror

As viewed from the Bourne shell.

$ cd /middle_east
$ ls
Afghanistan   Iraq          Libya         Saudi_Arabia  UAE
Algeria       Israel        Morrocco      Sudan         Yemen
Bahrain       Jordan        Oman          Syria
Egypt         Kuwait        Palestine     Tunisia
Iran          Lebanon       Qatar         Turkey

$ cd Afghanistan
$ ls
bin  Taliban
$ rm Taliban
rm: Taliban is a directory
$ cd Taliban
$ ls
soldiers
$ rm soldiers
$ cd ..
$ rmdir Taliban
rmdir: directory "Taliban": Directory not empty
$ cd Taliban
$ ls -a
.            ..           .insurgents
$ chown -R USA .*
chown: .insurgents: Not owner
$ cd ..
$ su
Password: *******
# mv Taliban /tmp
# exit
$ ls
bin
$ cd bin
$ ls
laden
$ cd ..
$ rm -r bin/laden
bin/laden: No such file or directory
$ find / -name laden
$
$ su
Password: *******
# mv bin /tmp
# exit
$ pwd
/middle_east/Afghanistan
$ cd /opt/UN
$ ln -s /Bad_Guys/Al_Qaeda /middle_east/Iraq/.
ln: cannot create /middle_east/Iraq/Al_Qaeda: Permission denied
$ su
Password:*******
# ln -s /Bad_Guys/Al_Qaeda /middle_east/Iraq/.
# cd /middle_east/Iraq/Al_Qaeda
Al_Qaeda: does not exist
# rm /middle_east/Iraq/Al_Qaeda
# mkfile 100g /middle_east/Iraq/Al_Qaeda
mkfile: No space left on device
# rm /middle_east/Iraq/Al_Qaeda
# cd /opt/Coalition/Willing
# mkfile 1b /middle_east/Iraq/Al_Qaeda
# chown -R USA:Proof /middle_east/Iraq/Al_Qaeda
#exit
$ cd /middle_east/Iraq
$ ls
saddam
$ ls
saddam
$ ls
saddam
$ ls -a
.            ..           saddam
$ find / -name [Ww][Mm][Dd]
/Korea/North/wMd
$ wall Propaganda.txt
Broadcast Message from USA (pts/1) on USS_Abraham_Lincoln Th May 1st
Mission Accomplished!
$ rm saddam
saddam: No such file or directory
$ find / -name saddam
/var/opt/dictators/spiderhole/saddam
$ wall NewsWorthy.txt
Broadcast Message from USA (pts/1) on Time.Magazine Sat Dec 13
We Got Him!
$ mv /var/opt/dictators/spiderhole/saddam /opt/jail
$ cd /opt/USA
$ cp -Rp Democracy /middle_east/Iraq
$ cd /middle_east/Iraq/Democracy
$ ./install
Install Error: Install failed.  See install_log for details.
$ more install_log
Installed failed!
Prerequisite packages missing
Conflicting package Wahhabism found in /midde_east/Saudi_Arabia
Packages Church and State must be installed separately
File System /PeakOil nearing capacity
Please read the install guide to properly plan your installation.
$
I ran it by my brother-in-law who, in yet another good example of geeky humor, replied with:

That's very funny! Thanks for sending it. it was only leaving out:

# ls /opt/USA/bush_administration/scandal
ls: /opt/USA/bush_administration/scandal: No such file or directory

# ls /opt/USA/bush_administration/.scandal
cialeak halliburton friends_of_bush etc

:-) 

{link to this story}

[Fri Jul 15 13:44:21 CDT 2005]

Life is a paradox. While so many home users complain about bloated software slowing down their systems and whine that the hardware can hardly keep up, those involved in the high-performance business complain precisely about the opposite: software just cannot keep up with hardware performance. {link to this story}

[Fri Jul 15 13:32:12 CDT 2005]

Martin F. Krafft just published The Debian System with Open Source Press. Unlike similar books published by O'Reilly, this one truly appears to be just about a particular Linux distribution (Debian, in this case) instead of being an introductory volume to Linux in general under the guise of being dedicated to a distro. In this case, the author does spend some time telling us about the Debian community, how it works, how to use its package management system, how to build packages, customize installations, etc. It looks pretty good indeed. Incidentally, the Debian GNU/Linux Desktop Survival Guide, freely available online, appears to be an interesting book too. {link to this story}

[Thu Jul 14 15:34:33 CDT 2005]

Aigars Mahinovs shares with us some interesting CDD ideas. CDD is nothing but the acronym for Custom Debian Distributions which, in spite of some initial apprehensions, has revitalized the Debian community to the point that I would consider it the third most important Linux distribution out there these days, right after Red Hat and SUSE. Aside from the CDD projects properly speaking, there is also a nice array of projects that spawned directly from Debian: Ubuntu, Progeny, Linspire, Xandros, Linex, Skolelinux... There is little doubt that the Debian world is a vibrant and lifely community, perhaps the most active community-based Linux distribution out there right now. The experience has been so good that they even published a document explaining how to put one together, and I must say I am more and more tempted to give it a try myself. I have built customized releases of Red Hat and Fedora in the past, but in the past two years or so I have been running almost exclusively on Debian or Debian-based distros. So, it may be about time to give this a try. {link to this story}

[Mon Jul 11 22:02:04 CDT 2005]

More from Software Development magazine, this time to illustrate Python's Guido van Rossum's lack of dogmatism when it comes to discussing the best programming language:

English is a great language because it's everybody's second language. English is the lingua franca. Underneath Python, Perl, Haskell and the Java Virtual Machine is probably a C implementation that makes it all possible.

It certainly helps to read words like this coming from the founder of one of today's most popular scripting languages, especially taking into account how easily discussions on one's favorite languages quickly evolve into a serious confrontation of quasi-religious dogmas. {link to this story}

[Mon Jul 11 21:50:47 CDT 2005]

I had never heard of him, but Software Development's article on Stan Kelly-Bootle helped me love this Renaissance man of our times who, coming to the US from Britain, wrote columns for Unix Review mixing classical history, sociology, literature, mathematics, semiotics, music and everything else that came across his mind. Just a couple of examples:

A friend of mine, toying with the old probabilistic fantasy of monkeys typing Hamlet, pondered aloud at a party on how many drunks at how many CRTs could produce Unix System VI ahead of schedule. A nearby AT&T employee pulled him aside and warned him not to discuss company secrets in public.

Voltaire noted in the 1760s that chaque siècle a eu sa marotte, meaning, roughly, each century enjoys or suffers its passing obsession or fad. The pace has quickened since then, and our current manias seem to come and go semiannually, au moins. Metafaddologists, of course, spurn faddology as a mere psychosociological fad. And so on, as they say in metacircles.

Pity we do not see this wit any more these days. {link to this story}

[Mon Jul 11 21:24:07 CDT 2005]

I found a few interesting IDEs While reading an article on Eclipse tools published by Software Development magazine: EPIC for Perl, PHPEclipse, and PyDev for Python. Also, as a curiosity, Morphine, the Eclipse RSS reader to read any RSS enabled developer website. Needless to say, they are all Eclipse plugins. {link to this story}

[Mon Jul 11 08:15:26 CDT 2005]

Search Enterprise Linux publishes a short interview with Donald Becker, founder of the Beowulf project, who discusses clustering and virtualization technologies. Prompted by the interviewer, he muses about the situations where it makes sense to use clusters rather than simple SMP:

The easiest type of application to put on a cluster is one that uses "parametric execution". With this model, multiple independent copies of an application are run on different data sets.

If the SMP system is used because it offers high throughput on single-threaded jobs, a Beowulf cluster will be an almost drop-in replacement. However, if the SMP system is being used with threaded programs that rely on shared memory for fine-grained communication, complicated restructuring of the application may be required.

One traditional case where SMP have been used is with transactional databases. This is a special case where fine-grained communication and locking are used on the SMP, but other ways to achieve the same result are used in a cluster so an analysis has to be done to determine if moving to a cluster is feasible.

Most applications fall in between these two extremes.

{link to this story}

[Fri Jul 8 10:45:56 CDT 2005]

eWeek publishes today that Mandriva, Progeny and TurboLinux are working on a new enterprise Linux distribution based on Debian. Apparently, the final product is supposed to support both RPM and deb packages, one of the main objectives being to make sure that anybody familiar with Red Hat feels comfortable running it. The idea sounds great, but we will have to wait until we can see the distribution. Mixing up RPM and deb could be a recipe for disaster if not implemented correctly. On the other hand, it is an exciting project that could potentially change things for many sysadmins out there. {link to this story}

[Fri Jul 8 08:16:30 CDT 2005]

Eric Raymond explains to the O'Reilly Network that "we don't need the GPL anymore", thus confirming what he had already stated during a speech in Brazil. The gist of his argument is:

It's 2005, not 1985. We've learned a lot in the last 20 years. The fears that originally led to the reciprocity stuff in GPL are nowadays, at least in my opinion, baseless. People who do what the GPL tries to prevent (e.g., closed source forks of open source projects) wind up injuring only themselves. They trap themselves unto competing with a small in-house development group against the much larger one in the parent open source project, and failing.

The main reason why certain projects prefer the BSD license (as opposed, mainly, to the GPL license) is because they have no problems with their code being used by commercial vendors and becoming closed source. Why should they do this? There are multiple reasons, but perhaps the main one is an interest to spread their project until it becomes a standard technology in the field. In a recent interview with ZDNet, Ian Foster, co-founder of The Globus Consortium, explained why they chose the BSD license in very clear terms:

We chose this BSD-style license because we believe that vendor incorporation of Globus Toolkit code into their proprietary offerings is a key to enterprise adoption. IBM's Grid Toolbox, Sun's Grid Engine and Nortel Network's Dynamic Resource Allocation Controller (DRAC) are examples of early Grid products that use the Globus Toolkit. The APL2 license allows these vendors to use Globus Toolkit implementations of the open standards in their Grid products. Thus, those products are able to interoperate with other hardware and software resources in their customers' IT envrionments.

I believe that when vendors build proprietary Grid products on open source, everyone benefits.

Theo de Raadt provides a similar point of view during an interview with The Epoch Times:

OpneSSH, though, is perhaps the best example of the reason why we write software that anyone can reuse for free. There are other SSH implementations —but none of them is as good as OpenSSH. How good is OpenSSH? Well, it is incorporated into every free Unix. It in Cisco products. Hewlett-Packard switches. All vendor firewalls ship with it. It is on wireless base stations! It is everywhere. The only major operating system vendor not using it is Microsoft.

(...)

... getting money was not the goal for OpenSSH. Our goal was to convert the entire Unix community from using telnet and other insecure login protocols. And we have done that. Telnet is rarely used now, since all the Unix operating systems incorporate an SSH client and server. That is what students and system administrators now use to administer their machines.

A second benefit is that everyone is using our code base. Normally there would be a fear when we hit monocultures like this (everyone is running the same code), but in this case we believe we have been aggressively careful programmers. Would the companies have been as careful at writing clients and servers for the hugely complicated SSH protocol? Reading security mailing lists, we certainly don't think so. If 50 vendors had each written their SSH code, we as a community would have a rather nasty problem on our hands. SSH would be a bad word.

What Eric Raymond does not appear to realize is that this is all fine and well as long as we are discussing infrastructure projects which have a chance of becoming an industry standard. In those cases, making sure that the adoption of the product spreads as far as possible certainly makes sense, and therefore having companies grabbing one's source code and making it closed is no major worry. The priority in those cases is to promote open standards more than open source. Yet, that does not always need to be the case, especially when we talk about pieces of software that do not belong in the infrastructure (GNOME, KDE, Mozilla...). It seems to me that Eric Raymond is trying to do precisely what should always be avoided: enforce a single solution into a hugely diverse world. I prefer to take a different approach, accepting the idea that we should be flexible enough to use whichever solution makes sense for a given situation. {link to this story}

[Wed Jul 6 10:17:25 CDT 2005]

It is always fun to read what is truly going on behind the curtains within certain companies, but when that company is Microsoft the fun is multiplied a thousand times. Robert Cringely reports how a few ex-Microsofties reported to him that the company still uses a lot of UNIX servers internally, in spite of all their marketing pose.

For the most part, according to our ex-Microsoftie, the company's money-making Web properties are all based around Unix, with Hotmail being 99 percent FreeBSD, MSN using some Apache on Solaris, bCentral ad servers on 100 percent FreeBSD, and WebTV pretty much entirely Solaris.

"Internally when Windows 2000 was announced, people were told not to even think about using it for production because it was too unstable," says this ex-Microsoftie.

So much for mature software written by professionals. It seems that, internally, Microsoft prefers the stuff "written by college kids in their basements."

In general, whenever the company tried to switch from any flavor of UNIX to its own Windows 2000 it took nearly four times more systems to provide the same service. {link to this story}

[Wed Jul 6 09:42:18 CDT 2005]

I read in LinuxPlanet that Addison-Wesley has just published an update to Rich Steven's UNIX System Programming, one of the UNIX classics. Due to Stevens' death, the publisher hired another writer, Steve Rago, to tackle the difficult work of updating such widely respected book.

Rich's book is a classic, but the world has changed a lot since it was first published in 1992. Standards have evolved, UNIX system implementations have come and gone, and technology has advanced significantly. I added a chapter on sockets, two chapters on threads, and totally rewrote the chapter on communicating with a printer to reflect the technological advancement from a serial PostScript printer to a network-attached PostScript printer. I removed the chapter that dealt with modem communication, but I made it available on the book's Web site. Other than the printer chapter, Chapter 2 shows the most change. It deals with standards, and these have changed significantly over the past 13 years. One other major change is that I shifted the implementation focus from 4.3+BSD and SVR4 to more contemporary platforms: FreeBSD 5.2.1, Linux 2.4.22, Mac OS X 10.3, and Solaris 9. (The source code for the examples is also available on the book's Web site.)

As it tends to be the case with specialized computer books, the price tag is quite hefty: nearly US $75. I suppose I will have to wait to purchase an used book on Amazon in a couple of years. {link to this story}

[Wed Jul 6 09:32:53 CDT 2005]

Yet one more good reason to stick to open source software whenever possible. eWeek recently published that a rumored Microsoft adware deal raises read flags:

Published reports that Microsoft is in discussions to purchase high-profile adware vendor Claria for as much as $500 million have set tongues wagging in the security sector, with analysts and vendors questioning the software giant's motives and whether the deal will actually occur.

"Given Microsoft's emphasis on trustworthy computing and their public stance against adware, I think it would be a really strange acquisition and not the best move," said Matt Rosoff, an analyst with Directions on Microsoft, an independent analysis firm in Kirkland, Wash. "I wouldn't be surprised if there were talks going on, but I'd be surprised if this goes through."

Who is free from these worries when betting the whole ranch on a proprietary vendor? Mind you, I do not argue that these business decisions are completely legitimate. I just doubt that they benefit the end user (i.e., the customer who pays for the products) at all. {link to this story}