Image of Linux Kernel Development (3rd Edition)
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Image of Operating System Concepts
Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)

Automatically Install SRPM Build Dependancies

An RPM spec file, among other things, enumerates a list of required packages under the BuildRequires tag. Every package listed must be installed on the build platform otherwise the build will fail. You can install the necessary BuildRequires packages either manually using yum or even rpm, but a easier way to do so is to use a utility called yum-builddep which is part of the familiar yum-utils package. $ sudo yum-builddep 389-ds-base- If all goes well, all the dependency packages are automatically installed for you. Unfortunately yum-builddep does not know how to handle conditional BuildRequires and will sometimes incorrectly include

x32 – A Native 32-bit ABI for x86-64

Intel is developing a new 32bit psABI (Processor Specific Application Binary Interface) for x86-64 called x32. The current version of the x32 psABI is 0.6 dated August 13th 2011. Intel’s H.J. Lu, H Peter Anvin and Milind Girkar gave a presentation on the new psABI at the recent 2011 Linux Plumbers Conference. The rationale for the new psABI is that many markets for Intel devices currently do not need more than 32-bits of address space, the existing i386 psABI is old, and 32-bit performance can be significantly improved using a new psABI. X32 APIs are designed for environments where the

Chronium Ninja Build System

If you have even had to build the Chromium browser from source using GNU Make, you will know that it is a very slow process even on a 4 core system. Ninja is a build system written by Evan Martin, who works for Google and is a Chrome developer, with the specific goal of improving the edit-compile cycle time. It currently only works on Linux. It can be dropped into a Chrome or Chromium build and behaves very similar to the GNU Make utility except it builds things much faster than make can. Typically you should use the Gold linker

Effortful Study

Great engineers are great because they practice their skills all the time. Athletes in great physical shape only get that way by working out regularly for long hours, and they need to keep it up, or they quickly get out of shape. The same goes for great software engineers and programmers. As most good programmers are aware of, programming every day is not enough to make you a professional programmer. So what can turn someone into a professional software engineer or programmer? The answer may lie in an article entitled The Expert Mind by Philip E. Ross. A man walks

When Security Does Not Make Sense

In a recent issue of the MSDN magazine (Yes I do read Microsoft publications!), I read a short but very interesting article by David Platt entitled When Security Doesn’t Make Sense. Here is an excerpt from that article: According to Herley, users who ignore our security instructions are being rational from their point of view. They subconsciously calculate that the constant efforts we demand of them are greater than the infrequent (albeit larger) losses to them if they don’t follow our instructions. They then rationally decide to ignore us. Herley writes: “Consider an exploit that affects 1 percent of users