The kernel keeps track of the flow of time. It provides services to sleep wait for long periods and busy wait for short periods, can schedule events to run at a future time, and can do periodic work with microsecond precision. Here’s a look at kernel time.
Perl creator Larry Wall has posted his ninth State of the Onion address. As always, it's inventive and entertaining, although not very illuminating. Find it online at http://www.perl.com/pub/a/2005/09/22/onion.html.
Started just over ten years ago, the PHP programming language has become the most popular programming language for web application development. PHP 5, the most recent release, adds even more features — all the while remaining approachable to novices. But don’t let the friendly facade fool you — Fortune 500 companies are taking notice, too. Here’s a look at the life of PHP 5 so far.
If you have a comma-delimited file, use cut -s -d, -f n file to extract the nth field from each line of file. The -s option skips lines without the delimiter.
There’s a war raging between Java integrated development environments and there’s no shortage of combatants. But NetBeans 4.1 has some not-so-secret weapons, and its arsenal of features grows by the day. Here’s a hands-on review.
Kernel threads are used to implement background tasks inside the kernel. They are similar to user processes, but live in kernel address space. Here’s how to use them.
Just weeks ago, the kernel development team received a clear edict from its benevolent dictator Linus Torvalds: stop using BitKeeper, start using (Torvalds’s own) Git. Some foretold of calamity, but what impact has Git really had on kernel development? Here’s an assessment from Torvalds and others.
You don't have to know Perl to use Perl. The command-line perl -p -i -e 's/oldstring/newstring/g' * replaces all occurrences of oldstring with newstring in all files in the current directory and makes backup copies of the original files.
If you use pushd and popd to maintain a directory stack, use ~n on the command-line to reference the nth element of the stack with (where n is 0, 1, 2, and so on).
When the 4th edition of Learning Perl came out, I was curious to see what had changed between the covers of the "Llama book." A couple of years ago, I was pretty sure that, by the time a new edition of the Llama book was at my local bookstore, it would be covering Perl 6. Since Perl 6 is still in development, it looks like we'll have to wait until the next edition (and, one hopes, no longer!) to see Learning Perl take it on.
In addition to reading through Learning Perl, I also had a chance to have a short chat with two of the book's authors, Randal L. Schwartz (who also writes Linux Magazine's "Perl of Wisdom" column) and brian d foy. Schwartz and brian also do Perl training and consulting through Stonehenge Consulting Services (no relation).
Seigo has been working with the KDE project for some time, and is now working on the KDE Plasma project, a new direction in the way that users will work with the desktop. We asked Seigo if he'd spend a little time talking about the new project, and the direction of KDE, and he kindly obliged. Read on for an interesting look at what's going on with KDE.
In the last two columns, I introduced my CGI::Prototype generic controller framework. This time, let’s continue the examination with a description of a real workhorse subclass, CGI::Prototype::Hidden.
Debuggers make kernel internals more transparent. On Linux, they come in different flavors: The Kernel debugger, kdb, the Kernel GNU debugger, kgdb, the GNU debugger, gdb, and JTAG- based debuggers. Learn how to use the former three in this month’s column.
Since Perl 6 has been gestating for some time, while other languages are moving forward at breakneck speed, some might wonder if Perl is still relevant. Tim O'Reilly addresses the question and the popularity of Perl books vs. other languages.
The short answer is, "yes" Perl is still relevant. (Just ask any of the many companies and organizations that are developing new applications in Perl.) But, Perl does have plenty of competition, according to O'Reilly:
In terms of the competitive landscape among programming languages, in addition to PHP, Python has long been gaining on Perl. From about 1/6 the size of the Perl market when I first began tracking it, it's now about 2/3 the size of the Perl book market. The other scripting language (in addition to Perl, Python, and PHP) that we're paying a lot more attention to these days is Ruby. The Ruby On Rails framework has taking the world by storm, and has gone one up on PHP in terms of making database backed application programming a piece of cake.
SourceLabs has launched an interesting project called SWiK that combines the best of a Wiki, database, social bookmarks and search engine for open source projects. The front page interface is deceptively sparse, a simple search box with a bit of descriptive text and the SWiK logo, links for random projects and recent edits.
However, SWiK is a lot more than a mere search engine or directory. SWiK is part-Wiki, which means that users can add entries for projects or update existing entries with new information, tips, Frequently Asked Questions (FAQs), comments or whatnot.
Intel today announced the availability of Compilers 9.0, a new tool for software developers. Compilers 9.0 supports C++ and Fortran programming languages and enables developers to build threaded applications; increase performance for multi-core platforms; and improve security protection in both Linux and Windows applications.
REAL Software announced today that
REALbasic 2005 for Linux, a new visual development
environment for Linux, is available for public beta and can be downloaded
now from http://www.realsoftware.com/demo.
REALbasic 2005 for Linux
Standard Edition will be offered for free when it ships in August.
"REALbasic 2005 for Linux provides a solution to two issues in the Linux
market," stated Geoff Perlman, president and CEO of REAL Software. "First is
the lack of a good Visual Basic-like development environment and the second
is the lack of desktop software for Linux. We believe Linux users can
benefit from using REALbasic's powerful, visual development capabilities."
REALbasic 2005 for Linux Standard Edition makes it easy to create software
for Linux and features the following:
Visual rapid application development (RAD) environment.
Highly compatible with Visual Basic and includes a utility to migrate
existing applications to REALbasic.
Modern, fully object-oriented language that compiles to machine code.
REAL SQL Database, a single-user database engine based on SQLite, a public
domain database engine.
Low and high-level networking capabilities (UDP, TCP, HTTP, SMTP, POP3).
Industrial-strength XML parser and generator enables you to read and write
XML data with a few lines of code.
Royalty-free software distribution.
Compatible with major x86 Linux distributions, including SUSE, RedHat,
Mandriva/Mandrake, with GTK+ 2.0 (or higher), Glibc-2.3 (or higher) and CUPS
(Common UNIX Printing System).
REALbasic 2005 for Linux Professional Edition includes all Standard Edition
features and more advanced features, such as:
Cross-platform compilation from Linux to Windows (98-XP) and Mac OS X.
Creation of console applications.
Server Socket enables the creation of powerful server applications.
Create multi-user database applications and connect to Oracle, Microsoft
SQL Server, FileMaker Server, MySQL, PostgreSQL, Sybase or any ODBC data
source.
In the second in his series, Apache Software Foundation (ASF) co-founder Ken Coar describes the rules that all ASF projects must abide by — rules that are fundamental to the “Apache Way.”
Technologies like Wi-Fi, GPRS, and miniature storage devices are ubiquitous today as PCMCIA or CF cards. The Linux kernel supports PCMCIA devices on a variety of architectures.
LinuxDevices has a look at Pi-Sync a Personal Information Manager for Linux, Windows, and Zaurus devices (Mac OS X coming soon). The project has released platform-independent versions of KOrganizer, KAddressbook, PasswordManager and more. Software and more information about the project is available at the Pi-Sync website.
What do you do when there's no tool to do the job? You write your own, that's what. After dropping BitKeeper a few weeks ago, Linus Torvalds has announced his new management system, Git. Git may not be for everyone, according to Torvalds:
"I needed something that works for me quickly," Torvalds said by e-mail. "I was pretty sure I could do an implementation that sucks in many ways but that is sufficient for my needs (and I could do it) faster than the existing SCMs (source code management tools) could adapt to being used for something as big and distributed as the kernel."
Branden Robinson has won the 2005 Debian Project Leader (DPL) election. Robinson, who has run each year since 2001, was chosen from a field of six candidates. His term begins on April 17. Before Robinson assumes the role of Project Leader, we asked if he'd answer a few questions about his plans for the next year, and his thoughts on some of the issues facing the Debian Project.
LM: You've run for DPL several times, how does it feel now that you've won?
It was initially a bit of a surprise. As you may be aware, it took a "Draft Branden" campaign to even get me to run for the position this year. While I did nothing to discourage that campaign, I was feeling pretty battle-weary from the previous contests.
Most recently, two such reverse engineering efforts led BitMover to question the free portion of their business model. Worse, one of these efforts was inadvertandly funded by the OSDL, Linus Torvalds' place of employement.
Larry explained that a contracter still under pay from OSDL for an unrelated project was also actively working on reverse engineering the BitKeeper protocol. Discussion began about five weeks ago to try and resolve the situation, getting so far as to obtain a verbal agreement that the individual would stop his efforts. After that time, however, it turned out that the reverse engineering effort had continued. Although OSDL wasn't directly paying for the reverse engineering effort, they were still employing someone who was actively developing a competing product, something the free BitKeeper license doesn't allow.
Julio M. Merino Vidal has some useful tips for open source developers to make life easier on the folks who package software. Vidal works for the NetBSD Packages Collection but his suggestions are also helpful for other BSD and Linux distributions.
The Linux kernel needs to be tested more often according to Linus Torvalds.
"Doing just release kernels means that there will be a two-month lag between telling developers that something (messed) up performance," Torvalds wrote in a posting to the Linux kernel mailing list. "Doing it every day (or at least a couple of times a week) will be much more interesting."
OpenOffice.org 2.0 is still a few months off, but the beta is drawing criticism due to functionality in OO.org requiring a Java Runtime Environment (JRE). Bruce Byfield looks at the arguments for and against including components written in Java, including licensing concerns and the lack of an official version of Java for Linux on PPC or FreeBSD.
ONLamp.com has an interesting look at Microsoft's Shared Source Initiative. The article clears up several misconceptions about the Shared Source Initiative, including the popular misconception that there's only one Shared Source license:
First, recognize that Shared Source isn't one program with one license. Shared Source is an umbrella program for all source sharing programs from Microsoft. Any time Microsoft makes source code available through a program, it brands it as part of the Shared Source Initiative, the marketing machine has the message to deliver, and a new program ends up on the Microsoft Shared Source website. These licenses span the spectrum from very locked down, look-but-don't-touch licenses to licenses approved by the OSI, and everything in between.
While Shared Source may not be of much interest to die-hard free software and open source enthusiasts, many Linux users are working in mixed environments where Linux and Microsoft products have to co-exist. It's worth a read for anyone bridging both worlds in their work environment.
Google has introduced a new site called Google Code with source code and APIs for working with Google. eWeek and News.com have coverage of the announcement.
Google Code highlights four projects to start, including CoreDumper, Goopy/Functional and Perftools. So far, the apps are lower-level apps that won't be of great interest to everybody, but they could be fun for hard-core developers.