Geof Crowl

I’m a software designer currently living in Salt Lake City, Utah. I like to make nice apps and websites. Sometimes I share things of interest here. Subscribe to the RSS feed with my open source reader.
On The Web

Twitter, Strava, LinkedIn, Instagram, GitHub, email

Air Lookout, Simple Pacer, Super Simple RSS
Suggested Reading
Introducing Air Lookout 2
Collection of Human Interface and Software Design Guides
Air Lookout 1.4: All The Complications
Kawasaki KLR 650 Rebuild Compilation

Tuesday, March 10th 2020

Zip Files: History, Explanation and Implementation #

This article explains how the Zip file format and its compression scheme work in great detail: LZ77 compression, Huffman coding, Deflate and all. It tells some of the history, and provides a reasonably efficient example implementation written from scratch in C.

There are two main ingredients in Zip compression: Lempel-Ziv compression and Huffman coding.

This is a really intriguing article that goes into the history and implementation of the Zip file format. While the C gets a bit intense towards the end, the LZ77 and Huffman coding was incredibly interesting to me. The explanation was incredibly clear and really shows how smart of a solution LZ77 and Huffman coding is.

Thursday, March 5th 2020

The Verge On The Mac Pro (2019) #

The Verge:

Because ultimately, that’s the story with the Mac Pro: the hardware is way, way ahead of software support. When we ran benchmark tests that pushed the GPUs, they turned in solid numbers, but so few apps were optimized to use Apple’s Metal graphics system that we basically never saw that performance in action during our day-to-day work.

The Verge: Six professionals review the Mac Pro (YouTube)

Hardware has continued to advance forward in unbelievable ways. However, at least when considering consumers, software has lagged behind and often struggles to take advantage of today's hardware (let alone tomorrow's).

I can't help but imagine this is related to the expectation that most software should be free and the race to the bottom regarding software prices.

Monday, Feb. 17th 2020

Collection of Human Interface and Software Design Guides #

After posting about the OpenStep User Interface Guide, I started to wonder how many different human interface guides or software design guides that I could find from the past and present. It doesn’t seem like there’s a good collection of these anywhere on the internet, especially in regard to past software design guides. I think there’s a lot of value in these even outside of just being a historic reference.

If you have a link or PDF of human interface or software design guidelines to past or present software that you think I should include, please contact me: @rectangular.



Elementary OS

Gnome Desktop Environment







Gnome Desktop Environment





Silicon Graphics, Inc.

Sun Microsystems


1 This is before IBM OS/2. I assume it’s referencing DOS based applications.

Thursday, Feb. 13th 2020

OpenStep User Interface Guidelines #

While looking at Nextspace, a desktop environment that brings a NeXTSTEP look and feel to Linux, I saw a link to the OpenStep Interface Guidelines PDF.

I am weirdly nostalgic for this era of computing and the interface advancements made during this time. There were some incredibly smart people figuring out a lot of the paradigms that we are familiar with (that we can't seem to replicate today).

Thursday, Feb. 13th 2020

The Length of Time: Inside the Tour Divide #

This approximately hour long documentary follows Josh Ibbett tackle the brutally long Tour Divide race in 2019. While the film is short on narration, you can definitely see the miles stack up in Josh’s eyes (and on his bike). I’d recommend saving to watch this on a TV.

I’m certainly dreaming of summer riding weather now.

Also recommended: I Just Want To Ride—Lael Wilcox and the 2019 Tour Divide

older home newer