Zombie Zen

Roxy's Blog

Introducing: My GraphQL Go Server

Posted at by Roxy Light
GraphQL logo

I’m excited to share my hobby project from the last few months: a GraphQL server library for Go. While it doesn’t implement the whole spec and might not be ready for production, I think it’s in a useful enough state to share more broadly. I’ve tested this library out with some toy projects and the results have been promising: I’m able to quickly publish a Go struct as a GraphQL endpoint.

Check it out now by reading the docs and adding it to your project with:

go get zombiezen.com/go/graphql-server/graphql
Read more…
Posted at
Permalink

One Year of Getting Things Done

Posted at by Roxy Light

It’s been a little over a year since I wrote about using Getting Things Done (GTD) to organize my life. I wanted to circle back about what worked well and what I learned over that time.

Read more…
Posted at
Permalink

How Structure Affects Git's UX

Posted at by Roxy Light

It’s always interesting to me to compare different approaches to solving the same problem. Git and Mercurial are two version control systems that came out at similar times, trying to address very similar requirements. Git came from a very low-level systems perspective, whereas Mercurial spent a lot of effort on its user experience. Despite what you might think, their data models are remarkably similar. It’s from this observation I started my side project — gg. I found myself greatly missing the experience of Mercurial, but I’ve resigned myself to the fact that Git is here to stay.

I came across a rather interesting challenge today while working on gg. I am trying to replicate the behavior of hg pull, and even though I’ve worked on gg for over a year now, I still haven’t reached a behavior that I’m satisfied with. I’ve finally realized why, and it boils down to a very subtle difference in the data models of the two systems.

Read more…

Moving to Clutter

Posted at by Roxy Light
Clutter logo

July 19, 2019 will be my last day at Google. I will have worked at Google for 6 years, 3 months, and 11 days (even longer since I was an intern). After a few weeks hiatus, I will be joining Clutter to work on their storage and logistics services.

Read more…
Posted at
Permalink

The Design of Everyday Go APIs

Posted at by Roxy Light

Frequently when people discuss what is a “good” Go library, they usually use terms like “idiomatic” or “the Go way”. These terms are imprecise and make it difficult to discuss the merits of different API designs. I recently re-read Don Norman’s The Design of Everyday Things and realized that the same principles of design discussed in the book can be used to evaluate the design of APIs.

Read more…
← Previous Page Next Page →