Electronic Archaeology
by Derrick StoryNetwork 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
Building Embedded Linux Systems
Oracle Data Dictionary Pocket Reference
The Complete FreeBSD, 4th Edition
O'Reilly Network Top Five Articles Last Week
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.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.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.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.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.



