General Development Archive

SharpDevelop 0.89 Released

So, you downloaded the free .NET SDK and compiler but you don't have a good and free IDE for your C# programming? The open source SharpDevelop 0.89 was just released and is available for download: "This release completes a major restructuring of the infrastructure and source code tree. Projects support backend bindings that are not targeting compilers, the object browser has much more functionality than before, folding was re-integrated and a new XML formatting strategy added (for details, see the Changes section). Our feature preview this time: a Windows Forms Designer. Take a look at the tech note and source code - if you have time to spare, help us make it a great open source implementation of a forms designer!"

Power PC Assembly Primer

Here is an overview of assembly language from a PowerPC perspective that contrasts examples for three architectures: ia32, ppc, and ppc64. This article assumes a basic understanding of computer design and of operating systems (system calls, exceptions, process stacks). It contains information that will be useful to PowerPC programmers unfamiliar with assembly as well as programmers who already know IA32 assembly and want to broaden their knowledge.

Climbing the Kernel Mountain

So, you want to write an operating system. We discussed earlier a generic set of considerations that are important, from my experience, for this type of adventure. We proceed to look at solutions to the problem of actually getting started with writing your system: how to do it when you know you don't know what you're doing, making it work before making it work fast, and what to do when things go wrong.

Using MUSCLE to Implement a Multiplayer Networked Game

Prologue by the editor-in-chief: "A bit more than two years ago, while I was still serving at BeNews, I asked Jeremy Friesner to write an article and present his cross-platform client-server messaging system for dynamic distributed applications, MUSCLE. Two weeks later, he came back to me with a multi-page article, explaining MUSCLE. To demonstrate the power of MUSCLE, Jeremy created a demo application based on it. The result was BeShare.

An Introduction of Modern Linux Distributed Filesystems

"The ability to share disks, directories, and files over a network is one of the most significant advances in modern computing, reducing local disk space requirements and making it easy for users to collaborate without ending up with hundreds of versions of the same files. Personal computers running Microsoft Windows and Apple's MacOS and Mac OS X inherently support sharing disks and directories with other systems of the same types. Linux and Unix systems traditionally use the NFS network filesystem in order to do the same sort of thing." Read the article at LinuxPlanet.

Borland Delivers Delphi 7 Studio

"Borland Software Corporation today announced Borland Delphi 7 Studio, featuring full support for new and emerging Web Services, integrated model driven development, and preview capabilities for the Microsoft .NET Framework. Using Delphi 7 Studio, the estimated one million Delphi developers can begin developing their skills for .NET and preparing applications for .NET without abandoning their existing work and skills on the Windows platform." Read the rest of the press release at Borland USA.

C# Input/Output Classes Simplified

"Beginners to the .NET Framework sometimes have a hard time trying to understand the classes in the System.IO namespace for performing input/output (IO) operations. The difficulty stems from the fact that this namespace is relatively large, containing more than 40 members, some of which are similar classes that can be used to achieve the same tasks. Thus it is sometimes hard to figure out which class is best for which task. This article tries to make your life a bit easier by grouping IO tasks into three categories and introducing the classes that are suitable for each task category." Read the developer's article at O'Reilly.

A Primer on Distributed Computing

Say you've got a big computation task to perform. Perhaps you have found a way to cure cancer, or you want to look for aliens. All you need is a few super computers to work out some calculations, but you've only got the one PC on your desk. What to do? A popular solution is the "distributed computing" model, where the task is split up into smaller chunks and performed by the many computers owned by the general public. This guide over at Kuro5hin shows you how.

Borland Speeds Kylix C++ for Linux Development

Borland Software Corp is set to build on an early lead among Linux developers, with today's expected launch of a C++ rapid application development (RAD) environment. Scotts Valley, California-based Borland will announce version 3.0 of its Kylix RAD environment for C++. Previous versions of Kylix targeted Delphi programmers on Windows and Linux. Read the rest of the report at TheRegister.

Building GUI Applications with Python

"Developing the Graphical User Interface (GUI) for a Python application is often a tedious, time-consuming, and opaque process. This is the exact opposite of how Python programmers would describe most other aspects of software development using Python. So what is it about GUI applications that causes them to be so hard?" Read the technical article at OnLamp. Two more Python articles can be found at developerWorks at IBM, here and here.

Advanced Filesystem Implementor’s Guide, Part 11

In this article, Daniel Robbins (President/CEO, Gentoo Technologies, Inc.) shows you how to use the latest filesystem technologies in Linux 2.4 and gives an update on the status of the XFS, ReiserFS, and ext3 filesystems. He shares implementation advice, performance information, important technical notes, as well as an outline of how these various filesystems will continue to improve over the next year. You can also view his previous article in this series, which shows you how to get XFS up and running.

libferris Winds its Way Towards 1.0.0

libferris is a virtual filesystem (VFS) that runs in the user address space. This means that applications using libferris will use the shared libraries API to access the filesystem which may then delegate to the kernel using libc to perform the desired actions. Operating in the user address space allows libferris to mount things that one would generally not want the kernel to mount. For example libferris mount Berkeley database files, ftp sites, XML files, rpm files, sockets, sysv IPC, mysql databases and remote computers using ssh as a filesystem.

Proposal for the Development of a Web Services Application

If there was a single application making someone use MacOSX full time, that application would be Watson. This application is possibly the most awarded in the MacOSX world, and it is the best idea for an application that I saw the last few years. Despite the idea being dead simple, and even seem redundant at first, Watson is an excellent, original and handy tool. I would like to initiate an open source project for a multi-platform clone of Watson (Karelia say that they have no plans for any ports - with only a remote possibility for a Windows port). I will start by putting $100 USD on the table while readers are most welcome to co-sponsor the project as well. What we really need though, is willing and capable C++ developers.