General Development Archive

Using DTrace to Profile and Debug A C++ Program

A sample program CCtest was created to demonstrate an error common to C++ applications -- the memory leak. The examples in this article demonstrate the use of the DTrace feature in the Solaris 10 Operating System to diagnose C++ application errors. These examples are also used to compare DTrace with other debugging tools, including Sun Studio 10 software and mdb in the Solaris 10 OS.

First stable release of TnFOX out

After a year of beta testing, TnFOX (forked from the FOX toolkit) has made its first production ready release. TnFOX extends FOX in a number of important areas such as mission-critical support, multithreading, exception-safety, strong encryption, Inter-Process Communication (IPC), Python bindings, human language translation and enhanced host OS facilities access in a Qt API compatible fashion. TnFOX is available for Win32/Win64, Linux and FreeBSD.

Migrate Win32 C/C++ application to Linux on POWER

These series of articles helps you migrate your Win32 C/C++ applications to Linux on POWER. Win32 C/C++ Apps to Linux Part-1 of this series coveres the Win32 APIs mapping to Linux on POWER regarding the initialization and termination, process, thread, and shared memory services. Win32 C/C++ Apps to Linux Part-2 illustrates how to map Win32 to Linux with respect to mutex application program interfaces (APIs).

IPython; Eclipse Plugins; Observer Pattern in .NET

The standard Python interpreter is unquestionably a highly valued item in the toolbox of many Python programmers. However, the IPython developers have taken the fundamental ideas found in the standard interpreter and improved upon them so considerably that they have created a tool of amazing utility. Elsewhere, this new monthly column is about writing plugins in Eclipse. Also, read here how to use the Observer Pattern in .NET.

Heterogeneous Parallel Virtual Machine

The price of "legacy" systems is dropping at a fast rate. Quad PIII servers can be purchased on Ebay for less than $800. Stacks of old SGI systems (Indy and Indigo) systems are being sold for rock bottom prices. But until one single unified API is created to unite all these systems into one single cluster for use by the common computer user, they will remain useless to most people. This is where HPVM comes in. HPVM exists to bring the cluster concept out of the Universities and research facilities and make them useful for everything from video editing, to database servers.

Test Driven Development: Programming by Intention

Have you ever had to work on a piece of code and found that it was hard to understand? Maybe the logic was convoluted, the identifiers meaningless, or worse, misleading. You say there was documentation? Was it readable? Did it make sense? Was it up to date with the code? Are you sure? How do you know? This chapter discusses programming by intention, a central idea in XP. It means making your intent clear when you write code.

Edging Toward the Ninety/Ten

Most software has far more features than most users will want. These extra features simply serve to increase the TCO of software deployments and headaches at the helpdesk. OFB Editor-in-Chief Timothy R. Butler argues that GNU/Linux developers would do well to follow the examples of Apple and Mozilla and move lesser used features out of the way.

The future of Visual C++, Part I

C++ is the language that most of Microsoft's big-name products are developed in and one of the most widely-used languages in the world. Charles Torre and Scoble interview Herb Sutter, architect on the Visual C++ team, in two parts. First part is up today, second tomorrow, which includes a small tour of the team. In this segment Herb talks about some of the language and compiler changes that are coming in the next version of Visual C++ and where C++ fits into the managed code revolution.

Pyrex extends and speeds Python apps

Pyrex is a language specially designed for writing Python extension modules. According to the Pyrex Web site, "It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python and the messy, low-level world of C." Almost any piece of Python code is also valid Pyrex code, but you can add optional static type declarations to Pyrex code, making the declared objects run at C speed.