User Mode Linux (UML) is open source software that allows you to run Linux in a "virtual machine" on top of a physical Linux box. This opens up some pretty powerful possibilities...
The visual software development environments that are so popular on Windows and the Mac are making their way to Linux. We took a look at several IDEs for programming in C/C++, Java, Perl, and Python.
ActiveState is a company that will have a profound impact on the future of Open Source. Dick Hardt, the company's CEO, shares his thoughts on the future of scripting languages and Web programming.
In the same way that GCC supports programming in Java, it will need to support Microsoft's .NET initiative. What work needs to be done to make this happen? And does it present a threat to Free Software?
Have you ever lost a file because you couldn't remember where you put it? Losing files is a common experience when learning a new operating system, and Linux users are hardly immune to it. The good news is that Linux provides the find command, which can help you banish the lost file experience from your daily routine. The better news is that find is extremely powerful and can help you do a lot more than just find lost files. Of course, a command this useful can take a while to master, so this month we're going to explore some of find's ins and outs.
Few will dispute that Linux came of age in the past year. As in the past, enthusiasts have continued to load Linux on their PCs and laptops and hack software in their basements and on unused portions of systems at their jobs. More recently, however, traditional software companies have begun porting products and programs to Linux, and the operating system has made even deeper advances in the Web server market, as well as in supercomputing clusters and application server environments. But despite all this progress, the idea of a truly open-standard platform for mission critical needs in the enterprise remains a hot debate. There are many who believe that the community needs the kind of strong, centralized support system for innovation and development that traditional proprietary software has long enjoyed.
This month, I've decided to break with our usual format and instead answer a few of the questions that I have received via e-mail. All of these concern system administration. The first one deals with the recently released 2.4 Linux kernel.
In the past two months we've introduced threads and mutexes, the locking mechanism used to prevent race conditions in threaded applications. In this month's column, we'll look at two types of concurrent programming techniques used to synchronize the execution of code in threads. Hopefully, this discussion will further your perception of locks and how they are used in concurrent programming.
Suppose my friend Fred has a Web site that has grown too big for him to handle by himself. So he gets his buddy Barney to create some of the HTML and draw up a few of the images. How can Barney edit the files on Fred's hard drive, especially if Barney is on the wrong side of some corporate firewall? Well, Fred could create a CGI script to upload the files into the right place. However, then the script runs as the Web user and not as Fred. This would require Fred to mess with wide-open permissions (or setuid wrappers) and either https authentications or (worse) repeatedly sending the update password over the wire during Basic Authentication handshaking.
I've been sitting here watching the latest snipe-fest between Sun and Microsoft. This is really nothing new. It's common to see the two of them heckling away at each other on any given day. However, this latest volley of invective caught my attention more than usual. Why? Because it made me take a step back and think about the underlying forces that are driving the initiatives both companies are advancing.