a programming blog

Study of Historical Code

I’ve started studying a larger historical code base. Within this post, I want to summarize the sort of historical questions we might ask and notes on how to approach them.


Reserve Studies - A Policy Analysis

Twelve states require community associations, such as homeowners associations or HOAs, to conduct periodic reserve studies. A reserve study is a financial planning tool for estimating an association’s ability to fund current and future planned maintenance costs for large projects, such as roofs, pools, and asphalt roads. An underfunded reserve may lead to special assessments. Yet, due to restrictions on how reserve accounts can be used, an over funded account denies funds that may be better used by the community or the individual homeowners. In this post, I describe the reserve study methodology, its strengths and weaknesses, and my recommendations for improvements.


How User Groups Made Software Reuse a Reality

Before the widespread existence of software repositories like CPAN, NPM, and PyPI, developers seeking to reuse an existing algorithm or library of routines would either check books or journals for code, or, they just might post a classified ad:

Wanted: Fixed Point Sine/Cosine subroutine faster than 10 ms for PDP-14
Request posted in Decuscope 1965, Vol 4/Iss 2

User groups provided catalogues of software, from mathematical algorithms to system utilities to games and demos. Leveraging the user group’s periodicals, developers could post requests for specific examples of code. Or, more frequently, developers would review catalogs for existing solutions. They would contribute by sending their own creations to the group for others to use.

In this article, we will examine how these user groups coordinated development and shared code, how they promoted discoverability of software, and how they attempted to maintain a high bar of quality.


Method of Differences Add'l Applications

In my post on the Method of Differences, I focused on using the technique to generate mathematical tables. As some readers noted, there are additional and interesting modern applications of the technique. This post will discuss two of them: sequences to functions, a method of analyzing sequences, and strength reduction, a compiler optimization technique.


Page 1 of 11