 |
 |
 |
 |
 |
 |
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 |
|
| |
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 |
|
| |
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 |
|
| |
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. |
|
Tutorial |
|
19 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 |
|
| |
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. |
|
Tutorial |
|
12 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 |
|
| |
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 |
|
| |
Running Informix Dynamic Server on Linux in Xen hypervisor Can Informix Dynamic Server (IDS) run on Linux in Xen hypervisor virtual
machines (VM)? Is all OS-specific functionality of IDS usable in a Xen VM? This
article is a detailed summary of first experiences with running IDS for Linux in a Xen managed virtual machine. In this article, learn more about the benefits of Xen hypervisor and see how it works. Follow step-by-step guidelines to set up an actual test system, including the Xen virtualization layer. Finally, learn about the results of tests that the authors ran on their IDS environments. |
|
Articles |
|
17 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 Java 5 EE and IBM WebSphere Application Server Community Edition V2
on openSUSE, Part 1 This demo shows how to extract and install the IBM Java Platform, Enterprise
Edition 5 (Java EE 5) SDK that is bundled with the IBM WebSphere Application Server
Community Edition application on the openSUSE Linux platform. It also highlights the key parameters required to
configure a Java Virtual Machine (JVM) in the .bash_profile as well as point out how the default JVM and WebSphere Application Server
Community Edition installation enables access for multiple users. Part 2 of this
demo
shows how to install WebSphere Application Server Community Edition V2 on
openSUSE Linux. |
|
Demos |
|
08 May 2008 |
|
| |
Install Java 5 EE and IBM WebSphere Application Server Community Edition V2
on openSUSE, Part 2 Part 1 of
this demo showed how to extract and install the IBM
Java Platform, Enterprise Edition 5 (Java EE 5) SDK that is bundled with
IBM WebSphere Application Server Community Edition.
This demo shows how to install WebSphere Application Server Community Edition V2 on the openSUSE Linux platform. |
|
Demos |
|
08 May 2008 |
|
| |
Install IBM WebSphere Application Server Community Edition V1.x on Linux Learn how to install the IBM WebSphere Application Server Community Edition
V1.x in a Linux x86 environment for use by multiple users. IBM WebSphere
Application Server Community Edition is an open community application server based
on the Apache Geronimo open source application server. Download WebSphere Application Server
Community Edition for the Linux x86 platform or a Windows environment from developerWorks. |
|
Demos |
|
08 May 2008 |
|
| |
Explore the IBM WebSphere Application Server Community Edition Admin Console on Linux Explore some of the features and functions of IBM WebSphere Application
Server Community Edition Administrative Console in a Linux x86 environment for use by multiple users. WebSphere Application Server Community Edition is an open community application server based on the Apache Geronimo open source application server. Download WebSphere Application Server Community Edition for the Linux x86 platform or a Windows environment from developerWorks. |
|
Demos |
|
08 May 2008 |
|
| |
IBM open collaboration client solution: An overview Learn what's involved when introducing a Linux® client pilot in your organization, including planning for business and IT requirements, architecture decisions, risks, and understanding how IBM's open collaboration client is used to implement this desktop of the future, today. |
|
Articles |
|
07 May 2008 |
|
| |
IBM open collaboration client solution: Organizational planning and user segmentation for desktop migration Learn the steps involved in migrating your environment to that of a Linux® client, including organizational planning and user segmentation. Based on customer experiences, this article offers a comprehensive guide to planning and executing your migration while minimizing disruption to your users. |
|
Articles |
|
07 May 2008 |
|
| |
IBM open collaboration client solution: Technical planning Learn the steps involved in migrating your environment to that of a Linux client, including technical planning. Based on customer experiences, this article offers a comprehensive guide to planning and executing your migration while minimizing disruption to your users. |
|
Articles |
|
07 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 |
|
| |
IBM open collaboration client solution: Migrating applications to the Linux desktop Have you wanted to port your infrastructure and business line applications to a Linux desktop environment, but been deterred by the need to access critical Microsoft Windows or legacy applications? Finding a way to support these critical business line applications is crucial when considering the move to Linux. This article highlights the various tools that let you access these applications from Linux desktops. |
|
Articles |
|
29 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 |
|
| |
Configuring WebSphere Message Broker V6.1 on z/Linux You have a number of options when configuring WebSphere Message Broker on z/Linux, including support for 64-bit applications in order to access DB2 and WebSphere MQ data on z/OS,
use of IFL processors to lower the cost of ownership for WebSphere Message Broker, and use of HiperSockets for fast communication using TCP/IP-based protocols. This article has the details. |
|
Articles |
|
16 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. |
|
Tutorial |
|
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. |
|
Tutorial |
|
15 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 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. |
|
Tutorial |
|
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. |
|
Tutorial |
|
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 |
|
| |
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. |
|
Tutorial |
|
04 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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
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. |
|
Tutorial |
|
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. |
|
Tutorial |
|
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 |
|
| |
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. |
|
Tutorial |
|
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. |
|
Tutorial |
|
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 |
|
| |
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. |
|
Tutorial |
|
13 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. |
|
Tutorial |
|
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 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. |
|
Tutorial |
|
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 |
|
| |
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 |
|
| |
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 |
|
| |
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 |
|
| |
Linux tip: Controlling the duration of scheduled jobs Say you need to debug a pesky problem by running some traces for 30 minutes
at midnight, or you would just like to use your Linux system as an alarm clock. This
tip helps you stop jobs, such as those started with the cron and at capabilities,
after the jobs have run for a certain time, or when some other criteria are met. |
|
Tips |
|
31 Jul 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 |
|
| |
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 |
|
24 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. |
|
Tutorial |
|
18 Jul 2007 |
|
| |
Linux tip: Job scheduling with cron and at You need to run a job at midnight when system usage is low, or you need to
run jobs daily or weekly, but you would rather be sleeping, or enjoying life in some
other way. Other good reasons for scheduling jobs include letting routine tasks happen
automatically, or ensuring tasks are
handled the same way every time.
This tip helps you use the cron and at capabilities to schedule jobs periodically or
at a single future time. |
|
Tips |
|
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. |
|
Tutorial |
|
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 |
|
| |
DB2 and open source, Part 2: Put yourself on the map with Google Maps API Version 2, DB2/Informix, PHP, and JMeter on Linux Google's new Maps API version 2 allows for more advanced mashup applications. In this article, you'll move on from the basic mashup development explained in part 1, and see how to use DB2's REC2XML function, eliminating lines of code from the PHP scripts. You'll learn how to implement this solution on either DB2 or Informix Dynamic Server. |
|
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 |
|
| |