General Development Archive

C# Example of MSN Messenger on Windows and FreeBSD

From DaemonNews: "François Jacques and Jean-Claude Batista have an article on macadamian.com on writing a tiny version of the MSN messenger client on Windows and FreeBSD . The example is available in source code form for free." Our Take: It feels a bit strange to have software compile for the .NET Framework under FreeBSD. It is definately a welcoming addition to FreeBSD, but it still feels a bit strange. We'll get used to it, I guess.

Using Threads With C#

This article over at MSDN explains the different models of threading — single, apartment, and free — and the use of each model. It also introduces a code sample in C# that uses threading to help you write applications that will take advantage of threading. The article also discusses important issues involved in multithreading code.

Advanced Filesystem Implementor’s Guide, Part 10

With the 2.4 release of Linux come many new filesystem possibilities, including Reiserfs, XFS, GFS, and others. These filesystems sound cool, but what exactly can they do, what are they good at, and exactly how do you go about safely using them in a production Linux environment? Daniel Robbins, CEO and president over at Gentoo Linux (and creator of the sophisticated Portage packaging system) answers these questions by showing you how to set up these new advanced filesystems under Linux 2.4. In this final installment (Part 10/10), Daniel shows you how to get XFS up and running on your system and explores some of XFS's more advanced features. Recommended reading is also the previous article, Part 9, exploring XFS's features over the other Linux filesystems. In a similar recent article, Bert Scalzo for Linux Jounral, benchmarks ReiserFS, JFS and ext2/3.

New Versions for Bochs, VMWare and Virtual PC Released

Bochs 1.4 is the latest release of Bochs, the popular x86 emulator. This version delivers features such as booting from a CDROM, VESA BIOS Extensions, improved networking, keyboard mapping for non-US keyboards, and a working serial port. You'll notice several new buttons on the GUI, copy, paste, and snapshot, which let you copy text between the system clipboard and the Bochs screen. There is also a new cross-platform interface using the SDL library. In related news, VMWare has just released a beta of its upcoming VMWare 3.1 x86 runtime (VMWare is not an emulator like Bochs and VPC are, this is why it can't be ported to any other architecture than x86 - however, by being a runtime, it is speedier than the emulators), while Connectix released its x86 emulator, Virtual PC 4.3, just 15 days ago.

Vesta Releases First LGPL Version

Many are the developers who prefer Perforce in favor of CVS. There is a new player in the field now though. It is called Vesta and it is a replacement for both CVS and 'make'. It handles source revision control and automated construction. It is the result of over 10 years of research and development at the Compaq/Digital Research Center. Just last August Compaq gave the 'ok' to LGPL Vesta and since then the 4-member team worked hard to finish up the port to x86 Linux (prior to that, Vesta only worked on Alpha and Tru64 systems). Now, the first Free version is available for download. For a summary of some of the features that make Vesta interesting, see this page.

Compiler Security Checks In Depth

"Software security is a major concern for the high-tech industry, and the most feared and misunderstood software vulnerability is the buffer overrun. Today, the mention of a buffer overrun is enough to make people stop and listen. All too often, the technical details get lost in the transcription, and the general public comes away with a rather alarming view of a rather fundamental problem. To address this problem, Visual (unmanaged) C++ .NET introduces security checks to assist developers in identifying buffer overruns." Read the rest of the article at MSDN.

MacOSX Cocoa & Project Builder Tutorial

"One of the great advantages of Cocoa is getting a lot of functionality with little code. There are classes in the Cocoa Framework that handle much of the necessary work in creating applications that have multiple documents. NSDocumentController, NSDocument and its closely related cohort NSWindowController combine to give you a powerful starting point when building your own multiple document applications. The best way to illustrate the power that these classes offer is with an example; that's how HTMLEditor.app was born. HTMLEditor is a basic text editor that has file associations for HTML. No big deal right? Well, over the next month or so, HTMLEditor will be extended to include a number of additional features, forming the basis of a series of articles." Read the rest of the MacOSX Cocoa/Project Builder step-by-step tutorial at StepWise.

