Luc Perkins

Developer advocate, Cloud Native Computing Foundation (CNCF)

Portland, OR

Welcome to my home page! Just some basic info about me and some of my projects and interests. Oh, and my blog.


Misc projects

ProjectDescriptionGitHub ⭐️s
The Nix WayLearning resources for Nix
JellyA next-generation tool for building technical documentation sites, written in Rust (WIP)
rekAn easy HTTP client for Go inspired by Requests.382
Purple πŸ’œAn all-in-one data service for microservices, FaaS functions, and more104
TractA Hugo theme for ambitious documentation projects125
ColossusAn example microservice architecture for Kubernetes using Bazel, Go, Java, Docker, Kubernetes, Minikube, Gazelle, gRPC, Prometheus, Grafana, and more. Kind of a silly project but it was fun so πŸ€·πŸΌβ€β™‚οΈ991
Prometheus PlaygroundTurnkey sandbox projects demonstrating a wide variety of Prometheus use cases130


Nuenv: an experimental derivation builder for NixSeptember 2023NixCon 2023
Revolutionizing my daily development with NixOctober 2022NixCon 2022
Real World DevOps with NixSeptember 2022Summer of Nix 2022
Model-view-docs: taming large-scale documentation projects using structured dataAugust 2020Write the Docs 2020
The Cloud Native paradigm: 2019 and beyondAugust 2019Cloud Native Day Montreal 2019
DataStax presents: Prometheus and CassandraNovember 2018
Funding for open source projects: is a universal basic income the solution?September 2015Open Source Bridge
Pandoc deep diveJune 2013PDX Func meetup

Blog posts

Ephemeral macOS builds with Buildkite, Nix, and TailscaleBuildkite blog
Introducing Zero to NixDeterminate Systems blog
Deploying Nix-built containers to KubernetesDeterminate Systems blog
Streamline your GitHub Actions dependencies using NixDeterminate Systems blog
Using Nix to run software with no installation stepsDeterminate Systems blog
An invitation to Rust maintainersDeterminate Systems blog
Effortless dev environments with Nix and direnvDeterminate Systems blog
Building a highly optimized home environment with NixDeterminate Systems blog
Remote plugin execution with the Buf Schema RegistryBuf blog
The Buf CLI has reached version v1.0Buf blog
Introducing the Buf Schema RegistryBuf blog
The easiest way to create your own Nix channelPersonal blog
From Homebrew to Home ManagerPersonal blog
Service Mesh Use CasesPersonal blog
Recent database technology that should be on your radar (part 1)Personal blog
Rust at CNCFCNCF blog
Linkerd 2019 year in reviewCNCF blog
Policy-driven continuous integration with Open Policy AgentOpen Policy Agent blog
Envoy and gRPC-Web: a fresh new alternative to RESTEnvoy blog
Production-Ready Kubernetes Cluster Creation with kubeadm (co-authored with Lucas KΓ€ldstrΓΆm)Kubernetes blog
Cortex: a multi-tenant, horizontally scalable Prometheus-as-a-ServiceCNCF blog
gRPC-Web is going GACNCF blog
Using Apache Pulsar as a message queueStreamlio blog
The extensibility of OpenMessaging benchmarks (co-authored with Matteo Merli)Streamlio blog
Why you should adopt a multi-tenant solution for real-time applicationsStreamlio blog
Why choose a unified real-time platform?Streamlio blog
It’s all about the topology: what FaaS can learn from stream processingPersonal blog
Ever higher in the stack: the app native paradigm and the future direction of OSS projectsPersonal blog
The state of Docker container documentation: some workarounds and a vision for a possible futurePersonal blog
How to write scintillating technical blog postsPersonal blog
Riak Security 2.0: Not Just a Firewall AnymoreBasho blog
How to Build a Client Library for Riak 2.0Basho blog
Sadly this list is non-comprehensive, as many past blog posts are on blogs that no longer exist πŸ€·πŸΌβ€β™‚οΈ

Programming languages

GoPurple πŸ’œ, ezpubsub, Party, ezk8sclient, rek
JavaPulsar, Heron



Practical Reason Unbound: Politics and Human Agency in a Promethean Key


English πŸ‡ΊπŸ‡ΈπŸ‡¬πŸ‡§πŸ’ͺ Native
German πŸ‡©πŸ‡ͺπŸ‡¦πŸ‡ΉπŸ‡¨πŸ‡­πŸ’ͺ Verhandlungssicher in Wort und Schrift
French πŸ‡«πŸ‡·πŸ†— Strong reading knowledge