 |
 |
 |
 |
 |
 |
JFS overview
JFS provides fast file system restart in the event of a system crash. Using database journaling techniques, JFS can restore a file system to a consistent state in a matter of seconds or minutes, versus hours or days with non-journaled file systems. This white paper gives an overview of the architecture, and describes design features, potential limits, and administrative utilities of the JFS technology available on developerWorks.
|
 |
Articles |
 |
01 Jan 2000 |
|
| |
The hard roots of open source software
Author Peter Salus takes you back before the beginning of (Internet) time,
for a look at how the open source community emerged. Before the Internet came
on the scene, disperse user groups were sprouting up to address hardware issues
that were as new as the computers they were working on. USENIX followed not too
long after, and soon, the difference between free and proprietary software arose.
Even so, open source software managed to survive, and some of the developer's best
tools, including the UNIX editors, flourished.
|
 |
Articles |
 |
01 Feb 2000 |
|
| |
Brooks' Law and open source: The more the merrier?
An aphorism from some twenty years ago, Brooks' Law, holds that adding more programmers to a project only delays it. But if this is so, what accounts for Linux? Paul Jones gathers perspectives on the open source development method and whether it defies conventional wisdom.
|
 |
Articles |
 |
01 May 2000 |
|
| |
Open source around the world
Although the open source community is international, many local characteristics of the community differ across borders. Hackers in Borneo work in a different political and cultural environment than hackers in Japan or Silicon Valley, for example. These differences can affect the international development of the open source community. Maya Stodte looks at development, structure, and community in some of the less-talked about countries around the world.
|
 |
Articles |
 |
01 May 2000 |
|
| |
Charming Python: Tinkering with XML and Python
A major element of getting started on working with XML in Python is sorting out the comparative capabilities of all the available modules. In this first installment of his new Python column, "Charming Python," David Mertz briefly describes the most popular and useful XML-related Python modules, and points you to resources for downloading individual modules and reading more about them. This article will help you determine which modules are most appropriate for your specific task.
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
Charming Python: The dynamics of DOM
In this article, David Mertz examines in greater detail the use of the high-level xml.dom module for Python.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
Enhydra: A new model for collaboration
Enhydra, an open source application server, serves as an example of collaboration between business and development in the open source community. Maya Stodte takes a look at how the developers of Enhydra were able to harness the powers of open source development, as well as the open source business model, and the commercial itch the Enhydra product was designed to serve.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Free chips for all
Jamil Khatib reviews the open hardware model for chip design. After a brief look at early open hardware projects, he discusses why hardware designs should follow the model of open source software, what the current open hardware groups are working on, and what problems are involved in translating the open model from software to hardware.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Compiling and installing software from sources
Learn how to compile and install open source programs from their original source code. This tutorial shows how to compile the vast majority of Unix sources. developerWorks columnist Daniel Robbins steps you through the whole process of unpacking, inspection, configuration, compilation, and installation in this tutorial and gets you going on Linux.
|
 |
Tutorials |
 |
15 Aug 2000 |
|
| |
Multilingual forms in Unicode
One of the most practical initial uses for multilingual Unicode pages will be collating similar information from a variety of languages into various forms for survey or business purposes. This article examines the first steps in how such multilingual forms might be constructed in Unicode and outlines how these may form the basis for future global multilingual software.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Opening up AFS
IBM has announced the open sourcing of its popular AFS product from Transarc. Maya Stodte takes a brief look at why the code was opened, and how AFS developed into a prime candidate for an open source product.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Using regular expressions
This free tutorial explains how to use regular expressions to search for and modify patterns in text. The tutorial starts with the basics, and then progresses to intermediate and advanced topics, with lots of examples along the way.
|
 |
Tutorials |
 |
28 Sep 2000 |
|
| |
DAISY: An open source JIT compiler for large machines
Dynamically Architected Instruction Set from Yorktown (DAISY), the open source software for binary translation research, is being
released by the IBM Watson Research Center. DAISY's dynamic compilation and 16-wide
VLIW put the project at the forefront of compiler techniques and architectural
features. Maya Stodte takes a closer look at DAISY and its core development team.
|
 |
Articles |
 |
01 Nov 2000 |
|
| |
Rebol scripting basics
This free tutorial introduces you to a powerful Internet-enabled scripting language called Rebol. This tutorial provides clear demonstrations of Rebol fundamentals, including detailed explanations of the parts of Rebol that differ from more conventional programming languages. It's designed to make learning Rebol really easy.
|
 |
