Zombie Zen

Roxy's Blog

How I packaged a Go program for Windows and Linux

Posted at by Roxy Light
Icon by Philipp Petzka, used under a Creative Commons license.

Icon by Philipp Petzka, used under a Creative Commons license.

In the two months since I published gg 1.0, a project to reduce the friction in working with Git, I’ve been working to make it more accessible and easier to install. To this end, I’ve made three big improvements:

  • A standalone Go library, gg-scm.io/pkg/git, allows any Go program to interact with Git repositories. (I may end up writing another blog post just about this — stay tuned!)
  • Windows support, complete with MSI installer.
  • An APT repository for Debian and Ubuntu users.

If you’re interested in trying out gg, it’s never been easier: see the instructions at gg-scm.io. Read on if you’re interested in how to package a Go program for Windows and Linux.

Read more…
Posted at
Permalink

Introducing postgrestest

Posted at by Roxy Light

Today, I released a small library called postgrestest. It spins up an ephemeral PostgreSQL database in Go. I’ve found it quite useful for writing tests that use PostgreSQL while keeping the test hermetic and reasonably fast. In my benchmarks, starting a server takes roughly 650 milliseconds and creating a database takes roughly 20 milliseconds — a 70% improvement and 90% improvement, respectively, over a postgres Docker container in the default configuration.

You can install it with:

go get zombiezen.com/go/postgrestest
Read more…
Posted at
Permalink

gg 1.0 released!

Posted at by Roxy Light
gg

I’m proud to announce the first stable release of gg, my alternative Git command-line interface! This has been a release over two years in the making: I’ve battle-tested gg across many different workflows and projects. It’s saved me tons of time every day, and I hope it can save time for others too. Download the latest release and try it out for yourself!

Read more…
Posted at
Permalink

Building at YourBase

Posted at by Roxy Light
YourBase logo

I’m excited to announce that I am joining the engineering team at YourBase! YourBase’s flagship product is a build system that greatly improves the speed of software development with very little configuration. It brings me back to what I’m passionate about: improving how people work by making software simpler. It’s still early days, but I’m excited by the enthusiasm and the respectful, remote-first culture I’ve found at YourBase. I can’t wait to see what we build together!

Posted at
Permalink

Apollo Client Caching

Posted at by Roxy Light

Since I’ve started working at Clutter, I’ve grown to enjoy the Apollo React Client library. However, I’ve noticed that the client’s caching behavior can be difficult to understand and cause surprising issues, so I’ve decided to collect my findings into one easily digestible post. This post assumes a basic understanding of GraphQL.

The major hidden component of Apollo Client is the cache, which sits between every query and the backend server.

The major hidden component of Apollo Client is the cache, which sits between every query and the backend server.

Read more…
Posted at
Permalink
← Previous Page Next Page →