2018 April

04-05 Lazy Loading Images and Video

The portion of images and video in the typical payload of a website can be significant. Unfortunately, project stakeholders may be unwilling to cut any media resources from their existing applications.

04-02 Kedge

Use pre-existing Kubernetes definitions such as Pod or Container within your YAML file. Reduce your file-size and definitions by using intuitive (and easy to use) Kedge shortcuts.

04-02 Introducing QALM, Uber’s QoS Load Management Framework

Much of Uber’s business involves connecting people with people, making the reliability of our customer platform crucial to our success. The customer platform supports everything from ridesharing and Uber Eats, to Uber Freight and Uber for Business.

04-02 Draft vs Gitkube vs Helm vs Ksonnet vs Metaparticle vs Skaffold

Want to know more? Read ahead. Kubernetes is super popular nowadays and people are looking for more ways and workflows to deploy applications to a Kubernetes cluster. kubectl itself has become like a low-level tool, with people looking for even easier workflows.

2018 March

03-29 How to Integrate RollingUpdate Strategy for TPR in Kubernetes

Rolling upgrades need to proceed in order and are the most demanding step of the process. One cannot continue a rolling upgrade until and unless previous updates to MySQL instances are running and ready. 4 Verify the cluster. 5. Enable client access to database proxies.

03-27 Testing in Production, the safe way

In this post, I hope to explore different forms of “testing in production”, when each form of testing is the most beneficial as well as how to test services in production in a safe way.

03-23 Secret management in multi-tenant environments

Knox, Pinterest’s open-source secret management service, now supports SPIFFE x509 identity documents as an authentication method. This update enables Knox to manage secrets in multi-tenant environments like Kubernetes.

03-23 LinkedIn Lite: A Lightweight Mobile Web Experience

India is a mobile-first country, with 71% of the population having only a mobile internet connection and accessing the internet only via mobile.

03-20 Git diff Minified JS and CSS

While working on a little PR for the Hugo doc site theme, I learned that if I needed to make changes to JS/CSS, I had to commit my changes in both unminified and minified versions. I have a habit to always look at the diffs at the time of staging and committing.

03-19 Browser testing with Chromedriver / Drupal 8.5.0

First, let me say thanks to mpdonadio for his tweet which helped me out of a composer ditch I couldn’t possibly get out of myself and to mixologic who provided some astonishing insight into this craziness. So I am testing the login flow for https://community.smartsheet.com .

03-17 Introducing Skaffold: Easy and repeatable Kubernetes development

As companies on-board to Kubernetes, one of their goals is to provide developers with an iteration and deployment experience that closely mirrors production.

03-14 Switching from PHP to Go : A Development Case Study

We recently upgraded from PHP to Go for our Face Recognition API architecture. In this article we share why we made the move, how it’s radically improved performance, and some lessons learned along the way.

03-14 Introducing Agones: Open-source, multiplayer, dedicated game-server hosting built on Kubernetes

In the world of distributed systems, hosting and scaling dedicated game servers for online, multiplayer games presents some unique challenges.

03-13 Announcing santiano.io V1.0.0

Its been some time since I presented santiano.io first beta version at last MeasureCamp Bruxelles in 2017. With great feedback there and some time to test santiano.io features with my customers, I am now so happy to tell you. Now santiano.io V1.0.0 is live !

03-13 ACME v2 and Wildcard Certificate Support is Live

We’re pleased to announce that ACMEv2 and wildcard certificate support is live! With today’s new features we’re continuing to break down barriers for HTTPS adoption across the Web by making it even easier for every website to get and manage certificates.

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.