Tooling Icon


Tooling and apps used to create and deliver awesome software.
47 Stories
All Topics

Jake Jarvis

How to automatically backup a Linux VPS to another cloud service provider

Cloud lock-in isn’t an issue until it is — “any amount of backups are just more eggs in the same basket if everything is under one account.” Most of the popular one-click server providers (including DigitalOcean, as well as Linode, Vultr, and OVH) provide their own backup offerings for an additional monthly cost (usually proportional to your plan). But as Nicolas learned the hard way, any amount of backups are just more eggs in the same basket if everything is under one account with one credit card on one provider. Luckily, crafting a DIY automated backup system using a second redundant storage provider isn’t as daunting (nor as expensive) as it might sound. The following steps are how I backup my various VPSes to a totally separate cloud in the sky. Jake Jarvis writes on his personal blog how to backup various VPS’s to a totally separate cloud provider.

read more


An example to-do list app using SwiftUI (introduced at WWDC 2019)

SwiftUI didn’t get as much air time as the new Mac Pro and its ridiculous (in multiple ways) 6K display, but looking back at Apple’s 2019 announcements, SwiftUI might end up being the most profound of them all. If you want to cut straight to some working code and an XCode project that uses the brand new UI framework, check out the linked repo.

read more

Amila Welihinda

compat-db determines the browser compatibility of ALL browser APIs

This tool aims to go above & beyond what MDN and caniuse have accomplished by automating the generation of the compatibility tables for others to use. Access to the output is programmatic, which scales to more developers via tooling such as static analyzers. Click through for a deep-dive on how it works (spoiler: browserstack is involved) and how Amila optimized its required test executions by 95%.

read more

GitHub Icon GitHub

GitHub launched its own package registry 😱

ICYMI — late Friday afterrnoon GitHub held a live event to announce the beta launch of GitHub Package Registry. GitHub Package Registry is fully integrated with GitHub, so you can use the same search, browsing, and management tools to find and publish packages as you do for your repositories. You can also use the same user and team permissions to manage code and packages together. GitHub Package Registry provides fast, reliable downloads backed by GitHub’s global CDN. And it supports familiar package management tools: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), and Docker images, with more to come. You can sign up for the beta here.

read more


Windows system utilities to maximize productivity

Inspired by the Windows 95 era PowerToys project, this reboot provides power users with ways to squeeze more efficiency out of the Windows 10 shell and customize it for individual workflows. A great overview of the Windows 95 PowerToys can be found here. This is a star-it-for-later post, since the repo won’t contain the source code until “Summer 2019”.

read more

Paige Niedringhaus

Sync your VS Code config anywhere with Settings Sync

No one likes to spend the day setting up and recreating the config of their text editor of choice. If you use VS Code and Settings Sync you won’t have to. Paige Niedringhaus writes: This article will show you how to perfectly recreate your Visual Studio Code IDE settings without starting over from scratch and spending hours on it. When faced with the possibility of losing (or even trying to transfer) my carefully developed VS Code setup to another machine, I knew there had to be a way to do it gracefully. I just knew the solution had to be out there, and so, I asked the internets, and it brought back Settings Sync.

read more


Editor.js — next generation block-style text editor

This new take on a block-style text editor from CodeX looks promising. Unlike how the common WYSIWYG editor produces raw HTML markup with both content data and content appearance, Editor.js outputs a JSON object with the data of each block of content. Here’s an example of how this news item would look. { "time": 1554306305, "blocks": [ { "type": "header", "data": { "text": "Editor.js — next generation block-style text editor", "level": 1 } }, { "type": "paragraph", "data": { "text": "This new take on a block-style text editor looks promising. Unlike how the common WYSIWYG editor produces raw HTML markup with both content data and content appearance, Editor.js outputs a JSON object with the data of each block of content. Here's an example of how this news item would look." } }, { "type": "code", "data": { "code": "" } } ], "version": "2.12.3" }

read more

Nick Sweeting

ArchiveBox — open-source self-hosted web archive

This combined with Pinboard is a nice combo! ArchiveBox takes a list of website URLs you want to archive, and creates a local, static, browsable HTML clone of the content from those websites. … It imports lists of URLs, renders the pages in a headless, authenticated, user-scriptable browser, and then archives the content in multiple redundant common formats (HTML, PDF, PNG, WARC) that will last long after the originals disappear off the internet.

read more


How to build a free, privacy-focused alternative to Google Analytics

Google Analytics runs on over 56% of all websites. It’s the backbone of ad-tech across the web. Unfortunately, for site owners like me who just want to learn how people are using their website—while respecting their privacy—there simply aren’t any alternatives that meet all my requirements. So in two days, after a couple dead-ends, I built my own using React, AWS Lambda, and a spreadsheet. This is how. It’s somewhat ironic that the datastore for this project is Google Sheets. That aside, this is a well-done effort and one that I wouldn’t mind adapting for use around these parts.

