Hi. I'm Luke.

Email - GitHub - About Me - Twitter - PGP

I'm a co-founder at Nebulous, writing software to re-decentralize the Internet.
I studied Computer & Systems Engineering at RPI for 3 years before my long-time
friend David and I were bitten by the startup bug. I've previously worked in a
cube at Akamai and Kronos, but I don't think I'm going back to that way of life
anytime soon. Aside from programming, I like ambient music, 4chan, and eggnog.

My main focus right now is Sia, a distributed cloud storage platform. I mostly
work on the backend, siad, but have contributed to the frontend, Sia-UI, as
well. I also wrote an app for the Ledger Nano S hardware wallet, and currently
I'm exploring new ways to interact with the Sia network in a personal project
called us. So far, this project has produced:

- user: A CLI renter app
- shard: A host announcement relay service
- walrus: A watch-only wallet server
- muse: A contract server

I have also written a series of blog posts about this work:

- How to Use Sia Irresponsibly
- How to Use Sia Responsibly
- Files as Capabilities in us
- Talking to Sia Hosts from...Ruby??
- A Lightweight Wallet for Sia
- You Could Have Invented Skynet

I primarily program in Go, which I have used to write a number of libraries
and tools. Here are some that I'm especially proud of:

- jsteg: A tool for hiding data in JPEGs
- frand: A fast-key-erasure CSPRNG in userspace
- flagg: Barebones subcommand handling
- uint128: A high-performance uint128 package
- blake3: An implementation of the BLAKE-3 hash function
- adiantum: An implementation of the Adiantum cipher construction
- randmap: Efficient random map access and iteration (blog post)
- ply: A compile-to-Go language supporting generic container operations
- geiger: Play a clicking noise whenever you allocate
- intersort: Sort anything
- freeze: Make any Go object immutable via mprotect

Here are my solutions to the Advent of Code.

Lastly, some miscellaneous blog posts:

- Hacking a ProgComp with Side Channels
- How to Access a Running Binary on Linux
- What is a Monad?