TIP: Enable Two Factor Authentication (2FA) with your NPM account

Since early October it’s possible to enable Two Factor Authentication with your NPM account. 2FA is another layer of defense for your account, preventing third parties from altering your code even if they steal or guess your credentials. This is one of the easiest and most important ways to ensure that only you can access …

Strava Global Heatmap

Strava has released a Global Heatmap powered by Mapbox GL, plotting all locations where their users go run / go cycle / do water activities / do winter activities. The raw input activity streams data comes from a Spark/S3/Parquet data warehouse. This data includes every one of the 3 trillion GPS points ever uploaded to …

SQIP – SVG-Based Image Placeholder

In an in-depth analysis on how Medium loads up their images, José M. Pérez explains how their “blur-up technique” works: Display a resized version of the original at the original size, with a blur filter on top to hide the artifacts. Load in the bigger one. Once the big version is loaded, replace the small …

JSON5 – JSON for Humans

JSON isn’t the friendliest to write. Keys need to be quoted, objects and arrays can’t have trailing commas, and comments aren’t allowed — even though none of these are the case with regular JavaScript today. JSON5 is a proposed extension to JSON that allows these kinds of things. Here’s an example showcasing most of its …

Accessing a tweet using only its ID (and without the Twitter API)

See the Pen Twitter Tweet URL Generator by Bramus (@bramus) on CodePen. Today I learned that Twitter totally ignores the username in the “tweet detail route” on their website. This allows you to view details of a (public) tweet when knowing only its ID, without needing to access the Twitter API (which is the default …

PHP Session Locking: How to Prevent Blocking Requests

Today I learned about “PHP Session Locking”: PHP writes its session data to a file by default. When a request is made to a PHP script that starts the session (session_start()), this session file is locked. What this means is that if your web page makes numerous requests to PHP scripts, for instance, for loading …

AnimojiStudio – Make Animoji Videos with Unlimited Duration

Record Animoji videos with unlimited duration with this standalone app. This app uses the private AvatarKit framework, the same one that’s used by Apple’s iMessage app. It leverages ReplayKit’s screen recording capabilities to allow for longer recordings than the standard app. As this app uses a private framework, it cannot be found in / published …

react-native-maps-directions – Directions/Routing component for react-native-maps

One of the things I found missing in the aforementioned react-native-maps was the ability to route between to coordinates. Combining the feedback from the related issues on GitHub (#52, #778, and #929) I’ve created a standalone component that does exactly that. The MapViewDirections component can route between an origin and destination coordinate. As routing is …