Luc Perkins

Head of Technical Communications, Determinate Systems

Portland, OR

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

Books

Misc projects

ProjectDescriptionGitHub ⭐️s
The Nix Way⁠Learning resources for Nix⁠
rek⁠An easy HTTP client for Go inspired by Requests.383
Purple⁠ πŸ’œAn all-in-one data service for microservices, FaaS functions, and more105
Tract⁠A Hugo theme for ambitious documentation projects123
Colossus⁠An 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 πŸ€·πŸΌβ€β™‚οΈ1045
Prometheus Playground⁠Turnkey sandbox projects demonstrating a wide variety of Prometheus⁠ use cases174

Talks

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

Blog posts

PostBlog
Nix and Determinate are a better foundation for keeping your systems secure⁠Determinate Systems blog⁠
OpenTelemetry tracing for Determinate Nix⁠Determinate Systems blog⁠
A window into our security processes: introducing the Determinate Secure Packages CVE Remediation Dashboard⁠Determinate Systems blog⁠
The EU Cyber Resilience Act is coming, and Determinate is the missing link in your supply chain⁠Determinate Systems blog⁠
An interface change for flake schemas⁠Determinate Systems blog⁠
Announcing Determinate Secure Packages 26.05⁠Determinate Systems blog⁠
Finally, a secure Nixpkgs for the enterprise: an update on Determinate Secure Packages⁠Determinate Systems blog⁠
Nix is set to revolutionize the software supply chain⁠Determinate Systems blog⁠
Sentry crash reports for Determinate Nix⁠Determinate Systems blog⁠
Announcing Determinate Secure Packages 25.11⁠Determinate Systems blog⁠
Extensible flake outputs with flake schemas⁠Determinate Systems blog⁠
Introducing Determinate Secure Packages⁠Determinate Systems blog⁠
Determinate Nix: the recent past and the shining future⁠Determinate Systems blog⁠
FlakeHub now supports Semaphore CI⁠Determinate Systems blog⁠
Bringing back the Magic Nix Cache Action⁠Determinate Systems blog⁠
Determinate Nix Action⁠Determinate Systems blog⁠
Best practices for Nix at work⁠Determinate Systems blog⁠
Fetch artifacts directly from FlakeHub Cache using fh fetch⁠Determinate Systems blog⁠
Introducing Determinate AMIs for NixOS⁠Determinate Systems blog⁠
Determinate is now compatible with nix-darwin⁠Determinate Systems blog⁠
Improved evaluation times with pre-resolved Nix store paths⁠Determinate Systems blog⁠
Nix as a WebAssembly build tool⁠Determinate Systems blog⁠
Introducing FlakeHub Cache⁠Determinate Systems blog⁠
Creating and modifying flakes using the FlakeHub CLI⁠Determinate Systems blog⁠
fh: the CLI for FlakeHub⁠Determinate Systems blog⁠
Introducing the Nix Flake Checker⁠Determinate Systems blog⁠
Packaging Open Policy Agent policies with Nix⁠Determinate Systems blog⁠
Nuenv: an experimental Nushell environment for Nix⁠Determinate Systems blog⁠
Moving stuff around with Nix⁠Determinate Systems blog⁠
Introducing Zero to Nix⁠Determinate Systems blog⁠
Deploying Nix-built containers to Kubernetes⁠Determinate Systems blog⁠
Streamline your GitHub Actions dependencies using Nix⁠Determinate Systems blog⁠
Using Nix to run software with no installation steps⁠Determinate Systems blog⁠
An invitation to Rust maintainers⁠Determinate Systems blog⁠
Effortless dev environments with Nix and direnv⁠Determinate Systems blog⁠
Building a highly optimized home environment with Nix⁠Determinate Systems blog⁠
Ephemeral macOS builds with Buildkite, Nix, and Tailscale⁠Buildkite blog⁠
Remote plugin execution with the Buf Schema Registry⁠Buf blog⁠
The Buf CLI has reached version v1.0⁠Buf blog⁠
Introducing the Buf Schema Registry⁠Buf 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 CNCF⁠CNCF blog⁠
Linkerd 2019 year in review⁠CNCF blog⁠
Policy-driven continuous integration with Open Policy Agent⁠Open Policy Agent blog⁠
Envoy and gRPC-Web: a fresh new alternative to REST⁠Envoy 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-Service⁠CNCF blog⁠
gRPC-Web is going GA⁠CNCF blog⁠
Using Apache Pulsar as a message queue⁠Streamlio blog⁠
The extensibility of OpenMessaging benchmarks⁠ (co-authored with Matteo Merli)Streamlio blog⁠
Why you should adopt a multi-tenant solution for real-time applications⁠Streamlio blog⁠
Why choose a unified real-time platform?⁠Streamlio blog⁠
It’s all about the topology: what FaaS can learn from stream processing⁠Personal blog⁠
Ever higher in the stack: the app native paradigm and the future direction of OSS projects⁠Personal blog⁠
The state of Docker container documentation: some workarounds and a vision for a possible future⁠Personal blog⁠
How to write scintillating technical blog posts⁠Personal blog⁠
Riak Security 2.0: Not Just a Firewall Anymore⁠Basho blog⁠
How to Build a Client Library for Riak 2.0⁠Basho blog⁠
Sadly this list is non-comprehensive, as many past blog posts are on blogs that no longer exist πŸ€·πŸΌβ€β™‚οΈ

Programming languages

LanguageProjects
Go⁠Purple⁠ πŸ’œ, ezpubsub⁠, Party⁠, ezk8sclient⁠, rek⁠
Java⁠Pulsar⁠, Heron⁠
Elixir⁠Schole⁠

Websites

Dissertation

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

Languages

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