###### Hazard

## Mental Math with Stack-Based Programming February 16, 2017

I’ve dabbled in mental math algorithms since I was a kid but never really got an intuitive feel for it. As I’ve done more programming, I’ve had a couple of insights that have helped me understand how to create and express mental math algorithms.... Read More## Signal Processing with Stateful Transducers January 17, 2017

I finally sat down a couple months ago to wrap my mind about transducers. Reading about transducers never gave me an intuitive feel for them, so this summer when I had a signal processing problem, it gave me a great opportunity to play with and really understand how to use and compose transducers.... Read More## Drawing the Solar System January 2, 2017

Several years ago I wanted to calculate the distance between Earth and Mars given an arbitrary future date. I wasn’t satisfied by the free solar system simulators I found, so I looked into calculating it myself. The write-ups I found usually offered long, non-intuitive expressions of four or five trig functions. I eventually discovered PyEphem would do what I wanted, but I never quite let go of being able to do the calculations myself; there had to be a more intuitive way to express the math. Turns out, there is.... Read More## Lindenmayer Fractals December 26, 2016

Season’s greetings! Today I’m playing with turtle graphics, Lindenmayer systems, and fractals.... Read More## Simulated Annealing December 15, 2016

After gradient descent was unsatisfactory for fitting a trend line, I turned to simulated annealing. Simulated annealing is a more sophisticated algorithm, but still relatively straight-forward. Compared to gradient descent, it’s much less intuitive. I’m indebted to Katrina Geltman for her excellent writeup and code examples.... Read More## Gradient Descent December 11, 2016

For a long time I’ve wanted to be able to calculate trend lines for data sets, so I was consistently disappointed in school when professors avoided the actual computations of good parameters and turned the work out to a software package. Recently I had some data needing a trend line, so I took a stab at fitting it myself.... Read More## Organizing Colors December 1, 2016

I worked as a software consultant for several years, and I implemented a variety of website designs. One of the more challenging ones was a very skeumorphic design that used lots of gradients and shadows to create visual depth. Between dozens of mockups and a couple different CSS coders (and possibly a bug in the Sketch eyedrop tool), the color palette eventually comprised about 60 different colors. Some were visually indistinguishable from others, so I went on a hunt for colors I could replace with equivalent shades. Needing a way to organize colors, I created Swatch.... Read More## Minimax November 21, 2016

Several months ago I skimmed through a borrowed copy of*Paradigms of Artificial Intelligence Programming*by Peter Norvig. It’s nearly 1,000 pages and far too useful to borrow, so I bought a copy of my own. I’ve been thinking about minimax on and off for a few weeks, and with Norvig’s help I finally sat down to implement it.... Read More

## Island Generator November 9, 2016

I love maps, so when I saw a procedurally generated island on Job’s screen, I naturally rolled up next to him to find out more. He showed me a couple example islands, and I grilled him on his algorithm so I could draw my own. Job’s technique doesn’t create any topography, only coastal outlines. Let’s start with a regular polygon.... Read More## To Hazard a Guess November 2, 2016

Several years ago I read the book*Little Bets*. In it, Peter Sims illustrated the value of low-risk, informative experiments in place of big, chancy gambles. I naturally gravitate toward massive, unfinishable projects, but

*Little Bets*turned my attention to the virtue of small endeavors. Small projects are not only finishable, but often more interesting; they elide the mundane details of more ambitious projects.... Read More