2018 March

03-12 Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js

Time in milliseconds; lower is better. SSR = Server-side rendered, CSR = Client-side rendered. Render time measured in CSR mode, rehydration time measured in SSR mode. Both flavors performed very well.

03-12 Synchronization queues in Golang

Let’s suppose we’re running an IT company employing programmers and testers. To give people a chance to get to know each other and relax a bit we’ve bought a ping-pong table and established following rules: So first either tester or programmer approaches the table.

03-12 API versioning and evolution with proxies

The technological choices made at the beginning of a project or a company can very likely end up proving to be either inadequate or outright wrong a few years down the road.

03-11 The Fall of the House of Node

TJ Holowaychuk, a long-time Nodist (from a Nodist colony?) who has contributed much to Node, finally abandoned Node in favour of Go. TJ writes:

03-08 What I learnt from building 3 high traffic web applications on an embedded key value store.

In 2015, I stumbled on the golang BoltDB database library, and first used to save state in basic server-side applications. Then I stumbled on blevesearch, and it dawned on me. The most basic thing most databases offer is storage, and flexible search over stored data.

03-05 Conjur

Conjur is an open source security service that integrates with popular tools to secure secrets, provide machine identity based authorization, and more. Running your own Conjur server gives you total control over the software.

03-05 DevSecOps Is an Abomination!

Dr. Frankenstein's monster is one of the most hated and misunderstood monsters of all time. Frankenstein brought his creation into the world without proper forethought or planning. He simply stitched various body parts together to form an uncontrollable abomination.

2018 February

02-21 Caddy 0.10.11 Released with Distributed Auto-HTTPS and Service Discovery

Nearly five months after the last release, we're happy to announce that Caddy 0.10.11 is now available! This release brings service discovery for reverse proxying, reusable snippets to the Caddyfile, support for automatic HTTPS in a cluster, improved TLS management at scale, and much more.

02-20 research!rsc : A Tour of Versioned Go (vgo) (Go & Versioning, Part 2)

For me, design means building, tearing down, and building again, over and over. To write the new versioning proposal, I built an prototype, vgo, to work through many subtle details. This post shows what it's like to use vgo. You can download and try vgo today by running go get golang.org/x/vgo.

02-20 Thoughts on vgo and dep · sdboyer.io

It’s an odd day for me, today. Russ and i have been meeting weekly since December, discussing what has evolved into the vgo prototype that he’s announced publicly today. There’s a lot to be excited about there:

02-20 Access private Github repos in docker build

Managing build time secrets can be a huge pain with docker. If you’ve built a docker image with private repositories, you might benefit from reading this. There are multiple solutions floating around the internet for this problem. We’ll start with the obviously bad ones and work our way up.

02-13 Advantages of monolithic version control

Someone: Did you hear that Facebook/Google uses a giant monorepo? WTF! Me: Yeah! It’s really convenient, don’t you think? Someone: That’s THE MOST RIDICULOUS THING I’ve ever heard.

02-12 React Drupal

API-first, or “decoupled”, architecture is quickly becoming the most popular way to create world class digital experiences. The pattern gives developers the flexibility to rapidly innovate, while ensuring future-proof builds that don’t require re-creating the entire CMS for new features.

02-06 Developer Productivity and Code Review

Most software projects involving more than a few contributors end up with some process for having more than one person look at a piece of code before it gets shipped.

02-06 Automatic visual diffing with Puppeteer

So testing, right? We should do it. The thing is, testing is hard, and good testing is reaaaaaaally hard, and tbh I’m pretty bad at testing. So I end up not testing my apps, and then I feel guilty about it, but I’ll stop you now: you can’t run guilt on Travis.

02-05 Scaling Kubernetes to 2,500 Nodes

We've been running Kubernetes for deep learning research for over two years. While our largest-scale workloads manage bare cloud VMs directly, Kubernetes provides a fast iteration cycle, reasonable scalability, and a lack of boilerplate which makes it ideal for most of our experiments.

02-05 DevSecOps Toolchain

02-02 Redux modules and code-splitting

Twitter Lite uses Redux for state management and relies on code-splitting. However, Redux’s default API is not designed for applications that are incrementally-loaded during a user session. This post describes how I added support for incrementally loading the Redux modules in Twitter Lite.

02-02 Infection — Mutation Testing Framework

We all know that unit tests help us to be sure that code works as we expected. And one of the metrics we can use with unit tests is a Code Coverage.

02-02 Nobody puts Java in a container

What are the pitfalls about running Java or JVM based applications in containers? In this article, Jörg Schad goes over the challenges and how to solve them. This post is adapted from a session presented at Codemotion 2017.

02-02 Hugo + PWA + Netlify = Huge performance wins

We’ve just launched a shiny new website for Hartwell Insurance – I’m really proud of it. It was tackled it in a different way to most previous Tomango site builds, using some fancy new tools and some vintage web standards.

02-01 Fuzzing Markdown parser written in Go

To make sure it’s robust (no crashes, no hangs) I decided to fuzz it. Parsing text or binary formats is notoriously tricky.

02-01 Kestrel vs Gin vs Iris on EC2 nano

I came across this blog post on ayende.com. Here Oren Eini tries to see how far he could push a simple ipify style of api on an EC2 by running a synthetic benchmark. He hosts the http server on a T2.nano instance and then uses wrk to benchmark it from a T2.small instance.

2018 January

01-31 Red Hat to Acquire CoreOS, Expanding its Kubernetes and Containers Leadership

01-31 The Git Rebase Introduction I Wish I'd Had

01-30 Learning to operate Kubernetes reliably

01-30 10 Lessons from 10 Years of AWS (part 1) – Hacker Noon

01-30 How to set up Kubernetes on Windows 10 with Docker for Windows and run ASP.NET Core - Scott Hanselman

01-29 Truly Immutable deployments with Docker or Kubernetes

01-29 Building healthier containers – kintoandar