February 14, 2024
In part 1 of this series, I detailed the motivations and background of the Hyperlight project. In doing so, I also mentioned some of the challenges we’ve set out to solve and, at a high level, how we'… Read moreJanuary 08, 2024
After I wrote those posts about C#-to-Rust and Rust-to-C# communication (part 1 and part 2), a lot of people reached out with questions about what Hyperlight is in the first place. There's not a lot o… Read moreNovember 16, 2023
Back in part 1, I talked about Hyperlight, its history, and some of the challenges involved with the project, including calling Rust from C#. At the very end of that post, I promised another talking a… Read moreNovember 09, 2023
I'm working on a project at Microsoft called Hyperlight. The project is all about making very small-footprint virtual machines that start up specific kinds of applications very quickly. At a very high… Read moreOctober 29, 2021
The KEDA HTTP Addon project contains three major components: the operator, scaler and interceptor. Of these, the interceptor is the only component that sits in the critical path of all incoming HTTP r… Read moreOctober 11, 2021
Hacking on the KEDA HTTP Addon, I found myself having to do something familiar: Split some work into N pieces, do them all concurrently, wait for them all to be done, and then merge all the results t… Read moreApril 07, 2021
Hi Gophers, it's your friendly co-chair of the GopherCon program committee! For the past two years, I've written about the GopherCon call for proposals (CFP) when it opened. Much like 2020, this year'… Read moreDecember 09, 2020
I recently wrote about a new project I'm starting in the Kubernetes world. Its overarching goal is to build an open source, app developer friendly system built on top of Kubernetes. Since then, there … Read moreNovember 23, 2020
When you search for "what is Kubernetes?", content abounds with technical details of the system. There's less about what Kubernetes is at a high level. Here's my attempt at that in two sente… Read moreNovember 18, 2020
After ~8 years of Go as the end-all-be-all of programming languages in my life, I started writing Rust code for a real project, not just as a hobby. The project, briefly put, is a Kubernetes system to… Read moreJune 30, 2020
I'm really interested in concurrency strategies in programming languages, and because there's a lot of written research out there on the topic, you can find lots of strategies out there. When you look… Read moreJune 16, 2020
I wrote a bit about PowerToys previously, but today we're gonna talk about my second-favorite feature: the keyboard manager. My first-favorite feature is Powertoys Run - the spotlight-like feature fo… Read moreMay 21, 2020
Dapr! No, not dapper, dapr. If you haven't read my past articles about dapr, that's ok. Let me try to boil this big project down to a sentence: 👋 Dapr is a process you run that does all the hard stuf… Read moreMay 20, 2020
If you were around way back in the Windows 95 days, you might remember the PowerToys from then. Years and years later, it's back in a similar form, but for Windows 10. I just got started with it and i… Read moreMay 07, 2020
Howdy all! It's been quite a while since I wrote about Athens on Azure Kubernetes Service. If you don't remember much about it, don't worry. I didn't either... it's been over 6 months! I jumped back i… Read moreMay 05, 2020
You haven't heard from me in a while about Athens. If you use Athens, you're probably all like 😒, but hopefully this post will help you be more like 😊. Plus, we're more than 4 months into the year and… Read moreMay 04, 2020
Welcome back to the dapr series! Last time, we talked about the challenges of getting software right. If you need a quick refresher: The easiest thing about software is writing it The next hardest th… Read moreApril 27, 2020
I once built a cheap tower with clearance parts from Micro Center. See if you can guess how long ago it was from the specs: CPU: Intel Pentium 3 RAM: 16GB Disk: 128mb I haven't done much DIY electro… Read moreApril 23, 2020
I see a lot of great career posts on how to get into programming, and some about how to get into senior engineer roles. I'm coming up on 15 years as a software engineer now and I've been thinking late… Read moreApril 21, 2020
This is the first post in a series about Dapr Software is very easy to write. For lots of us programmers, it's really exciting to create something new. Then it grows and changes over time. Like the … Read moreApril 17, 2020
If you've been following my Twitch you've probably seen that I'm doing "Crystal Fridays" live streams for the past few weeks. Catch me every Friday at 10am US Pacific time on Twitch What i… Read moreMarch 30, 2020
Welcome, Linux-on-Windows-er! I recently wrote about my experience with WSL 2 and Windows, coming from a Mac perspective. This is an unboxing post for how I went from vanilla Windows 10 to a full work… Read moreMarch 26, 2020
I've spent most of my life as a professional programmer using a potpurri of Apple laptops and desktops. The first machine I used to do paid development work with was a MacBook in 2004. I've cycled thr… Read moreMarch 19, 2020
Two days ago, I decided to start streaming. I had a lot of fun just talking through my dev setup and showing how to make a small contribution to Athens. It felt like doing a Go in 5 Minutes screencast… Read moreMarch 19, 2020
COVID-19 has really quickly turned our lives upside down, and we're truly living in unprecedented times. As tech folks, many of us are working from home now. From a WFH-er for over 5 years now, welcom… Read moreMarch 18, 2020
Recently, I got into a really interesting discussion on Twitter with @jongalloway, and it was just about 100% constructive and civil. On Twitter! It's all about whether or not to use Homebrew to set u… Read moreDecember 17, 2019
The GopherCon 2020 Call for Proposals is open right now, and it closes on January 10, 2020. I am a co-chair of the program committee this year and I want to encourage you to submit a proposal. Now tha… Read moreNovember 27, 2019
I've been working on Athens for well over a year now, and I've mentioned before that I have been running the athens.azurefd.net server on my own for almost all that time. The infrastructure that power… Read moreNovember 21, 2019
Building full stack web apps with Go, Vecty and WebAssembly Welcome folks! Today, we're going to talk about writing full stack web applications in a brand new way. I wrote this post a while ago and I… Read moreSeptember 12, 2019
Go 1.13 is a new beast. It's a patch release in semver terms, but there are some big changes going on here. Most of them are really good, but if you have private dependencies, your build is gonna brea… Read moreJune 27, 2019
Athenians! First of all, thanks to everyone who came to the first office hours. I think it was a success, and we're going to keep going. When Like last time, we're going to vote for the time that work… Read moreJune 25, 2019
Hey Gophers! If you don't know what Athens is, you should totally go check it out. The quick overview is that it's a proxy server for Go modules, and an interesting open source project with a communit… Read moreMarch 11, 2019
Back in 2017, I gave a talk at GopherCon about doing functional programming with Go. I went up on stage and talked about some FP basics like Functors, higher-order functions and so on. I heard some fe… Read moreJanuary 10, 2019
Hey Gophers! I want you to submit a proposal to talk at GopherCon 2019. ... and I want you to start now because the Call for Proposals is only open until January 31st! Submit a proposal, you say? Let'… Read moreDecember 20, 2018
As you might have read, Google recently announced some of their plans for Go modules in 2019. And because I'm obsessed with module proxies/registries/repositories (more on the naming of these things i… Read moreOctober 31, 2018
Pretend you're an OSS maintainer - how do you figure out if your project is doing well? Some ideas: Number of contributors Forks Stars PRs closed Average issues opened per day Twitter followers to yo… Read moreOctober 24, 2018
I've been a long time admirer-er of Zeit. Besides the technical part (which is really good), their platform gives people really easy, understandable and (most importantly) trustworthy tools to get a r… Read moreOctober 23, 2018
I started the Go Study Group and Athens both about 6 months ago. I did each for super different reasons, but I wanted both to have strong communities. The people are what keeps these communities alive… Read moreOctober 08, 2018
I had heard about acr build when it came out and didn't pay much attention to it. I was like "I don't wanna send my whole build context over the internet that's crazy." That was kinda a face… Read moreOctober 05, 2018
My history with programming languages and frameworks is approximately this: I started my career writing PHP 3 Then I wrote C/C++ (Boost forever!) Then I discovered Java, Scala, Objective-C, Perl, Pyt… Read more