advertisement

Listen Print

Electronic Archaeology

by Derrick Story
Network Newsletter for 04/29/2003

Dear Readers,

For most programmers, what they learned in college about code structure and the process for project development (such as Extreme Programming) has little bearing on the reality of their professional life. Often journeymen programmers find themselves assigned to projects that are older than their "beginning programming" textbooks, and have been tampered with by a variety of past employees who did not document their additions, or for that matter, even add comments to the code. What a mess!

O'Reilly book author Steve Oualline knows all about this situation, and has spent a great deal of time refining the art of digging through ancient, muddled code. He calls this endeavor "Electronic Archaeology."

In his article by the same title, Steve shares with you eight of the best tools for digging through incomprehensible blobs of bad code. This writing could be the "Lost Ark" for programmers buried beneath ancient projects long ago rejected by those who have more seniority.

You might want to explore this one....

To subscribe to the O'Reilly Network newsletter (or other newsletters), visit https://epoch.oreilly.com/account/default.orm and select the newsletters you wish to receive in your user profile (you'll need to log in with your existing O'Reilly Network account -- if you don't yet have an account, you'll need to create one).

To change your newsletter subscription options, please visit https://epoch.oreilly.com/account/default.orm and click the"Manage My Newsletters" link. For assistance, send email to

Until next week,
Derrick

Derrick Story
O'Reilly Network Technical Editor
derrick@oreilly.com

Featured Articles

Electronic Archaeology
It takes time to make a good mess. Programs start out simple, but then the code evolves (or devolves) over the years. Different people work on it, and it appears many of them knew very little about programming. The result for professional programmers is having to deal with badly designed, badly implemented, uncommented, incomprehensible blobs. The art of digging through ancient, muddled code is called "electronic archaeology," and this article, by Steve Oualline, author of Practical C++ Programming, 2nd Edition, discusses some of the tools you can use to make your code "digs" easier.

Apple Brings Good Karma to Online Music
At a much anticipated media event in San Francisco, Steve Jobs announced Apple's new online music service, an updated version of iTunes and third-generation iPods. Here are the details complete with audio clips and photos from the presentation.

Portal Syndication: Embedding One Web Site's Functionality in Another
Ivelin Ivanov shows how simple it is to syndicate functionality between web sites when using Apache Cocoon.

Using OpenGL with VB.NET
Although VB.NET is not the first programming language that comes to mind when you are thinking of writing applications that use the OpenGL API, it is possible (and not that difficult), if you are willing to dip your toes in the warm waters of open source software. In this article, Jacek Artymiak shows you how to use OpenGL in your own .NET apps.

Swarms and Mobs at This Year's ETech
Individually, Eric Bonabeau's keynote on Biological Computing and Howard Rheingold's address on Smart Mobs would have been interesting. Taken together you can see the application of emergent behavior described by Bonabeau to the technological challenges issued by Rheingold. And that's what makes conferences like ETech so powerful. Here's a look at what exceeds the sum of its parts with these two keynotes.

Twisted Python
The Twisted application framework provides rocket-powered tools for your next network application.

NetNewsWire and Spring Earn Top Awards in Inaugural Mac OS X Innovators Contest
NetNewsWire and Spring earn top two awards in the inaugural Mac OS X Innovators contest. Here's the official announcement.

Enums in Java (One More Time)
Depending on who you ask, the lack of built-in enum support in Java is either a travesty or no big deal. They're convenient in some cases, and are often requested for future versions of Java. John I. Moore, Jr. explores the alternatives for emulating enums in core Java and presents the mini-language jEnum as proof-of-concept.

An SVG Case Study: Integrated, Dynamic Avalanche Forecasting
Avid backcountry skiers Chris Cochella and Tyler Cruickshank were frustrated by the irregular and distributed nature of avalanche danger information on the web, so they used Perl, MySQL and SVG to draw together an integrated avalanche forecasting tool.

POOL
What do templating, object oriented modules, computational linguistics, Ruby, profiling and oil paintings have in common? They're all part of this introduction to POOL, a tool to make it easier to write Perl modules.

New Books from O'Reilly & Associates

Samba Pocket Refernce, 2nd Edition

JavaScript & DHTML Cookbook

ADO.NET in a Nutshell

Active Directory, 2nd Edition

Mac OS X for Java Geeks

Building Embedded Linux Systems

Java Data Objects

Mac OS X Hints

Oracle Data Dictionary Pocket Reference

The Complete FreeBSD, 4th Edition

O'Reilly Network Top Five Articles Last Week

  1. Freeware Gems for Mac OS X
    Here's a collection of lesser-known freeware gems available for Mac OS X. We're talking about neat little apps that you might not have heard of, but that can do the job just as well as better-known (and much more expensive) varieties without you having to pay a penny for them.

  2. Top Ten Digital Photography Tips
    You have a digital camera and have recorded the typical shots of family and friends. Now what? Here are ten tips to make your next batch of digital images so impressive that people will ask: "Hey, what type of camera do you have?" Guess what? It's not the camera.

  3. Apache Web Serving with Jaguar, Part 3
    In the first part of this series, Kevin Hemenway showed you how to easily start serving web pages from your Mac OS X computer. In the second article, he explored the world of CGI access. Today, he moves forward with a look at PHP and simple access controls.

  4. How Java Web Servers Work
    At the heart, web servers are really very simple. If you can set up a socket connection and parse some headers, you're well on the way to writing your own mini web server. Though Apache and Tomcat are already stable, mature, and featureful, you may find yourself curious as to how they work--or interested in something a little smaller and easier to embed. In this article, Budi Kurniawan demonstrates a basic Java web server.

  5. Secure Programming Techniques
    In this first installment in a multipart series of excerpts from Practical Unix & Internet Security, 3rd Edition, you'll find tips and general design principles to code by that will help you avoid security-related bugs. And check back to this space over the next few week for additional tips, all selected from Chapter 16 on "Secure Programming Techniques."


Return to list of Network Newsletters.

Return to the O'Reilly Network.