read more

Kyle Carberry Medium

Run VS Code as a cloud-IDE on your own server

If you’ve been wanting a way to run VS Code as a cloud-IDE, code-server is what you’ve been looking for. Code-server allows VS Code to run on a remote server making it fully accessible through the browser. … Developers ready to embrace the cloud-based IDE can do so without losing features, or control. This means you can code on your Chromebook, tablet and desktop with a completely synchronized environment. You can spill coffee on your laptop without fear of losing work.

read more

Vadim Demedes

Building rich command-line interfaces with Ink and React

Could this be the future of writing interactive CLI tools? If you know React you know Ink. Ink is a library for building and testing command-line applications using React components. Since it acts as a React renderer, you can use everything that React has to offer: hooks, class components, state, context, everything. Ink lets you build interactive and beautiful CLIs in no time.

read more

Dan Abramov Medium

Why my new blog isn’t on Medium

This post from Dan Abramov about why he moved off Medium summarizes both why we’re no longer linking to Medium and why we’ve never put our content there. Some of my Medium articles unexpectedly got behind a paywall. I’m not sure what happened and whether that’s still the case. But I didn’t do it myself, and that caused a blow to my confidence in Medium as a platform. I respect their need to monetize, but it felt wrong when done retroactively.

read more

Sam Soffes

Sam Soffes and his static Jekyll blog

Sam Soffes Jekyll’s a little differently. This iteration is built on top of Jekyll, a static site generator written in Ruby. Since I write my posts differently than Jekyll expects, I had to write several plugins to make things work correctly. You might wonder why I don’t just write my posts the way Jekyll wants instead of doing all of this work. I want to keep the details of my blogging engine separate from my content. I’d love to hear from you about your blogging stack in the discussion below. Like Sam, I’m also using Jekyll hosted on Netlify, but I’m new to his plugins.

read more

Jason Etcovitch

Probot app or GitHub Action?

Well, it depends. But the good news is Jason Etcovitch (Engineer at GitHub) examines the pros and cons of each and where they fit. He even shared a comparison table to help determine which to choose. Should your next automation tool be built in GitHub Actions or as a separate service with Probot? Since GitHub announced the beta release of GitHub Actions in October 2018, there’s been a new excitement around building automation - and that’s awesome! But I wanted to take a look at the various pros and cons of GitHub Actions and Probot, where each excels and where each might not be the best tool for the job. Click through and scroll to the bottom of the post if all you care about is the comparison.

read more

Patrick Reynolds

GitHub open sourced the parser and specification for GitHub Actions

If you’re looking for a deep dive on GitHub Actions, check out The Changelog #331: GitHub Actions is the next big thing with Kyle Daigle. Patrick Reynolds, writing on the GitHub Engineering blog: Since the beta release of GitHub Actions last October, thousands of users have added workflow files to their repositories. But until now, those files only work with the tools GitHub provided: the Actions editor, the Actions execution platform, and the syntax highlighting built into pull requests. To expand that universe, we need to release the parser and the specification for the Actions workflow language as open source. Today, we’re doing that. I also want to point out this “we believe” section of the post to key in on their intentions and willingness to provide the community with the necessary tools to make GitHub Actions all that it can be for the community. We believe that tools beyond GitHub should be able to run workflows. We believe there should be programs to check, format, compose, and visualize workflow files. We believe that text editors can provide syntax highlighting and autocompletion for Actions workflows. And we believe all that can only happen if the Actions community is empowered to build these tools along with us. That can happen better and faster if there is a single language specification and a free parser implementation.

read more


Extend Kubernetes via a shared informer

This post from Gianluca Arbezzano contains both theory and code with a complete working application to understand how to build your own shared informer to extend Kubernetes beyond applying YAML via kubectl. Kubernetes increases in popularity every day but I don’t think we use all its power just applying YAML via kubectl. Kubernetes is a framework and as every framework, it exposes powerful interfaces and API usable to extend its capability with our needs. Shared Informers are what I see as the easy way to enjoy k8s as an extendible tool to programmatically build and ship containers.

read more

Fernand Galiana Medium

If you K8s, please try K9s...

Operating Kubernetes clusters is becoming more and more taxing in terms of the number of aliases/scripts and single purpose tools one must install/master. K9s is a terminal based CLI to manage and diagnose Kubernetes clusters in a single command. It provides a unified view to navigate and diagnose K8s resources for your local or remote clusters right there in the same CLI.

read more

0:00 / 0:00