S.Lott -- Software Architect
  • Other Articles
  • Publications
  • S.Lott Biography

Rewrites are NOT hazardous

Date Tue 06 February 2024 Tags test-driven reverse engineering / refactoring / legacy-code / estimating

First, read this: Hazards And Safeguards for Software Rewrites. This is an infuriating article. The first part is nonsense. I wonder if it's intended to be read ironically? Maybe it's a list of bad ideas? Skip straight to the Safeguards for Rewrites section. It's really good.

Also, this Characterization Testing …

more ...

Code Rewrites and How They Create Value -- Stop Fighting Against It

Date Tue 09 January 2018 Tags test-driven reverse engineering

TL;DR -- To remove doubts and questions, rewrite it.

Many, many people are confronted with the request to maintain someone else's code.

Either it's open source, and you have to make formal PR's visible to the world.

Or it's "enterprise" in-house software, and you have to make PR's visible to …

more ...

Explaining an Application

Date Fri 21 February 2014 Tags unit testing / test-driven reverse engineering / legacy code

Some years ago--never mind how long precisely--having little or no money in my purse... I had a great chance to do some Test-Driven Reverse Engineering on a rather complex C program. I extracted test cases. I worked with the users to gather test cases. And I rewrote their legacy app …

more ...

Performance "Tuning": running in 1/100th the time

Date Thu 27 June 2013 Tags performance / algorithm / test-driven reverse engineering / complexity

For the 757 Python Meetup group, someone proposed looking at some Python code they had which was slow. The code implemented a variation on the Elo chess rating system. It applied the ratings to other sports, and used the points scored as well as basic win/lose/tie to work …

more ...

HamCalc and Quirks

Date Thu 13 June 2013 Tags HamCalc / preservation / GW-Basic / modernization / software process improvement / test-driven reverse engineering

Careful study of the HamCalc shows a number of quirks. Some are funny, some are just examples of the need for unit test frameworks. The Wikispaces for the modernization project is here: http://hamcalc.wikispaces.com/home

For example, the following line of code, in GW-Basic, will (usually) set Y …

more ...

HamCalc -- Preserving the Legacy

Date Sun 02 June 2013 Tags GW-Basic / test-driven reverse engineering / HamCalc

Wow. The response to modernizing HamCalc was overwhelming. Apparently there are a fair number of people who also think that HamCalc is a treasure to be preserved, improved and added-to. If you're interested, start here: http://hamcalc.wikispaces.com/home You can ask to be a member of this wiki …

more ...

Legacy Preservation and "Code Modernization"

Date Thu 30 May 2013 Tags preservation / test-driven reverse engineering / modernization
The correct marketing term is "Code Modernization".
There are a large number of companies in the Code Modernization business.
They appear to offer automated "modernization" of code.
I would suggest going slowly toward automated modernization. I'm not easily convinced that any automated tool can preserve what's meaningful and ignore the …
more ...

Legacy Code Preservation: Some Patterns

Date Tue 21 May 2013 Tags test-driven reverse engineering / HamCalc / knowledge capture

After looking at this suite of examples, we can see some patterns emerging. There seem to be several operating principles.

  1. The Data Matters. In many cases, the data is the only thing that actually matters. The legacy application knowledge may be obsolete, or so riddled with quirks as to be …
more ...

This Seems Irrational... But... HamCalc

Date Thu 11 April 2013 Tags #python / knowledge capture / HamCalc / GW-Basic / test-driven reverse engineering

Step 1. Look at the original HamCalc. Even if you aren't interested in Ham radio, it's an epic, evolving achievement in a specialized kind of engineering support. It's a repository of mountains of mathematical models, some published by the ARRL, others scattered around the internet.

Step 2. Look closely at …

more ...

COBOL Rework

Date Tue 05 June 2012 Tags test-driven reverse engineering / data conversion / COBOL

See this article: "The COBOL Brain Drain" in ComputerWorld. This article is very, very well written and repeats a number of common fallacies.

The fallacies lead to expensive, labor-intensive in-house software development and maintenance. Either there's a lot of effort poking at the COBOL code. Or there's a lot of …

more ...

  • «
  • 1
  • 2
  • 3
  • »
  • Social

    • Mastodon
    • Github
    • StackOverflow
    • LinkedIn
    • O'Reilly
    • Amazon
  • Categories

    • Architecture & Design
    • Books
    • FOSS
    • Management
    • News
    • Python
    • Technologies
  • Links

    • Pelican
    • Python.org
    • Jinja2
  • Archive

    • February 2024 (1)
    • January 2018 (1)
    • February 2014 (1)
    • June 2013 (3)
    • May 2013 (2)
    • April 2013 (1)
    • June 2012 (1)
    • February 2012 (1)
    • April 2011 (1)
    • February 2009 (1)
    • December 2008 (1)
    • August 2008 (3)
    • March 2008 (1)
    • January 2008 (1)
    • December 2007 (1)
    • November 2007 (1)
    • October 2007 (2)
    • September 2007 (1)

© 2024 S.Lott · Powered by pelican-bootstrap3, Pelican, Bootstrap

Back to top