General Development Archive

Sockets Programming in Ruby

This tutorial shows how to develop sockets-based networking applications (free reg. req.) using the Ruby language. You learn Ruby basics as well as the most important classes for sockets programming, and then look at a working chat application that illustrates these fundamentals. The tutorial finishes by exploring the higher-level classes that make it easy to build dynamic Web servers, mail servers and clients, and other application-layer protocols.

Boo 0.7 Released

"Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility." Version 0.7 was released on Sunday.

So Now I’m A Software Architect. What Do I Actually Do?

A key part of the software architect's job is producing an architectural description of the system that defines the architecture's key functions, features, and characteristics for its stakeholders. Where do you start? What do you need to know? Nick Rozanski and Eóin Woods provide detailed answers to these questions, with useful suggestions on how to attack this fundamental document that underpins any development project.

Embeddable C/C++ Interperter Ch 5.1 Released

Embeddable Ch is a C/C++ interpreter for cross-platform scripting, 2D/3D plotting, numerical computing, shell programming and embedded scripting. It was announced the availability of Ch 5.1 and Embedded Ch 5.1. Ch which enhance embedded ch scripting with thread handling. They allow you to abort a run time embedded ch thread. It supports MingW for SDK and Embedded Ch. This release also fixes many bugs. More here.

Release of Open Dylan 1.0 Beta 1

"Dylan is an advanced, object-oriented, dynamic language which supports the rapid development of programs. When needed, the programmer can later optimize programs for more efficient execution by supplying type information to the compiler. Nearly all entities in Dylan (including functions, classes, and basic data types such as integers) are first class objects. Additionally Dylan supports multiple inheritance, polymorphism, multiple dispatch, and many other advanced features."

Avoid XML Pollution with Safe Coding Practices

Strong error handling translates into more reliable applications. When you load an XML document, it is best to catch errors early, before they have a chance to damage other data. I have noticed that many companies and developers make the same mistakes when they adopt XML technology. Learn how to avoid common XML coding errors when you design and implement error handling in XML applications.

The Realities of Software Testing

Unfortunately, in the real world you will never see a project perfectly follow any of the development models. You will never be given a thoroughly detailed specification that perfectly meets the customer’s needs and you will never have enough time to do all the testing you need to do. It just doesn’t happen. This chapter will help you understand that software testing doesn't alway go perfectly, and help you prepare for that eventuality.

Eclipse Customized Jakarta Slide Open Source CMS

This tutorial, first in a series, will walk through installation of a bundled Apache Tomcat and Jakarta Slide that will result in a working content management system. In Part 2 of this series, learn how to download the sources, set up Eclipse, and build the Jakarta Slide open source CMS. Part 3 will walk through the customization of Jakarta Slide with Eclipse to create a new store back-end adapter that will allow documents stored to Slide to also be stored in a database. Other options for creating stores will also be explained. Note that a free registration is required to view these articles.

Software Plasticity with Aspect-Oriented Programming

Most software is rigid in nature, making it difficult to reconfigure and modify without costly upgrades. Can software be made more plastic or malleable? Stephen Morris demonstrates how aspect-oriented programming provides an important tool in the race to achieve plastic software. If IBM's on-demand computing spreads across the industry, this requirement will become the rule rather than the exception. Will you be ready?