General Development Archive

HOWTO: Apt For RPM

Here is a tutorial about apt on rpm-based distributions. This tutorial is split into two parts: in the first it demonstrates how to install and use apt based on an example (apt on SUSE 9.2), and in the second part it will give you an overview of the packages to install and the package repositories for each distribution mentioned above.

Higher Order Functions

Functions are the wonderful and powerful building blocks of computer programs. Functions allow you to break code down into simpler, more manageable steps. They also allow you to break programs into reusable parts -- parts that are both reusable within the program and in other programs as well. In this article, learn how to create new functions at runtime based on templates, how to create functions that are configurable at runtime using function parameters, and how the Scheme language can be a valuable tool with functions.

Metafunctions in C++; Assignment and Initialization

This chapter looks at a practical example from science and engineering that can find applications in almost any numerical code. Along the way, you'll learn some important new concepts and get a taste of metaprogramming at a high level using the MPL. Also, this chapter explains the difference between assignment and initialization in C++ in simple terms, with examples to illustrate each.

The Protothreads Library Version 1.1

Protothreads are an extremely lightweight, stackless type of threads written in portable C code. Protothreads provide blocked waiting and sequential code execution on top of event-driven systems, without the overhead of full multithreading or per-thread stacks. They are designed for severely memory constrained systems, has a very low RAM overhead, and can be used with or without an underlying OS. New in version 1.1 is the PT_YIELD() operation that allows a protothread to yield the CPU.

Installing Software: A GNU/Linux VS. MS Windows Comparison

I read a lot of reviews comparing GNU/Linux and Microsoft Windows, and inevitably the topic of installing software comes up. Most reviews indicate that installing software in Windows is much easier than that of the desktop GNU/Linux world. I decided to do my own comparison based on my desktop usage to see the difference. The following are my results. Those of you that come from the Windows world may be a tad bit surprised at the ease in which software can be installed.

Autopackage 1.0, the now and the next

After two and a half years of work, autopackage 1.0 has finally escaped into the wild. It has a fundamentally new design, and offers an alternative system of software distribution and management on Linux. This article will talk about what this means for the Linux community, and what new directions and possibilities it opens up. It'll talk about problems remaining to be solved, and finally it will propose solutions for them. If you just want to see what autopackage is like, check out the screenshots or the Flash demo, available from the website.

HOWTO: Creating Images Of Your Linux System With SystemImager

Falko Timme wrote a tutorial describing how to create images of your Linux system with SystemImager. SystemImager lets you create images of your installations. So you can make a backup of your systems, clone your systems (if you have to maintain more than one machine with exactly the same software), or even distribute your software over the internet. To do so, you need an image server (should have enough disk space to store your images) and a so-called golden client (i.e., your "perfect system" of which you want to make an image).

Language Driven Development

Xactium has published a white paper on Language Driven Development (LDD). LDD is a revolutionary approach to designing and implementing software and systems. LDD makes huge productivity gains by bridging the gap between the way developers think about their problem domain, and the languages and tools that implement the solution.