Recent posts

ZLister Announcement

ZLister, a to-do list management application, is now available. ZLister allows you to create lists with entries and entries can be marked complete or incomplete (“to do”). ZLister’s user interface is designed for mobile devices, but may also be used on the desktop. ZLister does not store your data in the cloud and can run offline.

Read more

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.

Read more

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.

Read more

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.

Read more