 |
 |
 |
 |
 |
 |
Cultured Perl: Practical Twitter with Perl
Learn how to access the features of the Twitter API using the CPAN Net::Twitter module. You'll also see some solid business uses for Twitter, including automated posting and analyzing Twitter search results.
|
 |
Articles |
 |
08 Dec 2009 |
|
| |
Git for Subversion users, Part 2: Taking control
Git offers Linux developers a number of advantages over Subversion for
software version control, so developers working collaboratively owe it to
themselves get familiar with the basic concepts behind it. In
this installment, Ted dissects branching and merging in both Git and
Subversion, introduces "git bisect" for bisecting changes, and shows how to
resolve merge conflicts.
|
 |
Articles |
 |
25 Nov 2009 |
|
| |
Charming Python: Easy Web data collection with mechanize and Beautiful Soup
For collecting data from Web pages, the mechanize library automates
scraping and interaction with Web sites. Mechanize lets you fill in forms and
set and save cookies, and it offers miscellaneous other tools to make a Python
script look like a genuine Web browser to an interactive Web site. A
frequently used companion tool called Beautiful Soup helps a Python program
makes sense of the messy "almost-HTML" that Web sites tend to
contain.
|
 |
Articles |
 |
24 Nov 2009 |
|
| |
Cultured Perl: Flickr, a business's bst frnd
Flickr isn't just for photo sharing and social networking; it's a
legitimate business tool. Learn how Perl programmers can use the CPAN Chart
modules to create charts and graphs, and the Flickr::Upload module to upload
the charts to Flickr.
|
 |
Articles |
 |
24 Nov 2009 |
|
| |
Linux introspection and SystemTap
Modern operating system kernels provide the means for introspection, the
ability to peer dynamically within the kernel to understand its behaviors.
These behaviors can indicate problems in the kernel as well as performance
bottlenecks. With this knowledge, you can tune or modify the kernel to avoid
failure conditions. Discover an open source infrastructure called SystemTap
that provides this dynamic introspection for the Linux kernel.
|
 |
Articles |
 |
09 Nov 2009 |
|
| |
Next-generation Linux file systems: NiLFS(2) and exofs
Linux continues to innovate in the area of file systems. It supports the
largest variety of file systems of any operating system. It also provides
cutting-edge file system technology. Two new file systems that are
making their way into Linux include the NiLFS(2) log-structured file system
and the exofs object-based storage system. Discover the purpose behind these
two new file systems and the advantages that they bring.
|
 |
Articles |
 |
31 Oct 2009 |
|
| |
Virtual appliances and the Open Virtualization Format
Not only has virtualization advanced the state of the art in maximizing
server efficiency, it has also opened the door to new technologies that were not possible before. One of these technologies is the virtual appliance, which
fundamentally changes the way software is delivered, configured, and managed.
But the power behind virtual appliances lies in the ability to freely share
them among different hypervisors. Learn the ideas and benefits behind virtual
appliances, and discover a standard solution for virtual appliance
interoperability called the Open Virtualization Format.
|
 |
Articles |
 |
20 Oct 2009 |
|
| |
Learn Linux, 101: Streams, pipes, and redirects
If you think streams and pipes make a Linux expert sound like a
plumber, here's your chance to learn about them and how to redirect and split
them. You even learn how to turn a stream into command arguments. You can
use this material in this article to study for the LPI 101 exam for
Linux system administrator certification, or just to learn for
fun.
|
 |
Articles |
 |
14 Oct 2009 |
|
| |
Linux virtualization and PCI passthrough
Processors have evolved to improve performance for virtualized
environments, but what about I/O aspects? Discover one such I/O performance
enhancement called device (or PCI) passthrough. This innovation improves
performance of PCI devices using hardware support from Intel (VT-d) or AMD
(IOMMU).
|
 |
Articles |
 |
13 Oct 2009 |
|
| |
Learn Linux, 101: A roadmap for LPIC-1
Use this roadmap to find IBM developerWorks articles that will help you
learn and review
basic Linux tasks. And if you're also pursuing professional certification as
a Linux system administrator,
these articles can help you study for the Linux
Professional Institute Certification (LPIC) exam 101 and exam 102.
This roadmap is organized according to the
43 objectives in the 101 and 102 exams, which you are required to pass for
LPI level 1 certification.
|
 |
Articles |
 |
08 Oct 2009 |
|
| |
Reduce Linux power consumption, Part 3: Tuning results
This three-part series is your starting point for tuning your system for
power efficiency. In Part 3, the author compares the performance of the five
in-kernel governors in both tuned and untuned states to show you how to
optimize a Linux-based System x server.
|
 |
Articles |
 |
07 Oct 2009 |
|
| |
Cloud computing with Linux and Apache Hadoop
Many companies like IBM, Google, VMWare, and Amazon have provided products and
strategies for Cloud computing. This article shows you how to use Apache Hadoop to
build a MapReduce framework to make a Hadoop Cluster and how to create a sample
MapReduce application which runs on Hadoop. You will also learn how to set up a
time/disk-consuming task on the cloud.
|
 |
Articles |
 |
06 Oct 2009 |
|
| |
Learn Linux, 101: File and directory management
You've probably heard that everything in Linux is a file,
so start on the right path with a solid grounding in file and directory
management -- finding, listing, moving, copying, and archiving.
You can use this material in this article to study for the LPI 101
exam for Linux system administrator certification, or just to learn for fun.
|
 |
Articles |
 |
06 Oct 2009 |
|
| |
Linux Professional Institute (LPI) exam prep
Before you take the Linux Professional Institute (LPI) exams, review
these developerWorks tutorials, designed as self-study guides for each topic
in the four exams.
|
 |
|
 |
01 Oct 2009 |
|
| |
Monitor home energy with AMEE
Electricity is invisible. To understand how people use it, you need to make it visible. This tutorial will show you how easy it is to build a Web-based energy monitoring system yourself, using a Current Cost real-time energy monitor and AMEE, a neutral Web-based API for energy data, combined with some XML, Ruby, Rails, and Ajax.
|
 |
Tutorial |
 |
29 Sep 2009 |
|
| |
Enable multipath SAN booting with DS8000 and DMMP
Booting servers from storage area networks with multiple paths can
provide significant benefits for the complex, modern data center environment
-- benefits such as improving availability and increasing your reach when it
comes to easier management and maintainance and in providing reliability. To
boot your Linux system from a SAN device, you'll need to set up a SAN boot
operating system to your storage with multipath driver support; that's where
this article comes in. The author will walk you through setting up a SAN-boot
Linux system on the IBM System Storage DS8000 with the multipath function
supported by the Device-Mapper MultiPath (DMMP) feature.
|
 |
Articles |
 |
23 Sep 2009 |
|
| |
Reduce Linux power consumption, Part 2: General and governor-specific settings
This three-part series is your starting point for tuning your system for
power efficiency. In Part 2, follow a step-by-step guide on the general
settings of the Linux CPUfreq subsystem and get more details on the five
in-kernel governors -- performance, powersave, userspace, ondemand, and
conservative -- and their settings.
|
 |
Articles |
 |
23 Sep 2009 |
|
| |
Reduce Linux power consumption, Part 1: The CPUfreq subsystem
This three-part series is your starting point for tuning your system for power
efficiency.
In Part 1, get up to
speed on the components and concepts you need to fine-tune a Linux-based
System x server for power efficiency. Learn how to enable the
Linux CPUfreq subsystem, get instruction on C and P states, and
determine which of the five in-kernel governors you need to boost
power efficiency on your system.
|
 |
Articles |
 |
15 Sep 2009 |
|
| |
Linux on POWER: Distribution migration and binary compatibility
considerations
Learn about binary compatibility as it relates to the different
operating environments that run on Linux on POWER. Examine the two Linux on
POWER distributions supported by IBM, Red Hat Enterprise Linux (RHEL) and SUSE
LINUX Enterprise Server (SLES), with regard to the binary compatibility
between their respective releases. In general, a smooth transition from the
2.6.9 kernel-based RHEL4 to the 2.6.18 kernel-based RHEL5 is made possible by
the stable Application Binary Interface (ABI) maintained between the releases.
The same can be said when moving from the 2.6.5 kernel-based SLES9 to the
2.6.16 kernel-based SLES10. Learn about new technologies that can provide
performance enhancements for a Linux on POWER application, and follow steps to
ensure binary compatibility across multiple distributions in the future.
[Additional items have been added to the Resources section. -Ed.]
|
 |
Articles |
 |
09 Sep 2009 |
|
| |
Guide to porting from Solaris to Linux on POWER
Accelerate your porting efforts by following this six-step guide. Learn
the differences between Solaris and Linux on POWER that you commonly encounter
during a port. Get an introduction to the development environment for Linux
running on IBM POWER processor-based systems, and see how Sun's compiler/linker
switches compare with those of GNU GCC and the IBM native compiler. Finally,
learn about tools for performance analysis and software packaging for Linux on
POWER. [This article has been updated to reflect the latest product versions.
-Ed.]
|
 |
Articles |
 |
08 Sep 2009 |
|
| |
Anatomy of the Linux virtual file system switch
Linux is the very definition of flexibility and extensibility. Take the
virtual file system switch (VFS). You can create file systems on a variety of
devices, from traditional disk, USB flash drives, memory, and other storage
devices. You can even embed a file system within the context of another file system.
Discover what makes the VFS so powerful, and learn its major
interfaces and processes.
|
 |
Articles |
 |
31 Aug 2009 |
|
| |
Learn Linux, 101: The Linux command line
GUIs are fine, but to unlock the real power of Linux, there's no
substitute for the command line. In this article, Ian Shields introduces
you to some of the major features of the bash shell, with an emphasis on the features that are
important for LPI certification. By the end of this article, you will
be comfortable using basic Linux commands like echo and exit,
setting environment variables, and gathering system information.
[The first two notes following Listing 8 have been updated to correct the process IDs
(PIDs). -Ed.]
|
 |
Articles |
 |
31 Aug 2009 |
|
| |
Learn Linux, 101: Text streams and filters
There's a lot more to text manipulation than cut and paste,
particularly when you aren't using a GUI. Study for the Linux Professional
Institute Certification (LPIC) 101 exam, or learn
for fun. In this article, Ian Shields introduces you to text manipulation on
Linux using filters from the GNU textutils package. By the end of this
article, you will be manipulating text like an expert.
|
 |
Articles |
 |
26 Aug 2009 |
|
| |
Git changes the game of distributed Web development
Version control systems are a core component of most development projects,
regardless of whether you're developing an application, a Web site, or an operating
system. Most projects involve multiple developers, often working at widely separated
physical locations. Distributed version control systems are nothing new, but the Git version
control system provides unique support for collaboration and interaction among developers.
|
 |
Articles |
 |
25 Aug 2009 |
|
| |
Three ways to recycle commodity hardware with Linux
Outdated computer hardware may be too old to rely on, but it represents
a value to your organization -- whether in an office or at home. Discover how
you can realize that value by repurposing older machines with Linux.
|
 |
Articles |
 |
22 Aug 2009 |
|
| |
Boot Linux on the Beagle Board
The Beagle Board is an open-hardware single-board computer that is both
inexpensive and capable of running Linux at a reasonable speed. Get to know
the Beagle Board, and learn how to get a Linux development environment
together on the cheap.
|
 |
Articles |
 |
18 Aug 2009 |
|
| |
Thoughts from OSCON 2009: Open government, concurrency
The O'Reilly Open Source Convention (OSCON) is nothing if not a place
to collect one's deeper thoughts around software development. The 2009
convention offered more than its share of inspiration, but David Mertz
whittled the schedule down and focused on two very different but important
areas: open government and concurrency.
|
 |
Articles |
 |
12 Aug 2009 |
|
| |
Git for Subversion users, Part 1: Getting started
Distributed version control systems (DVCSs) offer a number of advantages
over centralized VCSs, and for Subversion users looking to explore this model,
Git is a great place to start. Using Subversion as a baseline, this first of
two articles shows how to install Git, set up a remote repository, and begin
using basic Git commands.
|
 |
Articles |
 |
04 Aug 2009 |
|
| |
Make the most of large drives with GPT and Linux
Once a faraway problem, an important barrier in disk storage is fast
becoming a reality: the venerable master boot record (MBR) partitioning scheme
can't fully handle disks larger than 2TB. With 1TB-hard disks now common and
2TB-disks becoming available, forward-looking individuals are thinking about
alternatives to the MBR partitioning scheme. The heir apparent is the GUID
Partition Table (GPT). Learn how to make sure your Linux system is fully
prepared for the future of disk storage.
|
 |
Articles |
 |
28 Jul 2009 |
|
| |
Linux tip: Creating a pixel ruler from the command line
Learn how to use the Linux command line and some basic Bash scripting
techniques to draw lines and text on images using ImageMagick. And create a
pixel ruler along the way.
|
 |
Articles |
 |
23 Jul 2009 |
|
| |
Build virtual appliances using the OVF Toolkit
The Open Virtualization Format (OVF) is an open standard for packaging
and distributing virtual appliances (or software) that is to be run in virtual
machines. The standard describes an "open, secure, portable, efficient and
extensible format for the packaging and distribution of software to be run in
virtual machines"; the standard is designed so that it is not tied to any
particular hypervisor or processor architecture. In this article, the authors
describe the OVF standard and the OVF Toolkit developed by IBM.
|
 |
Articles |
 |
16 Jul 2009 |
|
| |
Create an ooRexx build environment on Linux KVM
Construct an on-demand software build service using ooRexx that uses the
Linux Kernel Virtual Machine (KVM) for better performance. KVM acts as the
host for the guest operating systems that build the target software for the
user. The Apache Web server controls the builds and stores the results for
later retrieval by the user. Learn how to set up the build server and create
guests, customize build requests, and organize and access build
results.
|
 |
Articles |
 |
14 Jul 2009 |
|
| |
Avoid common errors in UNIX and Linux
Discover the most common errors in UNIX and Linux -- and
how to avoid them.
|
 |
Articles |
 |
14 Jul 2009 |
|
| |
Scripting the Vim editor, Part 2: User-defined functions
User-defined functions are an essential tool for decomposing an
application into correct and maintainable components, in order to manage the
complexity of real-world programming tasks. This article (the second in a
series) explains how to create and deploy new functions in the Vimscript
language, giving several practical examples of why you might want
to.
|
 |
Articles |
 |
07 Jul 2009 |
|
| |
Producing documentation and reusing information in XML, Part 1: Document publishing using XML
XML provides a way to identify data items and subcomponents within any structured data set, but has its roots in documentation development and production. Robust, open standards for XML document markup and a rich set of freely available tools for XML document parsing and format conversion make it easy to install and configure a complete documentation development and formatting environment on any UNIX or Linux system.
|
 |
Articles |
 |
07 Jul 2009 |
|
| |
SolarNetOne: Solar-powered networking for anyone
In many parts of the world, the power grid is shoddy, computers are
scarce, and connectivity is even rarer. Thus, as with many other modern
practices and technologies, populations are increasingly split into the
"computing haves" and the "computing have-nots." But many are addressing the
divide. SolarNetOne is a turnkey Internet hotspot -- power, computers, and
satellite uplink -- that you can install virtually anywhere, for less
than the cost of a subcompact car.
|
 |
Articles |
 |
30 Jun 2009 |
|
| |
IBM Lotus Domino, Linux, virtualization, scalability: No longer mutually exclusive terms
Tired of having to force fit IBM® Lotus® Domino® into your infrastructure? With the latest release of 64-bit Lotus Domino on Linux® and virtualization, you now can implement large-scale enterprise environments with Lotus Domino on Linux in a single footprint. This article documents the benchmarks that have been done and the results of early adopters of this solution, showing you how your infrastructure can fit and grow with Lotus Domino.
|
 |
Articles |
 |
29 Jun 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 5
This five-part series walks you through building a simple photo-sharing
Web site using Perl and Apache to access Amazon's Simple Storage Service (S3)
and SimpleDB. In this final installment, examine the full mod_perl site's
templates, including one for indexing, three for uploading (general, S3 forms,
and URL additions), one for image and comment browsing, and one to browse
comments recursively for an image (or threading down).
|
 |
Articles |
 |
23 Jun 2009 |
|
| |
Introducing KDE 4 plasmoids
KDE 4 includes many exciting new technologies, including Plasma, a
feature that forms the desktop shell of KDE 4. See how to write simple
Plasma applets (known as "plasmoids") to greatly improve the
desktop experience and how to turn a plasmoid into a simple
memory monitor.
|
 |
Articles |
 |
14 Jun 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 4
This five-part series walks you through building a simple photo-sharing
Web site using Perl and Apache to access Amazon's Simple Storage Service (S3)
and SimpleDB. In this installment, examine the full mod_perl site's code base,
including how to configure the top level, what to do with the handlers, and
how to set up external dependencies.
|
 |
Articles |
 |
14 Jun 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 3
This five-part series walks you through building a simple photo-sharing
Web site using Perl and Apache to access Amazon's Simple Storage Service (S3)
and SimpleDB. In this installment, follow your site's interaction with
SimpleDB by learning how the URL creates a SimpleDB record for the uploaded
file. Also learn how to create, edit, and delete comments as SimpleDB records
on a photo for a particular user.
|
 |
Articles |
 |
14 Jun 2009 |
|
| |
Protein modeling with Blue Gene/L
The Blue Gene/L supercomputer provides scientists with the cutting-edge
computing power and complex data-visualization tools they need to stay at the
forefront of their disciplines. Learn how this technology lets computational
molecular biologists create protein folding and misfolding simulations to
better understand these complex molecules.
|
 |
Articles |
 |
09 Jun 2009 |
|
| |
Anatomy of a Linux hypervisor
One of the most important modern innovations of Linux is its
transformation into a hypervisor (or, an operating system for other operating
systems). A number of hypervisor solutions have appeared that use Linux as the
core. This article explores the ideas behind the hypervisor and two particular
hypervisors that use Linux as the platform (KVM and Lguest).
|
 |
Articles |
 |
31 May 2009 |
|
| |
Linux: Lean, clean, and green
Green IT is one of the hottest of today's technology trends, and the
GNU/Linux community has risen to the challenge. Along with several corporate
partners, the GNU/Linux operating system provides solutions for dealing with
power consumption, carbon emissions, and e-waste.
|
 |
Articles |
 |
26 May 2009 |
|
| |
Install the GNU ARM toolchain under Linux
Many tools are available for programming various versions of ARM cores,
but one particularly popular set is the GNU ARM toolchain. Learn more about
embedded development using the ARM core, as well as how to install the GNU
tools and begin using them.
|
 |
Articles |
 |
20 May 2009 |
|
| |
Scripting the Vim editor, Part 1: Variables, values, and expressions
Vimscript is a mechanism for reshaping and extending the Vim editor.
Scripting allows you to create new tools, simplify common tasks, and even
redesign and replace existing editor features. This article (the first in a
series) introduces the fundamental components of the Vimscript programming
language: values, variables, expressions, statements, functions, and commands.
These features are demonstrated and explained through a series of simple
examples.
|
 |
Articles |
 |
06 May 2009 |
|
| |
Cloud computing with Linux thin clients
Explore cloud computing from a Linux perspective and discover some of
the most innovative and popular Linux-based solutions -- with a particular
view toward environmentally beneficial options.
|
 |
Articles |
 |
28 Apr 2009 |
|
| |
Thanks for the memory
Running out of Java heap isn't the only cause of a java.lang.OutOfMemoryError. If native memory runs out, OutOfMemoryErrors that your normal debugging techniques won't be able to solve can occur. This article explains what native memory is, how the Java runtime uses it, what running out of it looks like, and how to debug a native OutOfMemoryError on Windows and Linux. A companion article covers the same topics for AIX systems.
|
 |
Articles |
 |
21 Apr 2009 |
|
| |
Migrate to a virtual Linux environment with Clonezilla
$@!LessThan!@$!--In this article, l--$@!GreaterThan!@$Learn how to use the open source Clonezilla Live
cloning software to convert your physical server to a virtual one.
Specifically, see how to perform a physical-to-virtual system migration using
an image-based
method.
|
 |
Articles |
 |
21 Apr 2009 |
|
| |
Agile planning in real life
Are you part of a team that wants to get on the agile planning
bandwagon? Are you using iterative development and still stuck doing
"waterations"? In this article, the author puts his experience assisting
and teaching IBM product teams into a roadmap that
answers the question: "How do I start
developing releases with agile planning?" He covers the basics of agile
planning and shares his insights into what works and what doesn't. Editor's
note: Figures 1 and 4 were updated and other corrections were added at the author's
request.
|
 |
Articles |
 |
15 Apr 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 2
This five-part series walks you through building a simple
photo-sharing Web site using Perl and Apache to access Amazon's Simple Storage
Service (S3) and SimpleDB. In this installment, learn how to upload a file
into S3 from a Web page through an HTML form to minimize the load on the
server, while maintaining a tight security policy.
|
 |
Articles |
 |
08 Apr 2009 |
|
| |
Charming Python: Distributing computing with RPyC
RPyC is a seamless library for integrating $@!LessThan!@$!--000 and interacting--$@!GreaterThan!@$ Python
processes on many machines/processes. This article looks at the advantages or
drawbacks RPyC has over other distributed Python frameworks such as XML-RPC
and Pyro. A few simple examples of using RPyC are included to give you a
feel for the library.
|
 |
Articles |
 |
31 Mar 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 1
This five-part series walks you through building a simple
photo-sharing Web site using Perl and Apache to access Amazon's Simple Storage
Service (S3) and SimpleDB. In this installment, get a feel for the benefits and
drawbacks of S3 and SimpleDB by taking a tour of their
architectures and starting to design your photo-sharing site.
|
 |
Articles |
 |
31 Mar 2009 |
|
| |
Ganglia and Nagios, Part 2: Monitor enterprise clusters with Nagios
This is the second article in a two-part series that looks at a hands-on
approach to monitoring a data center using the open source tools Ganglia and
Nagios. In Part 2, learn how to install and configure Nagios, the popular open
source computer system and network monitoring application software that
watches hosts and services, alerting users when things go wrong. The article
also shows you how to unite Nagios with Ganglia (from Part 1) and add two
other features to Nagios for standard clusters, grids, and clouds to help with
monitoring network switches and the resource manager.
|
 |
Articles |
 |
25 Mar 2009 |
|
| |
Linux kernel advances
Life's certainties include death and taxes but also the advancement of
the GNU/Linux operating system, and the last two kernel releases did not
disappoint. The 2.6.28 and 2.6.29 releases contain an amazing amount of new
functionality, such as a cutting-edge enterprise storage protocol, two new
file systems, WiMAX broadband networking support, and storage integrity
checking. Discover why it's time to upgrade.
|
 |
Articles |
 |
24 Mar 2009 |
|
| |
Speaking UNIX: The Squirrel portable shell and scripting language
If you don't want to commit to the idiosyncrasies of a specific shell running on a particular
platform, try the Squirrel Shell. The Squirrel Shell provides an advanced, object-oriented
scripting language that works equally well on UNIX, Linux, Mac OS X, and Windows systems.
Write a script once, and run it anywhere.
|
 |
Articles |
 |
17 Mar 2009 |
|
| |
Linux tip: Finding rootfs during boot
As a Linux administrator, you may encounter rootfs
errors like"cannot mount rootfs" and "kernel panic" when you try to reboot a server
after attaching volumes from
external storage or even after installing a new Linux operating system.
This article outlines the Linux booting process on an x86 platform, shows why
this problem happens, and offers four tips to avoid it or fix it.
|
 |
Articles |
 |
11 Mar 2009 |
|
| |
Understanding and configuring PAM
The Pluggable Authentication Module (PAM) API exposes a set of
functions that application programmers use for security-related
functions like user authentication, data encryption, LDAP, and more. In this
article, get a basic guide to the PAM model on Linux, see how to
configure PAM, and learn how to design a sample PAM
login application in 10 easy steps.
|
 |
Articles |
 |
10 Mar 2009 |
|
| |
Ganglia and Nagios, Part 1: Monitor enterprise clusters with Ganglia
This is the first article in a two-part series that looks at a hands-on
approach to monitoring a data center using the open source tools Ganglia and
Nagios. In Part 1, see how to install and configure
Ganglia, the scalable, distributed monitoring system for high-performance
clusters based on a hierarchical design. Also learn how to
add more monitoring capability by writing Ganglia plug-ins and by enabling
external-source spoofing.
|
 |
Articles |
 |
04 Mar 2009 |
|
| |
Automate VM deployment
Sometimes you need to create an configure a bundle of virtual machines
at the same time, but manually cloning and configuring the lot promises to be
an unhappy task. In this article, see how to develop an automatic VM
deployment solution so you can launch and activate batches of self-configuring
VMs quickly. And as a bonus, you'll discover an approach that lets you run
customized applications separately for each deployed virtual machine after
system start.
|
 |
Articles |
 |
04 Mar 2009 |
|
| |
Tour the Linux generic SCSI driver
Computers control and transfer data to SCSI devices via SCSI commands.
In this article, the author introduces some of the SCSI commands and methods
of executing SCSI commands when using SCSI API in Linux. He provides
background on the SCSI client/server model and the storage SCSI command. Next,
he explains the Linux generic SCSI driver API and offers an example of using a
system that focuses on executing the inquiry command using the generic
driver.
|
 |
Articles |
 |
25 Feb 2009 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part 3: Finish the job
This series of articles shows how to build a
global positioning system (GPS)-aware application
using the Linux-based Nokia N810 Internet Tablet
and its built-in GPS receiver. In this last of three installments,
you'll put the final touches to the GPS trip tracker and
get it ready for release.
|
 |
Articles |
 |
18 Feb 2009 |
|
| |
Anatomy of ext4
The fourth extended file system, or ext4, is the next generation of
journaling file systems, retaining backward compatibility with the previous
file system, ext3. Although ext4 is not currently the standard, it will be the
next default file system for most Linux distributions. Get to know ext4, and
discover why it will be your new favorite file system.
|
 |
Articles |
 |
17 Feb 2009 |
|
| |
Cloud computing with Linux
Cloud computing and storage convert physical resources (like processors and
storage) into scalable and shareable resources over the Internet (computing and storage
"as a service"). Although not a new concept, virtualization makes this much more scalable
and efficient through the sharing of physical systems through server virtualization. Cloud
computing gives users access to massive computing and storage resources without their
having to know where those resources are or how they're configured. As you might expect,
Linux plays a huge role. Discover cloud computing, and learn why there's a penguin behind
that silver lining. [And see the new Resource links to the latest developerWorks content on cloud computing. -Ed]
|
 |
Articles |
 |
11 Feb 2009 |
|
| |
Five network/system tricks for Linux on System z
Bringing up Linux on an IBM System z machine should be fairly easy, but
problems can crop up. If you've had problems, try out these workarounds for
annoying obstacles to starting Linux on an S/390 system: "route-unknown"
messages, bad network service behaviors, file system corruption on shutdown,
too-lengthy boot-path-device processes, and Virtual LAN hardware installation.
Added bonus: Warnings (and workarounds) for two SUSE bugs.
|
 |
Articles |
 |
11 Feb 2009 |
|
| |
Perform uniform mounting with generic NFS
To efficiently achieve uniform mounting in the presence of multiple,
simultaneous NFS version exports, you need a generic NFS mount utility. Learn
how a generic NFS mount utility
can help reduce handling multiple NFS versions and simplify the management of
those versions. The article
describes the concept of the generic NFS mount, outlines the advantages and
applications of the system, and gives some overall design
details.
|
 |
Articles |
 |
11 Feb 2009 |
|
| |
LXC: Linux container tools
Containers provide lightweight virtualization that lets you isolate
processes and resources without the need to provide instruction interpretation
mechanisms and other complexities of full virtualization. In this step-by-step
tour of the container tools called Linux Containers (LXC), the author
introduces you to the tools and shows how to get up and running on
them.
|
 |
Articles |
 |
03 Feb 2009 |
|
| |
Secure Linux containers cookbook
Lightweight containers, otherwise known as Virtual Private Servers (VPS)
or Jails, are often thought of as a security tools designed to confine
untrusted applications or users. However, as presently constructed, these
containers do not provide adequate security guarantees. By strengthening these
containers using SELinux or Smack policy, a much more secure container can be
implemented in Linux. This article shows you how to create a more secure
Linux-Security-Modules-protected container. Both
the SELinux and Smack policy are considered works in progress, to be improved
upon with help from their respective communities.
|
 |
Articles |
 |
03 Feb 2009 |
|
| |
Python 3 primer, Part 2: Advanced topics
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards compatibility with
the 2.x line but has cleaned up some syntax issues. This second article builds
on the previous article. In Part 2 of this two-part series, discover more new Python features
and details on more advanced topics such as changes in abstract base classes,
metaclasses, and decorators.
|
 |
Articles |
 |
30 Jan 2009 |
|
| |
Embed Lua for scriptable apps
The Lua programming language is a small scripting language specifically
designed to be embedded in other programs. Lua's C API allows exceptionally
clean and simple code both to call Lua from C, and to call C from Lua. This
allows developers who want a convenient runtime scripting language to easily
implement the basic API elements needed by the scripting language, then use
Lua code from their applications. This article introduces the Lua language as
a possible tool for simplifying common development tasks, and discusses some
of the reasons to embed a scripting language in the first place.
|
 |
Articles |
 |
27 Jan 2009 |
|
| |
Scripting with Guile
Scheme is a programming language, but Guile -- an interpreter and
library for Scheme -- transforms it into an embedded scripting language,
making it ideal for bringing dynamic new life to your static applications.
Take a quick tour of Guile, and discover its powerful features for building
extensible applications.
|
 |
Articles |
 |
20 Jan 2009 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part
2: Consider your options
Discover the details of code design, library selection, unit testing, and
user interface choices that make the most sense for you.
|
 |
Articles |
 |
13 Jan 2009 |
|
| |
LoP/Cell/B.E.: Buffer overflow vulnerabilities, Part 2: Discovering how buffer overflow mechanisms work for Linux on Power-based
systems
Get acquainted with buffer overflow
vulnerabilities in Linux running on Power/Cell Broadband Engine Architecture
processor-based servers. Buffer overflows occur when a process tries to store
data outside of the bounds of a fixed-length buffer. When that happens,
all sorts of erratic system behavior can result, and some can be
detrimental to your system's security. Part 2 of this article series shows
how to overwrite a function pointer in 32- and
64-bit modes and illustrates assembly components through shell, network,
and socket code samples. (Part 1 briefly
discussed buffer overflows and the Power and Cell/B.E. architectures, and then
showed how you can change the process-execution flow in the target systems and
overwrite a local variable in 32- and 64-bit modes.)
|
 |
Articles |
 |
13 Jan 2009 |
|
| |
Enable high availability for composite applications
This article describes an implementation of high availability
for a composite
application using Linux-HA.
Delivering high availability to composite applications can be challenging.
Because composite applications consist of several distinct applications,
each with different availability requirements, configuration is complex.
In this article, the authors describe how they
designed and implemented a high availability prototype
for Tivoli Maximo, a composite app.
Their configuration script shows how you can provide high availability
to a heterogeneous cluster
of related applications using a systematic and prioritized failover
schedule.
|
 |
Articles |
 |
13 Jan 2009 |
|
| |
LoP/Cell/B.E.: Buffer overflow vulnerabilities, Part
1: Understanding buffer overflow issues for Linux on Power-based
systems
Get acquainted with buffer overflow
vulnerabilities in Linux running on Power/Cell Broadband Engine Architecture
processor-based servers. Buffer overflows occur when a process tries to store
data outside of the bounds of a fixed-length buffer. When that happens,
all sorts of erratic system behavior can result, and some can be
detrimental to your system's security. Part 1 of this article series briefly
discusses buffer overflows and the Power and Cell/B.E. architectures, and then
shows how you can change the process-execution flow in the target systems and
overwrite a local variable in 32- and 64-bit modes. (Part 2 will show
how to overwrite a function pointer in 32- and
64-bit modes and illustrate assembly components through shell, network,
and socket code samples.)
|
 |
Articles |
 |
06 Jan 2009 |
|
| |
Install and configure WebSphere Application Server on UNIX and
Linux systems
Learn how application servers are used in modern enterprise
environments and how to install IBM WebSphere Application
Server on UNIX and Linux systems to provide the cornerstone of a
robust, well-supported enterprise Web environment. This tutorial
also explains how to integrate WebSphere Application
Server into the startup and shutdown processes on your UNIX and
Linux servers and provides links to many other resources that will
help you get up and running quickly with WebSphere Application
Server.
|
 |
Tutorials |
 |
22 Dec 2008 |
|
| |
Anatomy of Linux process management
The creation and management of user-space processes in Linux have many
principles in common with UNIX but also include several unique optimizations
specific to Linux. Here, review the life cycle of Linux processes and explore
the kernel internals for user process creation, memory management, scheduling,
and death.
|
 |
Articles |
 |
20 Dec 2008 |
|
| |
Python 3 primer, Part 1: What's new
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards compatibility with
the 2.x line but has cleaned up some syntax issues. This article is the first
in a series that talks about the changes that affect the language and
backwards compatibility, and it provides examples of new
features.
|
 |
Articles |
 |
19 Dec 2008 |
|
| |
Hardening the Linux server
Servers -- whether used for testing or production -- are primary targets
for attackers. By taking the proper steps, you can turn a vulnerable box into
a hardened server and help thwart outside attackers. Learn how to secure SSH
sessions, configure firewall rules, and set up intrusion detection to alert
you to any possible attacks on your GNU/Linux server.
Once you've gained a solid foundation in the
basics of securing your server, you can build on this knowledge to further
harden your systems.
|
 |
Tutorials |
 |
17 Dec 2008 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part 1: Development environment
Learn how to configure a development environment targeted at the Nokia
N810 Internet Tablet, including setting up Eclipse on a target development
machine for the Python language.
|
 |
Articles |
 |
16 Dec 2008 |
|
| |
Blades and external storage: Set up a fault-tolerant environment
To build a highly available Linux server environment with IBM blades,
first you need to set up a fault-tolerant environment between the blade and
any external storage. This enables you to deliver redundancy and enable multipathing. In
this article, learn how to integrate an
x86-based IBM BladeCenter server and external IBM BladeCenter Boot Disk System
(DS3200) SAS storage, as a critical prerequisite for a reliable
blade server environment on Linux. Some Linux Volume
Manager "hot-add" features designed to meet the increasing demand on storage
systems are covered as well.
|
 |
Articles |
 |
10 Dec 2008 |
|
| |
Distributed computing with Linux and Hadoop
Every day people rely on search engines to find specific content in
the many terabytes of data that exist on the Internet, but have you ever wondered
how this search is actually performed? One approach is Apache's Hadoop,
which is a software framework that enables distributed manipulation of vast
amounts of data. One application of Hadoop is parallel indexing of Internet Web pages.
Hadoop is an Apache project with support from Yahoo!, Google, IBM, and others.
This article introduces the Hadoop framework and shows you why it's one of the
most important Linux-based distributed computing frameworks.
|
 |
Articles |
 |
09 Dec 2008 |
|
| |
Scale your file system with Parallel NFS
The Network File System (NFS) is a stalwart component of most modern
local area networks (LANs). But NFS is inadequate for the demanding input-
and output-intensive applications commonly found in high-performance computing
-- or, at least it was. The newest revision of the NFS standard includes
Parallel NFS (pNFS), a parallelized implementation of file sharing that
multiplies transfer rates by orders of magnitude. Here's a primer.
[Note: The article has been updated
with regard to vendor involvement in the origin and development of pNFS -- Ed.]
|
 |
Articles |
 |
26 Nov 2008 |
|
| |
Hardening the Linux desktop
Although GNU/Linux has the reputation of being a much more secure
operating system than Microsoft Windows, you still need to secure the Linux
desktop. This tutorial takes you through the steps of installing and
configuring antivirus
software, creating a backup-restore plan, and making practical use of a
firewall. When you finish, you'll have the knowledge and tools you need to
harden your Linux desktop against most attacks and prevent illegitimate access
to your computer.
|
 |
Tutorials |
 |
25 Nov 2008 |
|
| |
POWER5 Virtualization: How to work with VLANs using the IBM Virtual I/O Server
Learn how to improve security between logical networks. In this article, Nigel Griffiths describes the benefits of working with VLANs using the IBM Virtual I/O Server (VIO Server).
|
 |
Articles |
 |
18 Nov 2008 |
|
| |
Comparison of SLES (SUSE) and RHEL (Red Hat) on IBM System p
Most systems administrators planning to install Linux on IBM System p
eventually run into an important dillemma: Which Linux distribution should I
install? This article compares two distributions from Red Hat and Novell, and
weighing the pros and cons of each. We'll discuss Linux on POWER (LoP), the history of
both distributions, the relationship IBM has with them, and the factors that should
go into your decision-making process. We also compare and contrast what
it takes to create logical volumes on SuSE Linux Enterprise Server (SLES) and Red
Hat Enterprise Linux (RHEL).
|
 |
Articles |
 |
18 Nov 2008 |
|
| |
GCC hacks in the Linux kernel
The Linux kernel uses several special capabilities of the GNU Compiler
Collection (GCC) suite. These capabilities range from giving you shortcuts and
simplifications to providing the compiler with hints for optimization.
Discover some of these special GCC features and learn how to use them in the
Linux kernel.
|
 |
Articles |
 |
18 Nov 2008 |
|
| |
Comparison of SLES (SUSE) and RHEL (Red Hat) on IBM System p
Most system administrators planning to install Linux on IBM System p
eventually run into an important question: Which Linux distribution should I
install? This article compares two distributions from Red Hat and Novell, and
weighs the pros and cons of each. We'll discuss Linux on POWER (LoP), the history of
both distributions, the relationship IBM has with them, and the factors that should
go into your decision-making process. We're also going to compare and contrast what
it takes to create logical volumes on SuSE Linux Enterprise Server (SLES) and Red
Hat Enterprise Linux (RHEL).
|
 |
Articles |
 |
18 Nov 2008 |
|
| |
Automating Linux cloud installations
A simplified process for installing operating systems can reduce the
amount of time you spend on administration of your cloud computing
environment. This article describes how you can automate the installation of
SUSE Linux on a new IBM Power System or System p LPAR. You can also use the
same techniques to install Red Hat Linux or AIX.
|
 |
Articles |
 |
11 Nov 2008 |
|
| |
Linux project publications: Security
The publications on this page represent contributions by members of the
IBM Linux Technology Center to the development community on the topic of Linux
security.
|
 |
Articles |
 |
08 Nov 2008 |
|
| |
Update Twitter and FriendFeed from the Linux command line
Learn how to use GNU Wget and cURL to send status updates to Twitter and
FriendFeed without the use of a Twitter desktop application, and follow feeds
from both Twitter and FriendFeed right from the Linux command line. This article was updated on 31 Oct 2008 to correct a coding error in the wget command under "Adding a tweet using GNU Wget and cURL." --Ed.
|
 |
Articles |
 |
31 Oct 2008 |
|
| |
Get to know GCC 4
In the last few years, the GNU Compiler Collection (GCC) has
undergone a major transition from GCC version 3 to version 4. With GCC 4 comes
a new optimization framework (and new intermediate code representation), new
target and language support, and a variety of new attributes and options. Get
to know the major new features and their benefits.
|
 |
Articles |
 |
28 Oct 2008 |
|
| |
Lazy Linux: 11 secrets for lazy cluster admins
"Cluster" means different things to different people. In the context of
this article, cluster is best defined as "scale-out" -- scale-out clusters
generally have a lot of the same type of components like
Web farms, render farms, and high performance computing (HPC) systems.
Administrators will tell you that with scale-out clusters any change, no
matter how small, must be repeated up to hundreds of thousands of times; the
laziest of admins have mastered techniques of scale-out management so that
regardless of the number of nodes, the effort is the same. In this article,
the authors peer into the minds of the laziest Linux admins on Earth and
divulge their secrets.
|
 |
Articles |
 |
22 Oct 2008 |
|
| |
Programmability, Part 1: Exploring different approaches to programming for Cell/B.E. platforms
The programming flexibility available for the Cell Broadband Engine(TM) is a
hot topic in the multicore community. This article discusses leveraging your existing
skills to program for Cell/B.E.(TM), offers three programming approaches for Cell/B.E.
systems, and introduces the various tools, software, and hardware available
for the platform.
|
 |
Articles |
 |
14 Oct 2008 |
|
| |
Deliver high availability with a Xen virtual server
Get step-by-step details to implement Xen virtual server high
availability via the IBM System Director Virtual Availability Manager.
The Virtual Availability Manager is included in the IBM System Director Virtualization Manager package, an
extension for IBM Director. In this article, the authors walk you through all
the steps, from prerequisites and setup to troubleshooting -- everything you need to get started
delivering virtual high availability capabilities.
|
 |
Articles |
 |
01 Oct 2008 |
|
| |
TASK_KILLABLE: New process state in Linux
Linux kernel 2.6.25 introduced a new process state for putting processes
to sleep called TASK_KILLABLE, which offers an alternative to the efficient
but potentially unkillable TASK_UNINTERRUPTIBLE and the easy-to-awaken but
safer TASK_INTERRUPTIBLE. TASK_KILLABLE is the outcome of an issue raised in
2002 about the OpenAFS file system driver waiting for an event interruptibly
after blocking all signals. This new sleeping state echoes
TASK_UNINTERRUPTIBLE with the ability to respond to fatal signals. In this
article, the author sheds light on this area and, using examples from 2.6.26
and an earlier version, 2.6.18, discusses the related changes to the Linux
kernel and the new APIs that resulted from these changes.
|
 |
Articles |
 |
30 Sep 2008 |
|
| |
Monitor file system activity with inotify
Inotify is a Linux feature that monitors file system operations, such as
read, write, and create. Inotify is reactive, surprisingly simple to use, and
far more efficient than, say, busy polling from a cron job. Learn how to
integrate inotify into your own applications, and discover a set of
command-line tools you can use to further automate system administration.
|
 |
Articles |
 |
16 Sep 2008 |
|
| |
Efficient data transfer through zero copy
This article explains how you can improve the performance of I/O-intensive Java applications running on Linux and UNIX platforms through a technique called zero copy. Zero copy lets you avoid redundant data copies between intermediate buffers and reduces the number of context switches between user space and kernel space.
|
 |
Articles |
 |
02 Sep 2008 |
|
| |
Anatomy of Linux dynamic libraries
Dynamically linked shared libraries are an important aspect of
GNU/Linux. They allow executables to dynamically access external functionality
at run time and thereby reduce their overall memory footprint (by bringing
functionality in when it's needed). This article investigates the process of
creating and using dynamic libraries, provides details on the various tools
for exploring them, and explores how these libraries work under the hood.
|
 |
Articles |
 |
20 Aug 2008 |
|
| |
Work the CIM event model efficiently
In the Common Information Model (CIM), a client application can
subscribe to be notified of CIM events. Normally, an application can create
event filters with multiple event handlers through different connection ports,
but this consumes lots of network resources and adds much complexity when it
comes to maintenance. In this article, see how to register
multiple CIM event handlers with a single specific connection port. Also
pick up some tips on how to write code with the SBLIM CIM client library.
|
 |
Articles |
 |
20 Aug 2008 |
|
| |
Linux on board: Developing for the Nokia N810
The Nokia N810 alarm interface allows developers to efficiently and
easily set alarms programmatically. Peter Seebach illustrates how a small
command-line program can hook into this API and make good use of it.
|
 |
Articles |
 |
20 Aug 2008 |
|
| |
Speaking UNIX: The new and improved Vim editor
If you've worked on IBM AIX, another flavor of UNIX, or
Linux, you've more than likely used the vi editor. Since its conception in 1976, vi has
become a staple for anyone wanting to edit files. How could someone make a more powerful
editing tool than vi, you may ask? The answer is Vim, and this article provides details on the
many enhancements that have made Vim a highly used and acceptable editor in the world
of UNIX and Linux.
|
 |
Articles |
 |
19 Aug 2008 |
|
| |
Developing software on an open source stack
Web developers are enjoying a renaissance. After spending much of the previous
decade toiling on server-centric code, programmers are now putting code
front-and-center, turning the Web browser into its own computing platform. Much of the
renaissance must be attributed to ingenuity. The newest generation of tools and
application frameworks automate and simplify the drudgery of building, deploying, and
maintaining a Web site. There are also more tools than ever, and all the most
innovative tools are open source. This tutorial provides an expansive survey of the free
software available to developers to create and deploy Web applications.
|
 |
Tutorials |
 |
19 Aug 2008 |
|
| |
Java run-time monitoring, Part 3: Monitoring performance and availability of an application's ecosystem
The third and final installment in this series on run-time monitoring of Java
applications focuses on strategies and techniques for monitoring the performance and availability of an application's supporting and dependent services. These include the underlying host operating system, the operational database, and messaging infrastructures. The article concludes with a discussion of performance data management issues and data reporting and visualization.
|
 |
Articles |
 |
12 Aug 2008 |
|
| |
Build an embedded Linux distro from scratch
Learn how to build a custom Linux distribution to use in an embedded
environment, in this case to drive a Technologic Systems TS-7800 single-board
computer. In this tutorial, you learn about cross-compiling, the boot loader, file systems,
the root file system, disk images, and the boot process, all with respect to
the decisions you make as you're building the system and creating
the distribution.
|
 |
Tutorials |
 |
12 Aug 2008 |
|
| |
Complex networking using Linux on Power blades
Blades are an excellent choice for many applications and services,
especially in the telecommunications service provider industry. But the unique
requirements of these provider networks often require configurations that are
complex and need up-front focus and planning so all the stringent functional
requirements are met. In this article, learn how to plan and set up the
necessary network configurations for a POWER6 JS22 blade deployment.
|
 |
Articles |
 |
05 Aug 2008 |
|
| |
The Linux operating system as a managed object
Organizations today face two major challenges: deployment of an
increasingly rich service mix and managing the associated massive base of computing
platforms. In this article, discover a new(ish) means of viewing a key component of the
organizational architecture--treating operating systems themselves as individual
managed objects.
|
 |
Articles |
 |
29 Jul 2008 |
|
| |
Traversing Red Hat Enterprise Linux 5 on System p
So you've been the AIX guru on your team for years now and your bosses have
determined that they want to try Linux on System p. You can fight the change, or
you can embrace it and learn Linux, if not learn to love it. The purpose of this
article is to introduce Linux to AIX administrators. It will show you what you
need to know to make the transition to Linux simpler. It will also show you the
equivalent commands to perform specific tasks and also discusses process
management, filesystem management, how to peruse systems information, install packages, and other important bits of information that you as the systems administrator will need to know. While you will not become an expert at Linux from this article, this should give you a good head start in what you need to know.
|
 |
Articles |
 |
22 Jul 2008 |
|
| |
Lazy Linux: 10 essential tricks for admins
Learn these 10 tricks and you'll be the most powerful Linux systems
administrator in the universe...well, maybe not the universe, but you will
need these tips to play in the big leagues. Learn about SSH tunnels, VNC,
password recovery, console spying, and
more. Examples accompany each trick, so you can duplicate them on your
own systems.
|
 |
Articles |
 |
20 Jul 2008 |
|
| |
Anatomy of Linux loadable kernel modules
Linux loadable kernel modules, introduced in version 1.2 of the kernel,
are one of the most important innovations in the Linux kernel. They provide a
kernel that is both scalable and dynamic. Discover the ideas behind loadable
modules, and learn how these independent objects dynamically become part of
the Linux kernel.
|
 |
Articles |
 |
16 Jul 2008 |
|
| |
Integrate encryption into Google Calendar with Firefox extensions
Today's Web applications provide many
benefits for online storage, access, and collaboration. Although some applications offer
encryption of user data, most do not. This article provides tools and code needed to add
basic encryption support for user data in one of the most popular online calendar
applications. Building on the incredible flexibility of Firefox extensions and the Gnu
Privacy Guard, this article shows you how to store only encrypted event descriptions in
Google's Calendar application, while displaying a plain text version to anyone with the
appropriate decryption keys.
|
 |
Articles |
 |
15 Jul 2008 |
|
| |
Automate backups on Linux
The loss of critical data can prove devastating. Still, millions of professionals ignore backing up their data. While individual reasons vary, one of the most common explanations is that performing routine backups can be a real chore. Because machines excel at mundane and repetitive tasks, the key to reducing the inherent drudgery and the natural human tendency for procrastination, is to automate the backup process.
|
 |
Articles |
 |
03 Jul 2008 |
|
| |
Common threads: Awk by example, Part 1
Awk is a very nice language with a very strange name. In this first article of a three-part series, Daniel Robbins will quickly get your awk programming skills up to speed. As the series progresses, more advanced topics will be covered, culminating with an advanced real-world awk application demo.
|
 |
Articles |
 |
03 Jul 2008 |
|
| |
Migrate device control applications from Windows to Linux
Ease the pain of migrating device control applications from Microsoft
Windows to Linux by understanding how device control works in both operating
systems. The authors outline these differences and give you a C/C++ migration
sample.
|
 |
Articles |
 |
24 Jun 2008 |
|
| |
Core partners, Part 4: Managing the PlayStation 3 Wi-Fi network
Terra Soft Solutions IT Manager Aaron Johnson shows you, step-by-step, how to configure and encrypt the built-in Wi-Fi network that comes with the
Cell Broadband Engine(TM)-based Sony PlayStation 3. And, as a little bonus, get 16 quick
steps that explain how to switch from a wireless network back to a wired network on the PS3.
|
 |
Articles |
 |
17 Jun 2008 |
|
| |
Anatomy of Linux journaling file systems
In recent history, journaling file systems were viewed as an oddity and
thought of primarily in terms of research. But today, a journaling file system
(ext3) is the default in Linux. Discover the ideas behind journaling file systems,
and learn how they provide better integrity in the face of a power failure or system
crash. Learn about the various journaling file systems in use today, and peek into
the next generation of journaling file systems.
|
 |
Articles |
 |
04 Jun 2008 |
|
| |
Porting applications to Linux for System z
Server consolidation based on Linux for IBM System z offers advantages, but
moving existing applications requires some specialized knowledge. In this article,
get general advice on how to organize your porting project, including technical
details on mainframe virtualization, byte-ordering, and address calculation specific
to System z. This article also covers how development tools (compiler, linker,
debugger) are supported on System z, and introduces IBM's free-of-charge Migration
Kit for Solaris OS to Linux.
|
 |
Articles |
 |
28 May 2008 |
|
| |
Anatomy of Linux flash file systems
You've probably heard of Journaling Flash File System (JFFS) and
Yet Another Flash File System (YAFFS), but do you know what it means to
have a file system that assumes an underlying flash device? This article introduces
you to flash file systems for Linux, and explores how they care for their underlying
consumable devices (flash parts) through wear leveling, and identifies the various
flash file systems available along with their fundamental designs.
|
 |
Articles |
 |
20 May 2008 |
|
| |
Manage widget geometry in PyGTK
Several container widgets exist in GTK+, and with the toolkit's API, you
can create user-defined containers. This API is also exposed to PyGTK. In this
article, learn how to create a "weighted-table" container in PyGTK. The
implementation introduces you to the basic model of GTK+ geometry management and
gives you a feel for what to consider and expect when implementing container
widgets.
|
 |
Articles |
 |
20 May 2008 |
|
| |
Install and boot Linux on BladeCenter S from an attached disk
The IBM BladeCenter S chassis is the first IBM BladeCenter to integrate
server and storage. In this article, learn how to install SUSE Linux 10 on the
blade's attached disk and then how to boot the blade server from the attached disk.
The article also covers how to check the storage and blade status, how to map the
disk to the blade, how to configure an SAS disk as the boot media, how to install
the operating system on the attached disk, and how to handle the most common
installation error.
|
 |
Articles |
 |
06 May 2008 |
|
| |
Migrating to ext4
Ext4 is the latest
in a long line of Linux file systems, and it's likely to be as important and
popular as its predecessors. As a Linux system administrator, you should be aware of the
advantages, disadvantages,
and basic steps for migrating to ext4. This article explains when to adopt ext4, how to adapt
traditional file
system maintenance tool usage to ext4, and how to get the most out of the
file system.
|
 |
Articles |
 |
30 Apr 2008 |
|
| |
Anatomy of Security-Enhanced Linux (SELinux)
Linux has been described as one of the most secure operating systems
available, but the National Security Agency (NSA) has taken Linux to the next level
with the introduction of Security-Enhanced Linux (SELinux). SELinux takes the
existing GNU/Linux operating system and extends it with kernel and user-space
modifications to make it bullet-proof. If you're running a 2.6 kernel today, you
might be surprised to know that you're using SELinux right now! This article
explores the ideas behind SELinux and how it's implemented.
|
 |
Articles |
 |
29 Apr 2008 |
|
| |
Worry-free Linux power-downs with Anacron
Linux ordinarily uses Cron to automatically perform routine system
maintenance, such as rotating log files and updating spam filtering rules.
This works well for servers and other systems that are powered on 24/7. If,
however, you want to save power by shutting off the computer when it's not in
use, as is common for desktop and laptop systems, Cron can't run.
Not running Cron routinely can
result in monstrously large log files and other problems. The Anacron utility
provides a solution, enabling the computer to run regular maintenance jobs
whenever the computer is powered on, even if those times are
unpredictable.
|
 |
Articles |
 |
21 Apr 2008 |
|
| |
Install Apache Geronimo v1.x on Linux
See how easy it is to install Apache Geronimo in a Linux environment. This demo shows how to install Apache Geronimo v1.x, an open source application server available from the Apache Software Foundation, in a Linux x86 environment for use by multiple developers.
|
 |
Demos |
 |
16 Apr 2008 |
|
| |
Anatomy of real-time Linux architectures
It's not that Linux isn't fast or efficient, but in some cases fast just
isn't good enough. What's needed instead is the ability to deterministically meet
scheduling deadlines with specific tolerances. Discover the various real-time Linux
alternatives and how they achieve real time -- from the early architectures that
mimic virtualization solutions to the options available today in the standard 2.6
kernel.
|
 |
Articles |
 |
15 Apr 2008 |
|
| |
LPI exam 301 prep, Topic 306: Capacity planning
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this last
in a series of six tutorials, Sean walks you through monitoring your system
resources, troubleshooting resource problems, and analyzing system capacity.
|
 |
Tutorials |
 |
15 Apr 2008 |
|
| |
Cell/B.E. SDK 3.0 tools, Part 1: Using performance tools
This introductory tutorial, designed as a companion for the IBM SDK for
Multicore Acceleration, Version 3.0 (otherwise known as the Cell Broadband
Engine(R) SDK), teaches you how to use five performance tools that reside in the SDK
3.0: OProfile, Cell Performance Counter, Performance Debugging Tool, the PDT Trace
Reader, and FDPR-Pro. The Visual Performance Analyzer, available separately, is also highlighted.
|
 |
Tutorials |
 |
15 Apr 2008 |
|
| |
LPI exam 301 prep, Topic 305: Integration and migration
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this fifth
in a series of six tutorials, Sean walks you through integrating LDAP with your
system's logins and applications. He also details the procedure to
integrate your server into a foreign Microsoft Active Directory.
|
 |
Tutorials |
 |
08 Apr 2008 |
|
| |
Linux development on the PlayStation 3, Part 3: Slimming down X11 with tiny tools
The Sony PlayStation 3 (PS3) runs Linux, but getting it to run well requires
some tweaking. In the third and final article of this series on PS3 Linux, Peter
Seebach talks about ways to get X11 slimmed down to fit on a smaller memory budget.
|
 |
Articles |
 |
08 Apr 2008 |
|
| |
Discover tput
One of the strongest assets UNIX has is the ability to make shell scripts to ease
users' lives. These scripts can range from simple one-liners to several thousand
lines. Many times, shell scripts evolve into menu-based scripts, and the scripter
wants to display more to users than simply scrolling text. Other times, a simple
line or two of output are displayed to users, and the shell scripter wants to put
emphasis on a warning message.
|
 |
Articles |
 |
01 Apr 2008 |
|
| |
Linux development on the PlayStation 3, Part 2: Working with memory
The Sony PlayStation 3 (PS3) runs Linux, but getting it to run well requires
some tweaking. In this article, the second in a series, Peter Seebach takes a look
at where all the memory goes and how to reclaim it.
|
 |
Articles |
 |
31 Mar 2008 |
|
| |
Performance tradeoffs of TCP Selective Acknowledgment
Selective acknowledgment (SACK) is an optional feature of TCP that is
necessary to effectively use all of the available bandwidth of some networks. While
SACK is good for throughput, processing this type of acknowledgment has proven to be
CPU intensive for the TCP sender. This weakness can be exploited by a malicious peer
even under commodity network conditions. This article presents experimental
measurements that characterize the extent of the problem within the Linux TCP stack.
SACK is enabled by default on most distributions.
|
 |
Articles |
 |
31 Mar 2008 |
|
| |
LPI exam 301 prep, Topic 304: Usage
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this fourth
in a series of six tutorials, Sean walks you through searching your LDAP tree and
using the command-line tools. You'll also learn how to set up Microsoft Outlook to
query your LDAP tree.
|
 |
Tutorials |
 |
25 Mar 2008 |
|
| |
Monitor mainframe sessions remotely
Users access z/OS mainframes using a 3270 terminal emulator. In this
article, learn how to build a simple shell script for UNIX or Linux that gives you a
second terminal emulator to view everything a mainframe user is doing in real time.
|
 |
Articles |
 |
19 Mar 2008 |
|
| |
Linux development on the PlayStation 3, Part 1: More than a toy
The Sony PlayStation 3 (PS3) runs Linux, but getting it to run well requires
some tweaking. In this article, first in a series, Peter Seebach introduces the
features and benefits of PS3 Linux, and explains some of the issues that might
benefit from a bit of tweaking.
|
 |
Articles |
 |
18 Mar 2008 |
|
| |
Prepare a self-installing drive for blade servers
Follow these nine steps to build a bootable, self-installing hard disk drive
for an IBM BladeCenter HS20 blade server running SUSE Linux Enterprise Server 10.
(These steps work for other blade servers, as well). When the system boots from this
drive for the first time, it automatically begins to install Linux on the disk,
which eases the task of preloading the operating system and lightens user workload.
|
 |
Articles |
 |
18 Mar 2008 |
|
| |
Changing UIDs and GIDs
It's important to know what happens to file ownership in AIX once you make a UID or GID change. If you don't
understand the results of altering a UID or GID, you could cause serious issues to your server and
environment.
|
 |
Articles |
 |
04 Mar 2008 |
|
| |
LPI exam 301 prep, Topic 303: Configuration
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this third
in a series of six tutorials, Sean walks you through configuring a Lightweight
Directory Access Protocol (LDAP) server, including access control, security, and
performance. By the end of this tutorial, you'll know about LDAP server
configuration.
|
 |
Tutorials |
 |
04 Mar 2008 |
|
| |
Multipath storage with Xen and DS4800
As the Xen open source hypervisor gains traction in many enterprises for
production deployment, you may need to provide fully redundant storage to the Xen
environment from the host adapter all the way down to the hard drives. In this
article, learn how to use Red Hat Enterprise Linux 5.1 to set up Xen and multipath
storage access to the IBM System Storage DS4800.
|
 |
Articles |
 |
04 Mar 2008 |
|
| |
Systems Administration Toolkit: Log file basics
A typical UNIX or Linux machine creates many log files during the course of its
operation. Some of these contain useful information; others can be used to help you
with capacity and resource planning. This article looks at the fundamental information recorded within the different log files, their location, and how that information can be used to your benefit to work out what is going on within your system.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Desktop development for the OLPC laptop
The XO laptop (of the One-Laptop-Per-Child initiative) is an inexpensive
laptop project intended to help educate children around the world. The laptop
includes many innovations, such as a novel, inexpensive, and durable hardware design
and the use of GNU/Linux as the underlying operating system. The XO also includes an
application environment written in Python with a human interface called Sugar,
accessible to everyone (including kids). This article is excerpted from the
developerWorks tutorial "Application development for the OLPC laptop," which takes a
look at the Sugar APIs and shows how to develop and debug a graphical activity in
Sugar using Python.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Improve security with polyinstantiation
If you're concerned about protecting world-writeable shared directories such
as /tmp or /var/tmp from abuse, a Linux Pluggable Authentication Module (PAM) can
help you. The pam_namespace module creates a separate namespace for users on your
system when they login. This separation is enforced by the Linux operating system so
that users are protected from several types of security attacks. This article for
Linux system administrators lays out the steps to enable namespaces with PAM.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Building your own memory manager for C/C++ projects
Performance optimization of code is serious business. It's fairly common to see a
piece of functionally correct software written in C or C++ that takes way
too much memory, time, or, in the worst case, both. As a developer, one of the most
powerful tools that C/C++ arms you with to improve processing time and prevent
memory corruption is the control over how memory is allocated or deallocated in your
code. This tutorial demystifies memory management concepts by telling you how to
create your very own memory manager for specific situations.
|
 |
Tutorials |
 |
19 Feb 2008 |
|
| |
Role-based access control in SELinux
Role-based access control (RBAC) is a general security
model that simplifies
administration by assigning roles to users and then
assigning permissions to those
roles. RBAC in Security-Enhanced Linux (SELinux) acts
as a layer of abstraction
between the user and the underlying type-enforcement (TE)
model, which provides
highly granular access control but is not
geared for ease of management. Learn how
the three pieces of an SELinux context (policy, kernel, and userspace)
work together
to enforce the RBAC and tie Linux users into the TE policy.
|
 |
Articles |
 |
13 Feb 2008 |
|
| |
SNMP-based monitoring for GPFS clusters
New in version 3.2, IBM General Parallel File System (GPFS) on Linux
provides Simple Network Management Protocol (SNMP) services that let administrators
collect SNMP data about the health of a GPFS cluster so that problems such as disk
failure can be quickly identified. The system lets a collector node gather the trap
information, which an administrator can then monitor and analyze remotely on a
separate management node. This article provides a method for basic verification of
SNMP in a GPFS cluster.
|
 |
Articles |
 |
29 Jan 2008 |
|
| |
Explore Ubuntu Mobile and Embedded
Ubuntu is a great server and desktop distribution for the GNU/Linux
operating system, but did you know that it's also ideal for handheld and mobile
embedded devices? Ubuntu's latest release, Gutsy Gibbon, now includes support for
the embedded and mobile spaces with the Ubuntu Mobile and Embedded (UME) project.
Get to know the UME project, and find out how to get started.
|
 |
Tutorials |
 |
15 Jan 2008 |
|
| |
Cell/B.E. container virtualization, Part 2: Implementation issues
This three-part series illustrates a
hardware-resource-focused form of software virtualization known as container
virtualization (or operating system virtualization), demonstrated through the open
source project OpenVZ. The series provides a comprehensive overview of all the
components and techniques needed to virtualize the Cell/B.E. processor with software
methods. This second article of the series details the implementation of
dedicated virtualization and partitioning that was described in Part 1 of the series.
|
 |
Articles |
 |
08 Jan 2008 |
|
| |
developerWorks live!: Linux sessions
The Linux 2.6.23 kernel comes with a modular scheduler core and a Completely
Fair Scheduler (CFS), which is implemented as a scheduling module. In this article,
get acquainted with the major features of the CFS, see how it works, and look ahead
to some of the expected changes for the 2.6.24 release.
|
 |
Articles |
 |
08 Jan 2008 |
|
| |
Multiprocessing with the Completely Fair Scheduler
The Linux 2.6.23 kernel comes with a modular scheduler core and a Completely
Fair Scheduler (CFS), which is implemented as a scheduling module. In this article,
get acquainted with the major features of the CFS, see how it works, and look ahead
to some of the expected changes for the 2.6.24 release.
|
 |
Articles |
 |
08 Jan 2008 |
|
| |
Networking scalability on high-performance servers
The proliferation of high-performance scalable servers has added a new level
of complexity to networking and system performance. In this article, learn how to
optimize your multi-node, high-performance Linux system as it uses system board
gigabit Ethernet adapters from 1 to 4 nodes. Take a look at problematic networking
scalability situations and get tips on how to avoid the pitfalls.
|
 |
Articles |
 |
01 Jan 2008 |
|
| |
Application development for the OLPC laptop
The XO laptop (of the One-Laptop-Per-Child initiative) is an inexpensive
laptop project intended to help educate children around the world. The XO laptop
includes many innovations, such as a novel, inexpensive, and durable hardware design
and the use of GNU/Linux as the underlying operating system. The XO also includes an
application environment written in Python with a human interface called Sugar,
accessible to everyone (including kids). Explore the Sugar APIs and learn how to
develop and debug a graphical activity in Sugar using Python.
|
 |
Tutorials |
 |
18 Dec 2007 |
|
| |
Cell/B.E. container virtualization, Part 1: Concepts, architectures, and tools
This three-part series illustrates a
hardware-resource-focused form of software virtualization known as container
virtualization (or operating system virtualization), demonstrated through the open
source project OpenVZ. The series provides a comprehensive overview of all the
components and techniques needed to virtualize the Cell/B.E. processor with software
methods. This first article of the series discusses the basic concepts
involved, illustrates the salient points of the OpenVZ and Cell/B.E. architectures
and how they work together, and describes some of the OpenVZ tools.
|
 |
Articles |
 |
11 Dec 2007 |
|
| |
LPI exam 301 prep, Topic 302: Installation and development
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this second
in a series of six tutorials, Sean walks you through installing and configuring a
Lightweight Directory Access Protocol (LDAP) server, and writing some Perl scripts
to access the data. By the end of this tutorial, you'll know about LDAP server
installation, configuration, and programming.
|
 |
Tutorials |
 |
04 Dec 2007 |
|
| |
Linux on board: Auto-uploading Nokia N800 photos
These three installments of Linux on board show you how to get started
building applications for the Nokia N800 by way of a working example: using the
camera feature to create a Webcam. In this third and final installment, write an
automatic photo-uploading routine for the photos you've taken.
|
 |
Articles |
 |
04 Dec 2007 |
|
| |
Linux on board: Accessing the Nokia N800 camera
These three installments of Linux on board show you how to get started
building applications by way of a working example: using the camera feature to
create a Webcam. In this installment, walk through the start of building a camera
application using gstreamer to access the Nokia N800 device's Webcam. (It's not as
much work as you might think, especially since we borrow from an existing
application.)
|
 |
Articles |
 |
27 Nov 2007 |
|
| |
Linux on board: Developing for the Nokia N800
Root around inside the heart of the Nokia N800 phone/Internet tablet/Webcam
and take a closer look at the build environment, based on scratchbox.
|
 |
Articles |
 |
20 Nov 2007 |
|
| |
Anatomy of the Linux SCSI subsystem
The Small Computer Systems Interface (SCSI) is a collection of standards
that define the interface and protocols for communicating with a large number of
devices (predominantly storage related). Linux provides a SCSI subsystem to permit
communication with these devices. Linux is a great example of a layered architecture
that joins high-level drivers, such as disk or CD-ROM drivers, to a physical
interface such as Fibre Channel or Serial Attached SCSI (SAS). This article
introduces you to the Linux SCSI subsystem and discusses where this subsystem is
going in the future.
|
 |
Articles |
 |
14 Nov 2007 |
|
| |
Emacs editing environment, Part 7: Let Emacs help you out
Part 7 of this series shows you why Emacs is the self-documenting
editor, and the many ways in which you can take advantage of the help and assistance
offered in this editor. In this tutorial, learn about describing keystrokes,
commands, and functions. You'll also read, browse, and search through a complete
Emacs reference manual.
|
 |
Tutorials |
 |
13 Nov 2007 |
|
| |
Software development for the OpenMoko Linux phone
The OpenMoko environment provides a completely free development environment
for running application and system code on supported phone hardware, eliminating all
dependency on proprietary code. This tutorial introduces the OpenEmbedded build
environment used to create filesystem images for OpenMoko phones, such as the Neo
1973.
|
 |
Tutorials |
 |
13 Nov 2007 |
|
| |
Anatomy of Linux synchronization methods
In your Linux education, you may have learned about concurrency, critical
sections, and locking, but how do you use these concepts within the kernel? This
article reviews the locking mechanisms available within the 2.6 kernel, including
atomic operators, spinlocks, reader/writer locks, and kernel semaphores. It also
explores where each mechanism is most applicable for building safe and efficient
kernel code.
|
 |
Articles |
 |
31 Oct 2007 |
|
| |
Anatomy of the Linux file system
When it comes to file systems, Linux is the Swiss Army knife of operating
systems. Linux supports a large number of file systems, from journaling to
clustering to cryptographic. Linux is a wonderful platform for using standard and
more exotic file systems and also for developing file systems. This article explores
the virtual file system (VFS) -- sometimes called the virtual filesystem switch --
in the Linux kernel and then reviews some of the major structures that tie file
systems together.
|
 |
Articles |
 |
30 Oct 2007 |
|
| |
LPI exam 301 prep, Topic 301: Concepts, architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this
first in a series of six tutorials, Sean introduces you to Lightweight
Directory Access Protocol (LDAP) concepts, architecture, and design. By the
end of this tutorial, you will know about LDAP concepts and architecture,
directory design, and schemas.
|
 |
Tutorial |
 |
23 Oct 2007 |
|
| |
LPI exam 301 prep, Topic 301: Concepts, architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam 301. In this first
in a series of six tutorials, Sean introduces you to Lightweight Directory Access
Protocol (LDAP) concepts, architecture, and design. By the end of this tutorial, you
will know about LDAP concepts and architecture, directory design, and schemas.
|
 |
Tutorials |
 |
23 Oct 2007 |
|
| |
LPI exam 301 prep, Topic 301: Concepts, architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam 301. In this first
in a series of six tutorials, Sean introduces you to Lightweight Directory Access
Protocol (LDAP) concepts, architecture, and design. By the end of this tutorial, you
will know about LDAP concepts and architecture, directory design, and schemas.
|
 |
Tutorials |
 |
23 Oct 2007 |
|
| |
Linux assemblers: A comparison of GAS and NASM
This article explains some of the more important syntactic and semantic
differences between two of the most popular assemblers for Linux, GNU Assembler
(GAS) and Netwide Assembler (NASM), including differences in basic syntax, variables
and memory access, macro handling, functions and external routines, stack handling,
and techniques for easily repeating blocks of code.
|
 |
Articles |
 |
17 Oct 2007 |
|
| |
Minimize recoding impact, Part 2: Removing obstacles to speedy performance
The first article in the series describes how to do a basic port to the Cell Broadband Engine process. This
second article goes further in hammering out the details, including removing limitations
based on DMA-transfer size, partitioning the program across multiple SPEs, and
improving the program's speed even more.
|
 |
Articles |
 |
16 Oct 2007 |
|
| |
POSIX file capabilities: Parceling the power of root
Linux has been using capabilities for years, but has recently acquired POSIX
file capabilities. POSIX file capabilities split root user powers into smaller
privileges, such as the ability to read files or to trace processes owned by another
user. By assigning capabilities to a file, you can enable an unprivileged user to
execute the file with those specified privileges. In this article, learn how to
program using capabilities and how to switch on the ability of your system setuid
root binaries to use file capabilities.
|
 |
Articles |
 |
16 Oct 2007 |
|
| |
PS3 fab-to-lab, Part 2: Generating and analyzing signals
How do you take the Cell Broadband Engine (Cell/B.E.) processor from an
off-the-shelf Sony PLAYSTATION 3 (PS3) and use it to construct a piece of
Linux(R)-based laboratory equipment (in essence, take the Cell/B.E. from fab to hab
to lab)? In this series, Lewin Edwards shows you how to go from game console to
simple audio-bandwidth spectrum analyzer and function generator. In this article,
the author shows you how to build on the infrastructure from Part 1 to make the
system into a fully operational, if primitive, spectrum analyzer.
|
 |
Articles |
 |
02 Oct 2007 |
|
| |
IBM Installation Toolkit: Loading Linux on POWER
The IBM Installation Toolkit for Linux on POWER simplifies the installation of Linux on
virtualized and non-virtualized Power machines, gives you a bootable rescue DVD, and
provides the software needed to fully exploit the Power platform. Learn to use the
toolkit to install Red Hat Enterprise Linux and SUSE Linux Enterprise Server on
IBM System p and System
i5 machines.
|
 |
Articles |
 |
26 Sep 2007 |
|
| |
System emulation with QEMU
QEMU is an open source emulator for complete PC systems. In addition to
emulating a processor, QEMU permits emulation of all necessary subsystems, such as
networking and video hardware. It also permits emulation of advanced concepts, such
as symmetric multiprocessing systems (up to 255 CPUs) and other processor
architectures, such as ARM or PowerPC. This article explores QEMU and its
architecture and shows how to emulate a guest operating system on a Linux host.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Metaclass programming in Python, Part 3
Too much cleverness in programming makes designs more complicated, code more
fragile, learning curves steeper, and worst of all, it makes debugging harder.
Michele and David feel, in part, responsible for some excesses of cleverness that
followed the enthusiastic reception of their earlier articles on Python metaclasses.
In this article, they attempt to make amends, by helping programmers eschew
cleverness.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Logical volume management
Volume management is not new in the -ix world (UNIX, AIX, and so forth). And
logical volume management (LVM) has been around since Linux kernel 2.4v1 and
2.6.9v2. This article reveals the most useful features of LVM2--a relatively new
userspace toolset that provides logical volume management facilities--and suggests
several ways to simplify your system administration tasks. Based on reader feedback,
the author has updated Listings 10, 14, 15, and 16. -Ed.
|
 |
Articles |
 |
20 Sep 2007 |
|
| |
Applying mount namespaces
What if you could allow users to craft their own filesystem setup without being constrained
by the sysadmin-dictated structure? Users could export part of
their own filesystem tree and import other users' exported filesystem trees into
their tree. This article provides a step-by-step guide for Linux system administrators to
allow users to do just that with mount propagation.
|
 |
Articles |
 |
17 Sep 2007 |
|
| |
Cross-platform graphics with cairo
Built from the ground up to create identical output on both printer and
screen -- all in a cross-platform way -- cairo is becoming a huge player in the
Linux graphics space. Harness the same 2D power used by GNOME, GTK+, Pango, and many
others.
|
 |
Articles |
 |
05 Sep 2007 |
|
| |
Minimize recoding impact, Part 1: How to make an SPE and existing code work together
Traditional porting requires identifying and abstracting out the
architecture-dependent code: making code endian-independent, working through minor
API differences, and including the appropriate header files and libraries. While
this procedure works for getting code to run on the Cell Broadband Engine
(Cell/B.E.) processor, to actually use the extra processing elements, you have to
put in extra work, including reworking the code and rethinking the build process. In
this series, learn to take advantage of the Synergistic
Processor Elements (SPEs) in existing code and only make a minimal impact to the existing code and build process.
|
 |
Articles |
 |
04 Sep 2007 |
|
| |
Charming Python: Python elegance and warts, Part 2
In this series of two articles, David discusses the non-obvious features and
misfeatures that have been added to the last several Python versions, with the goal
of helping part-time Python programmers uncover the gems while avoiding the
pitfalls. This installment adds attributes and methods, descriptors, and properties
to the discussion.
|
 |
Articles |
 |
29 Aug 2007 |
|
| |
Set up a Web server cluster in 5 easy steps
Construct a highly available Apache Web server cluster that spans multiple
physical or virtual Linux servers in 5 easy steps with Linux Virtual Server and
Heartbeat v2.
|
 |
Articles |
 |
22 Aug 2007 |
|
| |
Use gperf for efficient C/C++ command line processing
The GNU tool gperf is a "perfect" hash function that, for a given set of
user-provided strings, generates C/C++ code for a hash table, a hash function, and a
lookup function. Learn how to use gperf for effective command-line processing in
your C/C++ code.
|
 |
Articles |
 |
25 Jul 2007 |
|
| |
Industrial-strength Linux lockdown, Part 2: Executing only signed binaries
For technical and non-technical users alike, maintaining a large installed
base of Linux machines can be a harrowing experience for an administrator. Technical
users take advantage of Linux's extreme configurability to change everything to
their liking, while non-technical users running amok within their own file systems.
This tutorial is the second in a two-part series on locking your Linux
machines down to streamline the associated support and administration processes.
In this tutorial, you learn how to configure the Linux kernel to execute only signed binaries.
|
 |
Tutorials |
 |
18 Jul 2007 |
|
| |
Changes in libspe: How libspe2 affects Cell Broadband Engine programming
The standard library that Power Processor Element (PPE) programs use to
access and manage Synergistic Processor Elements (SPEs), called
libspe, has undergone a major revision. The Cell Broadband Engine (Cell/B.E.)
SDK 2.1 officially changes the library interface from libspe1 to libspe2. In
this article, Jonathan Bartlett introduces the libspe2 concepts and shows how to do basic SPE process management and communication with libspe2.
|
 |
Articles |
 |
17 Jul 2007 |
|
| |
LPI exam 102 prep, Topic 111: Administrative tasks
In this tutorial, Ian Shields continues preparing you to take the Linux
Professional Institute Junior Level Administration (LPIC-1) Exam 102. In this sixth
in a series of nine tutorials, Ian introduces you to administrative tasks. By the
end of this tutorial, you will know how to manage users and groups, set user
profiles and environments, use log files, schedule jobs, back up your data, and
maintain the system time.
|
 |
Tutorials |
 |
10 Jul 2007 |
|
| |
Lightweight Web servers
Recent years have enjoyed a florescence of interesting implementations of
Web servers, including lighttpd, litespeed, and mongrel, among others. These Web
servers boast different combinations of performance, ease of administration,
portability, security, and related values. The following engineering study surveys the field of lightweight Web servers to help you find one likely to meet the technical requirements of your next project.
|
 |
Articles |
 |
10 Jul 2007 |
|
| |
The distro jungle
People who are new to Linux are often confused by the large number of
distributions to choose from. The good news is that you can safely ignore most of
them. This article helps you choose a distribution for getting started with your
Linux exploration -- and helps you understand just what it is you've just chosen.
|
 |
Articles |
 |
28 Jun 2007 |
|
| |
Anatomy of the Linux networking stack
One of the greatest features of the Linux operating system is its networking
stack. It was initially a derivative of the BSD stack and is well organized with a
clean set of interfaces. Its interfaces range from the protocol agnostics, such as
the common sockets layer interface or the device layer, to the specific interfaces
of the individual networking protocols. This article explores the structure of the
Linux networking stack from the perspective of its layers and also examines some of
its major structures.
|
 |
Articles |
 |
27 Jun 2007 |
|
| |
Installing a large Linux cluster, Part 4: Node installation and GPFS cluster configuration
Create a working Linux(R) cluster from many separate pieces of hardware and
software, including System x(TM) and IBM TotalStorage(R) systems. Part 4 provides
the second half of the instructions you need to set up the storage backend,
including installing General Parallel File System (GPFS) code
on each node and configuring Qlogic adapters for storage nodes. Finally, this
article takes you through the steps to create a GPFS cluster.
|
 |
Articles |
 |
14 Jun 2007 |
|
| |
Turbocharge Ruby on Rails with ActiveScaffold
Save time and headaches, and create a more easily maintainable set of pages,
with the Ruby on Rails ActiveScaffold plugin. ActiveScaffold handles all your CRUD
(create, read, update, delete) user interface needs, leaving you more time to focus
on more challenging (and interesting!) problems.
|
 |
Articles |
 |
08 Jun 2007 |
|
| |
Tuning LAMP systems, Part 3: Tuning your MySQL server
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture
are constantly being developed and deployed. But often the server administrator has
little control over the application itself because it's written by someone else.
This series of three articles discusses many of the server configuration items that
can make or break an application's performance. This third article, the last in the
series, focuses on tuning the database layer for maximum efficiency.
|
 |
Articles |
 |
07 Jun 2007 |
|
| |
Anatomy of the Linux kernel
The Linux kernel is the core of a large and complex operating system, and
while it's huge, it is well organized in terms of subsystems and layers. In this
article, you explore the general structure of the Linux kernel and get to know its
major subsystems and core interfaces. Where possible, you get links to other IBM
articles to help you dig deeper.
|
 |
Articles |
 |
06 Jun 2007 |
|
| |
Six ways to write more comprehensible code
As a developer, time is your most valuable resource. These six tips on how
to write maintainable code are guaranteed to save you time and frustration: one
minute spent writing comments can save you an hour of anguish.
|
 |
Articles |
 |
29 May 2007 |
|
| |
Industrial-strength Linux lockdown, Part 1: Removing the shell
For technical and non-technical users alike, maintaining a large installed
base of Linux machines can be a harrowing experience for an administrator. Technical
users take advantage of Linux's extreme configurability to change everything to
their liking, while non-technical users running amok within their own file systems.
This tutorial is the first in a two-part series that shows you how and why to lock
those machines down to streamline the associated support and administration
processes. In this tutorial, you learn how to remove the interpreters from the
installation base system.
|
 |
Tutorials |
 |
23 May 2007 |
|
| |
Linux tip: Bash parameters and parameter expansions
Do you sometimes wonder how to use parameters with your scripts, and how to
pass them to internal functions or other scripts? Do you need to do simple validity
tests on parameters or options, or perform simple extraction and replacement
operations on the parameter strings? This tip helps you with parameter use and the
various parameter expansions available in the bash shell.
|
 |
Articles |
 |
16 May 2007 |
|
| |
PS3 fab-to-lab, Part 1: Build Linux lab equipment from a Sony PLAYSTATION 3
How do you take the Cell Broadband Engine (Cell/B.E.) processor from an
off-the-shelf Sony PLAYSTATION 3 (PS3) and use it to construct a piece of
Linux-based laboratory equipment (in essence, taking the Cell/B.E. from fab to hab
to lab)? In this series, Lewin Edwards shows you how to go from game console to
simple audio-bandwidth spectrum analyzer and function generator. First up, uncover
the design intent of the project and then make a close inspection of the details of
the user interface implementation as you start a journey to generate and analyze
signals on the Cell/B.E. processor.
|
 |
Articles |
 |
15 May 2007 |
|
| |
Anatomy of the Linux slab allocator
Good operating system performance depends in part on the operating system's
ability to efficiently manage resources. In the old days, heap memory managers were
the norm, but performance suffered due to fragmentation and the need for memory
reclamation. Today, the Linux kernel uses a method that originated in Solaris but
has been used in embedded systems for quite some time, allocating memory as objects
based on their size. This article explores the ideas behind the slab allocator and
examines its interfaces and their use.
|
 |
Articles |
 |
15 May 2007 |
|
| |
Setting up a multicluster environment using General Parallel File System
Learn how to construct and deconstruct a simple multicluster of System
x(TM)and System p(TM) computers using the General Parallel File System (GPFS).
You can remotely add an existing GPFS cluster to another cluster. See how to mount a file system from the remote cluster using the GPFS secure
communication protocol.
|
 |
Articles |
 |
11 May 2007 |
|
| |
Installing a large Linux cluster, Part 3: Storage and shared file systems
Create a working Linux(R) cluster from many separate pieces of hardware and
software, including System x(TM) and IBM TotalStorage(R) systems. Part 3 provides the first
half of the instructions you need to set up the storage backend, including
details on storage architecture, needed hardware, and the Storage Area Network.
|
 |
Articles |
 |
04 May 2007 |
|
| |
Linux system auditing by example
Think you have a secure Linux system? Following best practices during
installation and setup is a must, but if you haven't set up regular system auditing,
you're missing half the picture. This article discusses some existing tools and
offers a couple of sample scripts to automate the process in a real-world
environment.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Tuning LAMP systems, Part 2: Optimizing Apache and PHP
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture
are constantly being developed and deployed. But often the server administrator has
little control over the application itself because it's written by someone else.
This series of three articles discusses many of the server configuration items that
can make or break an application's performance. This second article focuses on steps
you can take to optimize Apache and PHP.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Second Life client, Part 3: Adding simple translation to Second Life
In the last part of our exploration of the Second Life software, learn how
to plug a simple command-line program into Second Life that provides a language
translation function.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Second Life client, Part 2: Digging into the documentation
The developer documentation in the Second Life client takes the form of a
wiki. In Part 2 of our ongoing exploration of the Second Life software, take a look
at that documentation, and use it to jump-start some modifications to the client.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Configuring SUSE Linux on POWER5 to maximize performance
IBM POWER5(TM) and POWER5+(TM) systems provide excellent virtualization
capabilities. Understand factors affecting virtualization performance of IBM POWER5
systems using SUSE Linux(R) Enterprise Server (SLES) 10. Learn how to use
system tools that can help diagnose and solve performance problems. See
examples of how to test for and improve performance.
|
 |
Articles |
 |
26 Apr 2007 |
|
| |
Sugar, the XO laptop, and One Laptop per Child
One Laptop per Child (OLPC) is an organization whose mission is to develop
a low-cost laptop (USD100) with accompanying software to spread computer literacy to
children around the world. Because the device targets children, it must provide a
novel user interface and applications that allow children to experiment with tools
for expression and learning. The operating system for the OLPC is a port of the
Linux kernel but with a unique interface called Sugar. In this article, learn about the
Sugar human interface, see how to virtualize an OLPC laptop on a standard PC using
QEMU, and take a tour of Sugar and the OLPC capabilities.
|
 |
Articles |
 |
24 Apr 2007 |
|
| |
Leverage transparent huge pages on Linux on POWER
Learn more about the libhugetlbfs libraries and how to use them with the GNU
Compiler Collection (GCC) or the IBM XL C/C++ and XL Fortran compilers for Linux(R).
libhugetlbfs is an open source community project that provides transparent
access for customer applications to system huge pages. SUSE Linux Enterprise Server
10 (SLES 10) and Red Hat Enterprise Server Linux 5 (RHEL 5) now support
libhugetlbfs. While the libhugetlbfs support is available for a number of hardware
platforms that support Linux huge pages, this article focuses on the 16MB huge page
support available on IBM POWER processor-based systems.
|
 |
Articles |
 |
20 Apr 2007 |
|
| |
Discover the Linux Kernel Virtual Machine
Linux and flexibility go hand in hand, and the options for virtualization are no different. But recently, a change in the Linux virtualization landscape has appeared with the introduction of the Kernel virtual Machine, or KVM. KVM is the first virtualization solution to be part of the mainline Linux kernel (V2.6.20). KVM supports the virtualization of Linux guest operating systems -- even Windows with hardware that is virtualization-aware. Learn about the architecture of the Linux KVM as well as why its tight integration with the kernel may change the way you use Linux.
|
 |
Articles |
 |
18 Apr 2007 |
|
| |
SoC drawer: The Cell Broadband Engine chip: High-speed offload for the masses
Cell Broadband Engine (Cell/B.E.) chips are leading the broadband revolution in computing and provide the core silicon DNA for supercomputing, medical image processing, and many emergent applications, as worldwide connectivity and bandwidth continue to change the world we live in. This article explores the performance of application code on the Sony PLAYSTATION 3's Cell Broadband Engine system running Yellow Dog Linux. A simple program demonstrates how multithreaded applications that use the Synergistic Processing Elements to offload work can enjoy tremendous speedup.
|
 |
Articles |
 |
17 Apr 2007 |
|
| |
Application development on Linux on POWER
Deploying and developing your application on Linux(R) for the IBM System
p(TM) and
System i(TM) POWER platforms is similar to deploying and developing on other Linux
systems. In this article, the similarities and differences that you need to be aware
of for the Linux on POWER systems are discussed. (Updated April 2007.)
|
 |
Articles |
 |
16 Apr 2007 |
|
| |
Get started with the Linux key retention service
The Linux key retention service introduced with Linux 2.6 is a great new way
to handle authentication, cryptography, cross-domain user mappings, and other
security concerns for the Linux platform. Learn the components of the Linux key
retention service and get an understanding of its usage with a working sample
application.
|
 |
Articles |
 |
11 Apr 2007 |
|
| |
Installing Linux servers on IBM Systems, Part 2: Installing multiple Linux servers using the NFS-based network installation method
Learn how to install multiple Linux(R) servers at the same time using network-based installation. In this second article of Harish Chauhan's series, understand how to configure and install using Network File Share (NFS) on System x(TM) with Red Hat Enterprise Linux Version 4.
|
 |
Articles |
 |
06 Apr 2007 |
|
| |
The Power Architecture Time Base register in 64-bit Linux
Use the Power Architecture technology's Time Base register to measure time at the nanosecond level in Linux on PowerPC and Cell Broadband Engine (Cell/B.E.) microprocessors. Applications where this is useful include timestamping transactions (typically encrypted or digitally signed single-use messages), profiling code, and implementing small, precise software delays.
|
 |
Articles |
 |
04 Apr 2007 |
|
| |
Programming high-performance applications on the Cell/B.E. processor, Part 6: Smart buffer management with DMA transfers
Explore the concepts of double-buffering and multibuffering to improve code speed by parallelizing processing and data transfer, and allowing the SPE's memory flow controller (MFC) to coordinate the best order of operations for loading and storing.
|
 |
Articles |
 |
03 Apr 2007 |
|
| |
Virtualization with coLinux
Virtualization with VMware, Xen, and Kernel-based Virtual Machine (KVM) are
all the rage these days. But did you know that you can run Linux cooperatively with
Microsoft Windows? This article explores Cooperative Linux (coLinux), starting with
a quick introduction to virtualization and then looking at the approach taken by
coLinux. You'll also see how to get coLinux up and running on Windows.
|
 |
Articles |
 |
31 Mar 2007 |
|
| |
Tuning LAMP systems, Part 1: Understanding the LAMP architecture
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture
are constantly being developed and deployed.
But often the server administrator has little control over the application itself
because it's written by someone else. This series of three articles discusses many
of the server configuration items that can make or break an application's
performance. This first article covers the LAMP architecture, some measurement
techniques, and some basic Linux kernel, disk, and file system tweaks. Successive articles investigate tuning the
Apache, MySQL, and PHP components.
|
 |
Articles |
 |
31 Mar 2007 |
|
| |
Charming Python: Python elegance and warts, Part 1
Since the "golden age" of Python 1.5.2 -- for a long time a stable and solid
version -- Python has greatly increased its number of syntactic features and
built-in functions and types. Each of these additions has reasonable justification,
in isolation, but taken as a whole, they make Python no longer a language that
experienced programmers can pick up "in an afternoon." Moreover, some of the changes
have pitfalls along with benefits.
|
 |
Articles |
 |
28 Mar 2007 |
|
| |
Second Life client, Part 1: Hacking Second Life
The open source release of the Second Life viewer program by developer
Linden Lab offers a rare opportunity to peer into the comparative strengths of
closed and open source development models. This article, the first in a series,
gives an overview of some of the differences between these development styles, and
talks about what's involved in setting up your own build environment.
|
 |
Articles |
 |
27 Mar 2007 |
|
| |
Kernel command using Linux system calls
Linux system calls -- we use them every day. But do you know how a system
call is performed from user-space to the kernel? Explore the Linux system call
interface (SCI), learn how to add new system calls (and alternatives for doing so),
and discover utilities related to the SCI.
|
 |
Articles |
 |
21 Mar 2007 |
|
| |
Programming high-performance applications on the Cell BE processor, Part 5: Programming the SPU in C/C++
In Part 5 of the "Programming high-performance applications on the Cell BE processor" series, apply
your knowledge of the synergistic processing unit (SPU) to programming the Cell Broadband Engine (Cell BE) processor in C/C++. Learn how to use the vector extensions, direct the compiler to do branch prediction, and perform DMA transfers in C/C++.
|
 |
Articles |
 |
20 Mar 2007 |
|
| |
The Heath Robinson Rube Goldberg Computer, Part 4: The battle to make the virtual cabinets work
Nothing is as easy as one might hope. Since the last article was posted, the Heath Robinson Rube Goldberg (HRRG) Computer team has been battling every step of the way to bring the HRRG emulator's virtual cabinets online. On the way, we've re-engineered everything several times, and run across some unanticipated scenarios...
|
 |
Articles |
 |
20 Mar 2007 |
|
| |
Linux and symmetric multiprocessing
As evidenced by major central processing unit (CPU) vendors, multi-core
processors are poised to dominate the desktop and embedded space. With
multiprocessing comes greater performance but also new problems. This article
explores the ideas behind multiprocessing and developing applications for Linux that
exploit SMP.
|
 |
Articles |
 |
14 Mar 2007 |
|
| |
Installing Linux servers on IBM Systems, Part 1: Basic Linux server installation and configuration
Learn how to install and configure Red Hat Enterprise Linux(R) 4 on IBM standalone rack servers. The examples illustrate installation on x86 systems, but the examples can apply to a variety of hardware architectures, including x86_64, IA64, S/390(R), and ppc64.
|
 |
Articles |
 |
09 Mar 2007 |
|
| |
Parallelize applications for faster Linux booting
One of the biggest complaints about Linux, particularly from developers, is the
speed with which Linux boots. By default, Linux is a general-purpose operating system
that can serve as a client desktop or server right out of the box. Because of this
flexibility, Linux serves a wide base but is suboptimal for any particular
configuration. This article shows you options to increase the speed with which Linux
boots, including two options for parallelizing the initialization process. It also shows
you how to visualize graphically the performance of the boot process.
|
 |
Articles |
 |
07 Mar 2007 |
|
| |
Build a Fedora Live CD
Though Fedora Linux is a popular and mature Linux distribution, and many
people have created Live CD distributions based on Fedora, the Fedora project itself
didn't released its first official Live CD until December of 2006. Learn how to
build your own custom and easy-to-use Live CDs using a rewrite of Pilgrim, the
Fedora Live CD creation tool.
|
 |
Articles |
 |
28 Feb 2007 |
|
| |
Assembly language for Power Architecture, Part 4: Function calls and the PowerPC 64-bit ABI
The ABI, or Application Binary Interface, is the set of conventions that allow
programs written in different languages or compiled by different compilers to call each
other's functions. This article, the last in a four-part series, discusses the
PowerPC ABI for 64-bit ELF (UNIX-like) systems and how to write and call functions using it.
Knowing in detail how the 64-bit PowerPC ABI works will help you write 64-bit programs
for the POWER5 and other PowerPC-based processors more effectively, whether you program
in assembly language or not. There is also a 32-bit ABI that is not covered in this article.
|
 |
Articles |
 |
28 Feb 2007 |
|
| |
Xilinx hijinx, Part 2: Building and loading bitstreams and PowerPC code
Explore both the hardware and software sides of a complete Virtex4 project. In this second and final installment of the Xilinx hijinx series, you add and remove device cores from your project, interconnect project components, build the bitstream, integrate it with C code, and download the entire thing to the FPGA.
|
 |
Articles |
 |
22 Feb 2007 |
|
| |
Programming high-performance applications on the Cell BE processor, Part 3: Meet the synergistic processing unit
Continue looking in depth at the Cell Broadband Engine (Cell BE) processor's synergistic processor elements (SPEs) and how they work at the lowest level. This installment explores storage alignment issues and the communication facilities of the SPEs.
|
 |
Articles |
 |
22 Feb 2007 |
|
| |
UNIX tips and tricks for a new user, Part 4: Some nifty shell tricks
When writing a shell program, you often come across some special situation that you'd like to handle automatically. This tutorial includes examples of such situations from small Bourne shell scripts. These situations include base conversion from one string to another (decimal to hex, hex to decimal, decimal to octal, and so on), reading the keyboard while in a piped loop, subshell execution, inline input, executing a command once for each file in a directory, and multiple ways to construct a continuous loop. Part 4 of this series wraps up with a collection of shell one-liners that perform useful functions.
|
 |
Tutorials |
 |
20 Feb 2007 |
|
| |
Linux tip: Bash test and comparison functions
Are you confused by the plethora of testing and comparison options in the
Bash shell?
This tip helps you demystify the various types of file, arithmetic, and string tests
so you will always know when to use test, [ ], [[ ]], (( )), or if-then-else
constructs.
|
 |
Articles |
 |
20 Feb 2007 |
|
| |
developerWorks chats: Linux on the desktop
Greg Kelleher discusses why Linux can and should be a contender for end-user computing.
|
 |
|
 |
15 Feb 2007 |
|
| |
Portland improves Linux desktop portability
Portland is a new open source project that promises to simplify the deployment and commercialization of Linux applications by helping them run on multiple desktop environments, including Gnome and KDE. Although still young, Portland is available today, and it looks to be improving rapidly. Get started using the XdgUtils toolset in Portland 1.0.
|
 |
Articles |
 |
13 Feb 2007 |
|
| |
Linux tip: Printing DVI files with CUPS
Have you ever tried to print DVI or other files in Linux and gotten an
"unsupported format" message? This tip shows you how to combine existing
tools to make a CUPS print filter for printing DVI files.
|
 |
Articles |
 |
07 Feb 2007 |
|
| |
Programming high-performance applications on the Cell BE processor, Part 2: Program the synergistic processing elements of the Sony PLAYSTATION 3
Take even greater advantage of the synergistic processing elements (SPEs) of the Sony PLAYSTATION 3 (PS3) in this installment of "Programming high-performance applications on the Cell BE processor." Part 1 showed how to install Linux on the PS3 and explored a short example program. Part 2 looks in depth at the Cell Broadband Engine processor's SPEs and how they work at the lowest level.
|
 |
Articles |
 |
07 Feb 2007 |
|
| |
Remote computing with a Linux application server farm
You've heard of Web 2.0, right? Well, here's "utility computing 2.0," a combination of network booting, SSL, VNC, and other familiar concepts and technologies -- all on Linux -- that can yield dramatic returns on investment. See how the University of California set up a server farm environment to provide secure remote desktop application services for students.
|
 |
Articles |
 |
06 Feb 2007 |
|
| |
Reduce your Linux memory footprint
A lack of physical memory can severely hamper Linux performance. In this
article, learn how to accurately measure the amount of memory your Linux system
uses. You also get practical advice on reducing your memory requirements using an Ubuntu system as an example.
|
 |
Articles |
 |
31 Jan 2007 |
|
| |
Create uniform namespace using autofs with NFS Version 3 clients and servers
Do you have trouble accessing data exported from multiple file servers? If so, try using open source implementations of autofs and Lightweight Directory Access Protocol (LDAP), with Network File System (NFS) Version 3, to access data under the same global mount point. In this article, study and compare five different methods to create a uniform namespace using autofs. A handy table with a comparative evaluation is available to help you choose the best technique for your scenario.
|
 |
Articles |
 |
30 Jan 2007 |
|
| |
LPI exam 102 prep, Topic 109: Shells, scripting, programming, and compiling
In this tutorial, Ian Shields continues preparing you to take the Linux
Professional Institute Junior Level Administration (LPIC-1) Exam 102. In this fifth
in a series of nine tutorials, Ian introduces you to the Bash shell, and scripts and
programming in the Bash shell. By the end of this tutorial, you will know how to
customize your shell environment, use shell programming structures to create
functions and scripts, set and unset environment variables, and use the various
login scripts.
|
 |
Tutorials |
 |
30 Jan 2007 |
|
| |
Xilinx hijinx, Part 1: The ML403 out-of-box experience
Discover reasons you might choose an FPGA-based system over a traditional hard-IP microcontroller, and identify the learning curve traditional programmers face when meeting RAM-based programmable logic for the first time. In this new series, Lewin Edwards unpacks the Xilinx ML403 Embedded Development Kit and sorts out some of its idiosyncrasies.
|
 |
Articles |
 |
30 Jan 2007 |
|
| |
Installing a large Linux cluster, Part 2: Management server configuration and node installation
Create a working Linux(R) cluster from many separate pieces of hardware and software, including IBM System x(TM) and IBM TotalStorage(R) systems. This second part in a multipart series describes configuring the management server and installing the nodes in the cluster.
|
 |
Articles |
 |
25 Jan 2007 |
|
| |
SSL secures VNC applications
SSL provides a novel mechanism for convenient, secure access of remote desktops with VNC and standard Web browsers.
|
 |
Articles |
 |
24 Jan 2007 |
|
| |
Assembly language for Power Architecture, Part 3: Programming with the PowerPC branch processor
The last two articles discussed the outline of how programs on the POWER5 processor work using the 64-bit PowerPC instruction set, how the PowerPC instruction set addresses memory, and how to do position-independent code. This article focuses on the very powerful condition and branch instructions available in the PowerPC instruction set.
|
 |
Articles |
 |
17 Jan 2007 |
|
| |
Whistle while you work to run commands on your computer
Use Linux or Microsoft Windows, the open source sndpeek program, and a simple Perl script to read specific sequences of tonal events -- literally whistling, humming, or singing to your computer -- and run commands based on those tones. Give your computer a short low whistle to check your e-mail or unlock your your screensaver with the opening bars of Beethoven's Fifth Symphony. Whistle while you work for higher efficiency.
|
 |
Articles |
 |
09 Jan 2007 |
|
| |
Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PLAYSTATION 3
The Sony PLAYSTATION 3 (PS3) is the easiest and cheapest way for programmers to get their hands on the new Cell Broadband Engine (Cell BE) processor and take it for a drive. Discover what the fuss is all about, how to install Linux on the PS3, and how to get started developing for the Cell BE processor on the PS3.
|
 |
Articles |
 |
03 Jan 2007 |
|
| |
Charming Python: Decorators make magic easy
Python made metaprogramming possible, but each Python version has added
slightly different -- and not quite compatible -- wrinkles to the way you accomplish
metaprogramming tricks. Playing with first-class function objects has long been
around, as have techniques for peaking and poking at magic attributes. With version
2.2, Python grew a custom metaclass mechanism that went a long way, but at the cost
of melting users' brains. More recently, with version 2.4, Python has grown
"decorators," which are the newest -- and by far the most user-friendly way, so far
-- to perform most metaprogramming.
|
 |
Articles |
 |
29 Dec 2006 |
|
| |
Virtual Linux
Virtualization means many things to many people. A big focus of
virtualization currently is server virtualization, or the hosting of multiple
independent operating systems on a single host computer. This article explores the
ideas behind virtualization and then discusses some of the many ways to implement
virtualization. We also look at some of the other virtualization technologies out
there, such as operating system virtualization on Linux.
|
 |
Articles |
 |
29 Dec 2006 |
|
| |
Host multiple SSL sites on a single network card with IP aliasing
The interest in using SSL and name-based virtual hosts together is on the increase. Some people will tell you that such a thing is impossible, but you can implement virtual hosts in Apache through IP-based virtual hosts. In this article, John Liao and Jim Miles show you how.
|
 |
Articles |
 |
19 Dec 2006 |
|
| |
OpenPower Project
Welcome to the OpenPower Project! Test the latest Linux on POWER servers.
|
 |
|
 |
19 Dec 2006 |
|
| |
Lazy programming and lazy evaluation
Lazy programming is a general concept of delaying the processing of a
function or request until the results are needed. This concept has numerous
applications, from the obvious to the obscure. Thinking in terms of lazy programming
can help you rid your code of unneeded computation and restructure programs to be
more problem-oriented.
|
 |
Articles |
 |
18 Dec 2006 |
|
| |
Linux project publications: Kernel
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of kernels.
|
 |
Articles |
 |
14 Dec 2006 |
|
| |
Installing a large Linux cluster, Part 1: Introduction and hardware configuration
Create a working Linux(R) cluster from many separate pieces of hardware and software, including IBM(R) System x(TM) and IBM TotalStorage(R) systems. This part in this multipart series covers hardware configuration, including understanding architecture, planning logical network design, setting up terminal servers, and updating firmware.
|
 |
Articles |
 |
06 Dec 2006 |
|
| |
How to use IBM XL C/C++ Advanced Edition V8.0 for Linux on POWER
Linux developers using IBM Power Architecture processor-based systems can
rapidly migrate from the GNU gcc and g++ compilers (referred to as GCC) to the IBM
XL C/C++ Advanced Edition V8.0 for Linux by using the instructions in this article.
This article replaces "How to Use IBM XL C/C++ Advanced Edition V7.0 for Linux
on POWER: A guide for GCC users," published on developerWorks in December 2004.
|
 |
Articles |
 |
06 Dec 2006 |
|
| |
UNIX tips and tricks for a new user, Part 3: Introducing filters and regular expressions
Discover the power of UNIX(R) filters. In this tutorial, you'll learn about the grep family in depth, including the syntax of regular expressions in many UNIX utilities. You'll also find out more about the stream editor, sed, as well as examine the awk pattern scanning language through examples and explanations.
|
 |
Tutorials |
 |
05 Dec 2006 |
|
| |
Data visualization tools for Linux
Applications for graphical visualization of data on Linux are varied, from simple 2-D plots to 3-D surfaces, scientific graphics programming, and graphical simulation. Luckily, there are many open source possibilities, including gnuplot, GNU Octave, Scilab, MayaVi, Maxima, OpenDX, and others. Each has its advantages and disadvantages and targets different applications. Explore a variety of open source graphical visualization tools to better decide which is best for your application. [This article has been updated to include coverage of OpenDX - Ed.]
|
 |
Articles |
 |
30 Nov 2006 |
|
| |
Improve LAMP security with Apache Proxy's directive (mod_proxy)
In this article, Nick Maynard outlines a method for you to improve the security of a LAMP setup by using Apache's mod_proxy module. This article is specific to Linux; however, you can also apply some of the principles to other operating systems.
|
 |
Articles |
 |
29 Nov 2006 |
|
| |
Assembly language for Power Architecture, Part 2: The art of loading and storing on PowerPC
The previous article in this series introduced assembly language programming
using the 64-bit PowerPC instruction set on POWER5 and other processors that use
these instructions. This article drills down and discusses the specifics of 64-bit
PowerPC assembly language programming on Linux and UNIX-like operating systems,
focusing on data access methods and position-independent code.
|
 |
Articles |
 |
29 Nov 2006 |
|
| |
Linux on board: Linux powers Nokia 770
The Linux-based Nokia 770 Internet tablet is an intriguing gadget for Linux
enthusiasts. Though it lacks most of the personal information manager (PIM) apps one
would expect from a palmtop-sized device, recent advances in its development
environment make it a toybox for hobbyists and professional embedded developers
alike.
|
 |
Articles |
 |
22 Nov 2006 |
|
| |
A brief history of spam
The Linux-based Nokia 770 Internet tablet is an intriguing gadget for Linux
enthusiasts. Though it lacks most of the personal information manager (PIM) apps one
would expect from a palmtop-sized device, recent advances in its development
environment make it a toybox for hobbyists and professional embedded developers
alike.
|
 |
Articles |
 |
22 Nov 2006 |
|
| |
vi intro -- the cheat sheet method
This tutorial shows how to use vi, a powerful visual editor. Using an accelerated "cheat sheet" method, this tutorial aims to make you a proficient vi user without requiring a huge time commitment. You'll quickly learn how to move around, edit text, use insert mode, copy and paste text, and use important vim extensions like visual mode and multi-window editing.
|
 |
Tutorials |
 |
15 Nov 2006 |
|
| |
Monitor your Linux computer with machine-generated music
Use Perl and FluidSynth to create a real-time musical composition of your system status. Learn how to integrate various system monitoring data into a harmony-producing, MIDI-controlled audio synthesis. Explore audible information methods and configurations to help you monitor and manage your computing environment.
|
 |
Articles |
 |
14 Nov 2006 |
|
| |
The GNU Linear Programming Kit, Part 3: Advanced problems and elegant solutions
The GNU Linear Programming Kit (GLPK) is a powerful, proven tool for solving
numeric problems with multiple constraints. This article, the third in a three-part
series uses GLPK and the glpsol client utility with the GNU MathProg language to
solve a perfume production problem and a basketball lineup problem.
|
 |
Articles |
 |
14 Nov 2006 |
|
| |
Build a Web spider on Linux
Web spiders are software agents that traverse the Internet gathering,
filtering, and potentially aggregating information for a user. Using common
scripting languages and their collection of Web modules, you can easily develop Web
spiders. This article shows you how to build spiders and scrapers for Linux to crawl
a Web site and gather information, stock data, in this case.
|
 |
Articles |
 |
14 Nov 2006 |
|
| |
Shake some sense into your Linux ThinkPad
Place your computer on the leading edge of cathartic interfaces by modifying the kernel to reset your Linux laptop automatically when shaken during a kernel panic. Implement a shake-detection algorithm in the kernel and user space to perform automatic shutdowns and restarts when certain kinetic conditions are met.
|
 |
Articles |
 |
07 Nov 2006 |
|
| |
Debugging make
Make utilities such as GNU make, System V make, and Berkeley make, are fundamental tools for streamlining the application build process, but each one is just a little different from the others. Learn the structure of the makefile and how to avoid common mistakes in its creation, discover how to fix or work around portability issues, and pick up hints for solving other problems as they crop up.
|
 |
Articles |
 |
24 Oct 2006 |
|
| |
Charming Python: Hatch Python eggs with setuptools
David takes a look at the setuptools framework, a side project of the Python Enterprise Application Kit (PEAK). setuptools replaces the standard distutils library and adds versioned package and dependency management to Python. Perl users will be familiar with CPAN, and Ruby users with Gems; the tool ez_setup that bootstraps setuptools and the expanded easy_install that comes with it act in conjunction with "Cheeseshop" (the Python Package Index, also called "PyPI") to achieve the same thing. Moreover, setuptools lets you package your libraries in a single-file archive called an "egg," which is a lot like a Java JAR file, but for Python.
|
 |
Articles |
 |
24 Oct 2006 |
|
| |
Port your code around the world with m17n
To make Linux applications usable worldwide, with no inequity between Western dialects and the rest of the world's many languages, you must be able to deliver localized versions that input, store, retrieve, and render any language, no matter how complex. The multilingualization library, or m17n, provides a single internationalization solution for all languages on UNIX-like platforms.
|
 |
Articles |
 |
17 Oct 2006 |
|
| |
Version control for Linux
Version control systems, or source management systems, are an important aspect of modern software development. Not using one is like driving a car too fast: it's fun and you might get to your destination faster, but an accident is inevitable. This article provides an overview of Software Configuration Management (SCM) systems and their benefits, including CVS, Subversion, Arch, and Git. It also reviews the most common SCM architectures. Finally, it explores some of the new approaches that are available and how they differ from the earlier methods. [Listing 4 has been updated to reflect improvements to Git's syntax. -Ed.]
|
 |
Articles |
 |
16 Oct 2006 |
|
| |
Assembly language for Power Architecture, Part 1: Programming concepts and beginning PowerPC instructions
The POWER5 processor is a 64-bit workhorse used in a variety of settings. Starting with this introduction to assembly language concepts and the PowerPC instruction set, this series of articles introduces assembly language in general and specifically assembly language programming for the POWER5.
|
 |
Articles |
 |
03 Oct 2006 |
|
| |
Linux on board: Inside the MediaMVP
As an MP3 and MPEG player, the Hauppauge MediaMVP lets you play digital media through your television set. As a tightly purposed embedded device, it is an excellent example of a compact Linux implementation on minimal hardware.
|
 |
Articles |
 |
28 Sep 2006 |
|
| |
Secure programming with the OpenSSL API, Part 3: Providing a secure service
Without secure server applications, the need for secure client applications is nonexistent. With OpenSSL, you can create secure server applications, and, although the documentation makes it look intimidating, it's really not difficult. Learn how to build a secure server app by building on the concepts covered in Part 1 of this series.
|
 |
Articles |
 |
27 Sep 2006 |
|
| |
Taking OpenPower for a spin, Part 1: Exploring 64-bit development on POWER5
The OpenPower program offers free remote access to servers running 64-bit Linux on POWER5 processors. In Part 1 of the Taking OpenPower for a spin series, author Peter Seebach introduces the process of getting access to a system and compiling applications for it, both as 32-bit and 64-bit applications. He pays particular attention to issues unique to "guest" software development without root privileges -- something most Linux users have never had to do.
|
 |
Articles |
 |
26 Sep 2006 |
|
| |
Taking OpenPower for a spin, Part 3: How to avoid having to port your code
Why is porting even hard? In this last article of the "Taking OpenPower for a spin" series, Peter Seebach looks at what kinds of issues are involved with portability from one architecture to another and contrasts APIs with hardware interfaces.
|
 |
Articles |
 |
26 Sep 2006 |
|
| |
Taking OpenPower for a spin, Part 2: Porting issues in targeting 64-bit systems
In Part 2 of the Taking OpenPower for a spin series, Peter Seebach reviews code portability issues when porting to 64-bit systems, looking in particular at code and data portability, with concrete examples of some of the rare kinds of code that require real modification.
|
 |
Articles |
 |
26 Sep 2006 |
|
| |
Build cross-platform GUIs using wxWidgets
The wxWidgets toolkit contains powerful, cross-platform tools for graphical user interface (GUI) development. In addition to its native C++, several languages offer wrappers for use with the toolkit. Learn how to use the wxWidgets toolkit to create elegant and highly useful GUIs in your programming language of choice.
|
 |
Articles |
 |
21 Sep 2006 |
|
| |
Build cross-platform GUIs using wxWidgets
The wxWidgets toolkit contains powerful, cross-platform tools for graphical user interface (GUI) development. In addition to its native C++, several languages offer wrappers for use with the toolkit. Learn how to use the wxWidgets toolkit to create elegant and highly useful GUIs in your programming language of choice.
|
 |
Articles |
 |
21 Sep 2006 |
|
| |
LPI exam 102 prep, Topic 108: Linux documentation
In this tutorial, the fourth of a series of nine tutorials on LPI exam 102 topics, Ian Shields introduces you to Linux documentation. By the end of this tutorial, you will know how to use and manage local documentation, find documentation on the Internet, and use automated logon messages to notify users of system events.
|
 |
Tutorials |
 |
20 Sep 2006 |
|
| |
Testing and measuring the TAMS 3011, Part 6: Booting NetBSD on new hardware, the saga begins
Porting an operating system to new hardware can be a fairly easy process, or a fairly difficult one, depending on the issues you encounter. Peter Seebach walks you through his experience getting NetBSD running on a new board using existing hardware.
|
 |
Articles |
 |
19 Sep 2006 |
|
| |
NFSv4 delivers seamless network access
Network File System (NFS) has been part of the world of free operating systems and proprietary UNIX flavors since the mid-1980s. But not all administrators know how it works or why there have been new releases. A knowledge of NFS is important simply because the system is vital for seamless access across UNIX networks. Learn how the latest release of NFS, NFSv4, has addressed many criticisms, particularly with regard to security problems, that became apparent in versions 2 and 3.
|
 |
Articles |
 |
12 Sep 2006 |
|
| |
The GNU Linear Programming Kit, Part 2: Intermediate problems in linear programming
This article continues the series on using the GNU Linear Programming Kit and the glpsol client utility with the GNU MathProg language. In this installment, a diet problem shows you how to formulate a simple multi-variable and declare bidimensional parameters. A post office resource allocation problem then introduces MathProg expressions and integer-only decision variables.
|
 |
Articles |
 |
07 Sep 2006 |
|
| |
Open source robotics toolkits
Building a robot involves skills from many disciplines, including embedded firmware and hardware design, sensor selection, controls systems design, and mechanical design. But simulation environments can provide a virtual arena for testing, measuring, and visualizing robotics algorithms without the high cost (and time) of development. This article introduces you to some of the open source robotics toolkits for Linux, demonstrates their capabilities, and helps you decide which is best for you.
|
 |
Articles |
 |
05 Sep 2006 |
|
| |
Patches for developerWorks trials: Installing the compatibility patch for IBM Rational Functional Tester V6.1
trial for Linux
After you install the trial version of Rational Functional Tester V6.1 for Linux, and before you run it, you must apply a patch to update certain configuration files. The patch is required because retail versions of Rational Software Development Platform products are designed to install additional components only if some components are already installed. As a result, trial versions of these products cannot coexist with the retail versions. This article details how to apply the patch, how to update your workspace, and how to update your trial product.
|
 |
Articles |
 |
31 Aug 2006 |
|
| |
Open BIOSes for Linux
On many systems, a large portion of boot time goes into providing legacy support for MS-DOS. Various projects, including LinuxBIOS and Open Firmware, are trying to replace the proprietary BIOS systems with streamlined pieces of code able to do only what is necessary to get a Linux kernel loaded and running. This article gives a brief overview of the field.
|
 |
Articles |
 |
31 Aug 2006 |
|
| |
Patches for developerWorks trials: Installing the compatibility patch for IBM Rational Systems Developer V6.0.1
trial for Linux
After you install the trial version of Rational Systems Developer V6.0.1 for Linux, and before you run it, you must apply a patch to update certain configuration files. The patch is required because retail versions of Rational Software Development Platform products are designed to install additional components only if some components are already installed. As a result, trial versions of these products cannot coexist with the retail versions. This article details how to apply the patch, how to update your workspace, and how to update your trial product.
|
 |
Articles |
 |
31 Aug 2006 |
|
| |
Patches for developerWorks trials: Installing the compatibility patch for IBM Rational Software Modeler V6.0 trial
for Linux
After you install the trial version of Rational Software Modeler V6.0 for Linux, and before you run it, you must apply a patch to update certain configuration files. The patch is required because retail versions of Rational Software Development Platform products are designed to install additional components only if some components are already installed. As a result, trial versions of these products cannot coexist with the retail versions. This article details how to apply the patch, how to update your workspace, and how to update your trial product.
|
 |
Articles |
 |
31 Aug 2006 |
|
| |
Patches for developerWorks trials: Installing the compatibility patch for IBM Rational Software Architect V6.0
trial for Linux
After you install the trial version of Rational Software Architect V6.0 for Linux, and before you run it, you must apply a patch to update certain configuration files. The patch is required because retail versions of Rational Software Development Platform products are designed to install additional components only if some components are already installed. As a result, trial versions of these products cannot coexist with the retail versions. This article details how to apply the patch, how to update your workspace, and how to update your trial product.
|
 |
Articles |
 |
31 Aug 2006 |
|
| |
Patches for developerWorks trials: Installing the compatibility patch for IBM Rational Application Developer V6.0
trial for Linux
After you install the trial version of Rational Application Developer V6.0 for Linux, and before you run it, you must apply a patch to update certain configuration files. The patch is required because retail versions of Rational Software Development Platform products, such as Rational Application Developer V6.0, are designed to install additional components only if some components are already installed. As a result, trial versions of these products cannot coexist with the retail versions. This article details how to apply the patch, how to update your workspace, and how to update your trial product.
|
 |
Articles |
 |
29 Aug 2006 |
|
| |
Boost application performance using asynchronous I/O
The most common input/output (I/O) model used in Linux is synchronous I/O. After a request is made in this model, the application blocks until the request is satisfied. This is a great paradigm because the calling application requires no central processing unit (CPU) while it awaits the completion of the I/O request. But in some cases there's a need to overlap an I/O request with other processing. The Portable Operating System Interface (POSIX) asynchronous I/O (AIO) application program interface (API) provides this capability. In this article, get an overview of the API and see how to use it.
|
 |
Articles |
 |
29 Aug 2006 |
|
| |
Patches for developerWorks trials: Installing the compatibility patch for IBM Rational Data Architect V6.1 trial
for Linux
After you install the trial version of Rational Data Architect V6.1 for Linux, and before you run it, you must apply a patch to update certain configuration files. The patch is required because retail versions of Rational Software Development Platform products are designed to install additional components only if some components are already installed. As a result, trial versions of these products cannot coexist with the retail versions. This article details how to apply the patch, how to update your workspace, and how to update your trial product.
|
 |
Articles |
 |
29 Aug 2006 |
|
| |
LPI exam 102 prep, Topic 107: Printing
In this tutorial, the third of a series of nine tutorials on LPI exam 102 topics, Ian Shields introduces you to printing in Linux. By the end of this tutorial, you will know how to manage printers, print queues, and user print jobs on a Linux system.
|
 |
Tutorials |
 |
22 Aug 2006 |
|
| |
BusyBox simplifies embedded Linux systems
BusyBox is a single executable implementation of many standard Linux
utilities. BusyBox contains simple utilities, such as cat and echo, as well as
larger, more complex tools, such as grep, find, mount, and telnet (albeit,
with fewer options than the traditional version); some refer to BusyBox as the
Swiss Army knife of utilities. This article explores the purpose of BusyBox,
how it works, and why it's important for memory-constrained
environments.
|
 |
Articles |
 |
15 Aug 2006 |
|
| |
Using open source software to design, develop, and deploy a collaborative Web site, Part 4: Building your development environment in Linux
Install and configure in this tutorial all the software necessary to develop a Drupal-based Web site using Linux, including Eclipse, PHP, and more. When you're done, you will have a blank development canvas that you can use for any development project.
|
 |
Tutorials |
 |
11 Aug 2006 |
|
| |
Simplify data extraction using Linux text utilities
Much of Linux system administration involves tediously combing through plain-text configuration files. Fortunately, Linux has a rich array of UNIX-derived data extraction utilities, including head, tail, grep, egrep, fgrep, cut, paste, join, awk, and more. This article uses real-world examples that show how these simple command-line programs can make you a better sysadmin. This article looks at each data extraction utility and its options, applies them to typical files that are used in day-to-day work, and looks at how and why each tool is useful for pulling data from these files.
|
 |
Articles |
 |
09 Aug 2006 |
|
| |
Debugging Cell Broadband Engine systems
Software development for new architectures can be an intimidating prospect, but the Cell Broadband Engine (Cell BE) SDK 1.1 provides the debugging tools you need to tackle it for the Cell BE architecture. This article describes how to use new versions of the GNU Debugger (GDB) to diagnose problems in both PPU and SPU programs.
|
 |
Articles |
 |
08 Aug 2006 |
|
| |
The GNU Linear Programming Kit, Part 1: Introduction to linear optimization
The GNU Linear Programming Kit is a powerful, proven tool for solving numeric problems with multiple constraints. This article introduces GLPK, the glpsol client utility, and the GNU MathProg language to solve the problem of optimizing the operations for Giapetto's Woodcarving, Inc., a fictional toy manufacturer.
|
 |
Articles |
 |
08 Aug 2006 |
|
| |
Linux initial RAM disk (initrd) overview
The Linux initial RAM disk (initrd) is a temporary root file system that is mounted during system boot to support the two-state boot process. The initrd contains various executables and drivers that permit the real root file system to be mounted, after which the initrd RAM disk is unmounted and its memory freed. In many embedded Linux systems, the initrd is the final root file system. This article explores the initial RAM disk for Linux 2.6, including its creation and use in the Linux kernel.
|
 |
Articles |
 |
31 Jul 2006 |
|
| |
Linux threading models compared: LinuxThreads and NPTL
The LinuxThreads project originally brought multithreading to Linux, but LinuxThreads didn't conform to POSIX threading standards. Although the more recent Native POSIX Thread Library (NPTL) library has filled in some of the gaps, other issues remain. This article describes some of the differences between these two Linux threading models for developers who may need to port their applications from LinuxThreads to NPTL or who simply want to understand where the differences lie.
|
 |
Articles |
 |
31 Jul 2006 |
|
| |
Better error handling using Flex and Bison
Although it is easy to generate programs using Flex and Bison, it is a bit harder to make those programs produce user-friendly syntax and semantic error messages. This article examines the error-handling features of Flex and Bison, shows how to use them, and details some pitfalls.
|
 |
Articles |
 |
28 Jul 2006 |
|
| |
Knock-based commands for your Linux laptop
For the first time, you can hit your computer and get a meaningful response! Using Linux and the Hard Drive Active Protection System (HDAPS) kernel drivers, you can access the embedded accelerometers on Lenovo (formerly IBM) ThinkPads, then process the accelerometer data to read specific sequences of "knocking" events -- literally rapping on the laptop case with your knuckles -- and run commands based on those knocks. Double tap to lock the screen, and knock in your secret code to unlock. Tap the display lid once to move your mp3 player to the next track. The possibilities are endless.
|
 |
Articles |
 |
25 Jul 2006 |
|
| |
Linux on POWER: An overview for developers
Linux brings open standards, along with maximum availability and flexibility, to your business solutions. Add the proven performance and reliability of the POWER processor-based family of servers, and applications will reap the combined advantages of Linux on POWER. This paper introduces Linux on POWER hardware and software environments and is intended to provide application developers with the information they need to get started. [This article has been updated to reflect changes to IBM's eServer product offerings -- Ed.]
|
 |
Articles |
 |
24 Jul 2006 |
|
| |
Power Architecture directions: Brand-new brand for Power Architecture technology
Michael E. Sullivan of IBM discusses how Power Architecture technology is being reborn under Power.org as a community-driven architecture and brand inspired by the open-source Linux model. Learn what motivated the changes, what they will mean for customers and partners, and what the new logo symbolizes.
|
 |
Articles |
 |
24 Jul 2006 |
|
| |
POWER support for OProfile
Learn about the implementation details for extending the OProfile profiling tool to include support for the IBM POWER4, POWER5, and PowerPC 970 architectures, and see how the performance counter event specification works within OProfile.
|
 |
Articles |
 |
21 Jul 2006 |
|
| |
Porting to the Linux Standard Base
Because Linux is an open operating system, you can configure and assemble it to suit specialized purposes. However, while variety and choice are beneficial for users, heterogeneity can vex software developers who must build and support packages on a multitude of similar but subtly different platforms. Fortunately, if an application conforms to the Linux Standard Base (LSB), and a flavor of Linux is LSB compliant, the application is guaranteed to run. Discover the LSB, and learn how to port your code to the standard.
|
 |
Tutorials |
 |
18 Jul 2006 |
|
| |
Page is no longer available...
The developerWorks Linux on Power Architecture Developer's Corner has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Page is no longer available...
The "New to Linux on Power Architecture" page has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Page is no longer available...
The developerWorks Linux on Power Architecture Developer's Corner has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Page is no longer available...
The developerWorks Linux on Power Architecture Developer's Corner has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Page is no longer available...
The developerWorks Linux on Power Architecture Developer's Corner has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Page is no longer available...
The developerWorks Linux on Power Architecture Developer's Corner has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Page is no longer available...
The developerWorks Linux on Power Architecture Developer's Corner has
been permanently removed from the site.
|
 |
|
 |
12 Jul 2006 |
|
| |
Python Web frameworks, Part 2: Web development with TurboGears and Python
In this second article of a two-part series, we demonstrate TurboGears, another open source MVC-style Web application framework based on Python. Where the first article was an introduction to the Django framework, this one shows how to use TurboGears to create a Web-based shopping application and concludes with a comparison between Turbogears and Django.
|
 |
Articles |
 |
11 Jul 2006 |
|
| |
Manage source code using Git
Git is the open source revision control software that Linus Torvalds developed to help manage Linux kernel development. You can download it yourself and use it for your own kernel hacking -- or for software development projects of your own. This article shows you how to get started hacking Linux with the Git tools. [Update: Two code listings have been modified to reflect the replacement of the rsync protocol with the newer git protocol for fetching source code -- Ed.]
|
 |
Articles |
 |
06 Jul 2006 |
|
| |
Inside the Linux scheduler
The Linux kernel continues to evolve, incorporating new technologies and gaining in reliability, scalability, and performance. One of the most important features of the 2.6 kernel is a scheduler implemented by Ingo Molnar. This scheduler is dynamic, supports load-balancing, and operates in constant time -- O(1). This article explores these attributes of the Linux 2.6 scheduler, and more.
|
 |
Articles |
 |
30 Jun 2006 |
|
| |
Linux on board: This old box: Home automation using X10
One of the dreams of the '80s was that one day, around the time everyone had rocket cars, computers would control everything in your house; lighting, for instance. We don't have rocket cars, but the X10 protocol allows you to turn things on and off remotely. In this article, Peter Seebach shows how to set up and drive X10 devices using off-the-shelf hardware and a couple of hundred lines of simple code.
|
 |
Articles |
 |
29 Jun 2006 |
|
| |
LPI exam 202 prep, Topic 214: Network troubleshooting
In this tutorial, the last of a series of seven tutorials covering intermediate network administration on Linux, David Mertz finishes preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 202. This tutorial revisits earlier tutorials in the series, focusing on how to use the basic tools you've already covered to fix networking problems. The tool review is divided into two categories: configuration tools and diagnostic tools.
|
 |
Tutorials |
 |
28 Jun 2006 |
|
| |
Integrated Development Environment: C/C++ development with the Eclipse Platform
Learn how to use the C/C++ Development Toolkit (CDT), the best integrated
development environment C/C++ toolkit available for Eclipse. And get an overview
of how to use the Eclipse Platform, an integrated development environment for C and
C++ development projects.
|
 |
Articles |
 |
27 Jun 2006 |
|
| |
Contrasting Linux on POWER profilers
Profilers help pinpoint common performance problems in an application. This article compares and contrasts three commonly used open source profilers for Linux on POWER -- OProfile, gprof, and Tprof -- which are available to end users and programmers for both SUSE and Red Hat Linux distributions. To demonstrate each profiler's strengths and weaknesses, including any overhead the profilers add during runtime, this article profiles a simple sort program, incorporating three different sorting algorithms.
|
 |
Articles |
 |
21 Jun 2006 |
|
| |
LPI exam 202 prep, Topic 212: System security
In this tutorial, the sixth of seven tutorials covering intermediate network administration on Linux, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 202. By necessity, this tutorial touches briefly on a wide array of Linux-related topics from a security-conscious network server perspective, including general issues of routing, firewalls, and NAT translation and the relevant tools. It addresses setting security policies for FTP and SSH; reviews general access control with tcpd, hosts.allow, and friends; and presents some basic security monitoring tools and shows where to find security resources.
|
 |
Tutorials |
 |
13 Jun 2006 |
|
| |
Python Web frameworks, Part 1: Develop for the Web with Django and Python
In this first article of a two-part series, we show off Django, an open-source model-view-controller (MVC)-style Web application framework powered by the Python programming language. With Django, you can create high-quality, easy-to-maintain, database-driven Web applications in minutes.
|
 |
Articles |
 |
06 Jun 2006 |
|
| |
Inside the Linux boot process
The process of booting a Linux system consists of a number of stages. But whether you're booting a standard x86 desktop or a deeply embedded PowerPC target, much of the flow is surprisingly similar. This article explores the Linux boot process from the initial bootstrap to the start of the first user-space application. Along the way, you'll learn about various other boot-related topics such as the boot loaders, kernel decompression, the initial RAM disk, and other elements of Linux boot.
|
 |
Articles |
 |
31 May 2006 |
|
| |
Centralize user accounts with OpenLDAP
Building a centralized authentication system using Lightweight Directory Access Protocol (LDAP) promises to reduce administration costs, increase security, avoid data replication, and increase data consistency. As Linux has matured, better tools have emerged to ease the migration of user account information into an LDAP directory. Tools have also been developed to enable the configuration of encrypted communication between a client and the directory server and to provide fault tolerance through replication. This article shows you how to configure a server and client to use OpenLDAP on Red Hat Linux.
|
 |
Articles |
 |
30 May 2006 |
|
| |
Continuations and advanced flow control
Flow control is usually straightforward: sequence, selection, iteration. And many programmers, having been raised on these primary control structures, have a difficult time seeing what other kinds of flow control might be necessary. This article introduces continuations and teaches you to think about flow control in radically new ways.
|
 |
Articles |
 |
24 May 2006 |
|
| |
LPI exam 202 prep, Topic 210: Network client management
In this tutorial, the fifth in a series of seven tutorials covering intermediate network administration on Linux, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 210. Here, David Mertz examine several protocols' centralized configuration of network settings on clients within a network. This tutorial also discusses PAM, which is a flexible, networked, user authentication system.
|
 |
Tutorials |
 |
24 May 2006 |
|
| |
Linux project publications: Systems management
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of systems management.
|
 |
Articles |
 |
18 May 2006 |
|
| |
Linux project publications: Linux on POWER
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of Linux on POWER.
|
 |
Articles |
 |
18 May 2006 |
|
| |
SELinux from scratch
SELinux, the U.S. National Security Agency's implementation of mandatory access control, is the most prominent new security subsystem in Linux. SELinux comes installed by default in Fedora and Red Hat Enterprise Linux and is available in easy-to-install packages in other distributions. This article shows you how to convert a non-SELinux system by hand in order to expose details about how SELinux is integrated into a system.
|
 |
Articles |
 |
11 May 2006 |
|
| |
Install and use Eclipse for Linux on POWER
Eclipse is an open source community that provides a development platform and a collection of application frameworks for building software. Learn how to install and use Eclipse specifically for Linux running on IBM POWER processor-based systems. Learn, also, how to use Eclipse to compile and run applications through sample Java and C programs.
|
 |
Articles |
 |
05 May 2006 |
|
| |
Linux project publications: Software development
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of software development.
|
 |
Articles |
 |
04 May 2006 |
|
| |
Linux project publications: Standards
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of standards.
|
 |
Articles |
 |
04 May 2006 |
|
| |
Linux project publications: File systems and storage
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of filesystems and storage.
|
 |
Articles |
 |
04 May 2006 |
|
| |
The art of metaprogramming, Part 2: Metaprogramming using Scheme
Metaprogramming -- programming with code generators or writing programs that themselves write code -- has numerous useful attributes, such as simplifying code maintenance and making it easier to craft boilerplate code. The first article of this series explained why metaprogramming is necessary, looked at some of the components of metaprogramming, showed how to build a code generator, and introduced language-sensitive macro programming. In this article, learn techniques and applications of metaprogramming in the Scheme programming language, and see how macros are programmed and how they can make your large-scale programming tasks significantly easier.
|
 |
Articles |
 |
02 May 2006 |
|
| |
Embeddable scripting with Lua
Compiled programming languages and scripting languages each have unique advantages, but what if you could use both to create rich applications? Lua is an embeddable scripting language that is small, fast, and very powerful. Before you create yet another configuration file or resource format (and yet another parser to accompany it), try Lua.
|
 |
Articles |
 |
28 Apr 2006 |
|
| |
Software security analysis with BogoSec
BogoSec is a source code metric tool that wraps multiple source code scanners, invokes them on its target code, and produces a final score that approximates the security quality of the code. This article discusses the BogoSec methodology and implementation, and illustrates the output of BogoSec when run on a number of test cases, including Apache Web server, OpenSSH, Sendmail, Perl, and others.
|
 |
Articles |
 |
28 Apr 2006 |
|
| |
Secure Web site access with Perl
With Perl modules, automate the login procedures on secure Web sites.
|
 |
Articles |
 |
25 Apr 2006 |
|
| |
XML Matters: Pipestreaming microformats
An increasingly common use of XML is to move small snippets of content through an arbitrary processing workflow, much like text through UNIX pipes. The snippets can be from one document or many, whole documents or fragments, or synthesized on demand from other data sources, thus streaming is an appropriate metaphor. The microformat approach of using well-defined snippets of XML or XHTML lends itself well to this approach. You'll look at some examples of this using existing Python and Java(TM) tools and the hCard and hCalendar microformats.
|
 |
Articles |
 |
25 Apr 2006 |
|
| |
LPI exam 202 prep, Topic 208: Web services
In this tutorial, the fourth in a series of seven tutorials covering intermediate network administration on Linux, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 208. Here, David Mertz discusses how to configure and run the Apache HTTP server and the Squid proxy server.
|
 |
Tutorials |
 |
25 Apr 2006 |
|
| |
CPI analysis on POWER5, Part 2: Introducing the CPI breakdown model
Make substantial improvements in performance analysis with a CPI analysis model built on the tools introduced in Part 1. Learn ways to analyze the specific performance counter data produced by profiling runs to obtain statistics for events which the CPU cannot directly report on.
|
 |
Articles |
 |
25 Apr 2006 |
|
| |
Autonomic load balancing, Part 1: Cisco Content Switching Module
Administrators may use a CISCO Content Switching Module (CSM) and the IBM Enterprise Workload Manager (EWLM) to create an efficient, dynamic load balancing environment.
|
 |
Articles |
 |
25 Apr 2006 |
|
| |
Make UNIX and Linux work together
Examine how to use the Network Information Service (NIS) to share core databases between Linux(R) and UNIX(R), and how to use the Network File System (NFS) to share file systems, both with direct links and through the automounter. Although UNIX and Linux are similar, there are some differences between the two that can complicate the process of integrating the two systems. Both, for example, share the same authentication system, but most systems are also standalone. Sharing this authentication information enables you to provide a single sign-on (SSO) functionality to any of the servers in your network.
|
 |
Articles |
 |
18 Apr 2006 |
|
| |
Cultured Perl: Perl books, Part 2
Take a look at two divergent texts on system administration. Unix Power Tools, by Shelley Powers, Jerry Peek, Tim O'Reilly, and Mike Loukides, covers the basics in a sound, readable manner and is a must-have book for any sysadmin. Analytical Network and System Administration by Mark Burgess is an advanced take on systems administration for those with a solid grounding in theoretical computer science and mathematics.
|
 |
Articles |
 |
13 Apr 2006 |
|
| |
Porting Linux applications to 64-bit systems
With the pervasiveness of 64-bit architectures, it's more important than ever that your Linux software be 64-bit ready. Learn how to avoid portability pitfalls when making declarations and assignments, bit shifting, typing, formatting strings, and more.
|
 |
Articles |
 |
12 Apr 2006 |
|
| |
Using ReiserFS with Linux
Take a look at the ext2 (second extended file system), ext3 (third extended file system), and Reiser4 file systems and discover how to create your own Reiser4 file system. The most commonly used file system, ext2, is a traditional UNIX(R)-style file system that doesn't mix well with modern hard drive sizes. The ext3 file system adds journalling, but not much else. If you want something really advanced, you might want to check out the current Reiser4 file system.
|
 |
Articles |
 |
04 Apr 2006 |
|
| |
CPI analysis on POWER5, Part 1: Tools for measuring performance
This article begins a short series on workload performance analysis on Power Architecture systems. Part 1 introduces the CPU feature set and a variety of useful tools for collecting data.
|
 |
Articles |
 |
04 Apr 2006 |
|
| |
LPI exam 102 prep, Topic 106: Boot, initialization, shutdown, and runlevels
In this tutorial, Ian Shields continues preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 102. In this second in a series of nine tutorials, Ian introduces you to startup and shutdown on Linux. By the end of this tutorial, you will know guide a system through booting, set kernel parameters, and shut down or reboot a system.
|
 |
Tutorials |
 |
04 Apr 2006 |
|
| |
Speed your code with the GNU profiler
Improving the performance of your applications is rarely a wasted effort, but it's not always clear which functions the program is spending most of its execution time on. Learn how to pinpoint performance bottlenecks using gprof for both user-space and system calls on Linux.
|
 |
Articles |
 |
03 Apr 2006 |
|
| |
Distributed multihead support with Linux and Xdmx
Learn about the tools available to develop your own multiscreen configuration and physical layout to enhance your computing experience. You can use Linux and Xdmx to create one contiguous desktop across multiple display devices attached to separate computers. Combine your available laptop and desktop computers running Linux to create one large display for enhanced productivity. Explore large-scale display-wall setups and the creation of multihead setups without purchasing graphics cards.
|
 |
Articles |
 |
28 Mar 2006 |
|
| |
DSL Linux: Small distro that packs a big punch
Need a teeny-tiny, business-card-sized, open source operating system that squeezes a lot of software into a little space? Take a look at DSL Linux. This quick review shows you how to use the miniscule OS, highlights the on-board applications, details how to load and start it, and explains how to save between sessions when using a bootable CD.
|
 |
Articles |
 |
22 Mar 2006 |
|
| |
Install and configure General Parallel File System (GPFS) on xSeries
Walk through a simple General Parallel File System (GPFS) implementation. In the Linux(R) world today, you have a variety of file systems available, such as ext2, ext3, ReiserFS, JFS, and so on. Similarly, in the clustered environment, you need a file system that can scale well, give better throughput, and provide high fault tolerance. The IBM GPFS fits the bill. It has large block size support with wide striping, parallel access to files from multiple nodes, token management, and more.
|
 |
Articles |
 |
21 Mar 2006 |
|
| |
LPI exam 102 prep, Topic 105: Kernel
In this tutorial, Ian Shields begins preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 102. In this first in a series of nine tutorials, Ian introduces you to the kernel on Linux. By the end of this tutorial, you will know how to build, install, and query a Linux kernel and its kernel modules.
|
 |
Tutorials |
 |
21 Mar 2006 |
|
| |
LPI exam 102 prep, Topic 105: Kernel
In this tutorial, Ian Shields begins preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 102. In this first in a series of nine tutorials, Ian introduces you to the kernel on Linux. By the end of this tutorial, you will know how to build, install, and query a Linux kernel and its kernel modules.
|
 |
Tutorials |
 |
21 Mar 2006 |
|
| |
Cultured Perl: Perl books, Part 1
Take a tour of two solid additions to any Perl library, the beginner-oriented Randal Schwartz's Perls of Wisdom by Randal Schwartz, and the more advanced Higher-Order Perl by Mark Jason Dominus.
|
 |
Articles |
 |
15 Mar 2006 |
|
| |
Access the Linux kernel using the /proc filesystem
The /proc filesystem is a virtual filesystem that permits a novel approach
for communication between the Linux kernel and user space. In the /proc filesystem,
virtual files can be read from or written to as a means of communicating with
entities in the kernel, but unlike regular files, the content of these virtual files
is dynamically created. This article introduces you to the /proc virtual filesystem
and demonstrates its use.
|
 |
Articles |
 |
14 Mar 2006 |
|
| |
Migrating from x86 to PowerPC, Part 9: Sensors, sensors, sensors!
From schematics to code, get a leg up on building your own robot submarine.
Building on previous successes, Lewin Edwards shows how to add more sensors to your
submarine, looking at the design requirements of different sensors and ways of
sanity checking the results they provide.
|
 |
Articles |
 |
14 Mar 2006 |
|
| |
Automate OS switching on a dual-boot Linux system
Switch from one operating system to another -- without manual intervention -- by following these step-by-step instructions for enabling a dual-boot machine. Duplicate this setup for running both Linux and Windows on your own machine with the scripts provided with this article.
|
 |
Articles |
 |
08 Mar 2006 |
|
| |
GTK+ fundamentals, Part 3: How to deploy GTK+
The previous two articles in this "GTK+ fundamentals" series explained what GTK+ is and what it's used for. This article, the final installment in the series, covers everything you need to get your product to the user -- that is, you learn how to deploy a GTK+ application.
|
 |
Articles |
 |
07 Mar 2006 |
|
| |
Effective management of system logs
Provide solid information resources to decision makers. Discover a simple, but useful, application of the combined processing capabilities of awk and XML that you can use to present UNIX(R) system data in a reader-friendly form suitable for posting to the company intranet or Internet. UNIX generates useful system performance, usage, cost, and related data that management and other interested stakeholders can use.
|
 |
Articles |
 |
07 Mar 2006 |
|
| |
Multifunction multimedia machine, Part 4: Mixing hardware and software for cost control
Explore the technical issues in video playback, and see how a blend of hardware and software achieves good performance at a reasonable cost. Also, Lewin Edwards reveals that MP3 does not mean MPEG-3, which alone is worth the price of admission.
|
 |
Articles |
 |
07 Mar 2006 |
|
| |
The art of metaprogramming, Part 3: Enterprise metaprogramming
Enterprise metaprogramming is becoming more common all the time as graphical and textual utilities make programming tasks easier and more descriptive, all because of the continuing formalization process occurring under the Object Management Group's Model Driven Architecture (MDA). This article, the third in a three-part series, explores the limits of metaprogramming, describes MDA and the problems it can solve, and presents a short example of a textual system that uses MDA.
|
 |
Articles |
 |
28 Feb 2006 |
|
| |
Better networking with SCTP
The Stream Control Transmission Protocol (SCTP) is a reliable transport protocol that provides stable, ordered delivery of data between two endpoints (much like TCP) and also preserves data message boundaries (like UDP). However, unlike TCP and UDP, SCTP offers such advantages as multi-homing and multi-streaming capabilities, both of which increase availability. In this article, get to know the key features of SCTP in the Linux 2.6 kernel and take a look at the server and client source code that shows the protocol's ability to deliver multi-streaming.
|
 |
Articles |
 |
28 Feb 2006 |
|
| |
Develop your own filesystem with FUSE
With Filesystem in Userspace (FUSE), you can develop a user space filesystem framework without understanding filesystem internals or learning kernel module programming. Follow this simple, step-by-step guide to install, customize, and enable FUSE and AFS, so you can create your own fully functional filesystem in user space in Linux.
|
 |
Articles |
 |
28 Feb 2006 |
|
| |
Automate client management with the Service Location Protocol
The Service Location Protocol (SLP) is an Internet Standard RFC and software framework that allows networking applications to discover and configure network services. You can use SLP to develop zero-configuration applications and simplify administration of networked devices. This article introduces SLP and its architecture, and then demonstrates the protocol's use with an open source implementation.
|
 |
Articles |
 |
22 Feb 2006 |
|
| |
High-performance cluster using MPI, Part 2: Use ch_p4mpd to install and configure MPI on OpenPower 720
There are numerous ways of setting up a cluster. This series concentrates on how to set up a high-performance cluster. You'll learn how to build and install a Message Passing Interface (MPI) in two different modes. Part 1 of the series deals with using ch_p4 and Part 2 covers ch_p4mpd.
|
 |
Articles |
 |
14 Feb 2006 |
|
| |
LPI exam 101 prep, Topic 110: The X Window System
In this tutorial (the last in a series of five tutorials), Ian Shields introduces you to the X Window System on Linux, and in doing so, continues preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 101. In this tutorial, you learn how to install and maintain the X Window System. This tutorial covers both major packages for X on Linux: XFree86 and X.Org.
|
 |
Tutorials |
 |
14 Feb 2006 |
|
| |
Convert device drivers to Linux on Power
There are several considerations when converting a driver to the Power architecture. Get an overview of some of the details necessary to convert an existing device driver to Linux on Power.
|
 |
Articles |
 |
13 Feb 2006 |
|
| |
High-performance cluster using MPI, Part 1: Use ch_p4 to install and configure MPI on OpenPower 720
There are numerous ways of setting up a cluster. This series concentrates on how to set up a high-performance cluster. You'll learn how to build and install a Message Passing Interface (MPI) in two different modes. Part 1 of the series deals with using ch_p4 and Part 2 covers ch_p4mpd.
|
 |
Articles |
 |
09 Feb 2006 |
|
| |
Boost socket performance on Linux
The Sockets API lets you develop client and server applications that can communicate across a local network or across the world via the Internet. Like any API, you can use the Sockets API in ways that promote high performance -- or inhibit it. This article explores four ways to use the Sockets API to squeeze the greatest performance out your application and to tune the GNU/Linux environment to achieve the best results. (Editor's note: we updated Tip 3 to correct an error in the calculation for Bandwidth Delay Product (BDP), spotted by an alert reader.)
|
 |
Articles |
 |
03 Feb 2006 |
|
| |
Linux SEK 2005 Release 1: Basic tasks for new Linux developers
IBM offers extensive trial software for Linux. In most cases, installling it on a Linux system requires you to log in, become the super user (or root) for some tasks, open a terminal or shell window, and mount a CD-ROM. If you are new to Linux, this article will guide you through these tasks and more. You can get trial IBM software for Linux by ordering the Linux Software Evaluation Kit (SEK) 2005 Release 1 or by downloading the trial products directly from developerWorks.
|
 |
Articles |
 |
01 Feb 2006 |
|
| |
Rock your desktop with entertainment LiveCDs
Listen to music and watch DVDs on your Linux system without lengthy installation and configuration efforts. Learn about four packages -- MoviX2, GeeXBoX, WOMP!, and LLGP -- that put the fun back into your computer.
|
 |
Articles |
 |
31 Jan 2006 |
|
| |
Distribute software on a Linux LiveCD
Linux LiveCDs contain the operating system and applications all on a single CD and are a handy way to distribute software when compactness, portability, and/or security matter.
|
 |
Articles |
 |
31 Jan 2006 |
|
| |
Back to school with education LiveCDs
Make open source education tools available on your Linux system without lengthy installation and configuration efforts. Discover three packages -- FreeDUC, Knoppix for Kids, and Vigyaan -- that make it easy to set up a learning environment.
|
 |
Articles |
 |
31 Jan 2006 |
|
| |
Restore compromised systems with diagnostics LiveCDs
Want to assess your Linux system's integrity and recover lost data without lengthy installation and configuration efforts? Get to know two packages -- Helix and Plan-B -- that bring you that ability through the magic of LiveCD.
|
 |
Articles |
 |
31 Jan 2006 |
|
| |
LDAP-based authentication for Samba
In this tutorial, learn how to install and configure Samba as a primary domain controller with a secure LDAP-based authentication mechanism. The completed system boasts a secure file- and print-sharing setup, in addition to a robust LDAP server that could be used for purposes beyond those required by Samba. Additionally, Windows clients can log on to your Samba server and have shared drives automatically mounted for them based on their group membership.
|
 |
Tutorials |
 |
31 Jan 2006 |
|
| |
Statistical programming with R, Part 3: Reusable and object-oriented programming
R is rich statistical environment, released as free software, that includes a programming language, an interactive shell, and extensive graphing capability. This article follows up David's two prior installments (written with Brad Huntting) and looks at the object-orientation in R along with some additional general programming concepts in R.
|
 |
Articles |
 |
26 Jan 2006 |
|
| |
IBM NFS/DFS Authentication Gateway
Take advantage of the new features Network File System Version 4 (NFS Version 4) now has to offer. With the ever-growing storage needs in large enterprises and NFS implementations offering more and more features, it makes business sense for enterprises to migrate to NFS Version 4. In this article, we discuss the need and various strategies for migrating from the IBM Distributed Computing Environment (DCE)/Distributed File System(TM) (DFS(TM)) infrastructure to NFS Version 4 on AIX(R) and Linux(R).
|
 |
Articles |
 |
26 Jan 2006 |
|
| |
Create mosaic images with Perl and ImageMagick
Use simple Perl scripts to automate the image manipulation, text creation, and compositing of arbitrary mosaic images. Learn how to use ImageMagick, GD, and The Gimp to create your own mosaic images suitable for static display and dynamic content. Explore the capabilities of ImageMagick and open source graphical editing tools.
|
 |
Articles |
 |
24 Jan 2006 |
|
| |
Alternative Linux distributions for POWER processor-based systems
Review several alternative Linux distributions for the POWER5 platform. This article discusses a test environment and the installation of Debian, Gentoo, openSUSE 10, and Fedora Core 4 on an IBM eServer OpenPower 720 system in a variety
of configurations.
|
 |
Articles |
 |
20 Jan 2006 |
|
| |
Create your own real-time visual effects
Use EffecTV and Simple DirectMedia Layer (SDL) to create your own real-time visual effects on live video. Learn how to integrate geometric primitives, bitmap image loading, and simple motion tracking to create your own games, leading-edge user interfaces, or immersive environments. Explore the EffecTV and SDL architectures, and learn how to harness the power of open source video processing on Linux.
|
 |
Articles |
 |
17 Jan 2006 |
|
| |
Install Enterprise Linux on IBM p5 servers from network
In this article, you will learn how to boot an eServer(TM) p5 server and install Red Hat(R) Enterprise Linux(R) on it from network. Testers, developers, and technical supporters who need to install Linux on eServer p5 servers will find this material beneficial and cost effective. Before you begin the installation process, you need to have a basic knowledge of Red Hat or Enterprise Linux installation, Linux network configuration, and p5 server LPAR operation using the Hardware Management Console (HMC).
|
 |
Articles |
 |
12 Jan 2006 |
|
| |
Secure Java apps on Linux using MD5 crypt
UNIX/Linux PAM-compatible systems use authentication based on the GNU MD5 extensions to the crypt() system call. This article explains these extensions and shows you a Java implementation of MD5 crypt that is compatible with UNIX/Linux systems.
|
 |
Articles |
 |
10 Jan 2006 |
|
| |
LPI exam 101 prep, Topic 104: Devices, Linux filesystems, and the Filesystem Hierarchy Standard
In this tutorial (the fourth in a series of five tutorials), Ian Shields introduces you to Linux devices, filesystems, and the Filesystem Hierarchy Standard, and in doing so, continues preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 101. This tutorial shows you how to create and format partitions with different Linux filesystems and how to manage and maintain those systems.
|
 |
Tutorials |
 |
28 Dec 2005 |
|
| |
Linux screensaver for Windows
Construct and package a Linux LiveCD so that it will install using the standard Microsoft Windows install process and will operate as a standard Windows screensaver. Answering the most common concern about open source software, this article shows that, yes, Linux will run under Windows.
|
 |
Articles |
 |
20 Dec 2005 |
|
| |
Install WebSphere Application Server V6.0 for Linux on POWER
Install, configure, and verify the installation of IBM WebSphere Application Server V6.0 for Linux on POWER. The steps in this article cover the use of the Administrative Console and the sample programs. The article also investigates a J2EE e-commerce application called Plants by WebSphere, which is included with WebSphere Application Server.
|
 |
Articles |
 |
16 Dec 2005 |
|
| |
Linux on board: Zaurus pioneers embedded Linux
The Sharp Zaurus handheld was a pioneer of embedded Linux, and even though the Linux version is not around much any more, Peter Seebach thinks it's a good idea to pay tribute to this early-adopter technology. In this installment of the Linux on board series, Peter dismantles the Zaurus SL-5600 to get a better look into history.
|
 |
Articles |
 |
13 Dec 2005 |
|
| |
IBM middleware on OpenPower: IBM WebSphere Application Server Version 6.0
Learn how to install and configure IBM WebSphere(R) Application Server (Application Server) Version 6.0 on an OpenPower(TM) machine running Red Hat Linux(R). IBM has both database and application server components available on OpenPower to help any developer community.
|
 |
Articles |
 |
08 Dec 2005 |
|
| |
Install a touchscreen for Linux
Historically, the lack of friendly interfaces has been an obstacle to making Linux a commercially viable product for end users, but with available GUIs, that's yesterday's news. What's the next step in creating an easy-to-use Linux-based product for consumers? Imagine adding a user-oriented LCD touchscreen. A touchscreen facade can make back-end Linux applications very usable in such devices as custom digital media centers (either in the home or in automobiles), DVRs and PVRs, and even control interfaces for household robots. The potential uses are limited only by the imagination. In this article, get an overview for installing an LCD taken from a Sony PSOne, creating a modeline, and installing a touchscreen -- all for Linux.
|
 |
Articles |
 |
06 Dec 2005 |
|
| |
Signals as a Linux debugging tool
By focusing on the analysis of data captured using signal handlers, you can speed up the most time-consuming part of debugging: finding the bug. This article gives a background on Linux signals with examples specifically tested on PPC Linux, then goes on to show how to design your handlers to output information that lets you quickly home in on failed portions of code.
|
 |
Articles |
 |
29 Nov 2005 |
|
| |
Java environments for Linux on POWER architecture
This article provides a brief overview of the currently available Java Development Kits (JDKs) and Java Runtime Environments (JREs) for Linux on POWER. It covers the Linux distributions running on the IBM eServer iSeries, including eServer i5; eServer pSeries, including eServer p5; eServer BladeCenter JS20; and eServer OpenPower.
|
 |
Articles |
 |
22 Nov 2005 |
|
| |
LPI exam 202 prep, Topic 206: Mail and news
In this tutorial, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 202. In this second of a series of seven tutorials on network administration on Linux, you learn how to use Linux as a mail server and as a news server. This tutorial covers mail transport, local mail filtering, and mailing list maintenance software. It also briefly discusses server software for the NNTP protocol.
|
 |
Tutorials |
 |
22 Nov 2005 |
|
| |
LPI exam 101 prep, Topic 103: GNU and UNIX commands
In this tutorial (the third in a series of five tutorials), Ian Shields introduces you to the Linux command line and several GNU and UNIX commands, and in doing so, continues preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 101. This tutorial helps you learn to use commands on a Linux system.
|
 |
Tutorials |
 |
15 Nov 2005 |
|
| |
Use the Integrated Virtualization Manager with Linux on POWER
The IBM Integrated Virtualization Manager (IVM) is a new component of the Virtual I/O Server, which is included with the Advanced Power Virtualization feature. With the use of IVM, customers can now manage partitions on an IBM POWER5 server without a Hardware Management Console (HMC). This paper presents an overview of the functionality of IVM, lists some of the differences between the IVM and the HMC, and illustrates how to use IVM to create and manage Linux on POWER partitions.
|
 |
Articles |
 |
15 Nov 2005 |
|
| |
Open source licensing, Part 2: Academic v. reciprocal
Open source licenses provide the legal foundation for propagation of open source code. This article, the second of two in the "Open source licensing" series, explores the two most popular forms of open source licenses -- the academic license and the reciprocal license -- and describes the obligations of licensees that accept the terms of each.
|
 |
Articles |
 |
15 Nov 2005 |
|
| |
Handle synchronous events from shared objects in Linux
Making effective use of shared memory in high-level languages such as C++ is not straightforward, but it is possible to overcome the inherent difficulties. This article describes, and includes sample code for, two C++ design patterns that use shared memory on Linux in interesting ways and open the door for more efficient interprocess communication.
|
 |
Articles |
 |
10 Nov 2005 |
|
| |
LPI exam 202 prep, Topic 205: Networking configuration
In this tutorial, David Mertz begins preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 202. In this first of a series of seven tutorials on network administration on Linux, you learn to configure a basic TCP/IP network, from the hardware layer (usually Ethernet, modem, ISDN, or 802.11) through the routing of network addresses.
|
 |
Tutorials |
 |
08 Nov 2005 |
|
| |
RAID on Linux on POWER
Learn about software and hardware redundant array of independent disks (RAID) implementations on a Linux on POWER server. In some regards, this paper is a response to some of the questions and pitfalls in RAID setup. Therefore, this paper includes a foundation on RAID itself, the Linux on POWER boot process, software and hardware RAID, and an example of how to configure hardware RAID.
|
 |
Articles |
 |
03 Nov 2005 |
|
| |
Clustering solutions for Linux on IBM System p5 Express servers
Learn how to build a Linux High Availability (HA) cluster and a High Performance Computing (HPC) cluster on IBM POWER processor-based servers.
|
 |
Articles |
 |
02 Nov 2005 |
|
| |
Debugging simulated hardware on Linux, Part 1: Device driver debugging
This two-part series is geared toward easing device driver development. This first part illustrates proven methods you can use to test the complete code flow of a device driver during the design, development, and debugging stages.
|
 |
Articles |
 |
02 Nov 2005 |
|
| |
Debugging simulated hardware on Linux, Part 2: Create an environment for virtual device driver development
This two-part series is geared toward easing device driver development. This second part describes the various strategies and implementation details that you can apply to interrupt simulation, including the prerequisites, hardware, software setup, and test cases for testing the Interrupt Service Routine (ISR).
|
 |
Articles |
 |
02 Nov 2005 |
|
| |
Install SUSE SLES9 with software RAID and LVM using Service Pack 2
Get step-by-step instructions on how to install SUSE LINUX Enterprise
Server (SUSE SLES9) with Software RAID (Redundant Array of Inexpensive Disks)
and LVM (Logical Volume Management) using Service Pack 2. Due to a different
boot loader, Software RAID on POWER is different from using Software RAID on
Intel(R). If you need to install Service Pack 1, "Install SUSE SLES9 with
Software RAID and LVM using Service Pack 1" provides detailed installation
instructions.
|
 |
Articles |
 |
27 Oct 2005 |
|
| |
High performance Linux clustering, Part 2: Build a working cluster
High Performance Computing (HPC) has become easier, and two reasons are the adoption of open source software concepts and the introduction and refinement of clustering technology. This second of two articles discusses parallel programming using MPI and gives an overview of cluster management and benchmarking. It also shows you how to set up a Linux cluster using OSCAR, an open source project for setting up robust clusters.
|
 |
Articles |
 |
27 Oct 2005 |
|
| |
IBM Middleware on OpenPOWER: IBM DB2 Universal Database Version 8.2
Get detailed instructions on how to install and configure IBM DB2(R) Universal Database(TM) Version 8.2 (UDB) on an OpenPower(TM) running Red Hat Enterprise Linux(R) (RHEL). As you know, any server without an application server or database doesn't have much to offer to the developer community. IBM has both database and application server components available on OpenPower to help you. Follow along as IBM Linux Architect Harish Chauhan guides you through this process.
|
 |
Articles |
 |
27 Oct 2005 |
|
| |
Developing embedded apps with eSWT
See how the embedded Standardb Widget Toolkit (eSWT) differs from the usual Standard Widget Toolkit (SWT) and get some best tips and practices for using it as you develop your own eSWT application based on the Model-View-Controller (MVC) framework. The article also discusses how to develop, deploy, and test a Service Management Framework (SMF) bundle using eSWT.
|
 |
Articles |
 |
25 Oct 2005 |
|
| |
The art of metaprogramming, Part 1: Introduction to metaprogramming
One of the most under-used programming techniques is writing programs that generate programs or program parts. Learn why metaprogramming is necessary and look at some of the components of metaprogramming (textual macro languages, specialized code generators). See how to build a code generator and get a closer look at language-sensitive macro programming in Scheme.
|
 |
Articles |
 |
20 Oct 2005 |
|
| |
Sockets programming in Ruby
This tutorial shows how to develop sockets-based networking applications using the Ruby language. You learn Ruby basics as well as the most important classes for sockets programming, and then look at a working chat application that illustrates these fundamentals. The tutorial finishes by exploring the higher-level classes that make it easy to build dynamic Web servers, mail servers and clients, and other application-layer protocols.
|
 |
Tutorials |
 |
11 Oct 2005 |
|
| |
Automate your team's build and unit-testing process
Extreme programming and agile methods recommend that the development process include continuous integration and unit testing. A pragmatic way to support these practices is to set up an automated system to build and test the latest version of your source code every time it changes. This article guides you through the practical issues involved in setting up your own Linux-based build server for Java projects.
|
 |
Articles |
 |
11 Oct 2005 |
|
| |
Open source licensing, Part 1: The intent
The phrase "open source license" refers to a large number of agreements that license the copyrights inherent in software widely, fairly, and with the fewest restrictions possible. This article -- the first of two -- describes the tenets of copyright and explains the intents of an open source license. Part 2 of this series explores individual licenses, such as the GNU Public License and the Apache License.
|
 |
Articles |
 |
04 Oct 2005 |
|
| |
Sockets programming in Python
This tutorial shows how to develop sockets-based networking applications using Python. In this tutorial, you first learn a few Python basics and see why Python makes a good network programming language. Then you move on to the basic sockets features of Python, using a sample chat application as a guide, and look at several other, high-level, classes that provide asynchronous communications.
|
 |
Tutorials |
 |
04 Oct 2005 |
|
| |
Linux project publications: RAS
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community on the topic of Reliability, Availability, and Serviceability (RAS).
|
 |
Articles |
 |
30 Sep 2005 |
|
| |
Dynamic logical partitioning for Linux on POWER
A powerful feature of the POWER5(TM) architecture is its capability to support server consolidation through the use of logical partitioning (LPAR). Dynamic logical partitioning increases the flexibility of partitioned systems by enabling administrators to add, remove, or move system resources between partitions without the need to reboot the partition. This paper is intended for Linux(R) on POWER(TM) system administrators or application developers who want to learn how to enable dynamic LPAR on Linux, how it is used to control a partitionâs resources, and how to determine the changes in these resources.
|
 |
Articles |
 |
29 Sep 2005 |
|
| |
Install SUSE SLES9 with Software RAID and LVM using Service Pack 1
Get step-by-step instructions on how to install SUSE LINUX Enterprise Server (SUSE SLES9) with Software RAID (Redundant Array of Inexpensive Disks) and LVM (Logical Volume Management) using Service Pack 1. Software RAID on POWER is different from using Software RAID on Intel(R), due to a different boot loader. Information on using Service Pack 2 is also available.
|
 |
Articles |
 |
29 Sep 2005 |
|
| |
Take charge of processor affinity
Knowing a little bit about how the Linux 2.6 scheduler treats CPU affinity can help you design better userspace applications. Soft affinity means that processes do not frequently migrate between processors, whereas hard affinity means that processes run on processors you specify. This article describes current affinity mechanisms, explains why and how to use hard affinity, and provides sample code showing you how to use the available functionality.
|
 |
Articles |
 |
29 Sep 2005 |
|
| |
High-performance Linux clustering, Part 1: Clustering fundamentals
High Performance Computing (HPC) has become easier, and two reasons are the adoption of open source software concepts and the introduction and refinement of clustering technology. This first of two articles discusses the types of clusters available, uses for those clusters, reasons clusters have become popular for HPC, some fundamentals of HPC, and the role of Linux in HPC.
|
 |
Articles |
 |
27 Sep 2005 |
|
| |
Five pitfalls of Linux sockets programming
The Sockets API is the de facto standard API for networking applications development. Although the API is simple, new developers can experience some common problems. This article identifies the most common of these pitfalls and shows you how to overcome them.
|
 |
Articles |
 |
20 Sep 2005 |
|
| |
Mono brings .NET apps to Linux
Mono, the open source development platform based on .NET, lets you build powerful, flexible Linux applications and still take advantage of cross-platform capabilities using a variety of .NET-compatible languages. This article walks you through installing Mono on your system and developing your first sample Mono-compiled C# application that runs on both Linux and Windows.
|
 |
Articles |
 |
19 Sep 2005 |
|
| |
Charming Python: Scaling a new PEAK
The Python Enterprise Application Kit (PEAK) is a Python framework for rapidly developing and reusing application components. While Python itself is already a very high-level language, PEAK provides even higher abstractions. One fairly recent capability added to PEAK is the capability to create generic functions and specifically to dispatch them on predicates, not simply on type. Sounds mysterious? Let's investigate.
|
 |
Articles |
 |
15 Sep 2005 |
|
| |
Cultured Perl: Perl polishes its Unicode support
Although Perl 6 with its promised Unicode support is right around the corner, the Unicode features built into Perl 5.8.6 are reason enough to get started writing localized apps. Using his preferred editor, Yudit, Ted shows how Perl can read, interpret, and manipulate UTF-8-encoded Unicode.
|
 |
Articles |
 |
15 Sep 2005 |
|
| |
Introduction to license management for Linux on POWER
As a Linux on POWER independent software vendor, how do you deal with the issue of licensing your product in a manner that adequately balances your customers' needs with your concerns about revenue growth and the unique features of the POWER5 architecture? This paper provides an overview of traditional license management methods, discusses specific Linux on POWER features that can affect licensing, and lists several currently available license management solutions for you to consider.
|
 |
Articles |
 |
14 Sep 2005 |
|
| |
LPI exam 101 prep, Topic 102: Linux installation and package management
In this tutorial (the second in a series of five tutorials), Ian Shields introduces you to Linux installation and package management, and in doing so, continues preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 101. In this tutorial, you learn how Linux uses disk partitions, how Linux boots, and how to install and manage software packages.
|
 |
Tutorials |
 |
09 Sep 2005 |
|
| |
Install SUSE LINUX Enterprise Server 9 on POWER5
Create a Linux partition on a POWER5 server. Learn how to create the Linux partition with the Hardware Management Console, using the Web-based System Manager Remote Client, and install SUSE Linux Enterprise Server 9 from a file server, using VNC for a graphical installation.
|
 |
Demos |
 |
07 Sep 2005 |
|
| |
Power Architecture downloads and documentation: Service updates for clustering software
Download service updates for clustering technology as they become available: CSM, GPFS, LoadLeveler, ESSL, HACMP, and HPS. Plus, find a roundup of the ABCs of z/OS Programming volumes, the z9/zSeries Connectivity Handbook, and Redbooks on z/OS Diagnostic Data Collection/Analysis and z/OS 1.6 Security Services.
|
 |
Articles |
 |
06 Sep 2005 |
|
| |
LPI exam 201 prep, Topic 213: System customization and automation
In this tutorial, David Mertz and Brad Huntting continue preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this seventh of eight tutorials, you learn basic approaches to scripting and automating system events, including report and status generation, clean up, and general maintenance.
|
 |
Tutorials |
 |
02 Sep 2005 |
|
| |
LPI exam 201 prep, Topic 214: Troubleshooting
In this tutorial, Brad Huntting and David Mertz continue preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. The last of eight tutorials, this tutorial focuses on what you can do when things go wrong. It builds on material already covered in more detail in earlier tutorials.
|
 |
Tutorials |
 |
02 Sep 2005 |
|
| |
LPI exam 201 prep, Topic 211: System maintenance
In this tutorial, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this sixth of eight tutorials, you learn basic concepts of system logging, software packaging, and backup strategies.
|
 |
Tutorials |
 |
02 Sep 2005 |
|
| |
LPI exam 201 prep, Topic 209: File and service sharing
In this tutorial, Brad Huntting and David Mertz continue preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this fifth of eight tutorials, you learn how to use a Linux system as a networked file server using any of several protocols supported by Linux.
|
 |
Tutorials |
 |
02 Sep 2005 |
|
| |
LPI exam 201 prep, Topic 204: Hardware
In this tutorial, David Mertz and Brad Huntting continue preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this fourth of eight tutorials, you learn how to add and configure hardware to a Linux system, including RAID arrays, PCMCIA cards, other storage devices, displays, video controllers, and other components.
|
 |
Tutorials |
 |
01 Sep 2005 |
|
| |
LPI exam 201 prep, Topic 203: Filesystem
In this tutorial, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this third of eight tutorials, you will learn how to control the mounting and unmounting of filesystems, examine existing filesystems, create filesystems, and perform remedial actions on damaged filesystems.
|
 |
Tutorials |
 |
31 Aug 2005 |
|
| |
LPI exam 201 prep, Topic 202: System startup
In this tutorial, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this second of a series of eight tutorials, you will learn the steps a Linux system goes through during system initialization, and how to modify and customize those behaviors for your specific needs.
|
 |
Tutorials |
 |
30 Aug 2005 |
|
| |
LPI exam 201 prep, Topic 201: Linux kernel
In this tutorial, David Mertz begins preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. In this first of a series of eight tutorials, you will learn to understand, compile, and customize a Linux kernel.
|
 |
Tutorials |
 |
29 Aug 2005 |
|
| |
Linux on board: Little calendar challenges big groupware
Expensive groupware is simply overkill when all you want is to decide whose turn it is to do the dishes. This month, Peter uses his old Linux box to build a miniscule Web-based household calendar. In this column, Peter looks at Linux running on various kinds of hardware -- PDAs, embedded devices, or just ancient hardware no one thought was useful anymore. He alternates between looking at specific Linux devices and showing you in detail how to use Linux on decrepit hardware that's past its reputed prime.
|
 |
Articles |
 |
26 Aug 2005 |
|
| |
Port Windows IPC apps to Linux, Part 3: Mutexes, critical sections, and wait functions
The wave of migration to open source in business has the potential to cause a tremendous porting traffic jam as developers move the pervasive Windows applications to the Linux platform. In this three-part series, you get a mapping guide, complete with examples, to ease your transition from Windows to Linux. This part takes a look at mutexes, critical sections, and wait functions.
|
 |
Articles |
 |
25 Aug 2005 |
|
| |
Boot loader showdown: Getting to know LILO and GRUB
Most Linux users, from the casual desktop user to the Linux system administrator, have used a utility known as a boot loader. Different variations of this utility provide varying levels of support and functionality. In many cases, the default boot loader installed with a Linux distribution is not always the best for your needs; the same can be said for the default settings of each boot loader. In this article, Laurence Bonney discusses the pros and cons of two of the more popular boot loaders -- LILO and GRUB -- and suggests a number of configurations to get the most from your machine.
|
 |
Articles |
 |
24 Aug 2005 |
|
| |
Linux on OpenPower
Support for Linux now spans across all IBM brands and IBM eServer OpenPower is no exception. Follow along as IBM Linux Architect Harish Chauhan guides you through the process of how to install and configure Red Hat Enterprise Linux (RHEL) / SUSE Linux Enterprise Server (SLES) on OpenPower.
|
 |
Articles |
 |
18 Aug 2005 |
|
| |
Recommendations for Red Hat Enterprise Linux 4.0 (RHEL 4.0) on zSeries for 31-bit and 64-bit library coexistence
Linux distributions, such as Red Hat and SUSE, are available for both 31- and 64-bit architectures on IBM eServer zSeries machines. zSeries machines with 64-bit processors allow for 31- and 64-bit applications to coexist and run on the same Linux image concurrently. Read this recommendation to find out how to install custom packages to enable this capability.
|
 |
Articles |
 |
18 Aug 2005 |
|
| |
Comment lines: Scott Johnson: Take a lifetime to be a good (and happy) programmer
A happy programmer knows what they're good at and what is really involved in that pie-in-the-sky job he or she desires. Inspired by an article on the average programmer's big rush to learn the practice of programming, the author shares his views on the topic.
|
 |
Articles |
 |
17 Aug 2005 |
|
| |
LPI exam 101 prep, Topic 101: Hardware and architecture
In this tutorial (the first in a series of five tutorials), Ian Shields introduces you to configuring your system hardware with Linux, and in doing so, begins preparing you to take the Linux Professional Institute Junior Level Administration (LPIC-1) Exam 101. In this tutorial, you learn how Linux configures the hardware found on a modern PC and where to look if you have problems.
|
 |
Tutorials |
 |
08 Aug 2005 |
|
| |
Debugging tools and techniques for Linux on Power
Debugging is a major software development activity, which as an application developer, you cannot avoid. Effective debugging can not only shorten the software development cycle, but can also save costs. This article introduces techniques for locating bugs in user-space C/C++ and Java(TM) applications and describes some of the debugging tools available on Linux(TM) for POWER(TM) architecture.
|
 |
Articles |
 |
04 Aug 2005 |
|
| |
Hacking the Linux 2.6 kernel, Part 2: Making your first hack
In this second of a two-part series, discover the organization of the Linux kernel source, build an understanding of system calls, and craft your own kernel modules and patches.
|
 |
Tutorials |
 |
02 Aug 2005 |
|
| |
Assess system security using a Linux LiveCD
Want to assess security vulnerabilities on your Linux system without lengthy installation and configuration efforts? We introduce four packages -- Auditor, Whoppix, Knoppix-STD, and PHLAK -- that bring you that ability through the magic of LiveCD.
|
 |
Articles |
 |
27 Jul 2005 |
|
| |
IBM Cluster Systems Management: An installation guide
Learn how to use the IBM Cluster Systems Management (CSM) tool to manage a large set of machines. IBM Linux(TM) Architect Harish Chauhan provides step-by-step instructions on how to install the CSM tool for a heterogeneous environment.
|
 |
Articles |
 |
21 Jul 2005 |
|
| |
Why FreeBSD
The FreeBSD operating system is the unknown giant among free operating systems. Starting out from the 386BSD project, it is an extremely fast UNIX-like operating system mostly for the Intel chip and its clones. In many ways, FreeBSD has always been the operating system that GNU/Linux-based operating systems should have been. It runs on out-of-date Intel machines and 64-bit AMD chips, and it serves terabytes of files a day on some of the largest file servers on earth.
|
 |
Articles |
 |
19 Jul 2005 |
|
| |
Hacking the Linux 2.6 kernel, Part 1: Getting ready
In this first of a two-part series, learn about system and environment requirements, the best ways to acquire Linux source code, how to configure and boot your new kernel, and how to use the printk function to print messages during bootup.
|
 |
Tutorials |
 |
19 Jul 2005 |
|
| |
Linux scripts make wireless management a snap
Setting up a wireless Internet Service provider (WISP) for your office or neighborhood doesn't have to be a taxing or expensive ordeal. If you build your network from easy-to-buy equipment and use Linux, you can use the power of shell scripts to make network management easy. Get the tips and scripts you need in this article. This article gives you the tips and scripts you need.
|
 |
Articles |
 |
19 Jul 2005 |
|
| |
High-availability middleware on Linux, Part 5: IBM DB2 Universal Database
Data is at the heart of any business, and access to it should be available with minimum downtime. In this article, take a look at the setup and implementation of a Linux High Availability solution for IBM DB2 Universal Database -- the database management system that delivers a flexible and cost-effective database platform for building robust, on demand business applications. Using this step-by-step guide, you can set up and run a highly available DB2 UDB database.
|
 |
Articles |
 |
14 Jul 2005 |
|
| |
Learning PHP, Part 3: Authentication, objects, exceptions, and streaming
This is Part 3 of a three-part "Learning PHP" series teaching you how to use PHP through building a simple workflow application. In this tutorial, you will learn about using HTTP authentication, streaming files, and how to create objects and exceptions.
|
 |
Tutorials |
 |
12 Jul 2005 |
|
| |
Install IBM Cloudscape on Red Hat Linux
This demo walks you though the installation steps for installing IBM Cloudscape on Red Hat Linux. These steps include installation, setting the Path and Classpath statements, and finally, verifying the installation.
|
 |
Demos |
 |
11 Jul 2005 |
|
| |
Linux on board: Blowing the lid off of TiVo
Everyone's heard that the TiVo runs Linux. In this installment of Linux on board, Peter takes a look at the Linux system installed on the TiVo. Examining the TiVo system reveals how one company made the transition from desktop operating system to embedded system.
|
 |
Articles |
 |
06 Jul 2005 |
|
| |
Linux virtualization on POWER5: A hands-on setup guide
Learn how to use the virtualization functions available for Linux on IBM POWER5 processor-based servers.
|
 |
Tutorials |
 |
01 Jul 2005 |
|
| |
Manage C data using the GLib collections
In this tutorial, learn how to use the GLib collection data structures to effectively manage data within C programs. In particular, you'll see how to use GLib's built-in data structures/containers -- linked lists, hash tables, arrays, trees, queues, and relations -- to fill the need for them in C.
|
 |
Tutorials |
 |
27 Jun 2005 |
|
| |
Spufs: The Cell Synergistic Processing Unit as a virtual file system
Base platform support for Linux on the Cell has been established and is currently on its way into the mainstream Linux kernel tree. Read about the Cell's unique architecture and the SPU file system interface that allows Linux to run on it.
|
 |
Articles |
 |
25 Jun 2005 |
|
| |
Learning PHP, Part 2: Upload files and use XML to store and display file information
This tutorial is Part 2 of a three-part "Learning PHP" series that takes you from the most basic PHP script to working with databases and streaming from the file system by documenting the building of a document workflow system. Here, documents are uploaded by users and stored in a non-Web-accessible location for retrieval by the application in Part 3. We also look at working with XML files using DOM and SAX, and we look at exceptions.
|
 |
Tutorials |
 |
21 Jun 2005 |
|
| |
Visualize function calls with Graphviz
Spending the time to work through a mass of source code can reveal the function flow to you, but when function pointers are involved or the code is lengthy and convoluted, the process becomes considerably more difficult. This article shows you how to construct a dynamic graphical function call generator using open source software and a bit of custom glue code.
|
 |
Articles |
 |
21 Jun 2005 |
|
| |
Mastering recursive programming
Recursion is a tool not often used by imperative language developers, because it is thought to be slow and to waste space, but as the author demonstrates, there are several techniques that can be used to minimize or eliminate these problems. He introduces the concept of recursion and tackle recursive programming patterns, examining how they can be used to write provably correct programs. Examples are in Scheme and C.
|
 |
Articles |
 |
16 Jun 2005 |
|
| |
Fast-track your Web apps with Ruby on Rails
Ruby on Rails is a recent entry into the world of Web application development that is rapidly gaining mindshare, even while still in beta versions. Rails succeeds by automating the creation of the most common types of Web applications while not straightjacketing you if you want to add custom or atypical requirements. Moreover, compared to many Free Software libraries that perform individual aspects of a Web application, Rails contains a nicely integrated set of tools for all aspects.
|
 |
Articles |
 |
14 Jun 2005 |
|
| |
Learning PHP, Part 1: Register for an account, upload files for approval, and view and download approved files
This tutorial is the first of a three-part "Learning PHP" series that takes you from the most basic PHP script to working with databases and streaming from the file system by documenting the building of a document workflow system. In this part, we look at the basics of building a PHP script, including syntax, HTML forms, and database connections.
|
 |
Tutorials |
 |
14 Jun 2005 |
|
| |
Guide to porting Linux on x86 applications to Linux on POWER
Port your Linux(TM) C/C++ applications from the x86 platform (Intel(R) or AMD) to Linux on POWER(TM) using the following straightforward, step-by-step process. First, learn what it takes to prepare for the port. Then follow the implementation tips to get your x86 code running on Linux on POWER.
|
 |
Articles |
 |
08 Jun 2005 |
|
| |
Linux on board: Breathe new life into an old machine
People say Linux can make old machines useful. Can it really? In this new series, Peter Seebach takes a busted laptop and a US$50-a-month budget and builds a household appliance that actually does something worthwhile.
|
 |
Articles |
 |
07 Jun 2005 |
|
| |
Build a Perl/CGI voting system
Many Web-deployed applications are written within elaborate database-driven server-side development frameworks such as PHP and Java servlets, but for simple applications (for example, where the entire dataset fits comfortably within a Web server's RAM), data persistence can be easily accomplished using locked DBM files in conjunction with the Perl MLDBM module. This article presents a real-world example -- a Web-based voting application -- that highlights the use of minimal external modules, forgoes using client-based cookies, and takes advantage of CGI attributes.
|
 |
Articles |
 |
31 May 2005 |
|
| |
Irving Wladawsky-Berger:IT 中的机会和挑战
IBM 的副总裁 Irving Wladawsky-Berger 继续在推动他对网格计算将来的构想,他的预言正日益变为现实。他说,开源是全世界程序员协作创新的一个非常好的例子。这是一场革命,具有很多机会,也具有很多挑战。我们的记者对 Wladawsky-Berger 在旧金山举办的 2005 Open Source Business Conference 上的关键讲话进行了报道。
|
 |
Articles |
 |
26 May 2005 |
|
| |
Build a RADIUS server on Linux
As a network administrator, you need to keep administrative user information for each network device you need to manage. But network devices usually support only limited functions for user management. Learn how to use an external RADIUS server on Linux to authenticate users, particularly against an LDAP server, allowing you to centralize user information stored in the LDAP server and authenticated by the RADIUS server, thereby both reducing administrative overhead on user management and making the remote login process more secure.
|
 |
Articles |
 |
25 May 2005 |
|
| |
Port Windows IPC apps to Linux, Part 2: Semaphores and events
The wave of migration to open source in business has the potential to cause a tremendous porting traffic jam as developers move the pervasive Windows applications to the Linux platform. In this three-part series, get a mapping guide, complete with examples, to ease your transition from Windows to Linux. Part 2 examines two synchronization object types, semaphores and events.
|
 |
Articles |
 |
25 May 2005 |
|
| |
Test-first Ruby programming
This tutorial will build a simple Ruby application following Test First principles. It will start with an overview of the Test::Unit library that ships with Ruby then move on to writing tests from a specification and writing code to fulfill those test. It will touch on tools like ZenTest and unit_diff, and on the process of refactoring. The tutorial will be built around a single programming example.
|
 |
Tutorials |
 |
24 May 2005 |
|
| |
Linux, outside the (x86) box
It's obvious -- Linux has become an attractive option for non-x86 platforms. Why? In this article, the author examines the reasons for this, including the fact that Linux on non-x86 enables affordable, easy-to-do virtualization; provides for better reliability, power consumption, and extended memory support; covers the lower and upper ranges of machines, giving users options outside of the middle range; revitalizes older hardware; and drives innovation.
|
 |
Articles |
 |
24 May 2005 |
|
| |
How to build your own Linux distribution
Linux From Scratch (LFS) and its descendants represent a new way to teach users how the Linux operating systems work. LFS is based on the assumption that compiling a complete operating system piece by piece not only teaches how the operating system works but also allows an independent operator to build systems for speed, footprint, or security.
|
 |
Articles |
 |
24 May 2005 |
|
| |
IBM Cluster Systems Management: An installation guide
As you all know, managing a large set of machines in an IT industry, for various activities, is very difficult. The IBM(R) Cluster Systems Management (CSM) tool simplifies this process. Follow along as IBM Linux(TM) Architect Harish Chauhan provides step-by-step instructions on how to install the CSM tool.
|
 |
Articles |
 |
20 May 2005 |
|
| |
Cultured Perl: Use IMAP with Perl, Part 2
Ted returns to the subject of accessing IMAP with the Mail::IMAPClient by looking at ifrom.pl as an alternative to other IMAP and POP3 mail checkers. This time around Ted covers tunneling (or port forwarding as it is sometimes called), as well as applying the script to the Maildir mail-storage format.
|
 |
Articles |
 |
19 May 2005 |
|
| |
POWER5 Virtualization: How to set up the SUSE Linux Virtual I/O Server
Reduce your operation costs for complex environments by creating efficient and flexible virtualization capabilities. Nigel Griffiths describes the benefits of the IBM(R) POWER5(TM) servers and provides examples on how to set up the environment for pSeries(R) p5 and eServer(TM) OpenPower systems.
|
 |
Articles |
 |
19 May 2005 |
|
| |
Use PLAM to speed distributed transactions
$@!LessThan!@$!--Security is critical to the success of distributed client-server applications.--$@!GreaterThan!@$To decrease transaction time in distributed client-server applications, you can refine the flow of authorization information between the entities involved in a transaction. In this article, learn how to reduce the redundant authorization information that travels between a client and server with the Pluggable Authorization Module. PLAM is a DCE-style authorization framework model that reduces the request come-back period.
|
 |
Articles |
 |
18 May 2005 |
|
| |
Identify performance bottlenecks with OProfile for Linux on POWER
Learn about OProfile and how to use it on IBM(R) POWER(TM) processor-based servers running Linux(TM). First, get a high-level overview of OProfile and its implementation on Linux on POWER and then follow along as the author presents two examples of how to profile code and analyze the results by using OProfile on a Linux on POWER platform.
|
 |
Articles |
 |
17 May 2005 |
|
| |
Linux SEK 2005 Release 1: Installing IBM Rational Software Architect V6.0 trial for Linux
Follow these steps to install IBM Rational Software Architect V6 trial on Red Hat Enterprise Linux 3 (RHEL3) or on SUSE Enterprise Linux 9 (SLES9). Developers who are new to Linux or UNIX-based operating systems will get the most out of this article.
|
 |
Articles |
 |
17 May 2005 |
|
| |
OpenAFS helps corral distributed data
Distributed file systems haven't had much press lately because it's mostly corporate and educational networks that use them, adding up to only thousands of users. Conceptually, it isn't always clear how such systems fit into the open source file system puzzle. The Open Andrew File System (OpenAFS) is a mature alternative to the Network File System (NFS), which scales only to large numbers of users and doesn't relieve management pain.
|
 |
Articles |
 |
17 May 2005 |
|
| |
Linux SEK 2005 Release 1: Installing IBM Rational Software Modeler V6.0 trial for Linux
Follow these steps to install IBM Rational Software Modeler V6 trial on Red Hat Enterprise Linux 3 (RHEL3) or on SUSE Enterprise Linux 9 (SLES9). Developers who are new to Linux or UNIX-based operating systems will get the most out of this article.
|
 |
Articles |
 |
17 May 2005 |
|
| |
Application optimization with compilers for Linux on POWER
Interested in tuning your C/C++ applications for Linux(TM) on POWER(TM)? This article compares the optimization options for both Linux on POWER C/C++ compilers: GCC and IBM XL C/C++. This paper also reviews tactics, such as Interprocedural Analysis, Profile Directed Feedback, and High Order Transformations, which are used by one or both of the compilers to extract higher performance from the Power architecture.
|
 |
Articles |
 |
10 May 2005 |
|
| |
Linux for S/390 and zSeries porting hints and tips
Examine helpful hints and tips from the IBM(R) development team for porting applications to Linux(TM) on zSeries(R). The development team also addresses some key porting areas of Linux zSeries.
|
 |
Articles |
 |
05 May 2005 |
|
| |
GNU C/C++ toolchain for Linux on POWER
Learn about the GNU toolchain for Linux(TM) on POWER(TM). This paper highlights the general options available for using the GNU compiler, linker, and loader with Linux on POWER and discusses the GNU binutils, focusing on Linux on POWER-specific considerations and the new features provided in SUSE Linux Enterprise Server, Version 9, and Red Hat Enterprise Linux, Version 4.
|
 |
Articles |
 |
04 May 2005 |
|
| |
Secure programming with the OpenSSL API, Part 2: Secure handshake
Securing the handshake during a Secure Sockets Layer session (SSL) is vital, since almost all of the security involving the connection is set up inside the handshake. Learn how to secure the SSL handshake against a man in the middle (MITM) attack -- in which the intruding party masquerades as another, trusted source. This article also introduces the concept of digital certificates and how the OpenSSL API handles them.
|
 |
Articles |
 |
03 May 2005 |
|
| |
Discover Python, Part 1: Python's built-in numerical types
The flexible nature of the Python programming language supports multiple programming philosophies, including procedural, object-oriented, and functional. But most importantly, programming in Python is fun. The language supports rather than hinders the development process. This article, the first in a series on Python programming, introduces Python and its built-in numerical types.
|
 |
Articles |
 |
03 May 2005 |
|
| |
A power-user's guide to multilingual editors
Find out how Unicode-encoded character sets make multilingual editing possible, and the way in which existing Unicode editors running on Linux use those facilities. Unicode editors, such as Yudit and Mined, are designed to enable multilingual editing using Unicode-encoded character sets. The architecture required to get them to work is complex and requires a subtly configured web of libraries, particularly if a Unicode editor is to rely on Linux and UNIX system library resources instead of providing its own character and string management machinery.
|
 |
Articles |
 |
03 May 2005 |
|
| |
Guide to porting from Solaris to Linux on x86
Solaris is considered one of the closest flavors of UNIX to Linux, but for migration purposes, there can be differences between the two in the areas of memory mapping, threading, or natural language support (to name just a few). This porting guide gives you advice on planning for the port to Linux/x86, and helps you understand the differences in the development environment and architecture.
|
 |
Articles |
 |
29 Apr 2005 |
|
| |
Dynamically add new DASD to Red Hat Enterprise Linux on zSeries
Discover how Red Hat Enterprise Linux Version 4 (RHEL V4.0) has changed the way you add new direct access storage device (DASD) devices. Follow along as Dionne Graff provides detailed instructions on how to add these devices to an already running Red Hat 2.6-based system.
|
 |
Articles |
 |
28 Apr 2005 |
|
| |
Dual boot Linux and AIX
There may be times when you find it necessary to develop in both the Linux and AIX operating environments. This article describes dual booting Linux and AIX on the same IBM eServer pSeries (including eServer p5), eServer i5, or eServer OpenPower server.
|
 |
Articles |
 |
25 Apr 2005 |
|
| |
Port Windows IPC apps to Linux, Part 1: Processes and threads
The wave of migration to open source in business has the potential to cause a tremendous porting traffic jam as developers move the pervasive Windows applications to the Linux platform. In this three-part series, get a mapping guide, complete with examples, to ease your transition from Windows to Linux. Part 1 introduces processes and threads.
|
 |
Articles |
 |
14 Apr 2005 |
|
| |
Monitor Linux file system events with inotify
Inotify is a file system event-monitoring mechanism slated for inclusion in upcoming Linux kernels that is designed to serve as an effective replacement for dnotify, which was the de facto file-monitoring mechanism supported in older kernels. Inotify is a powerful, fine-grained, asynchronous mechanism ideally suited for a variety of file-monitoring needs including, but not limited to, security and performance. Learn how to install inotify and how to build a sample user-space application to respond to file system events.
|
 |
Articles |
 |
12 Apr 2005 |
|
| |
MySQL for Linux on POWER, Part 2: Developing applications
In this second, and final, part of this series, learn more about the availability of MySQL Database Server for Linux(TM) running on IBM(R) POWER(TM) and PowerPC(R) processor-based servers (collectively referred to as Linux on POWER). Part 2 focuses on developing applications for MySQL in some of the major programming languages, such as PHP, Java(TM), C/C++, Python, and Perl. As a brief guide for application developers using MySQL on Linux on POWER, this paper is intended for MySQL developers and database administrators who are familiar with their system environment, networks, media devices, and disk resources.
|
 |
Articles |
 |
07 Apr 2005 |
|
| |
Linux SEK 2005 Release 1: Installing IBM Rational Agent Controller for Linux
Follow these steps to install IBM Rational Agent Controller on Red Enterprise Linux 3 (RHEL3) or SUSE Enterprise Linux 9 (SLES9) on a system on which you have already installed one of the Rational software development trial programs (Rational Application Developer, Rational Web Developer, or Rational Software Architect). Developers who are new to Linux or UNIX-based operating systems will get the most out of this article.
|
 |
Articles |
 |
06 Apr 2005 |
|
| |
Linux SEK 2005 Release 1: Installing IBM Rational Web Developer V6.0 trial for Linux
Follow these steps to install IBM Rational Web Developer V6 trial on Red Hat Enterprise Linux 3 (RHEL3) or on SUSE Enterprise Linux 9 (SLES9). Developers who are new to Linux or UNIX-based operating systems will get the most out of this article.
|
 |
Articles |
 |
06 Apr 2005 |
|
| |
An embedded view of the Mac Mini, Part 2: Free software on a cheap computer
NetBSD and Yellow Dog Linux have both begun to support the Mac Mini. Peter Seebach looks at open source operating system options on this new contender in the embedded PowerPC platform space.
|
 |
Articles |
 |
05 Apr 2005 |
|
| |
Linux SEK 2005 Release 1: Installing IBM Rational Application Developer V6.0 trial for Linux
Follow these steps to install IBM Rational Application Developer V6 trial on Red Hat Enterprise Linux 3 (RHEL3) or on SUSE Enterprise Linux 9 (SLES9). Developers who are new to Linux or UNIX-based operating systems will get the most out of this article.
|
 |
Articles |
 |
05 Apr 2005 |
|
| |
MySQL for Linux on POWER, Part 1: Introduction to creating a database
Learn about the availability of MySQL Database Server for Linux(R) running on IBM(R) POWER(TM) and PowerPC(R) processor-based servers (collectively referred to as Linux on POWER). As a brief guide for application developers using MySQL on Linux on POWER, this paper is intended for MySQL developers and database administrators who are familiar with their system environment, networks, media devices, and disk resources. In Part 2 of this article, read about developing applications for MySQL using PHP, C/C++, Java, Perl, and Python.
|
 |
Articles |
 |
05 Apr 2005 |
|
| |
Migrating from x86 to PowerPC, Part 4: Build a minimal embedded Web interface
This installment shows you how to use small-footprint, highly portable, Free Software tools to Web-enable your unmanned submarine, in anticipation of browsing its onboard photo library from an underground lair in the next episode.
|
 |
Articles |
 |
05 Apr 2005 |
|
| |
Cultured Perl: Complex layered configurations with AppConfig
AppConfig shines as a way of configuring applications in Perl in the simple cases, but occasionally you need more power in command-line processing and configuration-file parsing. Instead of using data formats such as XML or YAML, you can apply a little extra effort and alter AppConfig so it can process complex command-line switches to create multi-level hashes.
|
 |
Articles |
 |
31 Mar 2005 |
|
| |
Higher order functions
Functions are the wonderful and powerful building blocks of computer programs. Functions allow you to break code down into simpler, more manageable steps. They also allow you to break programs into reusable parts -- parts that are both reusable within the program and in other programs as well. In this article, learn how to create new functions at runtime based on templates, how to create functions that are configurable at runtime using function parameters, and how the Scheme language can be a valuable tool with functions.
|
 |
Articles |
 |
31 Mar 2005 |
|
| |
Migrate Win32 C/C++ applications to Linux on POWER, Part 3: Semaphores
Migrate your Win32 C/C++ applications to Linux on POWER and learn how to map Win32 to Linux with respect to semaphore application program interfaces (APIs). Follow along as Nam Keung walks you through detailed code examples outlining this process.
|
 |
Articles |
 |
31 Mar 2005 |
|
| |
Embed Python scripting in C applications
Learn how to embed Python applications into your C applications. This tutorial explains how Python embedding works, shows you how to translate between data types, and provides various methods for embedding Python scripts.
|
 |
Tutorials |
 |
29 Mar 2005 |
|
| |
Linux on POWER: Distribution migration and binary compatibility considerations
Learn about binary compatibility as it relates to the different operating environments that run on Linux(R) on POWER(TM). Examine the two Linux on POWER distributions supported by IBM(R), Red Hat Enterprise Linux (RHEL) and SUSE LINUX Enterprise Server (SLES), with regard to the binary compatibility between their respective releases. In general, a smooth transition from the 2.4 kernel-based RHEL3 to the 2.6 kernel-based RHEL4 is observed due to the stable Application Binary Interface (ABI) maintained between the releases and the back-porting of many features from RHEL4 into RHEL3. While there are differences in the threading model in the 2.4 kernel-based SLES8 to the 2.6 kernel-based SLES9, binary compatibility can still be maintained between the releases in many cases. Learn about new technologies that can provide performance enhancements for a Linux on POWER application, and follow steps to ensure binary compatibility across multiple distributions in the future.
|
 |
Articles |
 |
24 Mar 2005 |
|
| |
Authenticate SLES9 Linux clients using RACF and LDAP on z/OS
In this step-by-step guide, learn how to set up SUSE LINUX Enterprise Server (SLES9) clients to use Resource Access Control Facility (RACF) for user userid authentication and Lightweight Directory Access Protocol (LDAP) on a z/OS(R) server.
|
 |
Articles |
 |
24 Mar 2005 |
|
| |
Track bugs with Bugzilla on Linux
For those in the support arena, keeping track of issues, problems, and the fixes applied to them can be a daunting task; however, there is a perfect open source answer to this challenge: Bugzilla. Once it is installed, you can easily track bugs and be notified when certain issues and solutions are discovered. This article provides a step-by-step guide for installing Bugzilla on a Linux system.
|
 |
Articles |
 |
18 Mar 2005 |
|
| |
A moment of Xen: Virtualize Linux to test your apps
Xen is a virtualization technology available for the Linux kernel that lets you enclose and test new upgrades as if running them in the existing environment but without the worries of disturbing the original system. The author shows you how to install Xen using Fedora Core, but once installed, everything works the same in Xen on any distribution. Take a look at virtualization on Linux and see the benefits of having a sandbox for testing new software, as well as a playground for running multiple virtual machines on the same Linux box.
|
 |
Articles |
 |
15 Mar 2005 |
|
| |
High-availability middleware on Linux, Part 4: IBM WebSphere Application Server
In this fourth of five installments on implementing middleware in high-availability configurations, learn a step-by-step method of crafting a highly available configuration for the IBM WebSphere Application Server, and get the flexibility, resilience, and efficiency your on demand environment needs.
|
 |
Articles |
 |
10 Mar 2005 |
|
| |
Cultured Perl: Embedding Perl in database tables
In this installment, Ted looks at Perl and databases. Specifically, he works with the Class::DBI CPAN module and MySQL to introduce you to embedding Perl in database tables.
|
 |
Articles |
 |
09 Mar 2005 |
|
| |
Migrating from x86 to PowerPC, Part 3: Kuro Box Linux up close
This installment of "Migrating from x86 to PowerPC" moves from the abstract to the concrete, looking into implementation details of the Kuro Box. Lewin Edwards shows how to get the box configured with development tools and device drivers installed and updated.
|
 |
Articles |
 |
08 Mar 2005 |
|
| |
IBM eServer BladeCenter JS20 quick setup guide
Follow these instructions to install an IBM(R) eServer(TM) BladeCenter(TM) JS20.
|
 |
Articles |
 |
03 Mar 2005 |
|
| |
Overview of Linux on IBM eServer i5, p5, and OpenPower
IBM's commitment to Linux spans the entire IBM eServer product line. This
article gives developers an overview of Linux on POWER5 processor-based servers. It
also introduces the IBM Virtualization Engine technology and describe how Linux
users will benefit from it.
|
 |
Articles |
 |
01 Mar 2005 |
|
| |
High-availability middleware on Linux, Part 3: IBM LoadLeveler
Workload management is critically important for an on-demand business. IBM LoadLeveler is a job-management system that allows users to run more jobs in less time by matching the jobs' processing needs with the available resources. Maintaining maximum system uptime of the job management system is increasingly important. Learn how you can achieve high availability for a LoadLeveler cluster using the built-in high-availability capabilities of LoadLeveler and further enhancing it using open source high-availability software.
|
 |
Articles |
 |
28 Feb 2005 |
|
| |
C++ exception-handling tricks for Linux
Handling exceptions in C++ has a few implicit restrictions at the language level, but you can get around them in some instances. Learn ways to make exceptions work for you so you can produce more reliable applications.
|
 |
Articles |
 |
23 Feb 2005 |
|
| |
Build a GCC-based cross compiler for Linux
Get step-by-step instructions for building a cross-compiler so that you can build and develop applications for an alternative platform. Cross-compilers can be useful in many different situations, such as when you develop applications for embedded platforms.
|
 |
Tutorials |
 |
22 Feb 2005 |
|
| |
Porting enterprise apps from UNIX to Linux
Much of today's enterprise-level software on UNIX caters to the business needs of large companies. And so it must support emerging technologies and follow the rapidly evolving market trends, such as the proliferation of the powerful, flexible Linux operating system. Because much of this software is large, multi-threaded, and multi-process, porting it to Linux presents challenges. In this article, get a checklist and advice derived from a real-world port of one piece of enterprise-level software to Linux.
|
 |
Articles |
 |
17 Feb 2005 |
|
| |
Guide to porting from Solaris to Linux on POWER
Accelerate your porting efforts by following this six-step guide. Learn the differences between Solaris and Linux on POWER that you commonly encounter during a port. Get an introduction to the development environment for Linux running on IBM POWER processor-based systems, and see how SUN's compiler/linker switches compare with those of GNU GCC and the IBM native compiler. Finally, learn about tools for performance analysis and software packaging for Linux on POWER.
|
 |
Articles |
 |
15 Feb 2005 |
|
| |
JNI programming examples for Linux on POWER
In a few simplified examples, this paper describes key Java Native Interface (JNI) programming concepts and highlights Linux on POWER-specific, as well as common, programming pitfalls, where appropriate.
|
 |
Articles |
 |
11 Feb 2005 |
|
| |
Migrate Win32 C/C++ application to Linux on POWER, Part 2: Mutexes
This series of articles helps you migrate your Win32 C/C++ applications to Linux on POWER. Senior programmer Nam Keung and pSeries Linux technical consultant Chakarat Skawratananond illustrate how to map Win32 to Linux with respect to mutex application program interfaces (APIs). Part 1 of this series focused on Win32 API mapping.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Porting OS/2 applications to Linux (in C)
Look before you leap into Linux by discovering the pitfalls ahead of time. The LANDP team guides you through the differences between OS/2 and Linux so that your porting project can go more smoothly.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Speed-start your Linux app 2004: Secure Sockets Layer (SSL) for IBM HTTP server
The growth of electronic commerce over the Internet has led to an increasing demand for secure network communications. In addition, intra-company communications over private networks often contain confidential information that needs protection. This article explains how to configure Secure Sockets Layer (SSL) for IBM HTTP Server for Linux on iSeries and pSeries servers to establish secure connections.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Software optimization techniques for PowerPC 405 and 440
Your article abstract goes here. Summarize the main points of the article or the task the developer will be able to do after reading the article. Put the primary points and key phrases close to the beginning of the abstract, because it may be truncated in search results. Avoid line breaks in the abstract, please.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Performance tuning tips for the IBM JVM for Linux on POWER
This article introduces some of the important performance tuning issues for the IBM JVM for Linux on iSeries and pSeries. At the time of this writing, IBM provides JDK 1.3.1 32-bit and JDK 1.4.1, in both 32-bit and 64-bit flavors, for Linux on IBM iSeries and pSeries. Information in this article applies to IBM JDK 1.3.1 and JDK 1.4.1 for Linux on IBM iSeries and pSeries, but specifically targets JDK 1.4.1 SR2 as the latest IBM JDK release.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Pascal on SUSE Linux Enterprise Server 8.0 for POWER
The current SUSE Linux Enterprise Server for POWER (SLES) distribution in use is version 8.0, and it does not bundle any Pascal compilers with it. If you are seeking the availability of Pascal compilers on SLES 8.0, this article briefly describes alternatives that you might want to explore.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Authenticating Linux users with IBM Directory Server
This article describes how to use the IBM Directory Server to authenticate Linux users. The author explains step-by-step how to configure Directory Server, and Linux, to build a basic configuration to use Directory Server to authenticate Linux users.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Advantages of openMosix on IBM xSeries, Part 3
By the end of this three-part series, you'll have your own openMosix mini-cluster up and running and will be ready to use it effectively to accelerate your computing tasks. In this installment, you'll see some ways to use openMosix to tackle computing challenges. (Courtesy Intel Corporation)
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Advantages of openMosix on IBM xSeries, Part 2
By the end of this three-part series, you'll have your own openMosix mini-cluster up and running and will be ready to use it effectively to accelerate your computing tasks. In this installment, you will get a fully functional openMosix cluster configured and running. (Courtesy Intel Corporation)
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Advantages of openMosix on IBM xSeries, Part 1
By the end of this three-part series, you'll have your own openMosix mini-cluster up and running and will be ready to use it effectively to accelerate your computing tasks. This installment gives you an introduction to the current clustering technologies available for Linux and an introduction to openMosix.
|
 |
Articles |
 |
10 Feb 2005 |
|
| |
Build a heterogeneous cluster with coLinux and openMosix
You can create a cluster using any of three basic approaches: full migration to a single platform, partial migration, or a mixed or hybrid creation. In this article, learn how cluster agents fulfill the latter approach, and see how coLinux and openMosix can combine to offer a high-performance cluster middleware in a heterogeneous environment. In this heterogeneous environment, Linux provides the stability and performance, and Windows users continue to use their apps and never notice the difference.
|
 |
Articles |
 |
01 Feb 2005 |
|
| |
How to use z/VM VDISKS for Linux swap devices instead of real physical DASD
Virtual DISKS (VDISK) are high-speed disks created in memory. Software Engineer Dionne Graff provides instructions on setting up a z/VM VDISK for a Linux swap device.
|
 |
Articles |
 |
27 Jan 2005 |
|
| |
How to use z/VM VDISKS for Linux swap devices instead of real physical DASD
Virtual DISKS (VDISK) are high-speed disks created in memory. Software Engineer Dionne Graff provides instructions on setting up a z/VM VDISK for a Linux swap device.
|
 |
Articles |
 |
27 Jan 2005 |
|
| |
Charming Python: Pyrex extends and speeds Python apps
The author takes a stab at speeding up his pure-Python version of hashcash using Pyrex, a language for writing Python extension modules that lets you avoid having to use C for the job. He contrasts writing code in Pyrex -- generally for use with larger Python applications -- with speeding up Python applications using the Psyco compiler, which he has written about previously on developerWorks.
|
 |
Articles |
 |
25 Jan 2005 |
|
| |
Introduction to clustering on IBM eServer OpenPower 710
This paper introduces basic clustering components and software tools that can be used to build a Linux cluster on IBM eServer OpenPower 710 by utilizing its 64-bit POWER5 architecture. This paper is intended as an introduction for someone interested in building a new Linux cluster running on OpenPower 710 servers or converting an existing cluster to OpenPower 710 servers.
|
 |
Articles |
 |
25 Jan 2005 |
|
| |
Build a push proxy gateway on Linux
Learn how to set up a PPG on your own, configure the settings to your own taste, develop push content, and test it with a mobile handset simulator over a TCP/IP network on a LAN.
|
 |
Articles |
 |
25 Jan 2005 |
|
| |
Setting up your IBM eServer OpenPower server
The recently announced IBM eServer OpenPower server offers developers and users an enterprise server tuned to run Linux. With one- to four-way processor offerings, these servers have the potential to be run in both enterprise and developer environments.
While Linux is no stranger to the server world, the OpenPower product line is certainly new to
most people and differs significantly from any other server product line. With features like logical partitioning (LPAR), dynamic logical partitioning (DLPAR), shared-processing, and virtual I/O, the configuration and setup scenarios are virtually never-ending. This article describes a fastpath approach for the following basic setup scenarios: Setting up an OpenPower server in unmanaged mode and setting up an OpenPower server in managed mode.
|
 |
Articles |
 |
24 Jan 2005 |
|
| |
Use reentrant functions for safer signal handling
If you deal with concurrent access of functions, either by threads or processes, you can face problems caused by non-reentrancy of the functions. In this article, learn through code samples how anomalies can result if reentrancy is not ensured, especially with regard to signals. Five recommended programming practices are included, along with a discussion of a proposed compiler model in which the compiler front end deals with reentrancy.
|
 |
Articles |
 |
20 Jan 2005 |
|
| |
Dissecting shared libraries
Shared libraries use version numbers to allow for upgrades to the libraries used by applications while preserving compatibility for older applications. This article reviews what's really going on under the book jacket and why there are so many symbolic links in /usr/lib on a normal Linux system.
|
 |
Articles |
 |
11 Jan 2005 |
|
| |
Better programming through effective list handling
Singly linked lists are a powerful abstraction that allow programmers to represent numerous types of data; extending those lists to handle arbitrary data types can offer effective tools for processing data. In this article, we look at these processes and examine the Lisp variation Scheme, an easy-to-use list-oriented language that delivers list-manipulation capabilities without the complexities of C.
|
 |
Articles |
 |
05 Jan 2005 |
|
| |
The year in Power Architecture technology: The year in microprocessors
From spintronics to clockless CPUs, 2004 was a year of process and research in the microprocessor industry. This article offers a month-by-month look at the highlights of the 2004 microprocessor timeline.
|
 |
Articles |
 |
22 Dec 2004 |
|
| |
Craft a load-balancing cluster with ClusterKnoppix
The cluster, a collection of computers that work together, is an important concept in leveraging computing resources because of its ability to transfer workload from an overloaded system (or node) to another system in the cluster. This article explains how to set up a load-balancing Linux cluster using Knoppix-based LiveCDs.
|
 |
Articles |
 |
22 Dec 2004 |
|
| |
Write emulator-friendly Linux code
Computers have been emulating other computers for a long time, often to access a legacy application or to use applications written for a popular OS on a system with a more stable, responsive OS. As Linux grows in popularity, developers need to examine their options when planning binaries that will run on non-Linux systems. This article examines what emulators do and looks at hardware and software emulation issues in detail.
|
 |
Articles |
 |
21 Dec 2004 |
|
| |
Secure programmer: Call components safely
Application programs typically make calls to other components, such as the underlying operating system, database systems, reusable libraries, Internet services (like DNS), Web services, and so on. This article explains how to prevent attackers from exploiting those calls to other components by discussing the use of only secure components, passing only valid data, making sure the data will be correctly interpreted, checking return values and exceptions, and protecting data as it flows between applications and components.
|
 |
Articles |
 |
16 Dec 2004 |
|
| |
Embed Perl scripting in C applications
Have you ever wanted a quick way to add a scriptable element to your applications? Embedding an existing language into your application is the simplest and most effective way to incorporate such a system. You get the benefits of an established language to expand the functionality of your application in a flexible way without users having to rebuild the application to use it. In this tutorial, you'll learn a process for embedding a scripting language into an application. You'll see how to build the application and how to provide wrapper functions that support full argument and return value support.
|
 |
Tutorials |
 |
15 Dec 2004 |
|
| |
PowerPC development from the bargain basement
The Kuro Box promises something fairly interesting: a usable single-board PowerPC computer, for only US$160 -- when other PowerPC development boards often cost ten times as much. Peter Seebach guides you through setup and install in this developerWorks hardware howto.
|
 |
Articles |
 |
14 Dec 2004 |
|
| |
IBM developer kits for Java technology on Apple PowerPC hardware
This article shows how to use fully-featured, production-proven IBM developer kits for Java technology for Linux distributions for IBM POWER and IBM PowerPC hardware on Linux for Apple PowerPC hardware. Be aware that the use of IBM Java environments on Apple PPC hardware is not supported by IBM. IBM does not offer service support for these configurations and so the author is not encouraging customers to use them in production environments that use Linux distributions running on Apple PPC hardware.
|
 |
Articles |
 |
12 Dec 2004 |
|
| |
High-availability middleware on Linux, Part 2: IBM WebSphere MQ
In the second of five installments on implementing middleware in high-availability configurations, learn how to install and configure IBM WebSphere MQ messaging middleware on a heartbeat cluster, providing failover capability in the event of a system malfunction.
|
 |
Articles |
 |
09 Dec 2004 |
|
| |
Install SUSE Linux Enterprise Server V9 on iSeries
This article walks you through the steps required to install SUSE Enterprise Server V9 in a guest partition on an IBM iSeries server. Start by creating the guest partition, then move on to setting up virtual networking, creating storage space, configuring network address translation, and, finally, launching and running the SUSE Linux installer.
|
 |
Articles |
 |
08 Dec 2004 |
|
| |
Linux-powered networking, Part 3: Integrate Linux and Windows with Samba
The third in a three-part series on how to leverage Linux to get the most from your network, this tutorial shows how to use Samba to integrate your Linux and Windows networks. Sample code and configuration files are provided throughout to aid understanding.
|
 |
Tutorials |
 |
07 Dec 2004 |
|
| |
Install XAMPP for easy, integrated development
Open source stacks such as XAMPP from Apache Friends are simplifying open source development by making it easier to write and distribute applications in a stable and standardized environment. Traditionally, AMPP -- Apache, MySQL, PHP, and Perl -- have all been installed and configured as separate products. The trend of combining them into integrated middleware stacks promises to make open source development more competitive with J2EE application development, at least for low-end applications. In this article, you'll learn how to install, configure, and back up XAMPP on Mandrake Linux 10.0 and also how to configure and administer XAMPP, as well as how to install your own applications in an XAMPP environment.
|
 |
Articles |
 |
30 Nov 2004 |
|
| |
Linux-powered networking, Part 2: Set up a DHCP server to manage IP addresses
The second in a three-part series on how to leverage Linux to get the most from your network, this tutorial shows how to set up a Dynamic Host Configuration Protocol (DHCP) server with Internet Systems Consortium (ISC) DHCP. Sample code and configuration files are provided throughout to aid understanding.
|
 |
Tutorials |
 |
30 Nov 2004 |
|
| |
Linux-powered networking, Part 1: Build a DNS server with ISC BIND
The first in a three-part series, this tutorial shows you how to leverage Linux to get the most from your network. Specifically, it describes how to set up DNS with Internet Systems Consortium (ISC) BIND. Sample code and configuration files are provided throughout to aid understanding.
|
 |
Tutorials |
 |
23 Nov 2004 |
|
| |
Inside memory management
Get an overview of the memory management techniques that are available to Linux programmers, focusing on the C language but applicable to other languages as well. This article gives you the details of how memory management works, and then goes on to show how to manage memory manually, how to manage memory semi-manually using referencing counting or pooling, and how to manage memory automatically using garbage collection.
|
 |
Articles |
 |
16 Nov 2004 |
|
| |
Securing Linux, Part 2: Planning the installation
Only the paranoid survive, and that is no less true when securing Linux systems as any other. Fortunately, a host of security features are built into the kernel, are packaged with one of the many Linux distributions, or are available separately as open source applications. This second installment covers inventory assessment, risk analysis, identifying user categories and access privileges, and then moves on to a more detailed action plan and steps for safely acquiring a Linux distribution.
|
 |
Articles |
 |
11 Nov 2004 |
|
| |
Charming Python: Beat spam using hashcash
Built on the widely available SHA-1 algorithm, hashcash is a clever system that requires a parameterizable amount of work on the part of a requester while staying "cheap" for an evaluator to check. In other words, the sender has to do real work to put something into your inbox. You can certainly use hashcash in preventing spam, but it has other applications as well, including keeping spam off of Wikis and speeding the work of distributed parallel applications. In this article, you'll meet David's own Python-based hashcash implementation.
|
 |
Articles |
 |
09 Nov 2004 |
|
| |
Linux for pSeries installation and administration (SLES 9)
Linux for POWER has been around for a while, and continues to be a compelling environment for running Linux. This article will cover the installation of Linux on an IBM pSeries system.
|
 |
Articles |
 |
02 Nov 2004 |
|
| |
Cultured Perl: Perl 6 grammars and regular expressions
Perl 6 is finally coming within reach. In this article, Ted gives you a tour of the grammars and regular expressions of the Perl 6 language, comparing them with the currently available Parse::RecDescent module for Perl 5. Find out what will be new with Perl 6 regular expressions and how to make use of the new, powerful incarnation of the Perl scripting language.
|
 |
Articles |
 |
02 Nov 2004 |
|
| |
Optimize Perl
Perl is an incredibly flexible language, but its ease of use can lead to some sloppy and lazy programming habits. We're all guilty of them, but there are some quick steps you can take to improve the performance of your Perl applications. In this article, I'll look at the key areas of optimization, which solutions work and which don't, and how to continue to build and extend your applications with optimization and speed in mind.
|
 |
Articles |
 |
19 Oct 2004 |
|
| |
Cultured Perl: Genetic algorithms simulate a multi-celled organism
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 third installment on genetic algorithms, Ted picks up where he left off last time, with instructions on how to simulate a multi-celled organism.
|
 |
Articles |
 |
13 Oct 2004 |
|
| |
High-availability middleware on Linux, Part 1: Heartbeat and Apache Web server
In this first of five articles, learn what it means for software to be highly available and how to install and set up heartbeat software from the High-Availability Linux project on a two-node system. You'll also learn how to configure the Apache Web server to run as a highly available service.
|
 |
Articles |
 |
12 Oct 2004 |
|
| |
Secure programmer: Prevent race conditions
Learn what race conditions are and why they can cause security problems. This article shows you how to handle common race conditions on UNIX-like systems, including how to create lock files correctly, alternatives to lock files, how to handle the file system, and how to handle shared directories -- and, in particular, how to correctly create temporary files in the /tmp directory. You'll also learn a bit about signal handling.
|
 |
Articles |
 |
07 Oct 2004 |
|
| |
Statistical programming with R: Part 2. Functional programming and data exploration
In the second of a three-part series, David and Brad build on their first article on R, a rich statistical environment, released as free software. Now that our data is shipshape, we will delve into the functionality of the language.
|
 |
Articles |
 |
07 Oct 2004 |
|
| |
Virtual resources for LINUX on iSeries
This article describes the virtual resources available for Linux on iSeries and how the virtual console is used in the Linux on iSeries initial installation, how to configure the virtual LAN for the data transfer between the Linux partitions and communicating to and from server and Virtual I/O virtual DASD, virtual Tape, virtual CD-ROM for LINUX on iSeries.
|
 |
Articles |
 |
01 Oct 2004 |
|
| |
Cultured Perl: Fun with the Ion window manager
Take a look at the Ion windows manager, a powerful and simple program that manages the windows that applications bring up on your desktop. Ion isn't flashy, but once you get used to it, it can greatly enhance your productivity and make you wonder why you ever used those other window managers.
|
 |
Articles |
 |
29 Sep 2004 |
|
| |
Updating from SuSE Linux Enterprise Server V8 to V9
If you are already running SLES 8, you may be able to run an update to SLES 9 rather than re-installing from scratch. This article examines the update process and gives you suggestions on how to make an update successful.
|
 |
Articles |
 |
21 Sep 2004 |
|
| |
Statistical programming with R: Part 1. Dabbling with a wealth of statistical facilities
In the first of a three-part series, David and Brad introduce you to R, a rich statistical environment, released as free software. It includes a programming language, an interactive shell, and extensive graphing capability. What's more, R comes with a spectacular collection of functions for mathematical and statistical manipulations -- with still more capabilities available in optional packages.
|
 |
Articles |
 |
21 Sep 2004 |
|
| |
Overview of Linux on IBM eServer i5, p5, and OpenPower
IBM's commitment to Linux spans the entire IBM eServer product line. This article gives developers an overview of Linux on POWER5 processor-based servers. It also introduces the IBM Virtualization Engine technology and describe how Linux users will benefit from it.
|
 |
Articles |
 |
14 Sep 2004 |
|
| |
Automate the application build and distribution process
You have enough to consider when building an open source application for a single type of system, but what if you're building that application for distribution among a range of different, incompatible machines? There's no easy answer, but using a little discipline and some custom scripts, you can simplify the process. This article looks at how to create a structure for building and distributing applications, including heavily customized versions, and a simple way of disseminating the applications among a number of machines, manually or automatically, as easily as possible.
|
 |
Articles |
 |
14 Sep 2004 |
|
| |
Running Linux on an iPAQ
Installing Linux on your iPAQ can be a great way to breathe new life into aging hardware or make an existing tool even better, particularly if you are a fan of Linux on the desktop. You can leverage your existing knowledge and enjoy the benefits of familiar (pun intended) free and open source software on the move. In this article, learn how to turbocharge your HP-Compaq iPAQ PDA with Linux.
|
 |
Articles |
 |
09 Sep 2004 |
|
| |
Migrate your apps from OS/2 to Linux: Part 3. Timer and DLL calls
Linux is evolving as the predominant operating system of the new millennium, and legacy operating systems such as OS/2 are being gradually phased out. This series of articles helps the developers involved in the tedious process of migrating/porting the OS/2 system drivers and applications to Linux. In this last of three installments, the authors focus on how to do timer calls and DLL calls in OS/2 and in Linux, with a view to mapping between the two systems.
|
 |
Articles |
 |
24 Aug 2004 |
|
| |
Build code with lex and yacc, Part 2: Development and troubleshooting
The second article of this two-part series explores more advanced lex/yacc development and introduces basic troubleshooting techniques. See e-mail headers parsed before your very eyes! Marvel at cryptic error messages! See a computer actually compute something!
|
 |
Articles |
 |
24 Aug 2004 |
|
| |
Improve collaborative build times with ccache
Collaboratively building a C/C++ project using cc or gcc to share source files and other components works fine with CVS, but the time required to build the application when it has been merged with everybody else's changes can be significant. Even if you're not developing a project as part of a group, recompiling an application can take a lot of time. The ccache tool improves the build performance by caching the incorporation of header files into source files and therefore speeds the build time by reducing the time required to add in header files with each compilation stage. In this article, learn how to build and install ccache, how to use it with your existing environment, and how to improve the build times in group development projects. You will also see how to use ccache and distcc together to get the best performance out of your development environment.
|
 |
Articles |
 |
24 Aug 2004 |
|
| |
Kernel debugging with Kprobes
Collecting debugging information from the Linux kernel using printk is a well-known method -- and with Kprobes, it can be done without the need to constantly reboot and rebuild the kernel. Kprobes, in combination with 2.6 kernels, provides a lightweight, non-disruptive, and powerful mechanism to insert printk's dynamically. Logging debug info, such as the kernel stack trace, kernel data structures, and registers, has never been so easy!
|
 |
Articles |
 |
19 Aug 2004 |
|
| |
Build code with lex and yacc, Part 1: Introduction
Lex and yacc are tools to automatically build C code suitable for parsing things in simple languages. These tools are most often used for parts of compilers or interpreters, or for reading configuration files. In the first of two articles, Peter Seebach explains what lex and yacc actually do and shows how to use them for simple tasks.
|
 |
Articles |
 |
11 Aug 2004 |
|
| |
Using advanced widgets in Perl/Tk
Perl is one of the most popular languages out there, and is used for everything from mission-critical projects to Web applications to "glue." It is not, however, often used for GUI programming and prototyping. Philipp K. Janert thinks it should be, and you probably will too -- after this look at some of the more complex widgets available for Perl/Tk.
|
 |
Articles |
 |
10 Aug 2004 |
|
| |
Install OpenOffice.org for Linux on POWER servers
Many users need access to an office productivity suite, and users of Linux on POWER are no exception. OpenOffice.org provides an open-source product that is multi-platform and contains many of the key applications that are needed by an office user. This article explains how to install and configure OpenOffice.org for multi-user Linux on iSeries and pSeries servers.
|
 |
Articles |
 |
04 Aug 2004 |
|
| |
Install SUSE Linux Enterprise Server 8 on a JS20 blade server
This article describes the steps of a basic installation of Linux on an IBM eServer BladeCenter JS20 blade server, starting with the BladeCenter Management Module and ending with the installation of SUSE Linux Enterprise Server 8.
|
 |
Articles |
 |
04 Aug 2004 |
|
| |
Yellow Dog Linux on Power Mac G5: A Linux on Power developer's workstation
The IBM PowerPC 970 CPUs are well-designed, high-performance chips that ship in millions of end-user systems under Apple Computers' Power Macintosh G5 moniker. These CPUs greatly lower the bar for 64-bit computing on the desktop and on small servers. Currently, Terra Soft's beta Y-HPC is one of only two 64-bit Linuxes that run on G5s. As their names imply, the G5-enabled betas -- both 32- and 64-bit versions -- are for evaluation only. This article is an early look at the promise of Linux on a G5 and is intended for developers interested in trying out this combination in anticipation of production-ready releases to come.
|
 |
Articles |
 |
03 Aug 2004 |
|
| |
Linux project publications: Quality assurance
The publications on this page represent contributions by members of the IBM Linux Technology Center to the development community in the area of quality assurance.
|
 |
Articles |
 |
01 Aug 2004 |
|
| |
Spin up a Linux LiveCD
Many Linux distributions have been designed as so-called "LiveCDs," CDs that can be booted directly into working Linux systems. In contrast to "rescue mode" bootable options available with most widely used distributions, these LiveCDs are designed to provide a full set of working tools when booted from CD. Some are general-purpose, some highly specialized. David Mertz takes a look at this fast-growing segment of the Linux market.
|
 |
Articles |
 |
28 Jul 2004 |
|
| |
Charming Python: A look at DParser for Python
Get an introduction to DParser, a simple but powerful tool for parsing, written by J. Plevyak. Then learn about DParser for Python, which gives Python programmers a seamless interface to DParser, and see how it compares to other parsers covered in previous installments. In a manner similar to Spark or PLY, grammar rules are input to DParser using Python function documentation strings.
|
 |
Articles |
 |
28 Jul 2004 |
|
| |
Connect desktop apps using D-BUS
D-BUS is an up-and-coming message bus and activation system that is set to achieve deep penetration in the Linux desktop. Learn why it was created, what it can be used for, and where it is going.
|
 |
Articles |
 |
27 Jul 2004 |
|
| |
Linux on IBM eServer i5 and p5: An Overview for Developers
The path to enablement of IA32 code on Linux PPC travels through one of two compiler sets, the GNU Compiler Collection (GCC) and the Visual Age Compilers. This article reviews some tips for porting 32-bit software from Linux IA32 to Linux PowerPC with both of these compiler sets.
|
 |
Articles |
 |
26 Jul 2004 |
|
| |
Migrating from Linux Kernel 2.4 to 2.6 on iSeries and pSeries
In this article we highlight the differences between the Version 2.4 and 2.6 Linux kernels on POWER.
|
 |
Articles |
 |
26 Jul 2004 |
|
| |
Visualize your data with gnuplot
Turn your data and functions into professional-looking graphs with Gnuplot 4.0, a freely distributed plotting tool. In this article, get a hands-on guide to gnuplot that emphasizes the idioms you'll need to use this tool effectively.
|
 |
Articles |
 |
22 Jul 2004 |
|
| |
Secure programming with the OpenSSL API, Part 1: Overview of the API
Learning how to use the API for OpenSSL -- the best-known open library for secure communication -- can be intimidating, because the documentation is incomplete. Fill in the gaps, and tame the API, with the tips in this article. After setting up a basic connection, see how to use OpenSSL's BIO library to set up both a secured and unsecured connection. And learn a bit about error detection as well.
|
 |
Articles |
 |
22 Jul 2004 |
|
| |
Securing Linux, Part 1: Introduction
Only the paranoid survive, and that is no less true when securing Linux systems as any other. Fortunately, a host of security features are built into the kernel, are packaged with one of the many Linux distributions, or are available separately as open source applications. The first in a series, this article starts you on your way to understanding security concepts and potential threats, and sets the stage for what you really need to know: how to secure and harden a Linux-based installation.
|
 |
Articles |
 |
20 Jul 2004 |
|
| |
Boot Linux from a FireWire device
Obtaining an external drive is a great way to breathe new life into older hardware, or allow you to use Linux on machines on which you can't (or don't want to) alter the internal hard drives.
|
 |
Articles |
 |
15 Jul 2004 |
|
| |
Running free with Linux
As Wi-Fi become ubiquitous, Linux has jumped on the bandwagon. In this article, Roman Vichr explains how Linux has helped -- and been helped by -- a number of wireless tools and projects.
|
 |
Articles |
 |
13 Jul 2004 |
|
| |
Stress-testing the Linux kernel
Automating software testing allows you to run the same tests over a period of time, ensuring that you are really comparing apples to apples and oranges to oranges. In this article, Linux Test Project team members share methodology, rationale, and the scripts and tools they use to stress-test the Linux kernel.
|
 |
Articles |
 |
30 Jun 2004 |
|
| |
Charming Python: Get started with the Natural Language Toolkit
In this installment, David introduces you to the Natural Language Toolkit, a Python library for applying academic linguistic techniques to collections of textual data. Programming that goes by the name "text processing" is a start; other capabilities for syntactic and even semantic analysis are further specialized to studying natural languages.
|
 |
Articles |
 |
24 Jun 2004 |
|
| |
Reduce compile time with distcc
Some people prefer the convenience of pre-compiled binaries in the form of RPMs or other such installer methods. But this can be a false economy, especially with programs that are used frequently: precompiled binaries will never run as quickly as those compiled with the right optimizations for your own machine. If you use a distributed compiler, you get the best of both worlds: fast compile and faster apps. All you need is distcc.
|
 |
Articles |
 |
22 Jun 2004 |
|
| |
Five easy-to-use performance tools for Linux on PowerPC
This article describes Performance Inspector, which contains a suite of performance tools for Linux. The author describes how to download and install the required software and tools, and how to collect performance data. She also provides details on how to use the five basic tools, which you can use to analyze performance of your C/C++ and Java applications, as well as performance of your system as a whole.
|
 |
Articles |
 |
20 Jun 2004 |
|
| |
Weave a neural net with Python
Hopfield nets are one of the easier neural net models to understand -- and they can be useful, too. The main ability of the Hopfield net is to undo noise and reconstruct known patterns. Python programmer Andrew Blais is your guide to learning more about Hopfield nets, and exploring his net.py application.
|
 |
Articles |
 |
15 Jun 2004 |
|
| |
Cultured Perl: Managing Linux configuration files
The average developer spends more time navigating, learning, and debugging configuration files than you'd expect. But you can save that time -- and loads of energy and frustration -- with one of the tools you probably use every day: your CVS tree. Take these tips on backing up, distributing, and making portable your peskiest Linux (and UNIX) config files.
|
 |
Articles |
 |
10 Jun 2004 |
|
| |
Migrating Win32 C/C++ applications to Linux on POWER, Part 1: Process, thread, and shared memory services
This article covers Win32 API mapping, particularly process, thread, and shared memory services to Linux on POWER. The article can help you decide which of the mapping services best fits your needs. The author takes you through the APIs mapping he faced while porting a Win32 C/C++ application.
|
 |
Articles |
 |
10 Jun 2004 |
|
| |
Build a WAP gateway On Linux
The hottest technology for implementing mobile services is the Wireless Application Protocol (WAP). This article discusses the advantages of working with the open source gateway for WAP, which performs the protocol conversion between a Web server and a mobile phone.
|
 |
Articles |
 |
08 Jun 2004 |
|
| |
Disk mirroring using software RAID on RHEL 3.0 AS for IBM pSeries
Linux based software RAID provides a cost effective data mirroring solution for entry level IBM pSeries systems shipped with dual internal disks. This article describes how to set up RHEL 3.0 AS on an IBM pSeries system so both the Linux OS and data files (if required) are installed over a software RAID device, and the system operation is not affected by a physical disk failure. While such a setup is easily configured out of the box on the x86 version of widely used distributions (RHEL and SLES), doing the same for IBM pSeries requires a different approach.
|
 |
Articles |
 |
27 May 2004 |
|
| |
Build Web apps with Maypole
Simon Cozens turns a love of beer into a Perl application server -- going from a simple front end to database servers, and developing into a social-network Web application. He begins, however, with the beer.
|
 |
Articles |
 |
25 May 2004 |
|
| |
Secure programmer: Minimizing privileges
Secure programs must minimize privileges so that any bugs are less likely to be become security vulnerabilities. This article discusses how to minimize privileges by minimizing the privileged modules, the privileges granted, and the time the privileges are active. The article discusses not only some of the traditional UNIX-like mechanisms for privileges, but some of the newer mechanisms like the FreeBSD jail(), the Linux Security Modules (LSM) framework, and Security-Enhanced Linux (SELinux).
|
 |
Articles |
 |
20 May 2004 |
|
| |
Cultured Perl: Three essential Perl books
In this installment, Ted reviews three Perl coding books, bringing you summaries of the key information contained in the books and how the new versions have been updated.
|
 |
Articles |
 |
13 May 2004 |
|
| |
Use shared objects on Linux
Making the most of shared memory isn't always easy. In this article, IBM's Sachin Agrawal shares his expertise in C++, showing how the object-oriented among us can take key advantage of a uniquely useful interprocess communications channel.
|
 |
Articles |
 |
11 May 2004 |
|
| |
Migrate your apps from OS/2 to Linux: Part 2. Memory management, IPC, and file handling
Linux is evolving as the predominant operating system of the new millennium, and legacy operating systems such as OS/2 are being gradually phased out. This series of articles helps the developers involved in the tedious process of migrating/porting the OS/2 system drivers and applications to Linux. In this second of three installments, the authors focus on managing pipes, memory, and files.
|
 |
Articles |
 |
05 May 2004 |
|
| |
Reboot Linux faster using kexec
Even if your work doesn't require you to reboot your Linux machine several times a day, waiting for a system to reboot can be a real drag. Enter kexec. Essentially, kexec is a fast reboot feature that lets you reboot to a new Linux kernel -- without having to go through a bootloader. Faster reboot is a benefit even when uptime isn't mission-critical -- and a lifesaver for kernel and system software developers who need to reboot their machines several times a day. Kexec is currently available on the x86 32-bit platform only.
|
 |
Articles |
 |
04 May 2004 |
|
| |
Charming Python: The Python Enterprise Application Kit
PEAK is a Python framework for rapidly developing and reusing application components. While Python itself is already a very high-level language, PEAK provides even higher abstractions, largely through the clever use of metaclasses and other advanced Python techniques. In many ways, PEAK does for Python what J2EE does for the Java language. Part of the formalization in PEAK comes in the explicit specification of protocols, specifically in the separately available package, PyProtocols.
|
 |
Articles |
 |
04 May 2004 |
|
| |
Introduction to IBM JVM for Linux JIT diagnostics
This paper introduces you to the Just-In-Time (JIT) compiler and to the Mixed Mode Interpreter (MMI) optimizations techniques, used in IBM’s JVM 1.3.1 and 1.4.2 and to their potential effect on Java applications that are being migrated from Sun Hotspot JVM.
|
 |
Articles |
 |
30 Apr 2004 |
|
| |
POWER to the people
In the last decade alone, IBM scientists have announced one semiconductor breakthrough after another: copper technology, silicon-on-insulator, silicon germanium, strained silicon, and low-k dielectrics. All of these technologies came out of IBM's fertile in-house research community. This prowess in modern chipmaking know-how didn't come out of a vacuum -- rather, it came out of the hermetically-sealed clean rooms of the most advanced R & D department in the semiconductor industry.
|
 |
Articles |
 |
28 Apr 2004 |
|
| |
Network packet capturing for Linux
This tutorial covers different mechanisms for capturing and manipulating packets. Security applications -- such as VPNs, firewalls, and sniffers, and network apps such as routers -- rely on methods like those described here to do their work. Once you have the hang of them, you will rely on them too. You won't want to miss this tutorial all about packet interception, covering kernels from 2.2.x to the present and techniques from divert socket and netfilter to interrupt handling and messing with the kernel source code itself.
|
 |
Tutorials |
 |
13 Apr 2004 |
|
| |
Differences Between IBM eServer iSeries and pSeries Servers Running Linux
Since the inception of running Linux on an IBM eServer iSeries server, it has changed the computing environment and traditional iSeries workloads. It has been said that Linux and OS/400 are among the two most stable operating environments available. But it has truly been the combination of Linux running on iSeries hardware and OS/400 itself that has created this exciting environment. Each component brings its strengths to the equation creating greater possibilities for solution developers and end-users alike.
|
 |
Articles |
 |
09 Apr 2004 |
|
| |
Charming Python: Testing frameworks in Python
In this installment, David looks at Python's two standard modules for unit testing: unittest and doctest. These modules expand on the capability of the built-in assert statement, which is used for validation of pre-conditions and post-conditions within functions. David discusses the best ways to incorporate testing into Python development, weighing the advantages of different styles for different types of projects.
|
 |
Articles |
 |
08 Apr 2004 |
|
| |
Empowering the Linux developer
Recognized as a high-performance, reliable, and serviceable enterprise platform, the 64-bit POWER architecture offers new choices to UNIX and Linux application developers. Anyone with a background in either AIX or Linux on other platforms can benefit from the strength of the open source community combined with the POWER of world-class IBM hardware.
|
 |
Articles |
 |
30 Mar 2004 |
|
| |
A developer's guide to the POWER architecture
POWER processors are found in everything from supercomputers to game consoles and from servers to cell phones -- and they all share a common architecture. This introduction to the PowerPC application-level programming model will give you an overview of the instruction set, important registers, and other details necessary for developing reliable, high-performing POWER applications and maintaining code compatibility among processors.
|
 |
Articles |
 |
30 Mar 2004 |
|
| |
Open source development using C99
What is C99? Who needs it? Is it available yet? Peter Seebach discusses the 1999 revision of the ISO C standard, with a focus on the availability of new features on Linux and BSD systems.
|
 |
Articles |
 |
24 Mar 2004 |
|
| |
Simulate devices using DSF
The Device Simulator Framework (DSF) provides an easy-to-use ioctl interface to all your devices, real or imagined. Intended for experienced kernel and device driver software developers, DSF makes it easier to debug and test device code that would otherwise be difficult to simulate or recreate.
|
 |
Articles |
 |
23 Mar 2004 |
|
| |
More graphics from the command line
There's nothing quite like command-line tools for handling large batches of tasks, and image manipulations are no exception. Web developers and administrators will appreciate the ability to handle large numbers of files easily, either at the command line or in scripts. Programmer Michael Still presents more examples of the ImageMagick suite, this time demonstrating how to put curved corners, logos, or frames and borders on your images, as well as how to convert to and from multipage file formats including Adobe's PDF format.
|
 |
Articles |
 |
16 Mar 2004 |
|
| |
Best practices, design, and optimal performance for a three-tier application with Linux on iSeries and DB2 UDB for iSeries
Since the inception of running Linux on an IBM eServer iSeries server, it has changed the computing environment and traditional iSeries workloads. It has been said that Linux and OS/400 are among the two most stable operating environments available. But it has truly been the combination of Linux running on iSeries hardware and OS/400 itself that has created this exciting environment. Each component brings its strengths to the equation creating greater possibilities for solution developers and end-users alike. The iSeries hardware and its partitioning capabilities add the ability for users to utilize their entire iSeries server making a great story for consolidating servers under one umbrella. OS/400 has an unblemished reputation for stability, security, and line-of-business applications—of which DB2 UDB for iSeries is the cornerstone. And then Linux brings the open source movement to these traditional workloads, allowing users to add functions previously unavailable to iSeries servers as well as develop their own new solutions. It is no wonder that the Linux on iSeries implementation won "Best of Show" at Linux World in 2001.
|
 |
Articles |
 |
09 Mar 2004 |
|
| |
Using the GNU text utilities
This tutorial shows you how to use the GNU text utilities collection to process log files, documentation, structured text databases, and other textual sources of data or content. The utilities in this collection have proven their usefulness over decades of refinement by UNIX/Linux developers, and should be your first go-to choice for general text processing tasks. This tutorial is written for Linux/UNIX programmers and system administrators, at a beginning to intermediate level.
|
 |
Tutorials |
 |
09 Mar 2004 |
|
| |
Automate Perl module deployment
If you run Perl across many different computers of any sort, you know how frustrating it can be to install Perl extension modules across those machines. The administrative process is even worse if you have a Web server farm and need to keep each machine up to date with a set suite of extension modules for your installation. CPAN helps, but there are issues with CPAN that make it an unwieldy solution for use on a network. This article provides possible solutions before covering the final system. The main goals are a unified installation/module set, a single download, and a guaranteed unified set of version numbers across all the computers in the network.
|
 |
Articles |
 |
08 Mar 2004 |
|
| |
Kernel comparison: Networking improvements in the 2.6 kernel
The new Linux kernel includes support for and improvements in many areas of networking: from tunneling and better file security to encryption and privacy protection. This article covers how these improvements affect users even as they make Linux more secure and more enterprise-ready.
|
 |
Articles |
 |
03 Mar 2004 |
|
| |
Build an LSID Resolution Service using the Java language
We take you through a step-by-step approach to building a Java technology-based Life Sciences Identifier (LSID) authority from scratch. We demonstrate how to build this on a minimal data set and on data downloaded from the protein sequence database Swiss-Prot, all on the Linux platform.
|
 |
Articles |
 |
03 Mar 2004 |
|
| |
Kernel comparison: Improved memory management in the 2.6 kernel
The 2.6 Linux kernel employs a number of techniques to improve the use of large amounts of memory, making Linux more enterprise-ready than ever before. This article outlines a few of the more important changes, including reverse mapping, the use of larger memory pages, storage of page-table entries in high memory, and greater stability of the memory manager.
|
 |
Articles |
 |
03 Mar 2004 |
|
| |
Linux wireless networking
These days you cannot talk about computers and networks without thinking of Linux and wireless networking. In this article, Sreekrishnan Venkateswaran explains wireless networking with WLAN, Bluetooth, GPRS, GSM, and IrDA from a Linux perspective. He uses various wireless devices and the corresponding kernel layers and user space tools to demonstrate how they work with Linux.
|
 |
Articles |
 |
02 Mar 2004 |
|
| |
Connect KDE applications using DCOP
Hidden deep within the KDE desktop lies a powerful set of scripting technologies that can allow the power user to automate many tasks. In this article, Martyn Honeyford introduces these technologies and shows how you can use them to the fullest.
|
 |
Articles |
 |
26 Feb 2004 |
|
| |
Kernel comparison: Improvements in kernel development from 2.4 to 2.6
The long-awaited 2.6 kernel is finally here. The IBM Linux Technology Center's Paul Larson takes a look behind the scenes at the tools, tests, and techniques -- from revision control and regression testing to bugtracking and list keeping -- that helped make 2.6 a better kernel than any that have come before it.
|
 |
Articles |
 |
17 Feb 2004 |
|
| |
Kernel comparison: Web serving on 2.4 and 2.6
Many improvements have been made in the Linux 2.6 kernel to favor enterprise applications. This article presents results from the IBM Linux Technology Center's Web serving testing efforts, comparing various aspects of the Linux 2.4 and 2.6 kernels. Highlighted here are the key enhancements in the 2.6 kernel, the test methodologies, and the results of the tests themselves. Bottom line: the 2.6 kernel is much faster than 2.4 for serving Web pages, with no loss in reliability.
|
 |
Articles |
 |
10 Feb 2004 |
|
| |
Migrate your apps from OS/2 to Linux: Part 1. Threads, mutexes, and semaphores
Linux is evolving as the predominant operating system of the new millennium, and legacy OSes such as OS/2 are being gradually phased out. This series of articles helps the developers involved in the tedious process of migrating/porting the OS/2 system drivers and applications to Linux. It provides a one-to-one mapping of various OS/2-to-Linux calls related to threads, IPC, memory management, timer handling, file handling, and so on. In addition, it captures the various preprocessor directives and compiler/linker options that can be mapped from OS/2 to Linux. This is the first in a series of three articles.
|
 |
Articles |
 |
05 Feb 2004 |
|
| |
Rexx for everyone
Rexx occupies a useful ecological niche between the relative crudeness of shell scripting and the cumbersome formality of full systems languages. Many Linux programmers and systems administrators would benefit from adding a Rexx implementation to their collection of go-to tools.
|
 |
Articles |
 |
04 Feb 2004 |
|
| |
Secure programmer: Countering buffer overflows
This article discusses the top vulnerability in Linux/UNIX systems: buffer overflows. This article first explains what buffer overflows are and why they're both so common and so dangerous. It then discusses the new Linux and UNIX methods for broadly countering them -- and why these methods are not enough. It then shows various ways to counter buffer overflows in C/C++ programs, both statically-sized approaches (such as the standard C library and OpenBSD/strlcpy solution) and dynamically-sized solutions, as well as some tools to help you. Finally, the article closes with some predictions on the future of buffer overflow vulnerabilities.
|
 |
Articles |
 |
27 Jan 2004 |
|
| |
Cultured Perl: Fun with MP3 and Perl, Part 2
Ted continues his look at manipulating and guessing MP3 tags with Perl, FreeDB, and various CPAN models via his autotag.pl application.
|
 |
Articles |
 |
27 Jan 2004 |
|
| |
Programming Linux sockets, Part 2
This intermediate-level tutorial extends the basics covered in Part 1 on programming using sockets. Part 2 focuses on the User Datagram Protocol (UDP) and demonstrates how to write UDP sockets applications in C and in Python. Although the code examples in this tutorial are in Python and C, they translate well to other languages.
|
 |
Tutorials |
 |
25 Jan 2004 |
|
| |
Speed-start your Linux app 2004: Installing Globus Toolkit 3.0 on Linux for iSeries and pSeries
The Globus Toolkit is the focus of emerging Grid computing technology, and the Globus Toolkit 3.0 (GT3) is written entirely in Java. A packaged installation module for GT3 on Linux on POWER (iSeries and pSeries servers) is in development, but not available yet. In the meantime, this article shows how to install GT3 on an individual node.
|
 |
Articles |
 |
25 Jan 2004 |
|
| |
Basic use of pthreads
Threads strike fear into the hearts of many programmers. UNIX's process model is simple and well understood, but it is sometimes inefficient. Threading can often allow for substantial improvements in performance, at the cost of a little confusion. This article demystifies the POSIX thread interface, providing practical examples of threaded code for consideration.
|
 |
Articles |
 |
21 Jan 2004 |
|
| |
Advanced UI design for GNOME
GTK programming has almost never been this easy: IBM developer Vladimir Silva shares his skills, his enthusiasm, and his modified code for the SimpLIstic sKin interface (or SLIK).
|
 |
Articles |
 |
20 Jan 2004 |
|
| |
Linux on Mac: a POWER programmer's primer
Even though most Linux users have treated Linux as an operating system for their x86 white boxes, Linux runs equally well on PowerPC machines. David looks at Linux on the PowerPC and the appealing range of PPC machines produced by Apple, where the option of using Linux is of great value to many users.
|
 |
Articles |
 |
20 Jan 2004 |
|
| |
Speed-start your Linux app 2004: Creating a WebSphere Application Server V5 cluster
This article introduces clusters for load balancing and failover support, and describes how to set up a cluster with IBM WebSphere Application Server Version 5 for Linux on IBM iSeries and pSeries servers. The steps and examples in this article are based on a network setup that includes two network-connected 64-bit POWER processor-based iSeries or pSeries servers (or 2 logical partitions) that are running UnitedLinux Version 1.0 for iSeries/pSeries (PowerPC). However, clustering with the WebSphere Application Server Version 5 for Linux works equally well with any mix of platform in your network setup: pSeries, iSeries, xSeries, or zSeries machines.
|
 |
Articles |
 |
16 Jan 2004 |
|
| |
The art of writing Linux utilities
Linux is famous for coming with a large toolbox and good ways to integrate tools. Peter Seebach discusses how new tools are developed and how to make a one-off program into a utility you'll be using for years to come.
|
 |
Articles |
 |
13 Jan 2004 |
|
| |
Secure programmer: Keep an eye on inputs
This article discusses various ways data gets into your program, emphasizing how to deal appropriately with them; you might not even know about them all! It first discusses how to design your program to limit the ways data can get into your program, and how your design influences what is an input. It then discusses various input channels and what to do about them, including environment variables, files, file descriptors, the command line, the graphical user interface (GUI), network data, and miscellaneous inputs.
|
 |
Articles |
 |
19 Dec 2003 |
|
| |
Putting Linux reliability to the test
This article documents the test results and analysis of the Linux kernel and other core OS components, including everything from libraries and device drivers to file systems and networking, all under some fairly adverse conditions, and over lengthy durations. The IBM Linux Technology Center has just finished this comprehensive testing over a period of more than three months and shares the results of their LTP (Linux Test Project) testing with developerWorks readers.
|
 |
Articles |
 |
17 Dec 2003 |
|
| |
Cultured Perl: Fun with MP3 and Perl, Part 1
Every self-respecting computer and music fan needs to be able to manipulate MP3s -- the defacto standard for recreational digital music use. In this article, Ted looks at ways to manage and manipulate MP3s (searching, tagging, renaming, commenting, etc.) using the autotag.pl application. Ted takes you through the application, illustrating how CPAN modules enable the application.
|
 |
Articles |
 |
11 Dec 2003 |
|
| |
Charming Python: Review of Python IDEs
David looks at four open source development environments for working with Python code on Unix-like operating systems. He evaluates two general-purpose editors/environments and two Python-specific ones, and compares the merits of each.
|
 |
Articles |
 |
11 Dec 2003 |
|
| |
Debugging configure
All too often, checking the README of a package yields only the none-too-specific: Build Instructions: Run configure, then run make. But what about when that doesn't work? In this article, Peter Seebach discusses what to do when an automatic configuration script doesn't work -- and what you can do as a developer to keep failures to a minimum. After all, if your build process doesn't work, users are just as badly off as if your program doesn't work once it's built.
|
 |
Articles |
 |
04 Dec 2003 |
|
| |
Windows-to-Linux roadmap: Overview
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 9. Installing software
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this final part, we download and compile a software package, discuss the pros and cons of automated package management, and get to know the RPM system.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 8. Backup and recovery
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we take stock of what is on the system, and plan and implement regular backups with an eye to recovery as well as security.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 7. Networking
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we explore networking, which is one of the things that Linux does best.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 6. Working with partitions and file systems
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command line to help systems -- even compiling packages from available source code. In this part, we explore Linux's hierarchical directory structure, and investigate mounting and devices.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 5. Linux logging
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we track, manipulate, and rotate logs for security and informational purposes.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 4. User administration
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, you learn how to add and delete users and groups, both via the Webmin interface and at the command line. Shadow password and group files are also covered.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 3. Introduction to Webmin
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, he shows you how to install and use Webmin, a browser-based administration tool for Linux and other platforms that provides a graphical interface to many administrative and operational tasks.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 2. Console crash course
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we cover the different shells, as well as some of the most essential Linux commands.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Windows-to-Linux roadmap: Part 1. Thinking in Linux
IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. He begins by illustrating some of the differences and similarities between Linux and Windows, and showing you how to stop rebooting all the time.
|
 |
Articles |
 |
11 Nov 2003 |
|
| |
Installing WebSphere Application Server V5.0 for Linux on iSeries and pSeries
This article shows how to install, configure, and verify the installation of WebSphere Application Server V5.0.2 for Linux on iSeries and pSeries. The steps cover the use of the Administrative Console and the sample programs. We'll also investigate a J2EE e-commerce application called Plants By WebSphere, which is included with WebSphere Application Server.
|
 |
Articles |
 |
03 Nov 2003 |
|
| |
Speed-start your Linux app: Using EJB persistence with DB2 and WebSphere for Linux on iSeries
This article is for developers of enterprise applications on Linux on iSeries who want to create and load EJB data using EJB persistence in DB2/400. You'll learn how to configure the WebSphere Application Server on Linux for iSeries with a JDBC provider and data source for EJB persistence in iSeries DB2/400. You'll create a JDBC provider, create a Java 2 Connector (J2C) authentication data entry, and configure a data source to access the database in iSeries DB2/400.
|
 |
Articles |
 |
03 Nov 2003 |
|
| |
Speed-start your Linux app: Installing DB2 for Linux on iSeries and pSeries
This article shows how to install DB2 Version 8.1 for Linux on iSeries and pSeries. We'll also perform basic administration tasks for a functional DB2 environment, such as Control Center setup, preparation for database creation, and database creation.
|
 |
Articles |
 |
03 Nov 2003 |
|
| |
Charming Python: Numerical Python
Numerical Python (often called NumPy) is a widely used extension library for fast operations on fixed-type arrays, of any dimensionality, in Python. Since the underlying code is well-optimized C, any speed limitations of Python's interpreter usually go away when major operations are performed in NumPy calls. As successful as NumPy has been, its developers have decided to supercede NumPy with a new module called Numarray that is mostly, but not quite entirely, compatible with NumPy. In this installment, David looks both at the general features of NumPy and at the specific improvements forthcoming with Numarray.
|
 |
Articles |
 |
30 Oct 2003 |
|
| |
Programming Linux sockets, Part 1
This introductory-level tutorial shows how to begin programming with sockets. Focusing on C and Python, it guides you through the creation of an echo server and client, which connect over TCP/IP. Fundamental network, layer, and protocol concepts are described, and sample source code abounds.
|
 |
Tutorials |
 |
28 Oct 2003 |
|
| |
Secure programmer: Validating input
This article shows how to validate input -- one of the first lines of defense in any secure program.
|
 |
Articles |
 |
23 Oct 2003 |
|
| |
System recovery with Knoppix
This article shows how to access a non-booting Linux system with a Knoppix CD, get read-write permissions on configuration files, create and manage partitions and filesystems, and copy files to various storage media and over the network. You can use Knoppix for hardware and system configuration detection and for creating and managing partitions and filesystems. You can do it all from Knoppix's excellent graphical utilities, or from the command line.
|
 |
Articles |
 |
23 Oct 2003 |
|
| |
Developer's notebook
Spence Murray is one of the top Linux developers around, and a long-time UNIX champion. Fellow Linux developers will benefit from the useful, common-practice shell scripting techniques that Murray and his Codemonks Consulting partners employ on a daily basis in their Linux development and applications services work.
|
 |
Articles |
 |
21 Oct 2003 |
|
| |
Smashing performance with OProfile
Analyzing the performance of the Linux operating system and application code can be difficult due to unexpected interactions between the hardware and the software, but profiling is one way you can identify such performance problems. This article looks at OProfile, a profiling tool for Linux that will be included in the upcoming stable kernel.
|
 |
Articles |
 |
16 Oct 2003 |
|
| |
Build a network router on Linux
Zebra is open source TCP/IP routing software that is similar to Cisco's Internetworking Operating System (IOS). Flexible and powerful, it can handle routing protocols such as Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), and all of their various flavors. This article shows how our authors set up Zebra and used it to manage routes dynamically in conjunction with real Cisco hardware.
|
 |
Articles |
 |
08 Oct 2003 |
|
| |
Cultured Perl: Inversion lists with Perl
Inversion lists are an essential part of any Perl programmer's toolkit, especially for those who deal with ranges and Unicode. In this article, Ted explains inversion lists, illustrated by a Perl implementation that he wrote and put on the CPAN network, and shows how inversion lists can be used to compress normal data in addition to bit strings.
|
 |
Articles |
 |
08 Oct 2003 |
|
| |
Deploying Linux Solutions on IBM iSeries and pSeries Servers
POWER-based servers from IBM, the pSeries and iSeries servers, run Linux as well as their respective traditional operating systems (AIX and i5/OS). Linux is available both as the primary operating system on pSeries, and also as a logical partition on the POWER4 and POWER5 pSeries and iSeries servers. Linux applications such as the desktop environments, compilers, debuggers, and many other client and server applications are available for the POWER-based platforms. Outstanding performance of IBM’s servers coupled with comprehensive services make make Linux on iSeries and pSeries servers a winning choice. This article gives an overview of deploying your solution on Linux on POWER-based servers.
|
 |
Articles |
 |
30 Sep 2003 |
|
| |
Towards Linux 2.6
The impending release of a new stable kernel promises greater adoption for Linux, as it becomes more reliable and scalable over a larger variety of processors. Here we'll highlight some of the changes, both big and small, with some code samples.
|
 |
Articles |
 |
23 Sep 2003 |
|
| |
Boot Linux faster
This article shows you how to improve the boot speed of your Linux system without compromising usability. Essentially, the technique involves understanding system services and their dependencies, and having them start up in parallel, rather than sequentially, when possible.
|
 |
Articles |
 |
17 Sep 2003 |
|
| |
Network programming with the Twisted framework, Part 4
In this final installment of his series on Twisted, David looks at specialized protocols and servers contained in the Twisted package, with a focus on secure connections.
|
 |
Articles |
 |
11 Sep 2003 |
|
| |
Access USB devices from Java applications
Java technology's platform independence makes the process of writing Java applications that interact with hardware quite tricky. In this article, research scientist Qingye Jiang examines two projects that are making the process easier by providing APIs through which Java applications can make use of USB devices.
|
 |
Articles |
 |
02 Sep 2003 |
|
| |
Metaclass programming in Python, Part 2
Michele and David's initial developerWorks article on metaclass programming prompted quite a bit of feedback, some of it from perplexed readers still trying to grasp the subtleties of Python metaclasses. This article revisits the working of metaclasses and their relation to other OOP concepts. It contrasts class instantiation with inheritance, distinguishes classmethods and metamethods, and explains and solves metaclass conflicts.
|
 |
Articles |
 |
28 Aug 2003 |
|
| |
Data visualization using Perl/Tk
Generating a visual representation is often the best way to understand large data sets, but standard tools such as gnuplot often fall short. This article shows how to use Perl/Tk, the standard GUI toolkit for Perl, to quickly build custom plotting and graphing tools.
|
 |
Articles |
 |
27 Aug 2003 |
|
| |
Secure programmer: Developing secure programs
This column explains how to write secure applications; it focuses on the Linux operating system, but many of the principles apply to any system. In today's networked world, software developers must know how to write secure programs, yet this information isn't widely known or taught. This first installment of the Secure programmer column introduces the basic ideas of how to write secure applications and discusses how to identify the security requirements for your specific application. Future installments will focus on different common vulnerabilities and how to prevent them.
|
 |
Articles |
 |
21 Aug 2003 |
|
| |
The road to better programming: Chapter 12. File editing with the perledit: section
In this series, Ted has been developing the cfperl project -- which is simply a cfengine interpreter written in Perl -- from the top down. This time, Ted adds Perl-based file editing. He explores which decisions were taken and why, and shows the four new commands in use.
|
 |
Articles |
 |
20 Aug 2003 |
|
| |
Speed-start your Linux app 2003: Install Linux on iSeries
This article describes how to install and set up Linux as a guest operating system in an iSeries environment.
|
 |
Articles |
 |
15 Aug 2003 |
|
| |
Network programming with the Twisted framework, Part 3
In the previous installment of this series, David looked at some higher-level techniques for writing Web services, including serving dynamic pages using the .rpy extension. In this article, he moves on to look at dynamic Web serving, and how to generate dynamic Web pages using the Woven application for templating pages.
|
 |
Articles |
 |
07 Aug 2003 |
|
| |
Create a VNC system with tclRFB
Although VNC -- or Virtual Network Computing -- is widely used as a "productivity tool" for programmers and administrators, that's far from the limit of the technology's capabilities. tclRFB opens up a spectrum of possibilities for distributed architectures.
|
 |
Articles |
 |
05 Aug 2003 |
|
| |
Server clinic: R handy for crunching data
R is sophisticated open-source software for managing statistical calculations. It's easy enough to use that it can benefit you even if you need only a fraction of its capabilities.
|
 |
Articles |
 |
30 Jul 2003 |
|
| |
Making of MetroSphere, Part 16: Secure version management with CVS
In this tutorial, system administrators Brian Bilbrey and Tom Syroid outline the requirements necessary to transform CVS into a secure application -- from both the server and client side of the equation -- as part of Studio B's MetroSphere project.
|
 |
Tutorials |
 |
29 Jul 2003 |
|
| |
Building a wireless access point on Linux
When the ability to write and modify your own management software is the main objective, a custom-built wireless access point is the way to go. Take a look at what's involved in building a wireless bridge using Linux, including software and hardware considerations.
|
 |
Articles |
 |
22 Jul 2003 |
|
| |
Speed-start your Linux app 2003: Install Linux on pSeries
Linux works well on POWER systems and plays nicely with other operating systems in a partitioned environment. Installing Linux allows you to leverage the advanced hardware with the advantages of open source tools and open standards. This powerful combination gives developers and administrators a great deal of control over their environment. This article walks you through a monolithic installation of Linux for pSeries using the SuSE SLES 8 distribution.
|
 |
Articles |
 |
21 Jul 2003 |
|
| |
Linux on POWER: Using open source tools
This article focuses on open source software for Linux for the POWER microprocessor architecture, but the issues discussed are common to all usage of open source software in a Linux environment. All of the projects mentioned in this article are available for, but not limited to, Linux on POWER.
|
 |
Articles |
 |
21 Jul 2003 |
|
| |
Graphics from the command line
There's nothing quite like command-line tools for handling large batches of tasks, and image manipulations are no exception. Web developers and administrators will appreciate the ability to handle large numbers of files easily, either at the command line or in scripts. Programmer Michael Still presents the ImageMagick suite, a Linux toolkit for sizing, rotating, converting, and otherwise manipulating images, in a huge number of formats, whether one or a hundred at a time.
|
 |
Articles |
 |
16 Jul 2003 |
|
| |
Network programming with the Twisted framework, Part 2
In the first installment in this series on Twisted, David introduced asynchronous server programming. While a Web server is, in a sense, just another network service, as David shows in this installment, Twisted provides a number of higher-level techniques for writing Web services.
|
 |
Articles |
 |
15 Jul 2003 |
|
| |
Create Debian Linux packages
Learn the basics of creating Debian packages for distributing programs and source code. This article shows all the necessary components of a package and how to put them together to end up with a final product.
|
 |
Articles |
 |
10 Jul 2003 |
|
| |
Server clinic: Connect securely with ssh
You'll undoubtedly want to use ssh to work on your servers from remote sites, but it takes an assortment of tricks to keep progress rolling smoothly.
|
 |
Articles |
 |
10 Jul 2003 |
|
| |
Pervasive computing: e-business anywhere, anytime
This article presents an architecture blueprint for building a wireless e-business solution that seamlessly integrates into the existing e-business infrastructure. Combining the efficiency and power of Linux with IBM's state-of-the-art pervasive computing solutions, the authors take you step by step through building a convenient PDA-based sales application.
|
 |
Articles |
 |
01 Jul 2003 |
|
| |
Network programming with the Twisted framework, Part 1
Twisted is an increasingly popular pure-Python framework for programming network services and applications. While there are a large number of loosely coupled modular components within Twisted, a central concept to the framework is the idea of non-blocking asynchronous servers. In this article, David introduces you to this style of programming -- a novel one for developers accustomed to threading or forking servers, but one capable of great efficiency under heavy loads.
|
 |
Articles |
 |
25 Jun 2003 |
|
| |
Cultured Perl: Use IMAP with Perl
Ted introduces you to accessing IMAP with the Mail::IMAPClient CPAN module. Using Mail::IMAPClient, he built the ifrom utility as an alternative to other IMAP and POP3 mail checkers. ifrom has its own unique advantages that can be used for listing, printing, and moving messages on an IMAP server, and backing up IMAP mail.
|
 |
Articles |
 |
19 Jun 2003 |
|
| |
Charming Python: Using combinatorial functions in the itertools module
Python 2.2 introduced simple generators to the Python language and reconceived standard loops in terms of underlying iterators. With Python 2.3, generators become standard (no need for _future_, and the new module itertools is introduced to work flexibly with iterators. The itertools module is essentially a set of combinatorial higher-order functions, but ones that work with lazy iterators rather than with finite lists. In this installment, David explores the new module, and gives you a sense of the new expressive power available with combinatorial iterators.
|
 |
Articles |
 |
12 Jun 2003 |
|
| |
The road to better programming: Chapter 11. Crontab management with cfperl
In this series, Ted has been developing the cfperl project -- which is simply a cfengine interpreter written in Perl -- from the top down. In this installment, he discusses the cron section, where crontab entries can be added or deleted easily.
|
 |
Articles |
 |
12 Jun 2003 |
|
| |
Linux on POWER application performance optimization
The path to enablement of IA32 code on Linux PPC travels through one of two compiler sets, the GNU Compiler Collection (GCC) and the Visual Age Compilers. This article reviews some tips for porting 32-bit software from Linux IA32 to Linux PowerPC with both of these compiler sets.
|
 |
Articles |
 |
06 Jun 2003 |
|
| |
Porting IA32 applications to Linux PowerPC
The path to enablement of IA32 code on Linux PPC travels through one of two compiler sets, the GNU Compiler Collection (GCC) and the Visual Age Compilers. This article reviews some tips for porting 32-bit software from Linux IA32 to Linux PowerPC with both of these compiler sets.
|
 |
Articles |
 |
06 Jun 2003 |
|
| |
Porting Intel Applications to 32 bit Linux on POWER
The path to enablement of IA32 code on Linux PPC travels through one of two compiler sets, the GNU Compiler Collection (GCC) and the Visual Age Compilers. This article reviews some tips for porting 32-bit software from Linux IA32 to Linux PowerPC with both of these compiler sets.
|
 |
Articles |
 |
06 Jun 2003 |
|
| |
Porting Intel applications to 64 bit Linux on POWER
Linux PowerPC provides a platform for the development and deployment of 32 bit applications that would benefit from a 64 bit environment. This article addresses porting software from the Intel platform to Linux PowerPC with both of these compiler sets.
|
 |
Articles |
 |
06 Jun 2003 |
|
| |
Inside the Linux kernel debugger
When debugging kernel problems, being able to trace the kernel execution and examine its memory and data structures is very useful. The built-in kernel debugger in Linux, KDB, provides this facility. In this article you'll learn how to use the features provided by KDB and how to install and set up KDB on a Linux machine. You'll also get acquainted with the commands and the setup and display options available to you in KDB.
|
 |
Articles |
 |
05 Jun 2003 |
|
| |
Server clinic: Emulate legacy operating systems on Linux
Emulations of a wide variety of operating systems are available for Linux. More than mere academic exercises, these "hosted OSes" are practical investments for many server rooms.
|
 |
Articles |
 |
05 Jun 2003 |
|
| |
Making of MetroSphere, Part 11: Installing WebSphere Portal Server 4.2 on Red Hat Linux: WebSphere Application Server and Portal Server
This tutorial details the procedures necessary to install IBM WebSphere Portal Enable, Version 4.2, on Red Hat Linux. Because this topic is complex, we've split the information into two parts. A previous tutorial covered the installation of DB2 and IBM Directory Server (IDS). This tutorial outlines the installation of DB2, WebSphere Application Server, and WebSphere Portal Server.
|
 |
Tutorials |
 |
22 May 2003 |
|
| |
Server clinic: Writing good exceptions
Too many developers treat exception systems as they do romantic language: the words are familiar, but they aren't sure what to say with them. Cameron offers practical advice on what your programs should throw and catch.
|
 |
Articles |
 |
22 May 2003 |
|
| |
Making of MetroSphere, Part 10: Installing WebSphere Portal Server 4.2 on Red Hat Linux: DB2 and IDS
This tutorial details the procedures necessary to install IBM WebSphere Portal Enable, Version 4.2, on Red Hat Linux. Because this topic is complex, we've split the information into two parts. This tutorial covers the installation of DB2 and IBM Directory Server (IDS). A follow-up tutorial outlines the installation of DB2, WebSphere Application Server, and WebSphere Portal Server.
|
 |
Tutorials |
 |
19 May 2003 |
|
| |
Build a Linux test network
This tutorial shows how to combine Samba and GRUB to build a compact, highly adaptable, cross-platform test network, capable of booting and networking a large number of operating systems on a small number of machines. Though Samba and GRUB can manage many different operating systems, this tutorial focuses on Linux and Windows.
|
 |
Tutorials |
 |
19 May 2003 |
|
| |
The road to better programming: Chapter 10. User management with cfperl
In this series, Ted has been developing the cfperl project -- which is simply a cfengine interpreter written in Perl. He discusses the users: section, where users and groups can be added, modified, or deleted with ease.
|
 |
Articles |
 |
15 May 2003 |
|
| |
Administer Linux on the fly
The /proc filesystem is one of Linux's great features, and this article
gives you a thorough grounding in some of its most useful aspects. With it,
you can administer many details of the operating system without ever having to
shut down and reboot the machine, which is a boon for those who need to keep
their systems as available as possible.
|
 |
Articles |
 |
14 May 2003 |
|
| |
Charming Jython
Uche Ogbuji introduces Jython 2.1 to Java developers by contrasting and comparing the way Python and the Java virtual machine and library create classes and how they use the interpreter. Uche illustrates the differences by providing samples of Java library access, as well as the Jython interpreter shell and code files.
|
 |
Articles |
 |
06 May 2003 |
|
| |
The making of MetroSphere, Part 9: Installing and securing Red Hat Linux
The MetroSphere series follows the creation of the MetroSphere community and information marketplace. This article describes aspects of installing and securing a Red Hat Linux 8.0 server in preparation for installing WebSphere Portal Enable.
|
 |
Articles |
 |
01 May 2003 |
|
| |
Server clinic: Put virtual filesystems to work
A virtual filesystem (VFS) is an abstraction with surprisingly productive uses. Several popular languages now support VFS constructs, and Cameron Laird shows you what they are good for.
|
 |
Articles |
 |
29 Apr 2003 |
|
| |
Burning CDs on Linux
Linux offers powerful, flexible tools for creating CDs. You can create disks that are readable on almost any platform and create .iso files for download and distribution.
|
 |
Articles |
 |
23 Apr 2003 |
|
| |
Interview: Taking Samba beyond POSIX
developerWorks talks to Tridge about his work at IBM, the state of Samba 3.0, and his thoughts on the smbd rewrite.
|
 |
Articles |
 |
16 Apr 2003 |
|
| |
Improve Linux performance
Cameron Laird presents a collection of useful examples that are apt models for the sorts of performance problems likely to arise in your own application development.
|
 |
Articles |
 |
10 Apr 2003 |
|
| |
Tip: Remove duplicate lines with uniq
Duplicate lines don't often cause a problem, but sometimes they really do. And when they do, there's little need to spend an afternoon working up a filter for them, when the uniq command is at your very fingertips. Find out how it can save you time and headaches.
|
 |
Articles |
 |
03 Apr 2003 |
|
| |
The road to better programming: Chapter 9. The classes and default parsers
The cfperl project, a cfengine interpreter written in Perl, is developed from the top down. In this article, we'll discuss the groups and classes, and how unknown input is handled.
|
 |
Articles |
 |
03 Apr 2003 |
|
| |
Securing Linux for Java services
Enterprise Java expert Dennis Sosnoski starts with his view of how Java server technologies fit with Linux, then gives pointers on setting up the Tomcat Java servlet engine on Linux -- securely.
|
 |
Articles |
 |
01 Apr 2003 |
|
| |
Interview: Eric Raymond goes back to basics
Author of The Cathedral and the Bazaar and publisher of the now-famous Halloween Documents, Eric S. Raymond talks about his latest projects and sheds light on why UNIX developers don't like IDEs. Freelance writer Robert McMillan catches up with an older, wiser open source advocate.
|
 |
Articles |
 |
26 Mar 2003 |
|
| |
Charming Python: Multiple dispatch
Object-oriented programming gains much of its versatility through polymorphism: objects of different kinds can behave in similar ways, given the right contexts. But most OOP programming is single dispatch; that is, just one designated object determines which code path is taken. Conceptually, a more general technique is to allow all the arguments to a function/method to determine its specialization. This article presents an implementation of multiple dispatch in Python, and shows examples where this makes for better programs."
|
 |
Articles |
 |
20 Mar 2003 |
|
| |
Server clinic: Fortran, at home on Linux
Many Fortran-oriented developers find a happy home with Linux. Along with new development and porting, a surprising amount of this work involves legacy applications, some over thirty-five years old.
|
 |
Articles |
 |
19 Mar 2003 |
|
| |
Cultured Perl: One-liners 102
From printing a range of lines to listing a file's contents in reverse order, Ted shows how to do more with less using these succinct, one-line Perl scripts.
|
 |
Articles |
 |
12 Mar 2003 |
|
| |
Tip: Filtering files with tr
Nobody ever said sed was easy -- and it isn't! But you can get a lot of sed's most basic functionality very easily by using tr instead. Jacek Artymiak shows how.
|
 |
Articles |
 |
12 Mar 2003 |
|
| |
Wrap GObjects in Python
Learning how to wrap GTK+ C modules for use in Python will enable you to use a C-coded GObject in Python whenever you like, whether or not you're especially proficient in C.
|
 |
Articles |
 |
11 Mar 2003 |
|
| |
The road to better programming: Chapter 8. The top-level and compound-class parsers
In this installment, Ted explains the workings of cfperl's top-level and compound-class parsers and moves us towards a clearer understanding of the important roles parsers play.
|
 |
Articles |
 |
06 Mar 2003 |
|
| |
Tip: Sorting files with sort and tsort
Save time and headaches by using sort and tsort -- instead of resorting to more complex solutions utilizing Perl or Awk.
|
 |
Articles |
 |
06 Mar 2003 |
|
| |
Manage Perl persistence with Pixie
The Pixie module takes a different approach to interfacing your Perl project with a relational database. Throwing away the schema, it allows more flexibility. Sure, there can be some downside to that, but for a large number of projects, you'll find it fits the bill just fine.
|
 |
Articles |
 |
04 Mar 2003 |
|
| |
Simplifying SNA using Communications Server for Linux
This article shows you how to easily set up SNA connections over IP and
run sample file transfer programs without in-depth knowledge of SNA. By using the sample applications supplied with Communications Server for Linux (CS Linux), you can use SNA without having to learn all of the complex protocols or write your own interface.
|
 |
Articles |
 |
01 Mar 2003 |
|
| |
Charming Python: Create declarative mini-languages
The object orientation and transparent introspective capabilities of Python allow you to easily create declarative mini-languages for programming tasks. In this installment, David looks not so much at using Python to interpret or translate other specialized languages (although that is possible), but rather the ways that Python code itself can be helpfully restricted to a set of declarative elements. He'll show you how developers can use declarative techniques to state application requirements in a concise and clear way, while letting the behind-the-scenes framework do the heavy work.
|
 |
Articles |
 |
27 Feb 2003 |
|
| |
Metaclass programming in Python
Most readers are already familiar with the concepts of object-oriented
programming: inheritance, encapsulation, polymorphism. But the creation of objects
of a given class, with certain parents, is usually thought of as a "just so"
operation. It turns out that a number of new programming constructs become either
easier, or possible at all, when you can customize the process of object creation.
Metaclasses enable certain types of "aspect-oriented programming," for example, you
can enhance classes with features like tracing capabilities, object persistence,
exception logging, and more.
|
 |
Articles |
 |
26 Feb 2003 |
|
| |
Manage packages using Stow
This article is about Stow, a software installation management utility for Linux that offers a number of advantages over the tried-and-true Red Hat and Debian package management systems. With Stow, you can organize applications available in standard tar files and keep application binaries logically arranged for easy access.
|
 |
Articles |
 |
20 Feb 2003 |
|
| |
Qt and PyQt
The Qt toolkit is a widely-used cross-platform GUI toolkit, available for Windows, Linux, Mac OSX, and handheld platforms. QT has a well-structured, but flexible, object-oriented organization, clear documentation, and an intuitive API. In this article, David Mertz and Boudewijn Rempt look at the Qt library, with a focus on the PyQt bindings that let Python programmers access Qt functionality.
|
 |
Articles |
 |
11 Feb 2003 |
|
| |
The road to better programming: Chapter 7. Top-level control flow and configuration
Perl expert Ted Zlatanov continues his top-down development of the cfperl project, a cfengine interpreter written in Perl, starting with the control flow and configuration handling.
|
 |
Articles |
 |
05 Feb 2003 |
|
| |
Knoppix gives bootable, one-disk Linux
If you've ever needed a functional Linux setup that is portable and runs the same way on any hardware, read on. Knoppix packages a specialized and highly useful Linux distribution on a single, bootable CD-ROM.
|
 |
Articles |
 |
04 Feb 2003 |
|
| |
Server clinic: Xmingwin for cross-generating apps
Xmingwin makes it practical to generate Windows programs from a Linux server. This column gives a recipe for setting up Xmingwin, and outlines the most important reasons for doing so.
|
 |
Articles |
 |
30 Jan 2003 |
|
| |
Introduction to User-Mode Linux
Ever wish you had a place to let your Linux applications play -- where they wouldn't hurt anything else? Do your killer apps spend too much time killing each other? Originally conceived as a kernel developer's tool, UML lets you set up multiple virtual machines that are isolated from each other and from the hardware. Now, you can test applications all the way to failure without breaking the host system -- or even requiring a reboot. Veteran administrator Carla Schroder shows you how.
|
 |
Tutorials |
 |
23 Jan 2003 |
|
| |
Speed-start your Linux app: Installing DB2 Version 8.1 for Linux
This article guides you through the steps to install DB2 8.1 and the IBM Java Runtime Environment (JRE) with minimal fuss and frustration. The article targets developers who are new to Linux or UNIX-based operating systems.
|
 |
Articles |
 |
04 Jan 2003 |
|
| |
Hyper-Threading speeds Linux
The Intel Xeon processor introduces a new technology called
Hyper-Threading (HT) that, to the operating system, makes a single processor
behave like two logical processors. When enabled, the technology allows the
processor to execute multiple threads simultaneously, in parallel within each
processor, which can yield significant performance improvement. We set out to
quantify just how much improvement you can expect to see.
|
 |
Articles |
 |
01 Jan 2003 |
|
| |
Speed-start your Linux app: Installing and configuring SuSE Linux Enterprise Server (SLES) 8
This article highlights the key requirements and steps for getting SuSE Linux Enterprise Server (SLES) 8 installed and configured on your workstation or laptop. With our suggested installation, you can explore Linux and get comfortable with it. This article is intentionally brief. For detailed information, please refer to your hardcopy SuSE Linux documentation, or the SuSE Linux documentation on your installation CD.
|
 |
Articles |
 |
01 Jan 2003 |
|
| |
Cultured Perl: Tied variables
Ted explains the basics of tying variables, using concrete examples of CPAN modules through their usage and implementation. He covers scalar, array, and hash variables.
|
 |
Articles |
 |
01 Jan 2003 |
|
| |
Improving Linux kernel performance and scalability
The first step in improving Linux performance is quantifying it. But how exactly do you quantify performance for Linux or for comparable systems? In this article, members of the IBM Linux Technology Center share their expertise as they describe how they ran several benchmark tests on the Linux 2.4 and 2.5 kernels late last year.
|
 |
Articles |
 |
01 Jan 2003 |
|
| |
The road to better programming: Chapter 6. Developing cfperl, from the beginning
Perl expert Ted Zlatanov embarks on a new coding project to create cfperl, a cfengine interpreter written in Perl. Starting where any well-developed project should -- at the beginning -- Ted investigates licensing options and version control, sets up a schedule for completing the work, and does a little research to make sure he's not copying anyone.
|
 |
Articles |
 |
01 Jan 2003 |
|
| |
Server clinic: RTF on the server
Office workers habitually exchange documents encoded in Microsoft Word .DOC format. An abundance of open-source tools make it feasible to automate management of their content.
|
 |
Articles |
 |
19 Dec 2002 |
|
| |
Guide to Python introspection
Introspection reveals useful information about your program's objects. Python, a dynamic, object-oriented programming language, provides tremendous introspection support. This article showcases many of its capabilities, from the most basic forms of help to the more advanced forms of inquisition.
|
 |
Articles |
 |
01 Dec 2002 |
|
| |
Advantages of OpenMosix on IBM xSeries: Part 3 of 3
This article is part 3 of a 3-part series. In Part 1, you got an introduction to the current clustering technologies available for Linux and and an introduction to openMosix. In Part 2, you got a fully-functional openMosix cluster configured and running. Now, in Part 3, you'll see some ways to use openMosix to tackle computing challenges.
|
 |
Articles |
 |
01 Dec 2002 |
|
| |
Charming Python: SimPy simplifies complex models
The stochastic behavior of real-world systems is often difficult to understand or predict. Sometimes it is possible rigorously to demonstrate statistical properties of systems, such as average, worst-case, and best-case performance features. But at other times, pitfalls of concrete designs only become evident when you actually run (or simulate) a system. In this article, David takes a look at SimPy, a Python package that allows you to very easily create models of discrete event systems.
|
 |
Articles |
 |
01 Dec 2002 |
|
| |
Server clinic: Include GUIs in your server programming with Perl/Tk
As a system programmer, you habitually work with command-line interfaces. Perhaps you've lost track of how easy it can be to wrap existing functionality with a lightweight graphical user interface (GUI). New Perl/Tk releases make it timely to remember that sometimes high quality accompanies ease of use.
|
 |
Articles |
 |
22 Nov 2002 |
|
| |
Develop rock-solid code in PHP: Write reusable functions, Part 3
Part 3 on developing PHP code discusses building efficient functions that maintain performance and manageability. Amol Hatwar focuses on function reuse and the common problems that occur in PHP coding.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Tip: Reading text streams in chunks with head and tail
In this tip, developer Jacek Artymiak introduces the head and tail commands, which can be useful for processing chunks of data from both static and dynamic files.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Speed-start your Linux app 2003: Installing and using IBM WebSphere MQ 5.3 for Linux
This article shows how to install and use IBM WebSphere MQ 5.3 (previously known as MQSeries). The first part of the article helps you install IBM WebSphere MQ. The second part helps you create MQ queues, use the MQ commands to work with those queues, and use the MQ sample programs to work with MQ messages.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Inside UnitedLinux
UnitedLinux was created by a consortium of four Linux vendors -- SuSE, Turbolinux, Conectiva, and SCO -- who pooled their expertise with the shared vision of providing a single, standards-based, core Linux operating system. Designed primarily as a server operating system, it would have great reliability and stability; and, being built from a base of well-established standards, it would help ensure a high degree of hardware and software compatibility that software developers, integrators, hardware vendors, and customers would be sure to appreciate. Has it kept its promises? With this month's launch of the new OS, we now have the chance to take a closer look.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 13
In the Advanced filesystem implementor's guide, Daniel Robbins shows you how to use the latest filesystem technologies in Linux 2.4. In this conclusion to the AFIG series, Daniel continues his discussion of the Enterprise Volume Management System for Linux, or EVMS. He shows you how to use evmsn to take a new hard drive, partition it, and create LVM volumes on it. Along the way, he fills you in on important EVMS concepts that you'll find essential as you continue your exploration of this powerful technology.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Open source in the biosciences
Bioinformatics and the use of open source in the biosciences are both still in the take-off phase. There's a lot of growth ahead of us. Here are a few of the technical software developments that will matter most in bioinformatics over the next year.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Python persistence management
Persistence is all about keeping objects around, even between executions of a program. In this article you'll get a general understanding of various persistence mechanisms for Python objects, from relational databases to Python pickles and beyond. You'll also take an in-depth look at Python's object serialization capabilities.
|
 |
Articles |
 |
01 Nov 2002 |
|
| |
Server clinic: Practical Linux security
Security is a big, challenging topic, but everyone with server-side responsibilities should know the basic steps. Cameron outlines a number of ways to keep your user accounts clean and safe.
|
 |
Articles |
 |
09 Oct 2002 |
|
| |
Stamp out spam with SpamAssassin
The occasional unsolicited e-mail may simply be an annoyance, but the flood of spam to which we are all now subject can overwhelm legitimate mail for many users and is a substantial irritation for many people. Fortunately, just as the tools used by spammers have gotten more sophisticated, so have the tools you can use to fight spam. In this article, Brian Goetz looks at SpamAssassin, a state-of-the-art, open source tool for combating spam.
|
 |
Articles |
 |
08 Oct 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 |
|
| |
Advantages of OpenMosix on IBM xSeries: Part 2 of 3
This article is part 2 of a 3-part series. In Part 1, you got an introduction to the current clustering technologies available for Linux and and an introduction to openMosix. By the end of Part 2, you'll have a fully-functional openMosix cluster configured and running. Finally, in Part 3, you'll see some ways to use openMosix to tackle computing challenges.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Advantages of OpenMosix on IBM xSeries: Part 1 of 3: Use networked Linux systems to solve your computing challenges
By the end of this three-part series, you'll have your own openMosix mini-cluster up and running and will be ready to use it effectively to accelerate your computing tasks. In Part 1, you get a clear and understandable introduction to the current clustering technologies available for Linux and and an introduction to openMosix. In Part 2, you will get a fully-functional openMosix cluster configured and running. Finally, in Part 3, you'll see some ways to use openMosix to tackle computing challenges.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Tip: Concatenating files with cat
In our continuing series on GNU text utilities, Jacek Artymiak takes a look at cat -- the command that UNIX lovers love to love, and UNIX haters love to hate.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Developing LSB-certified applications
The Linux Standard Base is a big step toward ensuring binary compatibility among Linux applications, and it should greatly reduce the amount of testing and validation required for operation on multiple platforms. In five straightforward steps, George Kraft, chairman of the Linux Standard Base, shows you how to build an LSB-certified application.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 12
In this installment of the Advanced filesystem implementor's guide, Daniel Robbins introduces the Enterprise Volume Management System (EVMS) for Linux. He explains what EVMS is, why it is so desperately needed, and how it will very likely transform the way storage is managed on Linux systems.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Charming Python: Make Python run as fast as C with Psyco
With only a tiny amount of extra programming, Python programmers can often increase code speed by orders of magnitude with the help of an external module known as the Python Specializing Compiler (or Psyco for short). David Mertz looks at what Psyco is, and tests it in some applications.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Tip: Get to know your textutils
Harness the power of the text utilities that are already installed on your Linux box to make your work time more productive. This first of a series of tips from Jacek Artemiak will show you how.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Cultured Perl: Genetic algorithms, the next generation
This article takes you another step towards working with genetic algorithms in Perl, working with a listing that looks for a set of dictionary words in an individual's DNA.
|
 |
Articles |
 |
01 Oct 2002 |
|
| |
Server clinic: PDF for the server
PDF is the recognized standard for several categories of top-quality displayable output. While most programmers regard it as a desktop technology, a format that a content specialist chooses through a SaveAs operation, you can make your document management processes more powerful through server-side automation of PDF creation. This month, Cameron introduces the ReportLab library for PDF management and programming.
|
 |
Articles |
 |
17 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 |
|
| |
Linux links wirelessly
You say you prefer to work in Linux? All the better -- and it doesn't mean you have to be left out of the freedom wireless computing brings you. Systems administrator and book author Tom Syroid teaches you how to configure a wireless network card under Linux. Upon completion of this tutorial, you'll know how to set up a Linux laptop for wireless transmission using Gentoo distribution as an example.
|
 |
Tutorials |
 |
10 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 |
|
| |
Introduction to netfilter/iptables
This article provides an introduction to the netfilter/iptables system, how it works, its advantages, installing and configuring, and how to use it to configure firewalls on Linux systems to filter IP packets.
|
 |
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 |
|
| |
Interview: Itanium evangelist
Forget the detractors, David Mosberger -- developer of the initial GCC port to IA-64 and lead kernel architect for Linux on IA-64 -- thinks you should care about Intel's new 64-bit chip.
|
 |
Articles |
 |
01 Sep 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 |
|
| |
Server clinic: Concurrency for grown-ups
Concurrency -- multi-processing -- is widely misunderstood. This month's Server clinic column introduces the basic concurrency concepts you need to conduct your business in the server closets safely.
|
 |
Articles |
 |
15 Aug 2002 |
|
| |
Using HTML forms with PHP
One of the advantages of PHP has always been the ability to easily manipulate information submitted by the user through an HTML form. In fact, PHP version 4.1 adds several new ways to access this information and effectively removes the one most commonly used in previous versions. This article looks at different ways to use the information submitted on an HTML form, in both older and more recent versions of PHP. It starts out by looking at individual values and builds to a page that can generically access any available form values.
|
 |
Articles |
 |
01 Aug 2002 |
|
| |
Develop rock-solid code in PHP: Lay the foundation, Part 1
In this article, PHP veteran Amol Hatwar gives a higher perspective for designing and writing bug-free, maintainable code for medium- to large-scale Web applications.
|
 |
Articles |
 |
01 Aug 2002 |
|
| |
Charming Python: Parsing with the Spark module
Spark is a powerful and general parser/compiler framework written in Python. In some respects, Spark offers more than SimpleParse or other Python parsers. Being pure Python, however, it is also slower. In this article, David discusses the Spark module, with code samples, an explanation of its usage, and suggestions for its areas of application.
|
 |
Articles |
 |
01 Aug 2002 |
|
| |
Mastering Linux debugging techniques
There are various ways to watch a running user-space program: you can run a debugger on it and step through the program, add print statements, or add a tool to analyze the program. This article describes methods you can use to debug programs that run on Linux. We review four scenarios for debugging problems, including segmentation faults, memory overruns and leaks, and hangs.
|
 |
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 |
|
| |
Server clinic: Lightweight Web techniques
While there's a flood of material available on Web programming, most of it aims to create sizzle to make a particular impression on end-users. Meanwhile, simple but effective techniques for construction of server-friendly Web applications are too-little known. This month's Server clinic explains two useful ideas you can apply with any server-side language.
|
 |
Articles |
 |
23 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 |
|
| |
Charming Python: Generator-based state machines
Introduced in Python 2.2, simple generators may be used to simplify state machines and to simulate coroutines. Coroutines are an exotic flow mechanism that few widely used languages -- not even non-Stackless Python -- allow. Python's new generators, however, get you almost all the way to coroutines, and the extra few steps can be faked. In this installment of Charming Python, David Mertz explains all the relevant concepts through illustrative code samples.
|
 |
Articles |
 |
01 Jul 2002 |
|
| |
PowerPC assembly
Assembly language is not widely known among the programming community these days, and PowerPC assembly is even more exotic. Hollis Blanchard presents an overview of assembly language from a PowerPC perspective and contrasts examples for three architectures: ia32, ppc, and ppc64.
|
 |
Articles |
 |
01 Jul 2002 |
|
| |
Cultured Perl: Application configuration with Perl, Part 2
File-based configurations break down quickly if a hand-built method is used. In this article, Ted shows how the AppConfig module can handle local configuration storage. He examines advanced features of the AppConfig module: validation, autoaction, modifying hash and array variables, and radio button-style mutually exclusive options.
|
 |
Articles |
 |
01 Jul 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 |
|
| |
Server clinic: Application deployment
One of the ways typical programming is most out of balance is in its neglect of the results an end-user experiences. We all put a lot into writing good and useful programs; delivering those programs into the hands of users, however, is one of the things we software developers characteristically do worst. This month, Cameron explains technical fixes that address the problem.
|
 |
Articles |
 |
27 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 |
|
| |
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 |
|
| |
Developing a Linux command-line utility
Learn how to write Linux command-line utilities that are foolproof enough even for end users. Starting with an overview of solid command-line best practices and finishing with a comprehensive tour of a working page-selection tool, this article gives you the background you need to begin writing your own utilities.
|
 |
Articles |
 |
01 Jun 2002 |
|
| |
Charming Python: Implementing "weightless threads" with Python generators
David Mertz introduces weightless threads. Similar to Stackless Python microthreads, but using standard Python 2.2 -- they allow for extremely large numbers of cooperating processes with virtually no overhead.
|
 |
Articles |
 |
01 Jun 2002 |
|
| |
Server clinic: A must-have book for Linux developers
The best thing you can do for your servers and the programs you host to buy your own copy of Thomas A. Limoncelli and Christine Hogan's book, The Practice of System and Network Administration. This new book, though aimed at administrators, is full of valuable lessons for developers, too. While it mentions Linux only once in almost 800 pages -- and obliquely at that -- the principles it explains will help make more sense of your work every day.
|
 |
Articles |
 |
23 May 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 |
|
| |
Charming Python: Updating your Python reading list, Part 3
Since David's last book roundup in November's Charming Python column, a number of interesting books on Python have been published. This installment provides new comparative reviews of recent Python titles (or titles missed in the last roundup).
|
 |
Articles |
 |
01 May 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 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 10
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 shows you how to get XFS up and running on your system and explores some of XFS's more advanced features.
|
 |
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 |
|
| |
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 |
|
| |
Linux system development on an embedded device
Especially if you're just starting out in embedded development, the wealth of available bootloaders, scaled-down distributions, filesystems, and GUIs can seem overwhelming. But this wealth of options is actually a boon, allowing you to tailor your development or user environment exactly to your needs. This overview of embedded development on Linux will help you make sense of it all.
|
 |
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 |
|
| |
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 |
|
| |
Technical guide for porting applications from Solaris to Linux, Version 1.0
Solaris and Linux are loosely related to Unix, so they ought to be a lot alike, right? Not so - the differences pose a great many "gotchas." Let this technical porting guide show you the ropes for porting your Solaris application to the Linux platform.
|
 |
Articles |
 |
12 Feb 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 |
|
| |
Get the latest innovations for the eServer iSeries
The iSeries servers are bigger, better, and less expensive than ever. One model even lets you support dynamic logical partitioning and manage Linux, OS/400, and Windows servers on one machine. Now you can do midrange server consolidation with the greatest reliability and at the lowest total cost of ownership.
|
 |
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 |
|
| |
Packaging software with RPM, Part 3
RPM is a widely-used tool for delivering software for Linux. Users can easily install an RPM-packaged product. In this article, third in a series, Dan explains how to run scripts when your package is installed or uninstalled, or when other packages are installed or uninstalled.
|
 |
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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
Understanding Linux configuration files
This article explains configuration files on a Linux system that control user permissions, system applications, daemons, services, and other administrative tasks in a multi-user, multi-tasking environment. These tasks include managing user accounts, allocating disk quotas, managing e-mails and newsgroups, and configuring kernel parameters. This article also classifies the config files present on a Red Hat Linux system based on their usage and the services they affect.
|
 |
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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
Non-stop authentication with Linux clusters
As an organization adds applications and services, centralizing authentication and password services can increase security and decrease administrative and developer headaches. However, consolidating any service onto a single server creates reliability concerns. High-availability is especially critical for enterprise authentication services, because in many cases the entire enterprise will come to a stop when authentication stops working. This paper describes how we create a reliable, highly available authentication server using open source software.
|
 |
Articles |
 |
29 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 |
|
| |
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 |
|
| |
The road to better programming: Introduction and chapter 1
Shattering the myth of the faultless programmer, Teodor dismantles the uninspired software group and then builds it up again into a synchronized, energized ensemble.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
PKCS #11 openCryptoki for Linux
Cryptography is rapidly becoming a critical part of our daily lives. However, the application of cryptographic technology adds a heavy computational burden to today's server platforms. More systems are beginning to use specialized hardware to offload the computations, as well as to help ensure the security of secret key material. This article will discuss openCryptoki, an API that is rapidly becoming the de facto, non-Windows-platform industry standard for interfacing between cryptographic hardware and user space applications. In particular, this article will introduce the specifics of the PKCS #11 implementation to IBM cryptographic hardware (openCryptoki) that is available in open source form here on developerWorks.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
The road to better programming: Chapter 2
This series of articles on developerWorks comprises a complete guide to better programming in Perl. In this second installment, Teodor dissects comments in code. The comments in a program's code are perhaps as important to the long-range goals of a software team as the actual code itself. Unfortunately, they are also often the most neglected. Through tips, quips, examples, and anecdotes, Teodor takes an in-depth look at the imperative nature of commenting a program's language from beginning to end.
|
 |
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 |
|
| |
Charming Python: Updating your Python reading list, Part 2
This installment provides new comparative reviews of recent Python titles (or titles missed in the last roundup).
|
 |
Articles |
 |
01 Nov 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 |
|
| |
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 |
|
| |
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 |
|
| |
Tip: Coding generic lists of objects in C/C++
Have you ever had a project that required you to have an indeterminate number of different objects in memory? For some purposes a binary tree is the best solution, but usually the simpler linked list is the obvious choice.
|
 |
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 |
|
| |
What good is a Linux client?
Like many users of PCs, you may be considering the switch to Linux. You've heard all the arguments about the economic viability and cross-platform compatibility of open source software in general and Linux in particular, but you may still be intimidated by the prospect of changing environments. IBM's Mark Chapman give you the benefit of his own experience as a Linux newbie as he seeks to change over to Linux. He addresses many of the issues involved, including software availability and support.
|
 |
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 |
|
| |
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 |
|
| |
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: 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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
Improving the security of open UNIX platforms
This article takes a look at a little shell application that uses an innovative approach to increasing open UNIX security. A step-by-step analysis of the code is provided. The author's areas of expertise are in Web programming and cutting-edge network security development.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Linux and USS: Heavy hitters for zSeries
You don't have to pick your weapon -- Linux or z/OS -- you can use both. Workloads big and small don't stand a chance.
|
 |
Articles |
 |
27 Aug 2001 |
|
| |
Linux on iSeries
IBM eServer iSeries is the integrated business server. iSeries is reliable, scalable, and recognized as one of the most flexible, easy to use systems in the industry with the ability to run multiple environments and quickly deploy applications. These attributes position iSeries as one of the best platforms to manage the complexity and cost of e-business enablement. The key characteristics of Linux on iSeries - new generation of applications, integration, and consolidation - strongly support the IBM eServer initiatives and can result in measurable customer benefits for the deployment of e-business solutions.
|
 |
Articles |
 |
27 Aug 2001 |
|
| |
AIX Affinity With Linux
IBM is bringing Linux application interoperability to AIX 5L. Now you can run many Linux applications on AIX, a mission critical - highly scalable operating system.
|
 |
Articles |
 |
13 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 |
|
| |
Embedded Linux applications: An overview
After a survey of Embedded Linux applications and their environments, Darrick Addison gives you step-by-step instructions for setting up a suitable hardware and software environment for developing those applications.
|
 |
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 |
|
| |
Common threads: Advanced filesystem implementor's guide, Part 2
With the 2.4 release of Linux comes 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?
|
 |
Articles |
 |
01 Aug 2001 |
|
| |
Charming Python: pydoc and distutils modules
The introduction of several modules and tools in recent Python versions has improved Python, not so much as a language, but as a tool. Author David Mertz reviews these modules that make the job of Python developers substantially easier by improving the documentation and distribution of Python modules and packages.
|
 |
Articles |
 |
01 Aug 2001 |
|
| |
Extending Python and Zope in C
Extending Python in C is easy once you see how it all works, and an extension of Python is equally easy to package up for Zope. The hard part is wading through the different documentation sets in search of the nuggets of information you need, and Michael has collected them for you in this article.
|
 |
Articles |
 |
01 Aug 2001 |
|
| |
Linux Unicode programming
A multi-byte character representation system for computers, Unicode provides for the encoding and exchanging of all of the text of the world's languages. This article explains the importance of international language support and the concepts of designing and incorporating Unicode support in Linux applications.
|
 |
Articles |
 |
01 Aug 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 |
|
| |
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 |
|
| |
Charming Python: Python for the PalmOS
Pippy is a port of (a subset of) Python to the PalmOS. With Pippy, Python programmers can create custom applications to run on Palm devices, as well as use Pippy as an interactive environment directly on the Palm. David evaluates the strengths and limitations of Pippy as a means of implementing Palm applications.
|
 |
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 |
|
| |
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 |
|
| |
Palm-Linux integration with Pyrite
The Pyrite Project has created several related tools to allow Python programmers to access and control PalmOS handheld devices. Pyrite communicates with and manages the data help on Palm devices, while Pyrite Publisher creates and distributes Doc format e-books to Palm devices. This article discusses our experience working with Pyrite tools, the underlying architecture, and tips for effectively using the Pyrite tools.
|
 |
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 |
|
| |
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 |
|
| |
Using Inline in Perl
The new Inline module for Perl allows you to write code in other languages (like C, Python, Tcl, or Java) and toss it into Perl scripts with wild abandon.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Addressing security issues in Linux
Once you have Linux up and running on your computer or your network and have installed your applications, you are all ready to go, right? Well, yes and no. Your system may be running, but until you consider security issues you are potentially leaving yourself open to serious trouble.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Charming Python: Revisiting XML tools for Python
This special installment article revisits the author's previous discussion of XML tools, and provides up-to-date code samples.
|
 |
Articles |
 |
01 Jun 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 |
|
| |
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 |
|
| |
Charming Python: Developing a full-text indexer in Python
As the volume of information grows, effective means of locating specific information become ever more crucial. This column discusses the field of full-text indexing, with a focus on the author's public-domain indexer module.
|
 |
Articles |
 |
01 May 2001 |
|
| |
Web development with BeOS
When choosing a platform for Web development, too many users overlook BeOS as a choice. BeOS Release 5 provides just about everything a Web developer could want in an operating system, all in a friendly, pretty, fast, and reliable environment.
|
 |
Articles |
 |
01 May 2001 |
|
| |
Three reasons why Linux will trounce the embedded market
Judy DeMocker explains why it seems that Linux may win over the embedded market. She takes a look at the conveniences of the open source license and what it means for embedded Linux, at maintaining embedded systems (and their device drivers) with Linux, and being able to offer single-platform support.
|
 |
Articles |
 |
01 May 2001 |
|
| |
A data compression primer
This article is a primer on the basic types of data compression, with an introductory explanation of the mathematics and algorithms that go into compression techniques. Brief consideration and examples are given to help you evaluate what types of compression tools and techniques are suited to your own applications. Pointers are provided to more advanced theoretical discussions and ready-to-use compression tools and libraries.
|
 |
Articles |
 |
01 May 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 |
|
| |
Common threads: Learning Linux LVM, Part 2
In this article, Daniel shares his experiences converting cvs.gentoo.org's /home filesystem to an LVM logical volume. After the transition, we get to see the benefits of LVM when cvs.gentoo.org's /home partition is dynamically resized in real-time, without rebooting, unmounting /home, or even dropping to runlevel 1. All processes continue to work without any interruption. Daniel's step-by-step details of the conversion will help anyone interested in peforming a similiar transition on their own machine.
|
 |
Articles |
 |
01 Apr 2001 |
|
| |
Cultured Perl: One-liners 101
Those who use Perl as a programming language frequently forget that it is just as useful as a quick and dirty scripting engine for command-line operations. From the command line Perl can accomplish, in just a single line, tasks that require pages of code in most other languages. Join Teodor as he takes you through some useful examples.
|
 |
Articles |
 |
01 Apr 2001 |
|
| |
Common threads -- Dynamic iptables firewalls
Firewalls are good and fun, but what do you do when you need to make rapid, complex changes to your firewall rules? Easy. Use Daniel Robbins' dynamic firewall scripts that are demonstrated in this article. You can use these scripts to increase your network security and responsiveness, and to inspire your own creative designs.
|
 |
Articles |
 |
01 Apr 2001 |
|
| |
Zope for the Perl/CGI programmer
Zope (the Z Object Publishing Environment) is an application server that is gaining in popularity. But what is it? What's an application server, anyway? How does all this compare with nice familiar paradigms like CGI? More importantly, is Zope a fad, or is it here to stay?
|
 |
Articles |
 |
01 Apr 2001 |
|
| |
Charming Python: Functional programming in Python, Part 2
This column continues David's introduction to functional programming (FP) in Python. Enjoy this introduction to different paradigms of program problem-solving, where David demonstrates several intermediate and advanced FP concepts.
|
 |
Articles |
 |
01 Apr 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 |
|
| |
Shared objects for the object disoriented!
Ashish Bansal tells you how to write dynamically loadable libraries and suggests tools you want to use in the process. He reviews the compilation process and naming conventions, and then walks you through writing, compiling, and installing a shared library.
|
 |
Articles |
 |
01 Apr 2001 |
|
| |
Common threads: Awk by example, Part 3
In this conclusion to the awk series, Daniel introduces you to awk's important string functions, and then shows you how to write a complete checkbook-balancing program from scratch. Along the way, you'll learn how to write your own functions and use awk's multidimensional arrays. By the end of this article, you'll have even more awk experience, allowing you to create more powerful scripts.
|
 |
Articles |
 |
01 Apr 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 |
|
| |
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 |
|
| |
Uncovering the secrets of SE Linux: Part 1
In an uncharacteristic move, the U.S. National Security Agency recently released a security-enhanced version of Linux -- code and all -- to the open source community. This dW-exclusive article takes a first look at this unexpected development -- what it means and what's to come -- and delves into the architecture of SE Linux.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
Cultured Perl: A programmer's Linux-oriented setup
After customizing tcsh, Enlightenment, Eterm, and Emacs for a Java and Perl-oriented programming environment, Teodor shows us the configuration of his desktop in Linux. It is optimized for a Java and Perl programming setup, but doubtless other programmers will find many useful tips.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
Inline assembly for x86 in Linux
Bharata B. Rao offers a guide to the overall use and structure of inline assembly for x86 on the Linux platform. He covers the basics of inline assembly and its various usages, gives some basic inline assembly coding guidelines, and explains the instances of inline assembly code in the Linux kernel.
|
 |
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 |
|
| |
Using Bash shell scripts for function testing
Function testing is a critical part of software development -- and Bash, which is already loaded in Linux and ready to go, can help you do it quickly and easily. In this article, Angel Rivera explains how to use Bash shell scripts to perform function testing of Linux applications that use line commands. The scripts rely on the return code of the line commands, so you will not be able to use this approach for GUI applications.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
Charming Python: Functional programming in Python, Part 1
Although users usually think of Python as a procedural and object-oriented language, it actually contains everything you need for a completely functional approach to programming. This article discusses general concepts of functional programming, and illustrates ways of implementing functional techniques in Python.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
No more bugs in your beans
The FTP bean suite project team has been busy lately. After talking with Werner Zsolt, the FTP bean suite team leader, Maya Stodte takes a look at some of the new functionality of the bean suite and some of the latest bugs that have been eliminated. All code samples were written by Werner Zsolt.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
Slackware Linux 101
Joe Brockmeier examines the Slackware Linux init sequence. He talks about how the system initializes services, what the various runlevels are and how to add or remove services from the default install to customize your system.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
wxPython for newbies
You can write a Python script in minutes and have incredibly nice-looking GUI apps for your desktop. This article shows you how to use one Python-savvy GUI library, wxPython, to do just that. Impress your friends and neighbors!
|
 |
Articles |
 |
01 Mar 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 |
|
| |
Common threads: Learning Linux LVM, Part 1
In this article, Daniel introduces you to the concepts behind Linux LVM (Logical Volume Management) and shows you how to get the latest kernel patches and tools installed on your system. LVM allows you to create logical volumes out of the physical storage resources on your machine. However, unlike physical volumes, the logical volumes can be expanded 0and shrunk while the system is still running, providing Linux system administrators with the storage flexibility that they've until now only dreamed of.
|
 |
Articles |
 |
01 Mar 2001 |
|
| |
Charming Python: Getting version 2.0
Python programmers have recently acquired a shiny new toy with the release of version 2.0. Python 2.0 builds on the strengths of previous Python versions, while adding a number of new conveniences and capabilities. This article contains ts author's impressions of Python's newest version, and some tips on using it effectively.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Integrating database access into Linux applications
This article describes MySQL, a useful tool for developing e-commerce and other complicated, dynamic Web sites that make use of third-party databases. MySQL is a fast, multi-threaded, and fully functional SQL server. In addition to describing the basic architecture of the MySQL system, this article offers simple examples in both Tcl and C++ that can start you down the path to developing database-aware Web applications.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Charming Python: Updating your Python reading list
In little more than a year, the availability of material for learning and programming in Python has gone from a thin selection of books to the current forest of dead trees. Some books are general introductions to the Python language, while others specialize in particular tasks. Even within the 'general' category, level and focus differ considerably. This column gives David's impressions and recommendations on eight of the best known books about Python.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Setting up a Local Area Network
This article describes how to build a Local Area Network (LAN) consisting of two or more computers running the Red Hat Linux operating system. The article begins with the basics: an overview of the TCP/IP (Transmission Control Protocol/Internet protocol) suite, and an explanation of assigning IP addresses in a LAN. Then the article covers the LAN hardware and configuration using a tool called LinuxConf in the Red Hat Linux operating system environment. Lastly, the article walks you through the critical steps of testing and troubleshooting your LAN.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Linux software debugging with GDB
Most flavours of Linux come with the GNU debugger, or gdb to the shell. Gdb lets you see the internal structure of a program, print out variable values, set breakpoints and single step through source code. It makes an extremely powerful tool for fixing problems in program code. In this article I'll try to show how cool and useful gdb is.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Executing SQL statements in MySQL databases using C
Like PostgreSQL, MySQL can be accessed from many different languages, including C, C++, Java and Perl. Using the comprehensive C interface of MySQL, Neil Matthew and Richard Stones show us how to execute SQL statements in MySQL databases in the following sections from Chapter 5 on MySQL from Professional Linux Programming. They will look at both statements that return data, such as INSERT, and those that don't, such as UPDATE and DELETE. They will then write a simple program that retrieves data from the database.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Curtains up: introducing the Z shell
According to Matt Chapman, the Z shell can improve the efficiency of your shell interaction. It's time that this secret was out! In this article, the Z shell is introduced, and some of its advantages over the other shells, particularly Bash, are explored.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
How to configure VMware to access the outside LAN through a Token Ring card
This tip is useful to Linux developers who wish to use VMware and have Token Ring networks. VMware allows developers to run many operating systems such as Windows NT with DBCS support and test any Web solution they develop from that platform. It's certainly useful to be able to test one's latest Web code using a Windows browser without having to have a separate Windows box. Being able to network out to their wider LAN allows them to test solutions which sit on other machines in their network.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Running Windows applications cheaply under Linux with Win4Lin
Grant Williamson has been experimenting with Linux for the last year. The difficulty, it seems, is the decision between using an operating system he likes and one which allows him to do his daily work tasks successfully and easily. According to Grant, the only way to achieve his goal of learning Linux is to run Linux on a daily basis.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Looking through wxWindows
Markus Neifer gives an overview of wxWindows, the portable C++ and Python GUI toolkit. He discusses the library's architecture, talks about how to deal with multi-platform file handling and the directory separation character, and touches on wxHTML, image file formats, and Unicode. He also walks you through some helpful wxWindows debugging tips and talks a bit about porting MFC applications to Linux.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Common threads: Linux 2.4 Software RAID, Part 2
The new 2.4 kernel is finally here, and now's an ideal time to track down a spare PC, put Linux on it, and see what it can do. In this two-part series, Daniel Robbins introduces you to Linux 2.4 Software RAID, a technology used to increase disk performance and reliability by distributing data over multiple disks. In this article, Daniel explains what software RAID-1, 4, and 5 can and cannot do for you and how you should approach the implementation of these RAID levels in a production environment. In the second half of the article, Daniel walks you through the simulation of a RAID-1 failed drive replacement.
|
 |
Articles |
 |
01 Feb 2001 |
|
| |
Common threads: Software RAID in the new Linux 2.4 kernel, Part 1
The new 2.4 kernel is out! So it's time to track down a spare PC, put Linux on it, and see what it can do. In his two-part series on the Linux 2.4 Software RAID, Daniel Robbins introduces the new technology that's used to increase disk performance and reliability by distributing data over multiple disks. This first installment covers Software RAID setup (kernel and tools installation) and shows you how to create linear and RAID-0 volumes.
|
 |
Articles |
 |
01 Feb 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 |
|
| |
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 |
|
| |
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 |
|
| |
Common threads: Awk by example, Part 2
In this sequel to his previous Intro to awk, Daniel Robbins continues to explore awk, a great language with a strange name.
|
 |
Articles |
 |
01 Jan 2001 |
|
| |
Making the distribution, Part 3
This article concludes my story -- about how I ended up creating my own distribution called Gentoo Linux. I wrap up the series by telling how I left the Linux world to move to FreeBSD, and then came back to the Linux world, restarting Gentoo Linux development with a fresh perspective. In addition to comparing Linux and FreeBSD in a number of areas, I also describe current Gentoo Linux development progress and share a future vision for our distribution.
|
 |
Articles |
 |
01 Jan 2001 |
|
| |
Cultured Perl: Perl 5.6 for C and Java programmers
Ted Zlatanov explains some of the peculiarities in Perl 5.6 for C and Java programmers, who may actually be pleasantly surprised by some familiar features hailing from sources other than Perl, like operator ambiguity, multiple ways of doing the same thing, punctuation, regular expressions, and variable mechanism. All of them put variety and power at your fingertips. The point is, Perl isn't too far from anyone's familiar territory and may be useful to even C and Java programmers at some point. So here's your opportunity to enhance your Perl 5.6 skills.
|
 |
Articles |
 |
01 Jan 2001 |
|
| |
Cyrillic in Unicode
In this article, Thomas Burger describes the Cyrillic script fonts and the various methods for representating them in Linux, including UTF-8. He provides instructions for setting up the font support and installation, and describes how it is supported in applications. He also supports his claim that the use of UTF-8 Cyrillic script fonts will make Linux the first truly international operating system.
|
 |
Articles |
 |
01 Jan 2001 |
|
| |
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 |
|
| |
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 |
|
| |
Making the distribution, Part 2
Daniel Robbins lets you in on the strange events that happened after the Enoch development team discovered a little-known, blazingly fast compiler.
|
 |
Articles |
 |
01 Dec 2000 |
|
| |
Introduction to PHP
Joe Brockmeier presents a brief introduction to the PHP scripting language with a discussion of PHP's origins, capabilities, and the platforms it's available on. A simple PHP script example highlights basic syntax and usage.
|
 |
Articles |
 |
01 Dec 2000 |
|
| |
Charming Python: Inside JPython and Python for .NET
David Mertz interviews Mark Hammond, Finn Bock, and Barry Warsaw, the developers of JPython and Python for .NET. He gets a bit of the inside scoop on Microsoft development from Mark (all within the limits of his non-disclosure contract, of course), and grills Finn and Barry on JPython and their upcoming Jython project.
|
 |
Articles |
 |
01 Dec 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 |
|
| |
Common threads: Sed by example, Part 3
In this conclusion of the sed series, Daniel Robbins gives you a true taste of the power of sed. After introducing a handful of essential sed scripts, he'll demonstrate some radical sed scripting by converting a Quicken .QIF file into a text-readable format. This conversion script is not only functional, it also serves as an excellent example of sed scripting power.
|
 |
Articles |
 |
01 Nov 2000 |
|
| |
Jumpstart your Yacc...and Lex too!
Lex and Yacc are two very important and powerful tools on UNIX. In fact, they are so powerful that building compilers for FORTRAN or C is child's play if you are fluent in Lex and Yacc. Ashish Bansal discusses these tools in sufficient detail for you to write your own language and its compiler! He covers regular expressions, declarations, matching patterns, variables, Yacc grammar, and parser code. At the end, he explains how to tie Lex and Yacc together.
|
 |
Articles |
 |
01 Nov 2000 |
|
| |
Cultured Perl: Debugging Perl with ease
Teodor Zlatanov walks you through both the built-in Perl debugger and CPAN's Devel::ptkdb. The Perl debugger is powerful but frustrating to navigate. CPAN's Devel::ptkdb, on the other hand, works wonders by simplifying code debugging and thereby saving hours of your precious time. In his discussion Zlatanov concentrates on explaining debugging methods and general concepts rather than looking at specific tools.
|
 |
Articles |
 |
01 Nov 2000 |
|
| |
Linux file compression tool guide
To use this guide, read the author's introduction, then use the index to jump to the section of the guide that explains the tools you need. Or, if you prefer, just read the whole thing! We have included resource links after each section, and a master list at the end of the guide.
|
 |
Articles |
 |
01 Nov 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 |
|
| |
Charming Python: Reloading on the fly
This article illustrates runtime program modification by means of some enhancements to the Txt2Html front-end.
|
 |
Articles |
 |
01 Nov 2000 |
|
| |
Making the distribution, Part 1
Each of us has a story to tell about our experiences with Linux. This is Daniel Robbins' Linux story. In this first of three articles, he talks about how he became a Stampede Linux developer, and why he eventually left Stampede to start his own distribution called Enoch.
|
 |
Articles |
 |
01 Nov 2000 |
|
| |
Common threads: Sed by example, Part 2
Sed is a very powerful and compact text stream editor. In this article, the second in the series, Daniel shows you how to use sed to perform string substitution; create larger sed scripts; and use sed's append, insert, and change line commands.
|
 |
Articles |
 |
01 Oct 2000 |
|
| |
Cultured Perl: Application configuration with Perl
File-based configurations break down quickly if you use a hand-built method. Teodor Zlatanov demonstrates how the AppConfig module can handle local configuration storage for Perl programs, and how such configurations can be stored in a database that can then be accessed from any machine on the network.
|
 |
Articles |
 |
01 Oct 2000 |
|
| |
Installing and using SGMLtools-Lite
Readers getting started with DocBook for documentation projects will need a guide to using SGMLtools-Lite to produce useful output. This article will walk you through installation and use of SGMLtools-Lite. You'll also get tips on troubleshooting and customizing output for online and print media.
|
 |
Articles |
 |
01 Oct 2000 |
|
| |
Charming Python: Inside Python's implementations
What most programmers probably think of when they talk about "Python" is the specific implementation sometimes called "CPython" (because it is implemented in C). However, Python as a language specification has been implemented several times in parallel with the evolution of Guido van Rossum's reference implementation. This article consists of annotated interviews with the creators of two of the non-standard Pythons -- Stackless and Vyper.
|
 |
Articles |
 |
01 Oct 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 |
|
| |
Charming Python: Text processing in Python
Along with several other popular scripting languages, Python is an excellent tool for scanning and manipulating textual data. This article summarizes Python's text processing facilities for the programmer new to Python. The article explains some general concepts of regular expressions and offers advice on when to use (or not use) regular expressions while processing text.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Charming Python: Curses programming
A certain class of Python applications works best with an interactive user interface without the overhead or complexity of a graphical environment. For interactive text-mode programs (under Linux/UNIX), for example, the ncurses library, wrapped in Python's standard curses module, is just what you need. In this article, David Mertz discusses the use of curses in Python. He illustrates the curses environment using sample source code from a front-end to the Txt2Html program.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Tip: Prompt magic
Why stick with the standard boring shell prompt when you can easily make it colorful and more informative? In this tip, Daniel Robbins will show you how to get your shell prompt just the way you like it, as well as how to dynamically update your X terminal's title bar.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Tip: Upgrading applications from sources
So, you've compiled and installed your first application from source code, and it's working great. Congratulations! But now, there's a new version of the sources available and you'd like to upgrade, but you want to make sure that everything goes smoothly. What practical steps can you take to avoid pitfalls? In this tip, I'll show you several.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Common threads: POSIX threads explained, Part 3
In this article, the last of a three-part series on POSIX threads, Daniel takes a good look at how to use condition variables. Condition variables are POSIX thread structures that allow you to "wake up" threads when certain conditions are met. You can think of them as a thread-safe form of signalling. Daniel wraps up the article by using all that you've learned so far to implement a multi-threaded work crew application.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Cultured Perl: Review of Programming Perl, Third Edition
The release of the third edition of Programming Perl is a significant development for the Perl community.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
Common threads: Sed by example, Part 1
In this series of articles, Daniel Robbins will show you how to use the very powerful (but often forgotten) UNIX stream editor, sed. Sed is an ideal tool for batch-editing files or for creating shell scripts to modify existing files in powerful ways.
|
 |
Articles |
 |
01 Sep 2000 |
|
| |
A gentle guide to DocBook
This article explains what DocBook is and how to create a simple document using DocBook. Joe Brockmeier walks you through creating a document and using SGML-tools Lite to parse the document and make HTML, PostScript, plain-text, and PDF versions of the document. He also includes further references on DocBook and tips on where to find SGML-tools lite and other DocBook tools.
|
 |
Articles |
 |
01 Sep 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 |
|
| |
Common threads: POSIX threads explained, Part 2
POSIX threads are a great way to increase the responsiveness and performance of your code. In this second article of a three-part series, Daniel Robbins shows you how to protect the integrity of shared data structures in your threaded code by using nifty little things called mutexes.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Cultured Perl: Writing Perl programs that speak English
Designing the user interface for a program can be difficult and time consuming. Teodor Zlatanov discusses how to use the Parse::RecDescent module to create a user interface grammar in plain English. He also shows how easy it is to change the grammar when features are added or removed from the program. The advantages and disadvantages of this approach are discussed and compared to a standard CLI parser and a GUI.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Using DEVFS
This article introduces devfs.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Meet the 2.4 Linux kernel, Part 1
This first of two articles describes the birthing pains of Linux 2.4, along with the anticipation and frustration of waiting for the new functionality.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Meet the 2.4 Linux kernel, Part 2
This second of two articles details the nitty-gritty expectations surrounding specialized hardware such as ports, multimedia, filesystems, and bus support in the upcoming 2.4 Linux kernel.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Charming Python: Using state machines
State machines, in a theoretical sense, underlie almost everything related to computers and programming. And it also turns out that state machines, in a practical sense, can help solve many ordinary problems (especially for Python programmers). In this article, David Mertz discusses some practical examples of when and how to code a state machine in Python.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Common threads: Samba domain controller support
Samba is great at sharing files and printers, but it can do much more. In this article, Daniel Robbins shows you how to set up Samba's Domain Controller functionality, which allows Samba to control a Windows NT domain, process login requests, and store roaming user profiles. He also takes a peek at the alpha version of Samba-TNG ("the next generation"), which is the version of Samba that will have complete Domain Controller support.
|
 |
Articles |
 |
01 Aug 2000 |
|
| |
Dare to script tree-based XML with Perl
Parsing an XML document into tree structures makes it possible to operate on the tree structure of the data. Find out how to use the functions for accessing and manipulating the document tree, and follow a sample stock-trading application that uses Perl, DOM, XML, and a database to evaluate trading rules. (You can apply the same techniques with other scripting languages, including Tcl and Python.) This is the second installment on using scripting languages to manipulate and transform XML documents.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
Charming Python: My first Web-based filtering proxy
This article introduces Txt2Html, a public-domain working project created by David to illustrate programming techniques in Python. Txt2Html is a "Web-based filtering proxy" -- a program that reads Web-based documents for the user, then presents a modified page to the user's browser. To make this possible, Txt2Html runs as a CGI program, queries outside Web resources, and makes use of regular-expressions. David steps you through each of these general-purpose subtasks, explaining, clarifying, and demonstrating along the way.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
POSIX threads explained
POSIX (Portable Operating System Interface) threads are a great way to increase the responsiveness and performance of your code. In this series, Daniel Robbins shows you exactly how to use threads in your code. A lot of behind-the-scenes details are covered, so by the end of this series you'll really be ready to create your own multithreaded programs.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
Common threads: Introduction to Samba, Part 3
Configure Samba so that it does everything that YOU want it to do.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
Cultured Perl: Save it with Perl
Data storage is a common problem in computer programming. The CPAN Persistent classes make data storage easy through a common interface that simplifies data creation, retrieval, and management. Through object orientation, the Persistent classes can be used transparently in your project as ancestors of your own data classes.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
Common threads: Introduction to Samba, Part 2
In this article, Daniel Robbins will walk you through the process of
compiling, installing, and initially configuring Samba (version 2.0.7) so that it
works in your environment.
|
 |
Articles |
 |
01 Jul 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 |
|
| |
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 |
|
| |
Using COM technologies on Unix platforms
COM/DCOM technologies make developing and distributing Windows components easy. But what can you do when the same components have to be developed on Unix platforms?
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
Common threads: Introduction to Samba, Part 1
Samba is an incredible tool for anyone who uses both Unix and Windows. By
implementing the SMB/CIFS protocol for Unix, Samba allows Unix systems to share
their resources with standard Windows clients. In this introductory article -- the
first of Daniel Robbins' new series of columns for developerWorks, he'll introduce
you to what Samba can do. The focus will be on key concepts. (He'll step you through
the setup process in his next article.) By the end of this article, you'll have a
good understanding of what Samba does, and how it goes about doing it.
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
Opening up academia
Open source has begun its return to the classroom, where it once prevailed. We take a look at the benefits of open source to the education community, at some current projects in networking with Linux in schools, at the growth of open source education portals, and at some of the foundations working to further the cause of open source in the classroom.
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
Perl: Small observations about the big picture
Getting the job done in Perl is easy. The language was designed to make simple tasks easy, and hard tasks possible. But the built-in simplicity of the language can become a trap. Programmers are by nature averse to documenting or designing the architecture of their programs. The excitement of writing pure code lies in the direct connection to the machine, telling it exactly what to do. Teodor Zlatanov presents techniques to improve the reliability and maintainability of Perl programs through increasing clarity of the code. His tips are intended for the beginner or intermediate Perl programmer, with a stronger emphasis on establishing good standards rather than on changing particular coding styles.
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
GNOMEnclature: The wonders of GLib, Part 2
In his second installment on GLib, George Lebl gets into a little more detail. He gives us the rundown on hash tables, and walks us through creating a table, inserting and looking up data, and using the iterator through entries. He also provides code and setup examples of how to use tokens and the GScanner.
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
Linux clustering cornucopia
Rawn Shah serves as your expert guide through the maze of both open- and closed-source clustering solutions available for Linux today.
|
 |
Articles |
 |
01 May 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 |
|
| |
Partition planning tips
Organizing your partitions correctly can be fun and rewarding. This collection of tips will help you to use those sectors wisely.
|
 |
Articles |
 |
01 May 2000 |
|
| |
Partitioning in action: Consolidating data
In this second tip on changing partition layout on a running system, Daniel Robbins shows you how to move /tmp and /var to their own shared partition. He also covers several tricks of the trade to minimize downtime and avoid making costly mistakes.
|
 |
Articles |
 |
01 May 2000 |
|
| |
Partitioning in action: Moving /home
In this new series of tips, Daniel Robbins shows you how to change partition layout on a running system. He'll also cover several tricks of the trade to minimize downtime and avoid making costly mistakes. In this particular tip, he'll show you how to move /home to another partition.
|
 |
Articles |
 |
01 May 2000 |
|
| |
Bash by example, Part 3
Daniel Robbins takes a good look at the Gentoo Linux ebuild system, an excellent example of the power of bash.
|
 |
Articles |
 |
01 May 2000 |
|
| |
VMware and Token-Ring
You actually can have a real TCP/IP address when using VMware and Token-Ring.
|
 |
Articles |
 |
01 Apr 2000 |
|
| |
Bash by example, Part 2
In his introductory article on bash, Daniel Robbins walked you through some of the scripting language's basic elements and reasons for using bash. In this, the second installment, Daniel picks up where he left off and looks at bash's basic constructs like conditional (if-then) statements, looping, and more.
|
 |
Articles |
 |
01 Apr 2000 |
|
| |
Parsing with Perl modules
One of Perl's main goals is parsing text. This tutorial discusses CPAN modules for text parsing, and shows how you can use them easily in your own programs. Analyzing code comments, adapting existing lex grammars, and many other tasks can be easy with the right tools. Teodor shows examples of each one, with an eye to real-world programming.
|
 |
Articles |
 |
01 Apr 2000 |
|
| |