Tutorials |
 |
07 Nov 2000 |
|
| |
Charming Python: TK programming in Python
David Mertz introduces TK and the Tkinter wrapper (Python's GUI library) with source code samples accompanied by detailed running commentary. To make life easy, he illustrates his examples with the GUI port of the Txt2Html front-end that he's used in many of his earlier articles. He assumes, of course, that you follow his column regularly. :)
|
 |
Articles |
 |
01 Dec 2000 |
|
| |
JFS fundamentals
This free tutorial shows how to install and use JFS under Linux. JFS is an enterprise journalling filesystem (JFS) technology currently used by IBM enterprise servers and now being ported to Linux.
|
 |
Tutorials |
 |
02 Jan 2001 |
|
| |
Getting to know GRUB
This free tutorial shows how to install and use GRUB, the Grand Unified Boot Loader, to boot your Linux system. Like LILO, GRUB takes care of loading and booting the kernel. Unlike LILO, GRUB is rich with features, much easier to use, much more reliable and flexible, and just plain neat-o.
|
 |
Tutorials |
 |
11 Jan 2001 |
|
| |
Using Perl to access DB2 for Linux
In this free tutorial you'll learn how to install and use a Perl interface to the IBM DB2 Universal Database, Personal Developer's Edition. You'll also learn by example how to query the sample database provided with the DB2 Personal Developer's Edition.
|
 |
Tutorials |
 |
19 Jan 2001 |
|
| |
Sun's open, componentized OpenOffice productivity suite
How Sun Micro took the StarOffice code, "componentized" it, and released it under the GPL -- and what comes next.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
The security implications of open source software
Natalie Whitlock talks about the incongruence of closed security systems, and the open source solution. She discusses Eric Raymond's ideas, the famous "back door" in Microsoft's FrontPage, the concept of peer review, and the open source dilemma that no one is at the helm guaranteeing that everything will be checked. She then follows the idea from theory to practice and talks with leading IT executives about the viability and popularity of secure open source systems.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
The Pango connection: Part 1
Pango is an open-source framework for the layout and rendering of internationalized text, and is being included in the next generation of GTK+ and GNOME. In the first of a two-part series, Tony Graham introduces Pango and describes how it handles text, as well as the text attributes that you can specify for formatted text. The article concludes with a summary of Pango's processing pipeline for formatting and rendering a simple text string and a list of its attributes.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
CVS for the developer or amateur
This free tutorial introduces you to CVS, the Concurrent Versions System, used by developers around the world to develop software in a flexible and collaborative manner. Intended for those new to CVS, this tutorial will get both general users and new developers up to speed quickly. Whether you'd like to use CVS to check out the latest sources of a particular software package, or whether you'd like to begin using CVS as a full-fledged developer, this tutorial is for you.
|
 |
Tutorials |
 |
13 Mar 2001 |
|
| |
Inside the Apache directory structure
This free tutorial introduces the Apache administrator to the directory layouts used for a given installation. With this knowledge, administrators can then easily locate Apache's executable and utility files, and determine what's necessary for custom configuration.
|
 |
Tutorials |
 |
29 Mar 2001 |
|
| |
The Pango connection: Part 2
Pango is an open-source framework for the layout and rendering of internationalized text, and is being included in the next generation of GTK+ and GNOME. In the second of a two-part series, Tony Graham describes where to get Pango and the development versions of GLib and GTK+, how to configure the programs, and how to compile programs that use Pango and GTK+. He then illustrates the use of the pango_parse_markup() function described in part 1. The article concludes with two examples of how to use bidirectional text in GTK+ labels: one that uses pango_parse_markup() and one that uses the gtk_label_set_markup() function that is available in GTK+ now that it incorporates Pango.
|
 |
Articles |
 |
01 Apr 2001 |
|
| |
Building KDE themes for Linux
This free tutorial is designed to teach you about K Desktop Environment (KDE) themes: how to create, save, load, and share the fundamental look and feel of the KDE environment. After completing this tutorial, you will be confident in your ability to customize KDE to fit your personal working style.
|
 |
Tutorials |
 |
10 Apr 2001 |
|
| |
Creating dynamic Web sites with PHP and MySQL
This free tutorial shows you how to use two open source, cross-platform tools for creating a dynamic Web site: PHP and MySQL. When we are finished, you will know how dynamic sites work and how they serve the content, and you will be ready to serve your own dynamic content from your site.
|
 |
