Letters to the Editor
This is in reference to “A Toolbox for the X User” by Christoph Dalitz, May 1999. In it, Mr. Dalitz mentions the “tkdiff” utility, but seems to base his observations on an old version. I wanted to alert you to a couple of significant changes, which may impact tkdiff's usefulness to some users.
Thanks to much work by Bryan Oakley, 3.03 (the latest released version) contains many features and enhancements relative to the more ubiquitous 2.x and 1.x releases.
One change in particular addresses the author's observation that “tkdiff can be invoked only from the shell prompt because it requires file names as command-line arguments.” This is no longer the case. If tkdiff is invoked without arguments, it will pop up a dialog box and prompt you for file names (via text-entry widgets coupled to optional file-selector widgets). As such, tkdiff is now a suitable candidate for being launched from a toolbar or similar mechanism which eschews the command line.
Relative to the observation that tkdiff has “no external man page, which occasionally makes it inconvenient to get usage information”, I would like to point out that the on-line help does come up automatically, if invalid command-line parameters are used. This is still inconvenient, but better than having to explicitly invoke the on-line help system in order to see the help text.
Lastly, on a related note, I've turned over maintenance responsibilities for tkdiff to Damon Poole of Ede Development Enterprises. Damon graciously volunteered to maintain and enhance the code on an Open Source basis. The official tkdiff home page is now at http://www.ede.com/free/tkdiff/index.html, from which this 3.02 release can be obtained. Thank you.
—John M. Klassa klassa@aur.alcatel.com
There is a nasty bug in Listing 1 published in “Introduction to Multi-Threaded Programming” by Brian Masney, May 1999. The line
pthread_t *tide:
should be changed to
pthread_t tide[10];
—Klaus Pedersenklaus.pedersen@nokia.com
I have followed Linux for four years and wanted to voice my support and thoughts. I was prompted to write after reading the June Linux Journal. It strikes me that Linux is at a crossroads of sorts, where identity and maturity need definition and direction. This point was made in the articles on Linux standards and were reflective of the development community and its needs. However, there is another perspective, that of the consumer or end user.
I consider myself to be in this latter community. Labeled as such, I do not believe that the Linux community has come to terms with an identity or maturity. As an end user, I am amazed at the wealth of information and capability that has been developed to date. In many ways, this reflects very well on the Linux community and should be a great source of pride—well done. Nevertheless, the question is where to go from here. The “here” is subject to debate; however, I would argue that the “here” is further adoption by end users like myself.
We are all well aware of Linux's success as a development platform, Internet web server, enterprise mail and file server, and specialized supercomputer platform. Unfortunately, these applications represent a very limited set of users. What about the end user who operates in the world of Microsoft today? These users have very different needs than those of a development community. These users typically see the computer as an appliance. The computer does things that provide benefit to the user. This type of user sees the computer like most people see an automobile—get me from point A to point B, but don't ask me to understand how it happens. I can sense some developers community taking great pride in using a tool that requires great skill to master. Unfortunately, end users, for the most part, are not interested in acquiring those skills.
I'll use my own experience to illustrate the point. I've gone from a distribution of Linux by InfoMagic in 1995 through Red Hat 5.0, 5.2, Caldera OpenLinux 2.2, and a soon-to-arrive distribution of Mandrake 6.0. In all of this, I have not yet abandoned my Windows. This reflects two important limitations of Linux for me. First, the lack of user-friendly applications, and second, a lack of confidence in using the operating system. Limitation one is becoming less important with the maturity of KDE and the availability of Netscape, WordPerfect, StarOffice and Applixware. This fall's release of Corel Office should be a watershed event. Nonetheless, limitation two is still daunting.
As I write this, I have just returned from the bookstore with Linux in a Nutshell and Learning the bash Shell from O'Reilly. Thank God for O'Reilly! These books and others are part of my growing Linux collection as I try to understand what the system does. For example, why does the installation of Metro X cause conflict with the X server as distributed by Caldera? Why do I have to apply a print offset correction to produce centered text from WordPerfect? Why does the configuration of printers using Caldera's COAS seem so difficult and problematic? Why, when I follow the instructions for building a new kernel, does the kernel not work? These and other problems have haunted me as I try to use Linux from an end user perspective.
My point here should be obvious and simple: these types of issues are not a concern when I use Windows. If the Linux community wants to see greater user adoption, then the community needs to think like an end user. Trust me in saying that I am an activist end user, having spent hundreds of hours reading and learning. However, unlike me, most end users will expect simplicity, reliability and utility. Linux today can deliver reliability; simplicity and utility are not part of the equation. To put it in perspective, if my mother asked me to recommend a computer, my answer would be a Wintel machine because I could walk her through most problems over the phone. With Linux, that would not be possible.
In sum, I think the Linux community needs to assess which direction it wants to go in—remaining a specialist operating system supporting networking and unique applications, or becoming more of an appliance operating system that users can operate confidently. The time to solidify an identity is now, and the opportunity to come of age will always be timeless.
—Mark H. Runnels mrunnels@home.com
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Build a Skype Server for Your Home Phone System
- New Products
- Why Python?
- Validate an E-Mail Address with PHP, the Right Way
- A Topic for Discussion - Open Source Feature-Richness?
- Tech Tip: Really Simple HTTP Server with Python
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




28 min 41 sec ago
36 min 42 sec ago
2 hours 51 min ago
5 hours 21 min ago
15 hours 23 min ago
19 hours 50 min ago
23 hours 26 min ago
23 hours 59 min ago
1 day 2 hours ago
1 day 2 hours ago