General Development Archive

Zero Install and the Web of Software

The Zero Install system removes the need to install software or libraries by running all programs from a network filesystem. The filesystem in question is the Internet as a whole, with an aggressive caching system to make it as fast as (or faster than) traditional systems such as Debian's APT repository, and to allow for offline use. It doesn't require any central authority to maintain it, and allows users to run software without needing a root password. In this editorial, we will see how software is accessed via Zero Install and how we can distribute our own programs through it.

Myths Open Source Developers Tell Ourselves

"One persistent misfeature of open source development is thoughtless mimicry, copying the behaviors of other projects without considering if they work or if there are better options under the current circumstances. At best, these practices are conventional wisdom, things that everybody believes even if nobody really remembers why. At worst, they're lies we tell ourselves." Read the rest at OnLamp.com.

Tutorial: “Message Passing for Intertask Communication”

"This online training lesson contains material taken from our introductory courses. This particular section presents the basic approaches to message passing for communication between concurrent tasks. In an actual training course, this section would be preceded by introductory sessions covering the fundamental definitions of embedded and real-time systems, as well as the fundamentals of multi-tasking (priority-based pre-emptive task scheduling)." Read it here.

C#: An Extensive Examination of Data Structures

This article kicks off a six-part series that focuses on important data structures and their use in application development. We'll examine both built-in data structures present in the .NET Framework, as well as essential data structures we'll have to build ourselves. This first installment focuses on defining what data structures are, how the efficiency of data structures is analyzed, and why this analysis is important. In this article, we'll also examine the Array and ArrayList, two of the most commonly used data structures present in the .NET Framework.

An Approach to Solving the “Device Driver Crisis”

This whitepaper published at LinuxDevices describes an approach to solving the "device driver crisis" that plagues both the embedded and non-embedded computer system markets. SciTech, the developer of the "System Neutral Access Protocol" device driver architecture ("SNAP"), says the SNAP approach to device driver development is radically different from traditional methods, and can drastically reduce the complexity of OS- and processor architecture-related device driver support.

Igor Searches for Programming Errors

Prof. Andreas Zeller from the Saarland University, Germany, announced his Tool Igor: "Your program does not work? The 'AskIgor' Web service automatically finds out why. Researchers of Saarland University, Germany, have started a Web service that automatically finds out the causes for program failures – automatically, quickly, and for free. At www.AskIgor.org, programmers may submit buggy Linux programs; Diagnosis tools for Java and Windows programs are underway." Read more here.

Build a grid application with Python, Part 2: Communication

Grid components need to talk to each other. The distributor needs to talk to the grid providers, the providers need to talk back, and clients and management tools need to talk to the distributor and providers. Providers may need to talk to each other, or they may need to look up information from another machine to determine information or status information from the grid. In this tutorial the author looks at ways to handle communication in a Python grid framework, from the basics of the TCP/IP system to the simplified, externally managed e-mail solution.

XAML: Create Real Apps Using New Code and Markup Model

The new presentation subsystem in the next version of Windows, code-named "Longhorn," offers powerful new capabilities to developers. This new subsystem, code-named "Avalon," allows developers to take advantage of its capabilities through a language—Extensible Application Markup Language (code-named "XAML"), as well as through modern object-oriented programming languages such as C#. Because most applications written to Avalon will probably be a mix of XAML and programming code, this article discusses XAML tags used to control page layout along with the procedural code written to respond to events.