Tutorials |
 |
15 May 2001 |
|
| |
Installing FreeBSD
This free tutorial is for users getting started with FreeBSD for the first time. The tutorial may also serve as a refresher for FreeBSD users who want to install the most recent versions. You do not need to be a programmer or a network administrator to follow this tutorial, but some of the greatest advantages of FreeBSD itself target programmers and network administrators.
|
 |
Tutorials |
 |
23 May 2001 |
|
| |
Using Perl to create reusable Web apps
Perl is a convenient and effective tool for complex Web applications development. However, even experienced programmers resist Perl because it seems difficult to learn and use. This article demonstrates that object-oriented implementation of Perl simplifies the effort and could be much more effective than other Web technologies, especially with separate design and application functionality.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 1
With the 2.4 release of Linux come a host of new filesystem possibilities, including ReiserFS, XFS, GFS and others. Sure, these filesystems sound cool, but what exactly can they do, what are they good at and exactly how do you go about safely using them in a Linux production environment? In the advanced filesystem implementor's guide, Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. Along the way, he shares valuable practical implementation advice, performance information and important technical notes so that your new filesystem experience is as pleasant as possible. In this, the first article in the series, he explains the benefits of journalling and ReiserFS.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Tips for convenient CGI scripting
Any CGI programmer benefits from knowing and using ready-made libraries. In this article Eugene Logvinov shows how CGI modules taken from CPAN can not only help you to work effectively and conveniently, but can also provide you with an excellent code and reference library. Consequently, embedding POD (Plain Old Documentation) in the module turns out to be a good choice.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Charming Python: Functional programming in Python, Part 3
David Mertz illustrates currying and other higher-order functions contained in the Xoltar Toolkit.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Fast Web browsing with a caching proxy
This free tutorial will show you how to compile, install, and configure oops, an open source, high-performance, multi-threaded Web proxy under Linux. Caching Web proxies are especially useful for accelerating Web browsing performance while at the same time conserving your network bandwidth.
|
 |
Tutorials |
 |
19 Jun 2001 |
|
| |
An introduction to neural networks
Neural nets may be the future of computing. A good way to understand them is with a puzzle that neural nets can be used to solve. Suppose that you are given 500 characters of code that you know to be C, C++, Java, or Python. Now, construct a program that identifies the code's language. One solution is to construct a neural net that learns to identify these languages. This article discusses the basic features of neural nets and approaches to constructing them so you can apply them in your own coding.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
Linux hardware stability guide, Part 2
One of Linux's claims to fame is its legendary stability. But the most stable operating system in the world won't do you any good if your hardware is defective or misconfigured. In this article, Daniel Robbins shares his experiences in getting his NVIDIA TNT graphics card working under Linux using NVIDIA's accelerated drivers. As he does, he'll show you how to diagnose and fix IRQ and PCI latency timer issues -- techniques you can use to ensure that your systems don't experience lock-ups, inconsistent behavior, or data loss.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
Common threads: OpenSSH key management, Part 1
In this series, you'll learn how RSA and DSA authentication work, and see how to set up passwordless authentication the right way. In the first article of the series, Daniel Robbins focuses on introducing the RSA and DSA authentication protocols and showing you how to get them working over the network.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
Cultured Perl: The elegance of JAPH
A mainstay of the Perl culture, JAPH is a short script that produces the output "Just another Perl hacker." Although written for the beginner or intermediate Perl programmer, this article examines a few simple examples of the JAPH genre that will surprise and engage even the most seasoned devotee. The author of this article, Teodor Zlatanov, is an expert in Perl who has been working in the community since 1992 and specializes in, among other things, open source work in text parsing.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
Technical FAQ for Linux users
If you're new (or even not so new) to Linux, there are hundreds of questions, problems, and concerns that arise during the learning process, especially when you're coming from the world of Microsoft Windows. This article addresses a number of miscellaneous questions, both the frequently- and rarely-asked questions, and groups them by topic. The focus is on helping Windows users make the transition to Linux, but those converting from other operating systems should find useful information here as well.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
Cultured Perl: Automating UNIX system administration with Perl
UNIX system administration, always a thorny problem, is easier with the right tools. In this installment, Teodor presents ideas on the use of Perl to streamline and foolproof system administration. The system configuration engine, cfengine, is an extremely important tool in this context.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
Cultured Perl: Genetic algorithms applied with Perl
Based on the Darwinian principle of survival of the fittest, genetic
programming uses mutation and replication to produce algorithms for creating
ever-improving computer programs. In this column, you'll get to know the
genetic algorithm in simple terms. Ted provides Perl implementations for some
specific tasks, which you can adapt for generic use. To demonstrate the
genetic algorithm, Ted breeds numbers for fitness to a formula, and letters to
form English words.
|
 |
