|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
News | Recommended Books | Recommended Links | Distributions | Overview | ||
Level 1 | Level 2 | Level 3 | Admin Horror Stories | Linux Tips | Humor | Etc |
|
LPI certification is supported by IBM and Ian Shields does tremendous job by regular publishing high qulaity tutorials at IBM Developer Works. That's the main value of certification. Rarely such high quality materals are given for free. See Recommended Links for a sample.
The Linux Professional Institute (LPI) certifies Linux® system administrators at three levels:
|
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.
To attain certification level 1, you must pass LPIC-1 exams
101 and 102.
To attain certification level 2, you must pass LPIC-2 exams 201
and 202.
To attain certification level 3, you must pass LPIC-3 exam 301
("core") and have an active certification level 2. You may also need to
pass additional specialty exams at the senior level.
The LPI certification program is designed to certify the competency of system administration using the Linux operating system and its associated tools. It is designed to be distribution neutral, following the Linux Standard Base and other relevant standards and conventions. The Linux Professional Institute does not endorse any third-party exam preparation material or techniques in particular. The name of the certification awarded by LPI is somewhat strange -- Linux Professional Institute Certified (LPIC). But name is not that important. It's the content that matter.
IBM has good series of LPIC tutorials. The LPIC-1 tutorials (for exams 101 and 102) are authored by Ian Shields. The LPIC-2 tutorials (for exams 201 and 202) are authored by David Mertz and Brad Huntting, individually or together. The LPIC-3 tutorials (for exam 301) are authored by Sean Walberg.
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.
Linux Professional Institute certificationIn 2000, LPI announced the availability of test 1a, the first exam in its new Linux administrator certification program, a program that now consists of seven tests across three certification levels. developerWorks published its first series of LPI exam-prep tutorials by Daniel Robbins in 2002, and we've kept up with it ever since.
Why it matters: You can argue about the value of certifications, but the fact that employers were looking for a consistent measure of Linux expertise was one of many signs that Linux had arrived.
What we've written about it:
Dan York's 6-part article in Linux Gazette on certification issues.
Five simple ways to tune your LAMP application
The Linux, Apache, MySQL, and PHP (LAMP) architecture is one of the most popular choices for web server architectures in use today. Author John Mertic examines five things every LAMP application should take advantage of for optimum performance. |
Articles | 25 Jan 2011 |
Platform emulation with Bochs
Bochs, like QEMU, is a portable emulator that provides a virtualization environment in which to run an operating system using an emulated platform in the context of another operating system. Bochs isn't a hypervisor but rather a PC-compatible emulator useful for legacy software. Learn about platform emulation using Bochs and its approach to hardware emulation. |
Articles | 25 Jan 2011 |
Create an IBM Cloud instance with the Linux command line
Learn how to use the command line from Linux to create an instance in the IBM Smart Business Development and Test on the IBM Cloud environment. The author also shows you how to create multiple instances with a simple script. |
Articles | 24 Jan 2011 |
Run ZFS on Linux
Although ZFS exists in an operating system whose future is at risk, it is easily one of the most advanced, feature-rich file systems in existence. It incorporates variable block sizes, compression, encryption, de-duplication, snapshots, clones, and (as the name implies) support for massive capacities. Get to know the concepts behind ZFS and learn how you can use ZFS today on Linux using Filesystem in Userspace (FUSE). |
Articles | 19 Jan 2011 |
High availability apps in the IBM Cloud
The new features of the IBM Cloud enable application developers and architects to eliminate single points of failures in applications. This article provides a detailed guide on those features. It includes a discussion of the approach the IBM Cloud takes (added support for virtual IP addresses); how to prepare your cloud instances to take advantage of this feature; how to set up a highly available website; and how to test that site. |
Articles | 10 Jan 2011 |
Learn Linux, 101: Runlevels, shutdown, and reboot
Learn to shut down or reboot your Linux system, warn users that the system is going down, and switch to a more or less restrictive runlevel. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about shutting down, rebooting, and changing runlevels. |
Articles | 05 Jan 2011 |
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. Also available in: Portuguese Spanish |
Articles | 05 Jan 2011 |
Booting Linux on the BeagleBoard-xM
BeagleBoard.org recently introduced BeagleBoard revision xM, a new edition of the highly successful open-hardware BeagleBoard currently at revision C. This article describes the necessary environment and steps for booting Linux on the BeagleBoard-xM with Angstrom Linux, Android, and Ubuntu. |
Articles | 14 Dec 2010 |
Learn Linux, 101: Manage disk quotas
Learn to set and check disk quotas on your Linux filesystems to prevent individual users from using more space than allowed and to prevent whole filesystems from filling up unexpectedly. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about quotas. Also available in: Japanese |
Articles | 30 Nov 2010 |
Learn Linux, 101: Manage file permissions and ownership
Learn to manage file ownership and permissions on your Linux filesystems. Learn about access modes such as suid, sgid, and the sticky bit and how to use them to enhance security. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about file ownership, permissions, and security. Also available in: Japanese |
Articles | 30 Nov 2010 |
Network file systems and Linux
Network File System (NFS) has been around since 1984, but it continues to evolve and provide the basis for distributed file systems. Today, NFS (through the pNFS extension) provides scalable access to files distributed across a network. Explore the ideas behind distributed file systems and in particular, recent advances in NFS. Also available in: Japanese Portuguese |
Articles | 10 Nov 2010 |
Automate virtual machine discovery and self-connectivity
In a virtual data center the deployment and the dismissal of complex appliances require that multiple configuration steps be executed. Reconfiguration requirements include establishing and removing communication between different components of the same product running in different virtual machines (VMs) as well as different products running in different VMs. Traditionally this process has been burdensomely manual or somewhat inflexible via the invoking of predefined scripts with static values. In this article, the authors propose StereoCable, automated plug-and-play support of complex virtual appliances in a virtual data center, to solve this issue. This way VMs are able to discover and automatically connect to each other based on predefined connections policies. Also available in: Chinese Portuguese |
Articles | 01 Nov 2010 |
Virtual networking in Linux
With the explosive growth of platform virtualization, it's not surprising that other parts of the enterprise ecosystem are being virtualized, as well. One of the more recent areas is virtual networking. Early implementations of platform virtualization created virtual NICs, but today, larger portions of the network are being virtualized, such as switches that support communication among VMs on a server or distributed among servers. Explore the ideas behind virtual networking, with a focus on NIC and switch virtualization. Also available in: Japanese Portuguese |
Articles | 27 Oct 2010 |
Migrate your Linux application to the Amazon cloud, Part
4: Conquering administrative challenges
Up to now, you have moved your application to the cloud and can enable and disable resources automatically in response to demand. In this article, the fourth in a series on migrating a Linux application to the Amazon cloud, learn how to keep this changing environment under control so that it supports your application and business. Also available in: Japanese Portuguese |
Articles | 27 Oct 2010 |
Port Perl scripts from Solaris to Linux
Although the Perl language is portable among platforms, most of the scripts used for system administration leverage platform-specific resources. And scripts meant for Solaris might use Solaris-specific pathnames and system commands that may have not equivalents on Linux. This article gives you a roadmap for "code remediation" to help you port a Perl script from Solaris to Linux when direct mapping isn't available. Also available in: Japanese Portuguese |
Articles | 20 Oct 2010 |
Learn Linux, 101: Control mounting and unmounting of filesystems
Learn to mount your Linux filesystems; configure and use removable USB, IEE 1394, or other devices; and properly access floppy disks, CDs, and DVDs. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about accessing Linux filesystems. Also available in: Japanese Portuguese |
Articles | 20 Oct 2010 |
Migrate your Linux application to the Amazon cloud, Part
3: Building scalability
If you've followed the series to this point, our sample Linux application has been migrated to the cloud, and we've configured some basic reliability features. In this article, the third in the series on migrating an application to the Amazon cloud, it's time to take advantage of the dynamic nature of the cloud by growing and shrinking the infrastructure in response to load and to push some of the static assets to the edge of the cloud. Also available in: Korean Japanese Portuguese |
Articles | 06 Oct 2010 |
Kernel logging: APIs and implementation
In kernel development, we useprintk for logging without much thought. But have you considered the process and underlying implementation of kernel logging? Explore the entire process of kernel logging, from printk to insertion into the user space log file. Also available in: Korean Japanese Portuguese |
Articles | 30 Sep 2010 |
Monitor Linux file system events with inotify
Use inotify when you need efficient, fine-grained, asynchronous monitoring of Linux file system events. Use it for user-space monitoring for security, performance, or other purposes. (On 10 September 2010, the downloadable sample code for this article was refreshed to correct a typo. - Ed.) Also available in: Korean Japanese Portuguese |
Articles | 10 Sep 2010 |
Resizing Linux partitions, Part 2: Advanced resizing
Linux systems are often installed on multiple partitions, each of which has a fixed size. As your needs change, though, it is often necessary to resize partitions to suit your changing needs. Several tools exist to do this in Linux, but there are a number of potential pitfalls and restrictions that can make the task more difficult than it might at first seem. This article covers advanced partition resizing issues, including using Logical Volume Management (LVM) features, troubleshooting, and alternatives to partition resizing. Part 1 of this series covered basic partition resizing. Also available in: Korean Japanese Portuguese |
Articles | 01 Sep 2010 |
Porting Perl To Python
Porting legacy Perl to Python can be a daunting task. In this article, learn some of the theory behind dealing with legacy code, including what not to do. Also available in: Korean Japanese |
Articles | 01 Sep 2010 |
Avoiding memory leaks in POSIX thread programming
POSIX thread (pthread) programming defines a standard set of C programming language types, functions, and constants--and pthreads provide a powerful tool for thread management. To use pthreads to the fullest, you'll want to avoid the common mistakes. One common mistake is forgetting to join joinable threads, which can create memory leaks and cause extra work. In this tips-oriented article, learn the basics of POSIX threads, see how to identify and detect thread memory leaks, and get solid advice for avoiding them. Also available in: Korean Japanese Spanish |
Articles | 25 Aug 2010 |
Learn Linux, 101: Maintain the integrity of filesystems
Learn how to check the integrity of your Linux filesystems, monitor free space, and fix simple problems. Use the material in this article to study for the Linux Professional Institute (LPI) 101 exam for Linux system administrator certification--or just to check your filesystems and keep them in good working order, especially after a system crash or power loss. Also available in: Korean Japanese |
Articles | 24 Aug 2010 |
Ubuntu Linux solution stack implementation, Part 2: Solution
stack download and installation
Learn how to download and install Rational Application Developer for WebSphere, DB2 Express-C, and a few other third party packages to get the solution stack up and running. This 4-part demo series shows you how to implement the solution stack (Rational Application Developer, WebSphere Application Server, and DB2 Express-C) on Ubuntu Linux, and how to integrate them in a Java application. |
Demos | 17 Aug 2010 |
Ubuntu Linux solution stack implementation, Part 4: Solution
stack setup and integration
Part 4 of this demo series shows you how to import the Java servlet application files into the Rational Application Developer workspace, edit a few classes, and deploy the application on a WebSphere Application Server. Finally, you get to see the solution stack work in a real life scenario. This 4-part demo series shows you how to implement the solution stack (Rational Application Developer, WebSphere Application Server, and DB2 Express-C) on Ubuntu Linux, and how to integrate them in a Java application. |
Demos | 17 Aug 2010 |
Ubuntu Linux solution stack implementation, Part 3: Demo
application
Learn how to configure and setup Rational Application Developer, create a WebSphere profile, create a database in DB2 Express-C, and perform a test run on the solution stack. This 4-part demo series shows you how to implement the solution stack (Rational Appli-ation Developer, WebSphere Application Server, and DB2 Express-C) on Ubuntu Linux, and how to integrate them in a Java application. |
Demos | 17 Aug 2010 |
User space memory access from the Linux kernel
As the kernel and user space exist in different virtual address spaces, there are special considerations for moving data between them. Explore the ideas behind virtual address spaces and the kernel APIs for data movement to and from user space, and learn some of the other mapping techniques used to map memory. Also available in: Japanese Portuguese |
Articles | 11 Aug 2010 |
Resizing Linux partitions, Part 1: Basics
Linux systems are often installed on multiple partitions, each of which has a fixed size. As your needs change, though, it is often necessary to resize partitions to suit your changing needs. Several tools exist to do this in Linux, but there are a number of potential pitfalls and restrictions that can make the task more difficult than it might seem at first. This article guides you through the task of resizing Linux partitions, beginning with basic preparations and moving on to common resizing scenarios using graphical user interface (GUI) tools. Also available in: Japanese Portuguese |
Articles | 11 Aug 2010 |
High availability with the Distributed Replicated Block
Device
The 2.6.33 Linux kernel has introduced a useful new service called the Distributed Replicated Block Device (DRBD). This service mirrors an entire block device to another networked host during run time, permitting the development of high-availability clusters for block data. Explore the ideas behind the DRBD and its implementation in the Linux kernel. Also available in: Japanese |
Articles | 04 Aug 2010 |
Migrate your Linux application to the Amazon cloud, Part
2: Improving application reliability
In this article, the second in a series on migrating a Linux application to the Amazon cloud, learn how to make your application more robust by employing a load balancer and persistent disk. You'll use multiple servers and learn how to safely back up your data. Also available in: Korean Japanese Portuguese |
Articles | 03 Aug 2010 |
Speaking UNIX: Get to know Ksplice
Ksplice applies kernel patches on-the-fly - no reboot required - in a fraction of a second. Here's a hands-on guide to performing painless system updates. Also available in: Chinese Korean Portuguese |
Articles | 27 Jul 2010 |
Ubuntu Linux solution stack implementation, Part 1: Introduction
to the UNIX environment
Learn how to download and install a Ubuntu image and then go through some basic shell commands to help you navigate through the UNIX environment. This is part 1 of a 4 part demo series to show you how to implement a solution stack (Rational Application Developer, WebSphere Application Server, and DB2 Express-C) on Ubuntu Linux, as well as how to integrate them in a Java application. |
Demos | 26 Jul 2010 |
Add your own GIMP features
The GNU Image Manipulation Program (GIMP) is a robust application for editing and manipulating digital images. Because it's open source software, any developer is allowed to modify and extend it with even more features. In this article, you will learn how to get started with the GIMP code, how to build the project from the Git repositories, and how to find your way around the code tree. And you will build an example application that creates a whole new painting tool for the program. Also available in: Japanese Portuguese |
Articles | 20 Jul 2010 |
Distributed data processing with Hadoop, Part 3: Application
development
With configuration, installation, and the use of Hadoop in single- and multinode architectures under your belt, you can now turn to the task of developing applications within the Hadoop infrastructure. This final article in the series explores the Hadoop APIs and data flow and demonstrates their use with a simple mapper and reducer application. Also available in: Korean Japanese Portuguese |
Articles | 14 Jul 2010 |
Migrate your Linux application to the Amazon cloud, Part
1: Initial migration
Cloud computing and Infrastructure as a Service (IaaS) are well documented, but what's often not discussed is how to get a running application into a cloud environment. In this series, discover how to move an application into the cloud and take advantage of the features this setup has to offer. In Part 1, see a straight migration from one physical server to a cloud server. Also available in: Korean Japanese Portuguese Spanish |
Articles | 13 Jul 2010 |
Learn Linux, 101: Create partitions and filesystems
Learn how to create partitions on a disk drive and how to format them for use on a Linux system as swap or data space. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about partitions and Linux filesystems for your own use. Also available in: Korean Japanese Portuguese |
Articles | 12 Jul 2010 |
Learn Linux, 101: Find and place system files
Learn the correct location for files under the Filesystem Hierarchy Standard (FHS) on a Linux system and learn how to find important files and commands. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to explore file organization and management. Also available in: Korean Japanese Portuguese |
Articles | 09 Jun 2010 |
Distributed data processing with Hadoop, Part 2: Going further
The first article in this series showed how to use Hadoop in a single-node cluster. This article continues with a more advanced setup that uses multiple nodes for parallel processing. It demonstrates the various node types required for multinode clusters and explores MapReduce functionality in a parallel environment. This article also digs into the management aspects of Hadoop -- both command line and Web based. Also available in: Korean Japanese |
Articles | 03 Jun 2010 |
Continuous integration with Buildbot
The days of cowboy coding are long gone at most organizations, replaced by a renewed interest in generating quality software. Continuous integration (CI) testing is a vital component in the practice of agile programming techniques that lead to high-quality software. Learn the theory and practice of CI testing by exploring Buildbot, an open source CI system written in Python. Also available in: Korean Japanese Portuguese |
Articles | 02 Jun 2010 |
Learn Linux, 101: Create and change hard and symbolic links
Learn how to create and manage hard and symbolic links to files on your Linux system. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to explore the differences between hard and soft, or symbolic, links and the best ways to link to files, as opposed to copying files. Also available in: Korean Japanese Portuguese Spanish |
Articles | 01 Jun 2010 |
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 maintenance 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. [Editor's note: The article is updated per the author's comment below.] Also available in: Portuguese |
Articles | 27 May 2010 |
Distributed data processing with Hadoop, Part 1: Getting
started
This article -- the first in a series on Hadoop -- explores the Hadoop framework, including its fundamental elements, such as the Hadoop file system (HDFS), and node types that are commonly used. Learn how to install and configure a single-node Hadoop cluster, and delve into the MapReduce application. Finally, discover ways to monitor and manage Hadoop using its core Web interfaces. Also available in: Korean Japanese Portuguese |
Articles | 18 May 2010 |
Learn Linux, 101: Debian package management
Learn how to install, upgrade, and manage packages on your Linux system. This article focuses on the Advanced Packaging Tool, or APT, which is the package management system used by Debian and distributions derived from Debian, such as Ubuntu. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to explore the best ways to add new software and keep your system current. Also available in: Korean Japanese Portuguese Spanish |
Articles | 11 May 2010 |
Learn Linux, 101: RPM and YUM package management
Learn how to install, upgrade and manage packages on your Linux system. This article focuses on the Red Hat Package Manager (RPM) developed by Red Hat, as well as the Yellowdog Updater Modified (YUM) originally developed to manage Red Hat Linux systems at Duke University's Physics department. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to explore the best ways to add new software and keep your system current. Also available in: Korean Japanese Portuguese Spanish |
Articles | 11 May 2010 |
Ceph: A Linux petabyte-scale distributed file system
Linux continues to invade the scalable computing space and, in particular, the scalable storage space. A recent addition to Linux's impressive selection of file systems is Ceph, a distributed file system that incorporates replication and fault tolerance while maintaining POSIX compatibility. Explore the architecture of Ceph and learn how it provides fault tolerance and simplifies the management of massive amounts of data. Also available in: Korean Japanese Portuguese |
Articles | 04 May 2010 |
Linux on 4KB-sector disks: Practical advice
Starting in December 2009, hard disk manufacturers began introducing disks that use 4096-byte sectors rather than the more common 512-byte sectors. Although this change is masked by firmware that breaks the 4096-byte physical sectors into 512-byte logical sectors for the benefit of the operating system, the use of larger physical sectors has implications for disk layout and system performance. This article examines these implications, including benchmark tests illustrating the likely real-world effects on some common Linux file systems. As disks with 4096-byte sectors become more common throughout 2010 and beyond, strategies for coping with these new disks will become increasingly important. Also available in: Chinese Korean Japanese Portuguese |
Articles | 27 Apr 2010 |
Open source in a new light
So you've got to cut costs, but you're not a manager. You're a software developer, or a power user, or just someone who needs to keep the bottom line healthy enough to support your salary. These are ideal situations for introducing open source software solutions into your environment. That might sound like you'll spend the next three weeks learning to program or write makefiles, but it's just not so. Read on and see how open source is a flexible, usable approach to efficiency in your work environment. Also available in: Korean Japanese Portuguese Spanish |
Articles | 20 Apr 2010 |
Migrate to GRUB 2
The tools used to boot Linux are changing. Specifically, the Grand Unified Bootloader (GRUB) is now officially in maintenance mode only, and GRUB's developers have abandoned the original GRUB in favor of an entirely rewritten package, known as GRUB 2. Discover GRUB 2's new capabilities and how to use it. Also available in: Korean Japanese Portuguese |
Articles | 14 Apr 2010 |
Learn Linux, 101: Boot managers
Learn how to choose and configure a boot manager for your Linux system. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. Also available in: Korean Japanese Portuguese Spanish |
Articles | 13 Apr 2010 |
Anatomy of Linux Kernel Shared Memory
Linux as a hypervisor includes a number of innovations, and one of the more interesting changes in the 2.6.32 kernel is Kernel Shared Memory (KSM). KSM allows the hypervisor to increase the number of concurrent virtual machines by consolidating identical memory pages. Explore the ideas behind KSM (such as storage de-duplication), its implementation, and how you manage it. Also available in: Korean Japanese Portuguese |
Articles | 07 Apr 2010 |
Kernel APIs, Part 3: Timers and lists in the 2.6 kernel
The Linux kernel includes a variety of APIs intended to help developers build simpler and more efficient driver and kernel applications. Two of the more common APIs that can be used for work deferral are the list management and timer APIs. Discover these APIs, and learn how to develop kernel applications with timers and lists. Also available in: Korean Portuguese Spanish |
Articles | 30 Mar 2010 |
Learn Linux, 101: Manage shared libraries
Learn how to determine which shared libraries your Linux executable programs depend on and how to load them. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. Also available in: Korean Japanese Portuguese |
Articles | 10 Mar 2010 |
Scripting the Vim editor, Part 5: Event-driven scripting
and automation
Why repeat yourself? You can configure Vim’s comprehensive event model to execute time-saving scripts whenever particular editing events -- such as loading a file or switching between editor modes -- occur. This article, the fifth in a series, describes how events work in Vim, explores a selection of useful event types, and then gets you started with attaching specific scripts to particular events. The end result is a more automated workflow configured precisely to your needs. Also available in: Korean Japanese |
Articles | 03 Mar 2010 |
Kernel APIs, Part 2: Deferrable functions, kernel tasklets,
and work queues
For high-frequency threaded operations, the Linux kernel provides tasklets and work queues. Tasklets and work queues implement deferrable functionality and replace the older bottom-half mechanism for drivers. This article explores the use of tasklets and work queues in the kernel and shows you how to build deferrable functions with these APIs. Also available in: Korean Japanese Portuguese Spanish |
Articles | 02 Mar 2010 |
Learn Linux, 101: Hard disk layout
Learn how to design a partition layout for disks on a Linux system. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. Also available in: Korean Japanese Portuguese |
Articles | 24 Feb 2010 |
Kernel APIs, Part 1: Invoking user-space applications from
the kernel
The Linux system call interface permits user-space applications to invoke functionality in the kernel, but what about invoking user-space applications from the kernel? Explore the usermode-helper API, and learn how to invoke user-space applications and manipulate their output. Also available in: Korean Japanese Spanish |
Articles | 16 Feb 2010 |
Scripting the Vim editor, Part 4: Dictionaries
A dictionary is a container data structure that offers different optimizations and trade-offs from a list. In particular, in a dictionary the order of the elements stored is irrelevant and the identity of each element is explicit. In this fourth article in a series introducing Vimscript, Damian Conway introduces you to dictionaries, including an overview of their basic syntax and many functions. He concludes with several examples that illustrate the use of dictionaries for more efficient data processing and cleaner code. Also available in: Korean Japanese |
Articles | 10 Feb 2010 |
Learn Linux, 101: File editing with vi
Learn how to use the vi editor, found on almost every UNIX and Linux system. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. Also available in: Korean Japanese Spanish |
Articles | 10 Feb 2010 |
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. [This article has been updated to reflect coding changes for kernels 2.6.18 and later. -Ed.] Also available in: Chinese Japanese Portuguese Spanish |
Articles | 10 Feb 2010 |
Using QEMU for cross-platform development
One of Linux's strengths is its cross-platform nature: you can run it on x86, x86-64, SPARC, PowerPC, and many other central processing units (CPUs). This wealth of hardware choices poses a challenge for software developers, though. Ensuring that software compiles, and runs correctly, on all platforms can be difficult. The use of the QEMU package can help ease this burden. QEMU is a machine emulator that supports a wide range of CPUs, so you can run PowerPC software on an x86 computer, x86-64 software on an SPARC computer, or what have you. This facility is particularly useful for programmers who need to test software's endianness compatibility or check other CPU-specific features. QEMU also enables you to run different operating systems entirely, so that you can test a program's ability to compile and run under FreeBSD, Solaris, or even Microsoft Windows without shutting down Linux. Also available in: Korean Japanese |
Articles | 09 Feb 2010 |
Learn Linux, 101: Search text files using regular expressions
Learn how to use regular expressions, and then use them to find things in files on your filesystem. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. Also available in: Korean Japanese |
Articles | 03 Feb 2010 |
Learn Linux, 101: Process execution priorities
Learn how to set and change process priorities so that applications get as much processing time as they need. 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. Also available in: Korean Japanese |
Articles | 02 Feb 2010 |
Learn Linux, 101: Create, monitor, and kill processes
Learn about process management on Linux: how to shuffle processes between foreground and background, find out what's running, kill processes, and keep processes running after you've left for the day. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. Also available in: Korean Japanese |
Articles | 02 Feb 2010 |
Virtio: An I/O virtualization framework for Linux
The Linux kernel supports a variety of virtualization schemes, and that's likely to grow as virtualization advances and new schemes are discovered (for example, lguest). But with all these virtualization schemes running on top of Linux, how do they exploit the underlying kernel for I/O virtualization? The answer is virtio, which provides an efficient abstraction for hypervisors and a common set of I/O virtualization drivers. Discover virtio, and learn why Linux will soon be the hypervisor of choice. Also available in: Korean Japanese Spanish |
Articles | 29 Jan 2010 |
Scripting the Vim editor, Part 3: Built-in lists
Vimscript provides excellent support for operating on collections of data, a cornerstone of programming. In this third article in the series, learn how to use Vimscript's built-in lists to ease everyday operations such as reformatting lists, filtering sequences of filenames, and sorting sets of line numbers. You'll also walk through examples that demonstrate the power of lists to extend and enhance two common uses of Vim: creating a user-defined function to align assignment operators, and improving the built-in text completions mechanism. Also available in: Japanese |
Articles | 27 Jan 2010 |
Generate dummy CIM indications for testing on Linux
Hardware management using the Common Information Model standard often means that the management application must be capable of listening to and handling the indications that occur at the hardware level. To test the indication listener component of the management application when the planned system hardware is not available during development, you will need dummy indications. This article explains how to generate dummy indications on OpenPegasus CIMOM (Common Information Model Object Manager) using a provider shipped with the OpenPegasus source code. Also available in: Korean Japanese Portuguese |
Articles | 26 Jan 2010 |
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. [The first line of Listing 7 has been corrected, thanks to an alert reader. -Ed.} Also available in: Korean Japanese Portuguese |
Articles | 26 Jan 2010 |
Cultured Perl: Storage management on Amazon S3
Learn how Perl programmers can use three of the CPAN S3 modules -- Net::Amazon::S3, Amazon::S3, and SOAP::Amazon::S3 -- to list, create, and delete "buckets" (S3 data storage); to list, create, retrieve, and delete items in a bucket; and to get an item's metadata. Also available in: Korean Japanese Portuguese Spanish |
Articles | 20 Jan 2010 |
Create a KVM-based virtual server
In three relatively simple steps, you can create a virtual server on the Linux KVM hypervisor host using full virtualization. The Kernel-based Virtual Machine (KVM) is free, open source virtualization software for Linux that is based on hardware virtualization extensions (Intel VT-X and AMD-V) and a modified version of QEMU. Also available in: Korean Japanese Portuguese Spanish |
Articles | 19 Jan 2010 |
Scripting the Linux desktop, Part 1: Basics
This series of articles explores how to use Python to create scripts for the GNOME desktop, the screenlets framework, and Nautilus to deliver a highly productive environment. Scripts on the desktop enable drag-and-drop functionality and quick access to the information and services you commonly use. In this installment, learn how to build a desktop application using the screenlets widget toolkit. |
Articles | 18 Jan 2010 |
Packaging software with RPM, Part 3: Accommodating software
dependencies
In this third article in a three-part series on the RPM Package Manager, discover the ins and outs of software dependencies, and learn how to control and customize your software packaging. (This series replaces an earlier series on RPM written by Dan Poirier.) Also available in: Japanese Portuguese Spanish |
Articles | 12 Jan 2010 |
Packaging software with RPM, Part 2: Upgrading and uninstalling
software
In this second article in a three-part series on the RPM Package Manager, learn how how to use RPM to upgrade and uninstall software on your Linux system. (This series replaces an earlier series on RPM written by Dan Poirier.) Also available in: Korean Japanese Portuguese Spanish |
Articles | 12 Jan 2010 |
Packaging software with RPM, Part 1: Building and distributing
packages
In this first article in a three-part series on the RPM Package Manager, learn how to use RPM not just to install software and attendant files but to package almost anything, from system scripts to source code to documentation. (This series replaces an earlier series on RPM written by Dan Poirier.) Also available in: Japanese Portuguese Spanish |
Articles | 12 Jan 2010 |
Anatomy of the libvirt virtualization library
The libvirt library is a Linux API over the virtualization capabilities of Linux that supports a variety of hypervisors, including Xen and KVM, as well as QEMU and some virtualization products for other operating systems. This article explores libvirt, its use, and its architecture. Also available in: Japanese Portuguese Spanish |
Articles | 05 Jan 2010 |
Inside the Linux 2.6 Completely Fair Scheduler
The task scheduler is a key part of any operating system, and Linux continues to evolve and innovate in this area. In kernel 2.6.23, the Completely Fair Scheduler (CFS) was introduced. This scheduler, instead of relying on run queues, uses a red-black tree implementation for task management. Explore the ideas behind CFS, its implementation, and advantages over the prior O(1) scheduler. Also available in: Korean Japanese |
Articles | 15 Dec 2009 |
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. Also available in: Japanese Portuguese |
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. Also available in: Korean Japanese Portuguese Portuguese |
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. Also available in: Russian Japanese Portuguese |
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. Also available in: Japanese Portuguese |
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. Also available in: Korean Japanese Portuguese |
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. Also available in: Korean Japanese Portuguese |
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. Also available in: Korean Portuguese |
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. Also available in: Japanese Portuguese Spanish |
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). Also available in: Korean Japanese Portuguese Spanish |
Articles | 13 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. Also available in: Portuguese |
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. Also available in: Chinese Korean Portuguese |
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. Also available in: Japanese Portuguese Spanish |
Articles | 06 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. Also available in: Korean Portuguese |
Tutorial | 29 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. Also available in: Korean Russian Portuguese Spanish |
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. Also available in: Korean Russian Portuguese Spanish |
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.] Also available in: Russian Portuguese |
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 |
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.] Also available in: Japanese Vietnamese Portuguese Spanish |
Articles | 31 Aug 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. Also available in: Korean Japanese |
Articles | 31 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. Also available in: Chinese Korean Japanese |
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. Also available in: Portuguese |
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. Also available in: Japanese Portuguese |
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. Also available in: Portuguese |
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. Also available in: Korean Japanese |
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. |
Society
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
Quotes
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
Classic books:
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.
Last modified: March 12, 2019