Global creative platform for designers and clients
Technical articles and stack decisions from 99designs
Go Service Error Strategies
We investigated our existing error strategy and invented a model for how our errors within our Go Twirp services should operate. This post gives some context on Go errors and Twirp, details on some of the issues we faced, and lays out our strategy for error handling going forward.
Request smuggling between Amazon ALBs and Go net/http
Request smuggling is a type of cyber attack that takes advantage of the fact that different servers process web requests differently. We recently discovered a major request smuggling vulnerability between how AWS and Go handle extra spaces.
Introducing gqlgen: a GraphQL Server Generator for Go
gqlgen is the best way to build a GraphQL server in Go and possibly even any language. This article looks at why and how we developed it.
How to use math to draw better looking curves
Have you ever drawn a vector curve in Illustrator and it just looks wrong? This article explains Cubic Bézier curves and how a little bit of calculus can help designers (or engineers) make smoother curves.
AWS EC2 Container Registry and aws‑ecr‑gc
Using AWS ECR instead of Docker Hub for CI and deploys, with image garbage collection by aws-ecr-gc.
An engineering manager’s guide to rebranding
Most rebranding articles are all thought-process. Let us show you how you approach a complete web design overhaul from the technical side of things.
Real–world HTTP/2: 400gb of images per day
"Learn about how HTTP/2 performance on image heavy pages can have counterintuitive results.
Securing AWS Credentials on Engineer’s Machines
The on-demand nature of Amazon Web Services has changed how technology companies think about infrastructure. It lets early stage start-ups…
Book Club for Tech Leads
For the past 18 months at 99designs we’ve been running a book club for our tech leads. What started as…
Getting started with the ‘Add to Slack’ button
Slack has just released their new ‘Add to Slack’ button that’s designed to make it super easy to install add-ons…
Giving Our Beanstalkd Queue a Unix Interface with Go
“The workers are on fire again.”—Us, every day, before cmdstalk. beanstalkd, PHP workers, fires — 99designs pushes four million background…
Debugging Varnish
At 99designs we heavily (ab)use Varnish to make our app super fast, but also to do common, simple tasks without…