Geof Crowl

About
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

Projects
Air Lookout, Simple Pacer, Super Simple RSS
Suggested Reading
Salt Lake City Canyon Info For Bikes
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

The Story Of The 3DFX Voodoo 1 #

3DFX Voodoo 1

Fabien Sanglard: The Story of the 3DFX Voodoo 1:

Ross Smith, Scott Sellers, and Gary Tarolli originally met while working at SGI[4]. After a short stint at Pellucid where they tried to sell IrisVision boards for PC (at 1994 $4,000/piece), they started their own company with backing from Gordie Campbell's TechFarm. Headquartered in San Jose, California, 3dfx Interactive was founded in 1994.

It still boggles my mind how someone could start a company building such complicated circuitry. I also didn't realize the connection between SGI and 3DFX.

First of all, 3dfx had made the audacious choice to not support 2D rendering. The Voodoo1 had two VGA ports, one acting as output and the other as input. The card was designed as an add-on which took as input the output of the 2D VGA card already installed in a PC. When the user was running the operating system (DOS or Windows), the Voodoo1 was just a pass-through which did nothing but to relay the signal from its VGA input to its VGA output. When entering 3D mode, the Voodoo1 took over the VGA output port and discarded the signal on its VGA input. Some boards had a mechanical switch which would generate an audible "click" when switching between 2D and 3D mode. This choice also meant the card could only do fullscreen rendition, there was no "windowed" mode.

This is one of the craziest things that I still remember about the Voodoo 1: it was 3d only. You still had to use your computers PCI video card for the OS and non-3d games.

The second remarkable aspect of the SST1 is that it was made of not one CPU but two non-programmable ASICs (Application-Specific Integrated Circuit).

Whoa.

There's a lot of great history and information in this post (and a ton of other great posts as well). I had a Voodoo 3 that I remember fondly. I also remember shortly thereafter lusting over the Voodoo 5 that was supposed to obliterate the Nvidia GeForce (which was getting all the rave reviews in the gaming magazines of the time). It's neat to look back at this nostalgic time with more understanding of how OpenGL and shaders work.

It's also worth noting that prices on eBay for anything 3DFX related are increasing rapidly.

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.

Current

Apple

Elementary OS

Gnome Desktop Environment

Haiku

KDE

Microsoft

Other

Archival

Apple

Gnome Desktop Environment

IBM

Microsoft

NeXT

OpenStep

Silicon Graphics, Inc.

Sun Microsystems

Xerox

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).

older home newer