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. My professional CV is here or LinkedIn.
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
Measuring Small Volumes for Humans
There are lots of reasons we need to measure and compare small volumes in everyday life: cooking, medicine, gardening, and more. In the US, teaspoon/tablespoon/cup/pint/quart is the standard method (as odd and historically-bound as it is), and most people have an intuitive understanding of what a tablespoon of something looks like. But what about smaller things? If a medication says to apply about 1ml, how much is that? I think the worst is to apply a cream or shampoo "about the size of a quarter" because it doesn't specify how thick it is -- especially since creams spread as they settle. Or if you're reading about Lyme disease, how big is a 2mm deer tick? I expect you can think of more examples like this.
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.
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.