By
Adam "StoneTable" Israel (mailto:stone@arstechnica.com)
and
Jorge "whiprush" Castro (mailto:jorge@whiprush.org)
In the tradition of
Game.Ars (http://arstechnica.com/etc/games/index.html)
and following in the footsteps of
Mac.Ars (http://arstechnica.com/wankerdesk/03q2/mac.ars-07292003.html),
we present to you Linux.Ars. In the spirit of its predecessors, this column is
dedicated to covering a handful of major news items from the Linux community. We
intend to remain faithful to the Ars Technica tradition of in-depth, technical,
cross-platform coverage. We'll dig in deeper on issues that we feel are
important to not just Linux users but all enthusiasts.
This column is about you, the reader. Like Linus, we started out with an idea.
That idea led to a prototype, this column. We may direct the effort but it's up
to you, our readers, to fuel our fire that will drive us forward. Like any
successful Open Source project, the quality of this column depends on critical
feedback and suggestions to make it a success, so tell us what you like, what
you hate, or what you want to see. Give us your best shot. Let's go...
Two Groupware solutions recently released their 1.0 versions, bringing the Linux
desktop user some powerful collaboration tools. Groupware is a common problem
area for Open Source, so high hopes accompany these two programs.
Opengroupware.org (http://www.opengroupware.org/)
launched as a complementary community to OpenOffice.org. It includes a web-based
tool to the entire suite. The plugin architecture to support client-side
programs should be checked in shortly. The
Kroupware (http://www.kroupware.org/)
project also released the Kolab Server and Client, bringing a fully functional
solution right out of the box.
Both projects are vying for "Exchange Killer" functionality, with OpenGroupware
also tackling document management in its system. We can expect Kolab to be
included in the next major release of KDE, and look for OpenGroupware.org in the
next major release of your favorite distribution. Plugins for your favorite
mailer still need to be written to take advantage of this, although Kolab comes
with a working client already.
Both projects however, seem to be putting an Outlook plugin on the back burner,
meaning that while a pure Linux environment might enjoy all these features, the
"Holy Grail" of an open cross-platform collaborative environment that also
interacts with Exchange/Outlook is still far from practical reality.
Nat Friedman's
Dashboard (http://www.nat.org/dashboard)
application is generating buzz for Linux desktop users. Dashboard, which is
described as an "association engine", is an application that sits on your
desktop and searches your "personal information space" as you go about your
business on the desktop. The end result is that if you are in an Instant Message
with "Joe Smith", their related information, email, blog entries, past IMs,
contact information, etc. show up in the Dashboard. Applications speak to the
Dashboard via
plugins (http://www.nat.org/dashboard/status.php3)
which send XML cluepackets to the Dashboard, which then correlates all
the related information and displays it for you.
Though it sounds rather simplistic, the important thing to remember is that the
information displayed is based on relative feedback. So while Joe is discussing
his favorite album, the Dashboard might display a link to the album cover, with
a few links to your own music library, while perhaps showing an Amazon link of
the tour book for sale. As you add more application plugins, the relative
complexity increases, so that more information is cross-referenced, this
includes things such as your browser history and bookmarks. The design goal is
"Glance, not stare" so the information displayed is relevant to whatever you are
doing. The best way I can describe it is "Gkrellm for humans".
Dashboard also has the distinction of being the first real interesting
mono (http://www.go-mono.com/)
application that users can play with. Perhaps this is the killer application
that Ximian needs to bring mono into the forefront of Linux development, prior
applications were mostly little widgets and proofs of concept. The application
itself is written in C# and runs on mono, but the Dashboard backend is language
agnostic, so any application that can spit out XML cluepackets can interact.
So maybe the next time someone complains about St. Anger on IRC, the
dashboard will display your last ten posts to alt.therapy.suicide ... you should
be so lucky.
Red Hat will be making some changes to how they sell Linux. The next major
release, to be called "
More significantly, Red Hat is changing the way that the distribution itself is
going to be developed. Red Hat has launched the Red Hat Linux Project, in which
the development lists and beta cycle testing have been opened to the public.
What does this mean for users? This brings a little bit of Debian and Gentoo to
the "developer pool" for Red Hat, giving users and outside developers more say
into what the distribution should be. Popular third party repositories like
FreshRPMS (http://www.freshrpms.net/)
and
Fedora (http://www.fedora.us/)
can now become involved with the development of Red Hat itself.
It will take some time to see how Red Hat and outside developers work together,
but in the meantime, keep your eye on
rhl.redhat.com
to find out how to get involved. And while you're there, pick up the latest
beta, "
Hans Reiser
has declared (http://www.ussg.iu.edu/hypermail/linux/kernel/0307.2/2340.html)
the Reiser4 journaling filesystem just about ready for users, and posted
benchmarks (http://www.namesys.com/benchmarks/v4marks.html)
to boot. We can't even scratch the surface of
Reiser4 (http://www.namesys.com/v4/v4.html)
here, it is a radical departure from most existing filesystems. The Reiser4 page
is an excellent place to learn more.
Reiser4 shows a lot of potential, but may still have a ways to go before proving
itself. Advanced features such as the use of database-like transactions to
ensure data integrity sound good, but until it has gone through heavy testing
and has proven itself, I'll be leery using it for any data that I care about.
Linus has released kernel 2.6.0test2. While it will be some time before it is
released, you can grab the latest bits from your closest
kernel.org (http://www.kernel.org/)
mirror and do your part to help test. If you're unfamiliar with what kernel 2.6
will bring to users, Joe Pranevich's
The Wonderful World of Linux
2.6 (http://kniggit.net/wwol26.html)
will bring you up to speed.
A few #linux regulars have been dipping into the 2.6 waters lately, and the
general consensus seems to be that it is remarkably solid, definitely more
stable than 2.4 was when it entered the test phase. The performance updates are
considerable, especially for desktop users, and are more pronounced when the
system is under a high load. Although exciting for the home Linux user, the
benefits for "Big Iron" users are probably the most significant. Support for
NUMA machines and improved SMP will continue to push Linux into the high end
server room, as memory limits have been expanded, and the XFS and JFS
filesystems finally make their debut as an official part of the kernel. On the
small side, embedding users will be happy to see support for smaller
architectures, as you can now omit large parts of the kernel at compile-time for
use in MMU-less processors.
There are still some drivers that will not compile, but if you can finish
compiling it, it should run just fine. This is a good sign, considering how long
it took 2.4 to get stable. Of course, we strongly recommend that you take
precautions when trying a new test kernel, and when in doubt, wait for the next
version of your distribution to include it.
Trolltech has
released (http://www.trolltech.com/newsroom/announcements/00000135.html)
Qt 3.2, their popular cross-platform toolkit. New features include a faster font
rendering engine, new classes, and drivers for DB2. The
I'm happy to report that
Python 2.3 (http://www.python.org/2.3/)
has been released. For the uninitiated,
Python (http://www.python.org/doc/Summary.html)
is an "interpreted, interactive, object-oriented programming language", often
compared to Perl, Java, or Tcl. This is a major release for Python, more than a
year and a half in the making. This is a significant improvement to my favorite
scripting language, bringing better performance and stability, as well as many
dead bugs and sealed memory leaks. We've been using Python here at Ars Technica
for several years now, to do things like keeping our
syndicated news feed (http://www.arstechnica.com/etc/rdf/ars.rdf)
up to date.
There is quite the laundry list of
changes (http://www.python.org/2.3/highlights.html)
in this release. Instead of repeating them verbatim, I'll run down some of the
more important ones.
PHPBuilder.com (http://www.phpbuilder.com/)
is running a nice
introduction (http://www.phpbuilder.com/columns/argerich20030411.php3?page=1)
to the forthcoming PHP 5, currently in beta testing. PHP has become a staple of
Internet development since its inception in 1995. It has evolved as demanded by
need and new technology, and has become a damn fine alternative to Perl. This
next iteration continues that growth trend. There are several new and revamped
features that make my loins quiver in anticipation. Just kidding. I think.
The PHP5 object model has been dipped in coffee and now has a distinctively Java
smell to it. Pick up your donuts and begin dipping. [I just want to note that
that is the worst pun evar, whip] If you have attempted to write any
object-oriented code using previous versions of PHP, you probably found that it
was lacking in many of the techniques that we usually use to identify
object-oriented programming, such as abstract classes, multiple inheritance, and
encapsulation (through protected, private, and public data). PHP5 makes notable
improvements in this area, but it will introduce headaches for some developers.
Existing object-oriented code written for PHP4 will need to be modified to use
this new model. Other handy C++ features, such as streams, exception handling
and Namespaces have been added to this release.
Object-oriented improvements (http://www.php.net/zend-engine-2.php)
aren't the only changes to come. PHP5 also includes the
Zend Engine 2 (http://www.php.net/zend-engine-2.php),
re-written XML support using the popular
libxml2 (http://www.xmlsoft.org/)
library, and various improvements in performance. Even though many things have
changed (http://www.php.net/ChangeLog-5.php),
PHP5 will still remain a contender in internet application development. These
new features make PHP a stronger language. Anyone using PHP and wanting to write
object-oriented code needs to take a look at this.
If you're just starting out with Linux or are an experienced user, chances are
you still haven't discovered everything that the Linux community has to offer.
In this section we'd like to show off our arcane Linux knowledge.
Watch - watch executes a program at a set interval and displays the
output on-screen. It's handy for watching output that periodically changes, so
you can leave a program running in a window and watch will execute it for you
over and over again without the need for user intervention. Running 'watch
uptime' would look something like this:
Every 2s: uptime Sat Jul 26 11:34:23 2003
11:34:23 up 20 days, 3:09, 2 users, load average: 0.00, 0.00, 0.00
Time - time is one of the most useful tools I've seen lately. It's an
informational program that measures the amount of time it takes for a command to
run.
stone@moria:/home$ time du -sh stone
42G stone
real 0m21.948s
user 0m0.370s
sys 0m1.920s
We feel a certain excitement when we discover a killer new application. Like
giddy schoolgirls after our first kiss, we have to tell all our friends about it
before going back for more. Now get over here and pucker up.
Good news for music fans, you can add
streamtuner (http://www.nongnu.org/streamtuner/screenshots/)
to your list of must have applications. Streamtuner finds Shoutcast streams, and
then displays them in a list that you can sort by genre, playlist, bitrate, and
listeners. Double-clicking on a stream automatically launches your music player
and plays the stream. If you have
streamripper (http://streamripper.sourceforge.net/)
installed you can take advantage of the "Record" button on the GUI itself, so
you can record streams as individual MP3 files. Streamripper will even file them
by radio station automatically.
So ends the inaugural edition of Linux.Ars. Your feedback is critical in making
us a success!