Abstract header image

Gary Oberbrunner

Musings on technology, science, music, art, and life.

Hi! I'm Gary Oberbrunner; I'm an experienced tech executive and programmer. I've started a couple of companies, most recently Dark Star Systems where I made BioViz Studio, and I won an Emmy for Sapphire Plug-ins.

I like to build things. I'm interested in visual effects, image and video processing, and GPU computing. I sometimes write about climate change, Covid-19, tech, and physics. This is my personal blog with thoughts on various topics.

I also have some old photos here.

Recent Articles

Ancient lock mechanism with gears

On Entropy and Passphrases

Passphrases have been in the news again lately, because of a big data breach at Lastpass, which may have been more serious than Lastpass first revealed.

Rollercoaster photo by Ian Romie Ona on Unsplash

Looping in Javascript

Javascript and Typescript have way too many ways to iterate and loop over arrays, objects, and iterables. In this post I try to collect them and make some sense of them.

Welcome to my new blog!

I've been thinking about starting a simple blog to share my thoughts on whatever topics come to mind, and replacing my old website from the '90s. I'm a big fan of Vue and Nuxt 3 so it makes sense for me to use Nuxt for this.

Javascript Promises and Async/Await

I recently came to Javascript from too many years in a C/C++/Python world. Javascript is very familiar in many ways, and different in quite a few as well (see: all the ways to import/export in Javascript — not that Python’s module/import system is so great either.) As a systems-level programmer, I like to know how things work all the way down to the metal. It’s satisfying, but it also really helps with debugging.