Articles |
 |
01 Aug 2001 |
|
| |
PalmOS-hosted programming languages
Most people who think of developing PalmOS applications probably imagine writing C/C++ code on a desktop, then cross-compiling to the PalmOS. There is a completely different approach to PalmOS development. Authors David Mertz and Andrew Blais take a look at complete programming language and development environment products that can run entirely on a Palm handheld, all the way from program editing to final run. These tools open new possibilities for mobile programmers.
|
 |
Articles |
 |
01 Aug 2001 |
|
| |
Backing up your Linux machines
Cover your back in the worst-case scenario with the techniques in this tutorial. Even new, high-quality hard drives will occasionally fail. Regular system backups are essential, especially for busy developers who make continual improvements to their code. This tutorial shows you how to protect yourself from losing huge amounts of critical data.
|
 |
Tutorials |
 |
08 Aug 2001 |
|
| |
Introduction to robotics technology
Darrick Addison, an experienced developer in databases, networks, user interfaces, and embedded systems, introduces the field of robotics and the issues surrounding robotic systems. He covers mechanical design, sensory systems, electronic control, and software. He also discusses microcontroller systems, including serial and memory-mapped interfacing, and talks about some of the available open source software options.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 4
With the 2.4 release of Linux come a host of new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel explains the significance and benefits of devfs, the device management filesystem, getting you ready for the next article where he'll show you how to optimally set up devfs on your system.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Charming Python: Iterators and simple generators
Python 2.2 introduces a new construct accompanied by a new keyword. The construct is generators; the keyword is yield. Generators make possible several new, powerful, and expressive programming idioms, but are also a little bit hard to get one's mind around at first glance. In this article, David provides a gentle introduction to generators, and also to the related topic of iterators.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Beowulf clusters: e pluribus unum
Andrew Blais introduces the concept of Beouwulf clusters, which extensively reduce the time to process software by using multiple CPUs executing program fragments in parallel under Linux or NT. He describes various implementations, the relative performance of the clusters, and the technology needed to make them effective.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Cultured Perl: Reading and writing Excel files with Perl
Only recently have the doors been open to Microsoft Excel, the most popular spreadsheet application for the desktop. This article takes a look at reading and writing Excel files in Windows and Linux, using Perl and a few simple modules. The author of this article, Teodor Zlatanov, is an expert in Perl who has been working in the community since 1992 and who specializes in, among other things, open source work in text parsing.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 3
With the 2.4 release of Linux come a host of new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel takes a look at tmpfs, a VM-based filesystem, and introduces you to the new possibilities available with 2.4's "bind"-mounting abilities.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Introduction to Quantum Computing
This article, which builds on a basic knowledge of the mathematics of vectors, gives an introduction to quantum computing.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Common threads: OpenSSH key management, Part 2
This article introduces ssh-agent (a private key cache) and keychain, a special bash script designed to make key-based authentication incredibly convenient and flexible.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Beginning Haskell
Get a gentle introduction to the paradigm of functional programming, with specific illustrations in the Haskell 98 language. This tutorial targets programmers of imperative languages wanting to learn about functional programming in the language Haskell. If you have programmed in languages such as C, Pascal, Fortran, C++, Java, Cobol, Ada, Perl, TCL, REXX, JavaScript, Visual Basic, or many others, you have been using an imperative paradigm.
|
 |
Tutorials |
 |
27 Sep 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 5
With the 2.4 release of Linux come a host of new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel guides you through the process of preparing your system for devfs. By the end of this article, you'll be ready to enable devfs on your system; Daniel will cover final devfs setup in detail in the next article.
|
 |
Articles |
 |
