Code
As an undergraduate at the University of Idaho , I participated in summer research project where I had to learn some Fortran and a few other things, like how to punch cards. In the succeeding years I would occasionally write a little program, usually for fun, but occasionally to compute some mathematical example. After I retired from my career as a mathematician, I tried my hand at a much bigger project that still occupies much of my time — the app scripta.io, a web-based editor and publishing platform for mathematics and math-heavy disciplines like physics. After several unsatisfying attempts to build Scripta with the usual languages, I discovered the world of typed functional programming, exemplified by the languages Elm, Haskell, and OCaml. Elm turned out to be the right choice for Scripta. As a functional language, it appealed to my mathematical and esthetic sensibilities. I fell in love with it, and have used it for many projects since then. I’ve listed a few of these below.
Scripta
Models
- Random Exchange Model, Code: small_economy This app uses Evan Czaplicki’s Elm Playground. The app simulates an economy whose rules seem to treat people fairly. However, an initial state in which players start with equal resources inevitably evolves to one of very high inequality.
- Schelling’s Segregation Model, Code Schelling’s segregation model (early 1970s) is a simple agent-based model showing how strong residential segregation can emerge even when i individuals have only mild, non-racist preferences about who lives nearby.
- Game of Life Conway’s classic “Game of Life” played on a 100x100 grid.
- Microbial Life, Code A simulation of an imaginary three-species bacterial world.
Physics Simulations
Just for fun - Fake Drum Language App