DDJ, September 2006
Communications & Networking



FEATURES

Web Developer Survival Tips
Michael Swaine
Staying afloat in the world that Microsoft, Google, and Yahoo are trying to create isn't that tricky.

Synchronize Now!
Eric Bergman-Terrell
Eric uses Amazon.com's S3 web service and .NET 2.0's FtpWebRequest class to securely synchronize files on multiple machines.

Multithreading, Java, & OSGi
Oliver Goldman
The ThreadManager class Oliver presents here goes a long way toward easing multithreaded programming with Java and the OSGi platform.

The Essential Unified Process
Ivar Jacobson, Pan Wei Ng, and Ian Spence
The Essential Unified Pr--ocess integrates practices from the unified process camp, agile methods camp, and process improvement camp.

Ant Colony Algorithms
Andrew Colin
Among other complex problems, Ant Colony optimizers can be used to simulate routing problems when network topologies change over time.

Mandatory Error Codes Revisited
Guy Peleg
Mandatory error codes force callers of a method to accept and use the returned error code.


COLUMNS

Nisley's Notebook
Ed Nisley
Do patches to the real-time Linux kernel trump a separate real-time layer for some applications?

The Agile Edge
Scott Ambler
The results of Scott's survey indicate that agile software development methods and techniques are gaining traction.


DEPARTMENTS

Hmmmm
Jonathan Erickson
It's Saturday night at the movies for DDJ editors.

Alia Vox
Herb Sutter
When it comes to programming languages and development tools, the concurrency revolution that's now underway will be as significant as the object revolution of the 1980s and '90s.

Developer Diaries
Michael Swaine
To this month's software developers, programming means applications, algorithms, and Apple computers.

Developer's Notebook
DDJ Staff
New development products and new releases of existing ones.

Hard Copy
Levent Gurses
If open source really is a success, there's got to be a reason. Steven Weber's The Success of Open Source offers up some answers.

Swaine's Flames
Michael Swaine
There are winners and losers—and then there are winners and losers.