General Development Archive

Boo 0.5.3 released

Boo celebrates its 0.5.3 release today, featuring a host of bug fixes and features. Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility. It features ASP.NET support and dynamic duck-typing. For SharpDevelop users, BooBinding has been updated to work with the latest SharpDevelop release. MonoDevelop users will be interested to know that a Boo Addin is available in SVN.

Open Source Report Generator

OpenMFG, the makers of open source ERP software, have released OpenRPT, a report writer for ad-hoc Web-based reporting. It creates graphical, embeddable reports, similar to the commercial software Crystal Reports or Microsoft Access report designer, but runs on on Linux, Mac OS X, and Windows. It supports graphs, integrated barcodes, label printing, and watermarks and report definitions can be stored in a PostgreSQL database as XML, or exported to individual files.

First look at Transactional NTFS

Transactional NTFS, coming in Longhorn, allows developers to group filesystem operations into transactions, and make those changes atomically. Changes made by transactions are isolated from each other, so that one transaction can 'see' a different set of files compared to another transaction. Transactions can also be used to view a frozen version of a file, fixed at a point in time, while another task updates the same file.

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.