Image of Modern Operating Systems (3rd Edition)
Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)
Image of Android Wireless Application Development
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)

Fedora 12 Dracut

Fedora 12 (Constantine) contains a new infrastructure for populating and building an initramfs image called Dracut. Dracut is a replacement for both the mkinitrd build script and the nash script interpreter. The project was started by Jeremy Katz when he worked at Redhat as a result of discussions at a Linux Summit a couple of years ago and some community prodding by David Jones. Currently Harald Hoyer, who works for Redhat, is the owner of the project. In this post I examine Dracut in detail and show the major differences between the existing and new infrastructures. I assume that if

Vista VMware Network Connections

When I am traveling, I often use VMware workstation on my Windows Vista Ultimate laptop to host both Redhat and Ubuntu VMs. One thing that irritates me about this arrangement is that whenever I reconfigure networking in VMware, Windows Vista shows these networking interfaces are part of a unidentified network with limited access. For example, when you right click on the networking icon, the following networks are displayed. Network is my regular wireless or hard-wired LAN connection to my router and from there to the Internet. The unidentified network, marked limited connectivity, are two VMware virtual network adapters. Here is

KSH93 libshell

In a number of posts about a year ago I discussed how to develop custom builtins for Korn Shell 93 (ksh93) using libshell and published APIs. You can also use these same APIs to access ksh93 functionality from within a C application. This post provides three simple examples of how to do this. The first example simply takes two numbers as arguments on the command line, multiplies the numbers and prints out the result on stderr. #include <shell.h> #include <nval.h> int main(int argc, char *argv[]) { Namval_t *np; Sfdouble_t res; Shell_t *shp = sh_init(argc, argv, 0); sh_trap("((xresult=$0*$1))", 0); np =