General Development Archive

IBM releases free Q104 Software Evaluation Kit — new 2-DVD set

Get the latest DB2, Lotus, Rational, Tivoli, and WebSphere Linux code from IBM on DVD, for free. This is the fastest way to get access to all of IBM middleware that has been ported to Linux. The package contains almost 8 GB of IBM tools and products at no charge, including Rational Rose and PurifyPlus, WebSphere Studio Site Developer, WebSphere SDK for Web services, WebSphere Application Server, DB2 Universal Database, Tivoli Access Manager, and Lotus Domino Server.

Resilient Technology Preview Released

Resilient is a secure, object-oriented, serviceable, real-time software platform for embedded devices. The platform enables developers to debug, profile, and update code running on embedded devices in the field, vastly improving reliability and development productivity. The compactness makes it possible to fit the virtual machine, core libraries, device drivers, TCP/IP networking stack, and user applications in less than 128KB of memory. The Resilient Technology Preview was released last week. It can be downloaded for free for non-commercial use.

GDI+ Graphics Transformation

Learn the basics of transformation, coordinate systems, the role of coordinate systems in the transformation process, and transformation functionality using GDI+ with C#. Find out how to distinguish among global, local, and composite transformations, how to use the Graphics class transformations in applications, and how to translate, scale, shear, and rotate graphics objects.

The C# Design Process: A Conversation with Anders Hejlsberg

After 13 years with Borland, Hejlsberg joined Microsoft in 1996, where he initially worked as an architect of Visual J++ and the Windows Foundation Classes (WFC). Then, Hejlsberg was chief designer of C# and a key participant in the creation of the Microsoft .NET Framework. Today, he leads the ongoing development of the C# programming language. On July 30, 2003, Bruce Eckel, author of Thinking in C++ and Thinking in Java, and Bill Venners, editor-in-chief of Artima.com, met with Anders Hejlsberg in his office at Microsoft. Check out the entire eight-part interview here.

Basic Use of Pthreads

Threads strike fear into the hearts of many programmers. UNIX's process model is simple and well understood, but it is sometimes inefficient. Threading can often allow for substantial improvements in performance, at the cost of a little confusion. This article demystifies the POSIX thread interface, providing practical examples of threaded code for consideration.

Business Service Grid, Part 6: In operation

A service domain applies autonomic computing principles for aggregating Web services and grid services. The service domain technology provides a service grid and can create, filter, discover, cluster, organize, select, route, recover, and switch Web services and grid services autonomically. Using service domain objects enables you to implement business solutions easily and quickly. In this article, we discuss how to invoke and access a service domain to start the operational phase.

C++: ACE Logging; .NET: Exception Handling, Logging, and Tracing

Every C++ program -- and every networking app -- needs a good logging mechanism. ACE provides you with more than one way to handle such things. Consider your application and how you expect it to grow over time. Your choices range from the simple ACE_DEBUG macros to the highly flexible logging service. Regarding .NET, exception handling is more than just throwing and catching objects. There are many design elements in providing a robust system, and providing a sound exception handling, logging, and tracing schema are among the first steps. In this chapter from ".NET Patterns: Architecture, Design, and Process" book, you'll learn best practices for determining when to throw, catch, and log your errors.

The New Breed of Version Control Systems

CVS, part of the glue that holds open source development together, shows its age. Many competitors have emerged recently, fixing misfeatures and adding new ideas. Shlomi Fish (of the version control comparison fame) explores several current open source version control systems that may be better than CVS for your needs. Email Shlomi on how to add info for your favorite VCS on his comparison page.

Overview of Task Schedulers for Embedded Newbies

This paper by veteran real-time instructor David Kalinsky provides an introduction to the subject of task scheduling, from the perspective of novice embedded systems software developers. It begins with a survey of simple "home-made" task schedulers. Then it introduces the concept of preemption and priority-based preemptive schedulers, as used in off-the-shelf real-time operating systems. It ends with a glimpse into deadline scheduling for hard real-time systems.