01 Oct 2001 |
|
| |
Charming Python: Preview of the [anygui] project
A very interesting project in the Python world has entered early development. The [anygui] project is intended as a wrapper API for a large number of underlying graphic toolkits. Once fully developed, a Python programmer will be able to call a common [anygui] function -- for example, to create a window -- then have the "best available" toolkit do the work. On Windows, the Win32 API might be used (or wxWindows); on MacOS, native calls; on BeOS, Bethon; on Linux, TKinter or GTK; on a telnet screen, ncurses -- all depending on what is installed and available on a given machine. This article discusses the current development state of [anygui], and the goals of the project.
|
 |
Articles |
 |
01 Oct 2001 |
|
| |
Writing DLLs for Linux apps
Plugins and DLLs are often a great way to add functionality without writing a whole new application. In Linux, plugins and DLLs are implemented as dynamic libraries. e-business consultant and architect Allen Wilson introduces dynamic libraries and shows you how to use them to change an application after the app is running.
|
 |
Articles |
 |
01 Oct 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 6
With the 2.4 release of Linux come a host of new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel shows you how to use an init wrapper to (finally!) convert your system to "devfs mode".
|
 |
Articles |
 |
01 Oct 2001 |
|
| |
Tcl/TK quick start
This tutorial introduces the Tcl/Tk scripting language, including its history, key features of the language and interpreter, some extensions, and several examples of Tcl/Tk in action. This tutorial targets those with experience in one or more programming or scripting languages. While Tcl/Tk is available on several platforms, including Win32 and MacOS as well as several of the *NIX environments, this tutorial is written in the context of running on a GNU/Linux installation.
|
 |
Tutorials |
 |
16 Oct 2001 |
|
| |
Configuring TCP/IP under Linux
This tutorial reviews the origins of TCP/IP and how it works -- including IP addresses, subnets, and routing. With this theoretical foundation laid, we discuss the various network configuration files required by Linux, how to initialize a network interface, and how to edit the system's routing table. The tutorial closes with a brief look at how to analyze your network and ensure that data gets to where it's supposed to go, without error.
|
 |
Tutorials |
 |
30 Oct 2001 |
|
| |
Introduction to XFree86 4.x
In this tutorial, Chris Houser steps you through the process of getting XFree86 4.x, the standard free X server for Linux, up and running on your system. Chris also covers X usage fundamentals, including running X applications remotely, securing X, and configuring X applications using the X resource database. He'll also show you how to launch your preferred window manager, desktop environment, and applications at Xfree86 startup. By the end of this tutorial, you'll have an excellent grasp of XFree86 fundamentals, and will be ready to put XFree86's many capabilities to productive use.
|
 |
Tutorials |
 |
31 Oct 2001 |
|
| |
What is Eclipse, and how do I use it?
The Eclipse Platform is designed for building integrated development
environments (IDEs). It can be used to create diverse end-to-end computing solutions
for multiple execution environments. This article discusses the platform, and includes a list of questions and answers.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Charming Python: Using the xinetd program for system administration
Every UNIX administrator is familiar with inetd, the daemon that manages most incoming network connections through a centralized configuration file (inetd.conf). The xinetd daemon is a replacement for inetd that offers many improved or new features, and easier configuration. Ted explains the concepts behind inetd, and gives examples for setting up xinetd at your own site.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 7
With the 2.4 release of Linux come a host of new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel takes a look at ext3, a new improved version of ext2 with journaling capabilities.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Packaging software with RPM, Part 1
RPM is a widely used tool for delivering software for Linux. Users can easily install an RPM-packaged product. In this article, the first in a series, IBM software engineer Dan Poirier shows you how to use RPM to package simple software on a Red Hat Linux 7.1 system.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Building Perl projects with MakeMaker
If you've used UNIX or Linux for some period of time, you've probably written a few Perl programs to automate simple tasks. Each of these programs does something basic and simple that might otherwise take you 10 or 20 minutes to do by hand. In this article, Sean will show you how to convert just such a Perl program into a far more robust programming project, one that will be generic enough to be widely distributed across many disparate platforms.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Refactoring with Eclipse
Object oriented developers recognize the value of refactoring working code. Until recently good tools have not been available. At OOPSLA 2001 in Tampa, Florida, OTI showed their new open source IDE that features Refactoring support.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Introducing Eclipse
The Eclipse platform is intended to give developers the open source foundation and building blocks they need to produce new development evironments. Eclipse project member Angus McIntyre gives you a brief overview of the code that IBM will be open sourcing at eclipse.org in the near future.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Interview: The Eclipse code donation
OTI marketing lead Marc Erickson gives developerWorks some of the details regarding the recent release of $40 million worth of tools to the Eclipse project by IBM as the open source code that will form the basis of IBM's next generation of WebSphere Studio products.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Working the Eclipse Platform
The Eclipse Platform provides an open universal framework for building developer tools. If you build tools or use tools, you will benefit from reading this article.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Sharing computers on a Linux (or heterogeneous) network, Part 1
In the first of this pair of articles, David compares and contrasts Secure shell (SSH) and Virtual Network Computing (VNC), two technologies that allow a user at one workstation to run an application that lives on another computer. (He does not cover file-and-print sharing or "Internet" services like httpd, ftpd, smtp, or nntpd, even though these technologies also usefully "share" something about the computers in question.) He does, however, give tips on installing and configuring SSH and VNC, and comments on tool stability, choices, and licensing status.
|
 |
