Blog posts

Healthy breathing with a smart bulb

Inhale 5 seconds, exhale 5 seconds. Research repeatedly demonstrates that this breathing pattern reduces anxiety, stress, high blood pressure, and insomnia, both during sessions and durably for months afterward. In this article I summarize research into breathing, and create an open-source tool that uses a smart bulb as a peripheral-vision breathing guide.

Using a native cryptography library in Flutter

Flutter is a Google UI toolkit for writing cross-platform mobile applications. Using native code from Flutter is now easier than ever by using the dart:ffi library that is currently in beta. In this article we demonstrate why you’d want to use native code, and a practical example of doing so using the libsodium cryptography library.

[DRAFT] Random Permutations With Constant Space

You want to iterate over a random ordering of items without storing or needing to lookup already-used items. We can borrow an algorithm from cryptography called the Feistel Network to generate random permutations in constant space and time. Applications include generating unique gift card codes or credit card numbers for your customers without exposing already-generated codes/numbers, and efficiently implementing the fizzlefade effect from Wolfenstein 3D.