Inheritance and Interfaces with Visual Basic .NET

"In this document, you learn about the differences between class inheritance and interface implementation. Inheritance supports the creation of hierarchical frameworks of increasingly specialized classes that share some code and also add their own customizations. Interfaces allow multiple unrelated classes to share predictable sets of methods and properties. Both interfaces and inheritance provide polymorphism, allowing generic procedures to work with many different kinds of objects. You also saw how object composition allows you to reuse and extend implementation code without inheritance, and how it can be combined with interfaces to support polymorphism. All these techniques enable you to create and revise complex software systems by helping you add new functionality, with minimal need to dig back into old working code." Read the rest of the article at MSDN.

Managing Processes and Threads

"In Ed's previous column, he focused on socket programming and performance within a single system. In a future column he will pick up where he left off, but his topic this month is management of threads and processes in Linux and Windows systems. He walks through the differences between processes and threads, shows how to create and destroy them, and writes a program you can use to study thread management on your systems." Read the intersting aricle at IBM DeveloperWorks.

“Modern Operating Systems”: Page Replacement Algorithms

Yet another excerpt (previous articles here and here) from the well known "Modern Operating Systems" book at InformIT (free registration required): "When a page fault occurs, the operating system has to choose a page to remove from memory to make room for the page that has to be brought in. This sample chapter from Modern Operating Systems looks at a variety of page replacement algorithms designed to tackle this problem." InformIT also features two more excerpts this week: "Multithreading and the C++ Type System" from the "Modern C++ Design" book and "Solaris: Cluster and Complex Design Issues" from the "Designing Solutions with Sun Cluster 3.0" book.

Borland to Ship C++ Builder 6

Borland on Friday will ship a new software development tool for C++ programmers. The new version, Borland C++ Builder 6, features support for Web services, allowing developers to build software that is accessible over the Internet via PCs, cell phones and other handheld devices. The cost is $2,999 for the enterprise edition, $999 for the professional edition and $69 for the personal edition. In other development news, Rational Software on Tuesday introduced a new software development tool that is compatible with software from Microsoft, IBM and Sun Microsystems. The software company, which has worked mostly with Microsoft in the past, announced Tuesday that its new XDE Professional v2002 product will work with Microsoft's Visual Studio.Net development tools and IBM's rival WebSphere Studio development tools. The XDE, or extended development environment product, has also been designed to support IBM's Eclipse IDE, software based on Sun's Java technology.

Journal File Systems in Linux

"First of all, there is no a clear winner, XFS is better in some aspects or cases, ReiserFS in others, and both are better than Ext2 in the sense that they are comparable in performance (again, sometimes faster, sometimes slightly slower) but they a journaling file systems, and you already know what are their advantages... And perhaps the most important moral, is that Linux buffer/cache is really impressive and affected, positively, all the figures of my compilations, copies and random reads and writes. So, I would say, buy memory and go journaled ASAP..." Read the rest of the 8-pages long article.

Why You Might Want to Try Ruby

"Ruby. Perhaps you've heard of it? "Oh, yeah, I think it's one of those new object oriented scripting languages", you say. I know a lot of you might be thinking "Not another new language! I'm perfectly happy with (COBOL/C/cshell/awk/Perl/...); why does the world need another programming language?!", while a few others are thinking 'Cool, a new language to explore'." Read the rest of the article, an introduction to the Ruby programming language, at FreshMeat.

Krusader & Gnumeric 1.0 Released

Good news for the Krusader fans, as version 1.0 was released today after 1.5 years of development. Krusader is a KDE/QT-based file manager and being similar to Norton or Midnight Commander it should already have lots of friends among the Linux users. Krusader seems to be today the only real & viable alternative to Konqueror or Nautilus today under a Linux desktop. In a related note, Gnumeric 1.0, the Gnome Office spreadsheet was released recently.