Articles |
 |
01 Dec 2001 |
|
| |
The road to better programming: Chapter 3
This series of articles on developerWorks comprises a complete guide to better programming in Perl. In this third installment, Teodor gives a quick introduction to the Perl loop syntax, conditional statements, and writing clean code. While not intended to teach Perl from the ground up, this chapter will be useful for the beginner or intermediate Perl programmer interested in learning how to apply Perl better to everyday work.
|
 |
Articles |
 |
01 Dec 2001 |
|
| |
Packaging software with RPM, Part 2
RPM is a widely used tool for delivering software for Linux; users can easily install an RPM-packaged product. In this article, the second in a series, Dan explains how to package software without running as root, how to handle software that won't build on Linux without changes, and how to distribute your work.
|
 |
Articles |
 |
01 Dec 2001 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 8
With the 2.4 release of Linux come many new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel continues his look at ext3, a new improved version of ext2 with journaling capabilities. He reveals all the inside information on ext3, and demonstrates some shockingly good ext3 data=journal interactive performance numbers.
|
 |
Articles |
 |
01 Dec 2001 |
|
| |
Linux clustering with MOSIX
In this tutorial, Daniel Robbins introduces you to clustering. He explains what it is, how you go about cluster-enabling your Linux system, and how you can benefit from setting up a cluster. By the end of this tutorial, you will have set up your own MOSIX cluster. MOSIX is a special transparent form of clustering that is very easy to set up and can produce positive results with only a minimal investment of time and energy.
|
 |
Tutorials |
 |
20 Dec 2001 |
|
| |
The road to better programming: Chapter 4
This series of articles on developerWorks comprises a complete guide to better programming in Perl. In this fourth installment, Teodor introduces functional programming and several essential Perl idioms important for Perl programmers looking for speed and elegance in their code, such as the map() and grep() functions, and the Schwartzian and Guttman-Rosler transforms.
|
 |
Articles |
 |
01 Jan 2002 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 9
With the 2.4 release of Linux come many new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this installment, Daniel introduces XFS, SGI's free enterprise-class filesystem now available for Linux.
|
 |
Articles |
 |
01 Jan 2002 |
|
| |
Charming Python: Parsing with the SimpleParse module
Many parsing tools have been written for Python. This column discusses a high-level parsing language built on top of Python.
|
 |
Articles |
 |
01 Jan 2002 |
|
| |
The road to better programming: Chapter 5
This series of articles on developerWorks comprises a complete guide to better programming in Perl. In this fifth installment, Teodor explains what Object Oriented Programming is, when to use it, and how it works in Perl. Object Oriented Programming (OOP) is a powerful programming technique, but it is not a panacea. Good programmers must understand how to use it, and must also know when to rely on more traditional programming techniques. Using OOP in Perl is easy. Unlike more restrictive OOP languages like C++ and Java, OOP in Perl places very few arbitrary constraints on the programmer. OOP is an essential addition to every programmer's toolkit, and a very useful technique for expanding the range of problems that may be solved with Perl.
|
 |
Articles |
 |
01 Jan 2002 |
|
| |
Cultured Perl: Intro to cfengine for system administration
Cfengine (configuration engine) is a UNIX administration tool that aims to make the easy administrative tasks automatic, and the hard tasks easier. Its goal is system convergence from any state towards an ideal state. According to its author, Mark Burgess, cfengine always brings your system closer to the configuration you have defined; it never makes it worse. In this article, Ted acquaints you with this unique system administration tool by demonstrating some simple uses of cfengine.
|
 |
Articles |
 |
