Articles with mathematical content

Set Theory and Metamathematics

Computer Science and Software Engineering

Source Code

The San programming language

The San Language Project

I was born a mathematician; under different circumstances I might well have been a professor of Mathematics producing abstruse papers for the seven other people interested in my particular subject. For one reason or another I drifted into computer programming, first as a numerical analyst and then as a software tools entrepeneur. Not only that I have been an avid science fiction reader and, for many years, was an active science fiction fan. If that doesn’t make me a nerd, I don’t know what does.

Here is a collection of miscellaneous humor and essays about mathematicians and logicians.

- A collection of nerdish humor
- Mathegenesis – The history of set theory in biblical style
- A collection of humor with a logical twist
- A collection of jokes about mathematicians
- The Mathematician’s version of the Purity Test
- On not being an Idiot Savant
- Von Neumann and Norbert Weiner
- No windows In Amsterdam
- The Story of Mel
- Man vs Machine
- New Frontiers In Science, Chapter XVIII
- Haiku error messages
- Oneupmanship, Nerd Style
- Announcing the DPD-11
- Mathematics in Louisiana
- The sum of all numbers is one
- Obsequious programs
- What is a hacker
- The Evolution of Teaching Mathematics
- Tech Support Horror Stories
- My Revolutionary New Prime Discriminator (Marshall)
- Letters from computer camp
- A note on the compression of files
- The Sickness Unto Death
- Observations on operator overloading

From time to time I transcribe serious articles with mathematical content onto the web. Here they are:

- Escape velocities from the Moon
- Energy requirements for an interstellar probe
- The minimum on a sliding window algorithm
- The minimal longest ascending subsequence algorithm
- Algorithms – exchanging segments in an array
- Converting permutations to indices and vice versa
- Optimizing the merging of sorted arrays
- Inefficient sort algorithms
- Getting the minimum of a dynamic set
- Fast sorting of almost sorted arrays – I
- Array rotation revisited
- Mathematics and Tautologies
- An odd perfect number
- Are two vertices connected in a graph
- Choosing k random lines from a file
- Address Calculation Functions
- Dominance Tree Sorts
- Dynamic hash tables
- Tracking the median on a sliding window
- An implementation of the dominance tree sort
- Histogram sort for integers (fast)
- A little math problem
- A little math problem – answer
- A brief note on the hailstone conjecture

- Random vector with constraints

- Pollard’s rho algorithm

- A (possibly) fast, novel search technique

- Set theories with a true universal class
- A permutation metatheorem
- A limitation in the construction of zigzag theories

In addition there are articles that are more strictly computer science related. These include:

- Indentation as a block delimiter
- Thoughts on Update as a Software Maintenance Tool
- Programming Resources
- Divide by 100 without using a divide instruction
- Programming in the large
- Content Change Management
- A strategy for developing programs
- A note on optimizing code
- Writing Portable Code in C
- The TECO command set
- Computer History and Such
- What is a closure?
- Theory of Design of Telephone Chains
- Where is the algorithm?
- Finding breaks in contiguity

- McCarthy’s Algorithm

- Perceived merits of Fortran

- Unordered Radix Trees

- Designing a file read utility – a perspective

- Getfline specification (original version)

- Getfline specification (revised version)

- Where do two linked lists merge
- Increment/decrement operators in C
- Common myths about goto’s
- Handling storage allocation failure in C
- Production quality software
- Computer Science Education
- Computer Science and Programming
- Heap structured search trees

- Arrays with gaps

- Checking arguments in C functions

- Merge sort variations

- Function pointers vs switch cases

- Robust Handles

- Computing Fibonacci numbers the hard way

- Optimizing the merging of sorted arrays

- Data Flow languages and programming – Part I

- Storage management techniques in C

- Symbolic constants in register references

- Defining the storage heap

- A question of names

- Flow based naive recursive fibonacci function

- Comments on Flow based programming – I

- Trigraphs – yecch

The master page for source code lists source code that I have made available for general usage. All code is released under a modified BSD license. Check out the master page for descriptions and locations of available software. The material is divided into three categories, (a) directories containing stand alone packages, articles that include illustrative code, and a collection of utilities.

One of my ongoing projects is the development of a new scripting language (the world doesn’t have nearly enough) that can be thought of as a successor to Lakota, a language I previously developed. The following articles are working documents that advanced various thoughts about the language as my thinking matured. The name, San, was suggested by Suford Lewis, for whom many thanks.

- Thoughts on (yet another ) scripting language
- Yet Another scripting language – parts 2 and 3
- Yet Another Scripting Language – Part 4
- Yet another scripting language – parts 5, 6, and 7
- San sample code – a quining program
- San code – the eight queens problem
- San code – the secant root finder
- San sequents – specifications
- Assignments in San
- A producer/consumer model in San
- RFCAS – The San Data Flow and Messaging Engine
- The Third Way
- Sequents and lazy lists

- The San Programming Language Project

- The San Programming Language Specification

- San specification revisions – March 1, 2007

- A command line processing package

- San specification revisions – October 1, 2008

- The San threading engine

- San threading engine implementation notes (obsolete)

- San threading engine implementation notes

- June 20 2009: san_engine revisions

- July 25 2009: san_engine revisions

- August 31 2009: san_engine revisions

- November 28 2009: san_engine revisions

- February 28 2010: dfe_engine revisions

- July 2, 2010: dfe_engine revisions

- November 21, 2010: dfe_engine revisions

- Notes on data flow engine design

*
This page last updated March 3, 2010.
*