Prevent Apple’s “double key press” on the butterfly keyboard with Unshaky

If you’re having this “double key press” issue, Unshaky is a software solution that will help you get by. Unshaky tries to address an issue on the butterfly keyboard (Macbook, Macbook Air 2018 & MacBook Pro 2016 and later): Double Key Press. Unshaky might save your keyboard by dismissing such “second key hits” (any key […]

Optimizing images for the web – an in-depth guide

It’s very easy for unoptimized images to end up on a production site and slow down its initial load considerably. Inexperienced devs usually aren’t aware of this potential problem. They also aren’t aware of a wide range of tools and approaches for optimizing images. This article aims to cover most of the tools and approaches […]

Urql – A highly customizable and versatile GraphQL client for React

From the folks at FormidableLabs: urql is a GraphQL client that exposes a set of React components and hooks. It’s built to be highly customisable and versatile so you can take it from getting started with your first GraphQL project all the way to building complex apps and experimenting with GraphQL clients. // App.js import […]

Endangered Species visualized in Pixels

Imgur user JJSmooth44 scraped The Animal Planet endangered animals list and generated photos of several animals where each “pixel” represents one actual animal running around. The more pixelated the image, the closer it is to extinction. There are about 2500 Bengal Tigers, so the picture above consists of 2500 “pixels”: The Amur Leopard is less […]

Automate your release process with 🛳 Ship.js

Interesting work by Algolia, to more easily release new versions of your packages: When releasing, you go through something like the following: Update the version in package.json Update the changelog Actually release it (e.g. yarn build && yarn publish) Create a git tag As such as manual process is prone to errors, they’ve developed 🛳 […]

ESNext: Immutable Datastructures in JavaScript with Records & Tuples

A new ECMAScript Proposal that I’m looking forward to is this one which introduces the Record and Tuple value types. In short: Records are immutable Objects that are compared by value. Tuples are immutable Arrays that are compared by value. The proposal is currently Stage-1. Stage-1? Stage-4? 💁‍♂️ The TC39 Committee, which is concerned with […]

How to start using your browser’s debugger

Solid introduction – with a real use case – on how to use the browsers’s built-in debugger: In this post, I will cover using breakpoints, stepping through your code, setting watch expressions, and applying your fixes in Chrome Developer Tools. How to stop using console.log() and start using your browser’s debugger → ☝️ Do not […]

Mercator – It’s a flat, flat world!

In the 16th century, Gerardus Mercator, a Flemish cartographer devised a new way of depicting the world on a flat plane. We set off to explore his map in order to illustrate his biggest blunders, unearth curious facts and explain the advantages that make this representation of the globe still relevant today. I especially like […]