01 Feb 2002 |
|
| |
Common threads: OpenSSH key management, Part 3
In this third article in a series, Daniel Robbins shows you how to take advantage of OpenSSH agent connection forwarding to enhance security. He also shares recent improvements to the keychain shell script.
|
 |
Articles |
 |
01 Feb 2002 |
|
| |
Coding with KParts
This article discusses KParts, an architecture for graphical components, found in KDE, the K Desktop Environment. KParts allows applications requiring the same functionality to share a component by embedding the graphical component into the application's window. This article compares KParts with other component models, such as CORBA, and describes the main concepts used in KParts, including actions, plug-ins, part managers, and GUI merging.
|
 |
Articles |
 |
01 Feb 2002 |
|
| |
Graphics programming with libtiff
TIFF is an extremely common but quite complex raster image format. Libtiff, a standard ANSI C implementation of the TIFF specification, is free and works on many operating systems. This article discusses some of the pitfalls of TIFF and guides you through use of the libtiff library. The article also shows examples of how to use libtiff for your black-and-white imaging needs.
|
 |
Articles |
 |
01 Mar 2002 |
|
| |
Linux project publications: Networking
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of networking.
|
 |
Articles |
 |
01 Mar 2002 |
|
| |
Sharing computers on a Linux (or heterogeneous) network, Part 2
This article is the second of two comparing SSH, remote X, VNC, and other technologies as ways of remotely running applications. In this part, David takes a look at some VNC configuration issues, glances at IBM's Desktop On-Call, introduces remote X, and talks a bit about security.
|
 |
Articles |
 |
01 Mar 2002 |
|
| |
Override the GNU C library -- painlessly
A great way to debug glibc functions is to override the function of interest with your own version. This can be done without having root permissions and without recompiling the libc source.
|
 |
Articles |
 |
01 Apr 2002 |
|
| |
Porting MFC applications to Linux
Porting Windows applications to Linux doesn't have to involve a
retraining nightmare. Markus Neifer shows how to port MFC using wxWindows,
giving a user's guide to this open source GUI toolkit and providing a
complete, step-by-step porting example.
|
 |
Articles |
 |
01 Apr 2002 |
|
| |
Server clinic: Expect exceeds expectations
Cameron Laird opens his new monthly column with an overview of the popular Expect tool, a language capable of far more than most programmers and administrators realize. Expect is so apt for the general-purpose work needed to keep servers healthy, in fact, that it can serve as your one (almost) universal programming language.
|
 |
Articles |
 |
09 Apr 2002 |
|
| |
Creating KParts components, Part 1
In this tutorial, David Faure shows developers how to create KParts components -- the component technology that was introduced with the release of KDE 2. You'll get an intro to the core KParts concepts of read-only and read-write parts and network transparency. You'll learn how to create a read-only component, and then modify it to be a read-write component. You'll also learn how to deploy the component so that Konqueror can use it.
|
 |
Tutorials |
 |
21 May 2002 |
|
| |
Internationalizing your Eclipse plug-in, Part 1: How to write Eclipse plug-ins for the international market
In this roadmap for writing Eclipse plug-ins destined for the international market, we begin with a brief review of the motivations and technical challenges of internationalization, followed by step-by-step instructions for internationalizing your plug-in. We then examine how these steps were applied to the internationalization of the Eclipse Platform, itself.
|
 |
Articles |
 |
01 Jun 2002 |
|
| |
Graphics programming with libtiff, Part 2
TIFF is an extremely common but quite complex raster image format. Libtiff is a standard implementation of the TIFF specification that is free and works on many operating systems. This article shows you how to use libtiff for grayscale and color imaging.
|
 |
Articles |
 |
01 Jun 2002 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 11
In the latest installment of the Advanced filesystem implementor's guide, Gentoo Linux creator Daniel Robbins updates users on the status of the XFS, ReiserFS, and ext3 filesystems, sharing technical notes and practical advice not only on changes that have been made to these filesystem implementations, but also forecasts on what we can expect to see in the next six months or so.
|
 |
Articles |
 |
01 Jun 2002 |
|
| |
Creating KParts components, Part 2
In this tutorial, David Faure shows developers how to use KParts components in a KDE application. You will learn how to use the KDE Trader to locate the appropriate component, how to handle user interface merging, and how to embed multiple parts in the same window with the help of the Part Manager.
|
 |
Tutorials |
 |
