Tooling Icon


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

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

Michael Uloth

How to set up a Mac for web development

From installing Mac’s command line developer tools (Xcode), Homebrew, Git, npm, to your code editor — Michael Uloth walks you through all the steps and details to get a new Mac ready for web development. This guide is a good start and purposely leaves out items that aren’t strictly required for web development. If you’re into automation and tweaking things, then thoughtbot/laptop is another route to consider. It automates most of Michael’s steps and can also be customized to install only exactly what you want.

read more

Medium Icon Medium

Kubernetes development workflow for macOS (tips and tricks)

Megan O’Keefe, developer relations engineer at Google, shares her setup for Kubernetes as well as some very helpful tips and tricks from her Terminal setup, navigating clusters, and how she gave kubectl superpowers. As a developer relations engineer for Kubernetes, I work a lot with demo code, samples, and sandbox clusters. This can get interesting to keep track of (read: total chaos). So in this post I’ll show some of the tools that make my Kubernetes life a lot better. This environment can work no matter what flavor of Kubernetes you’re running.

read more

Floor DrEES Phusion Blog

Using GitHub Actions to build and publish a Ruby gem

Follow along as our friends at Phusion walk us through the process of creating a GitHub Actions workflow to build and publish a Ruby gem to the RubyGems registry. One of the actions featured in the version that’s currently exclusively available to GitHub employees and a selected and undisclosed group of Beta testers, is the ‘GitHub Action for npm’, which wraps the npm CLI to enable common npm commands. We set out to instead make an example workflow to build and publish a Ruby library (or: gem) to the default public registry, and created a GitHub repository, with a Docker container for a ‘Rubygems’ action:

read more


Notable – The markdown-based note taking app 'that doesn't suck'

The thing about taking notes apps is everyone likes ‘em a bit different. Here’s what the author of Notable was after: Notes are written and rendered in GitHub-flavored Markdown, no WYSIWYG, no proprietary formats, I can run a search & replace across all notes, notes support attachments, the app isn’t bloated, the app has a pretty interface, tags are indefinitely nestable and can import Evernote notes (because that’s what I was using before). If that resonates with you, click through. 😄

read more

The Changelog The Changelog #330

source{d} turns code into actionable insights

Adam caught up with Francesc Campoy at KubeCon + CloudNativeCon 2018 in Seattle, WA to talk about the work he’s doing at Source{d} to apply Machine Learning to source code, and turn that codebase into actionable insights. It’s a movement they’re driving called Machine Learning on Code. They talked through their open source products, how they work, what types of insights can be gained, and they also talked through the code analysis Francesc did on the Kubernetes code base. This is as close as you get to the bleeding edge and we’re very interested to see where this goes.

read more

Johan Brandhorst

The state of gRPC in the browser

Front-enders should check this out! Johan Brandhorst reviews the history of gRPC in the browser, the state of things today, and thoughts on the future of gRPC-Web. gRPC-Web is an excellent choice for web developers. It brings the portability, performance, and engineering of a sophisticated protocol into the browser, and marks an exciting time for frontend developers! So far the benefits have largely only been available to mobile app and backend developers, whilst frontend developers have had to continue to rely on JSON REST interfaces as their primary means of information exchange. However, with the release of gRPC-Web, gRPC is poised to become a valuable addition in the toolbox of frontend developers.

read more

Aaron Turner Medium

WebAssembly vs. ES6 — benchmark battle!

Aaron Turner (UXE at Google) says “WebAssembly is fast” and has conducted a real-world benchmark between WebAssembly and ES6 to showcase Wasm’s performance on different browsers, devices, and cores. …this benchmark will be utilizing the WasmBoy benchmarking tool (source code). The benchmark features three different cores as of today. AssemblyScript (WebAssembly built with the AssemblyScript compiler), JavaScript (ESNext output by the TypeScript compiler), and the previous JavaScript core except run through Google’s Closure Compiler…

read more

Victor Coisne Medium

An analysis of the Kubernetes codebase

In an attempt to confirm Kubernetes’ move beyond hype to widespread enterprise adoption, Francesc Campoy and Victor Coisne used source{d} Engine to analyze all the Kubernetes git repositories through SQL queries. Here’s a snapshot of what they learned. At its outset in 2014, the Kubernetes project had 15 programming languages, a number that quickly increased to 35 by the beginning of 2017. Given that Kubernetes came from Google, it’s not surprising to see that Go is by far the dominant language followed by Python, YAML and Markdown. The analysis shows that other languages such as Gradle and Lua have been dropped while some others like Assembly, SQL and Java made a comeback. The full results of the analysis are available upon request via a link shared at the end of the blog post.

read more

0:00 / 0:00