11 Jun 2002 |
|
| |
Matrix libraries for C and C++
This article presents some of the currently available options for open source C/C++ matrix libraries employable within a Linux environment. Particular libraries discussed are Meschach, which provides routines for operating on matrices and vectors for projects coded in C, the Cooperware Matrix (CwMtx) for C++ coding, and Blitz, which provides an n-dimensional array class for C++ with integral, floating, complex, and well-behaved, user-defined types. Andrew Blais, who has contributed several articles to developerWorks, is a researcher and writer for Gnosis, Inc., and does work in neural nets.
|
 |
Articles |
 |
01 Jul 2002 |
|
| |
Internationalizing your Eclipse plug-in, Part 2: Testing your internationalized Eclipse plug-in
This article shows you how to validate your internationalized product and prepares you for the types of common problems you can expect during translation testing. It includes an Eclipse plug-in that defines a Properties File Compare view that can help your translation testers find errors more quickly.
|
 |
Articles |
 |
01 Jul 2002 |
|
| |
Living in Emacs
This tutorial gives you a guide to the basics of using Emacs, a popular modeless text editor with many powerful features. The tutorial covers fundamental concepts and common activities, and then builds on those foundations to quickly familiarize you with this excellent editor.
|
 |
Tutorials |
 |
02 Jul 2002 |
|
| |
Harnessing Apache for REXX programming
This article introduces the Mod_Rexx package, which is similar to other
Apache language processor modules, such as mod_perl or mod_php. Mod_Rexx brings
the full power of the REXX language processor of your choice (IBM Object REXX,
Regina REXX, etc.) to the Apache Web-page developer. You can use Mod_Rexx to
create dynamic Web pages or to process any part of an Apache request.
|
 |
Articles |
 |
01 Aug 2002 |
|
| |
Getting started with freeVSD
In this article Joe Brockmeier looks at freeVSD, a "virtual server daemon" for Linux that allows multiple virtual servers to operate on one physical machine. Each virtual server has its own separate Web-hosting environment. This is typically used for hosting, but it can also be deployed to allow one machine to serve as a development testbed for several developers.
|
 |
Articles |
 |
01 Aug 2002 |
|
| |
Tuning Red Hat for maximum performance
This tutorial details the ins and outs of transforming a stock, "out of the box" Red Hat installation into a finely tuned, stable system customized to individual needs and tastes. The material presented here is based on Red Hat 7.3, although many of the techniques and procedures discussed are equally applicable to other mainstream Linux distributions. And while the title uses the phrase "performance tuning," you'll soon discover that performance and security often go hand in hand.
|
 |
Tutorials |
 |
21 Aug 2002 |
|
| |
Introduction to Xindice
This article is an introduction to an Open Source Native XML Database System, called Xindice (pronounced zeen-dee-chay). It is also an introduction to Native XML Database concepts.
|
 |
Articles |
 |
01 Sep 2002 |
|
| |
Develop rock-solid code in PHP: Use variables effectively, Part 2
In this article, PHP veteran Amol Hatwar discusses how to use variables effectively. He also shows how to make script configuration easy by constructing a configuration file parser using variable variable names in PHP.
|
 |
Articles |
 |
01 Sep 2002 |
|
| |
Spam filtering techniques
The problem of unsolicited e-mail has been increasing for years, but help has arrived. In this article, David discusses and compares several broad approaches to the automatic elimination of unwanted e-mail while introducing and testing some popular tools that follow these approaches.
|
 |
Articles |
 |
01 Sep 2002 |
|
| |
Build an LDAP-based address book
Have you ever tried to share your contact list with someone who uses a
different data format, or tried to migrate your address book to another
application? If so, you know it can be a headache. Import and export schemes,
if they exist at all, are often too clunky and unsatisfactory to use even once,
much less on a regular basis. Enter the Lightweight Directory Access Protocol
(LDAP). This tutorial shows you how to create an LDAP-based back end to store
contact information that multiple applications can share easily. Along the way,
we give you an overview of LDAP fundamentals and introduce you to a pre-built
contact-management tool that will help you get started using this open technology.
|
 |
Tutorials |
 |
11 Sep 2002 |
|
| |
Working XML: Use Eclipse to build a user interface for XM
Anyone familiar with XM -- the low-cost, open-source content management solution based on XSLT -- knows that for all its good points, it still lacks a decent user interface. In this article, columnist Benoît Marchal uses the Eclipse platform's open universal framework to build a user interface for XM.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |