Tooling Icon


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


A better way to handle, trace, and log errors in Go

This package is intended to give you more control over error handling via error wrapping, stack tracing, and output formatting. Basic error wrapping was added in Go 1.13, but it omitted user-friendly Wrap methods and built-in stack tracing. Other error packages provide some of the features found in eris but without flexible control over error output formatting. This package provides default string and JSON formatters with options to control things like separators and stack trace output. However, it also provides an option to write custom formatters via eris.Unpack.


Minify and secure your docker containers (30x?)

DockerSlim promises a lot:

docker-slim will optimize and secure your containers by understanding your application and what it needs using various analysis techniques. It will throw away what you don’t need reducing the attack surface for your container. What if you need some of those extra things to debug your container? You can use dedicated debugging side-car containers for that.

Their minification examples are impressive…


It's official: EFF's Certbot goes 1.0

Certbot was first released in 2015, and since then it has helped more than two million website administrators enable HTTPS by automatically deploying Let’s Encrypt certificates. Let’s Encrypt is a free certificate authority that EFF helped launch in 2015, now run for the public’s benefit through the Internet Security Research Group (ISRG).

A lot of progress has been made since we first talked about Let’s Encrypt on The Changelog.

Alberto Marchetti Medium

Get notified when your k8s cron jobs fail

Alberto Marchetti:

What do you do when you have CronJobs running in your Kubernetes cluster and want to know when a job fails? Do you manually check the execution status? Painful. Or do you perhaps rely on roundabout Prometheus queries, adding unnecessary overhead? Not ideal… But worry not! Instead, let me suggest a way to immediately receive notifications when jobs fail to execute, using two nifty tools…

Practical AI Practical AI #66

Build custom ML tools with Streamlit

Streamlit recently burst onto the scene with their intuitive, open source solution for building custom ML/AI tools. It allows data scientists and ML engineers to rapidly build internal or external UIs without spending time on frontend development. In this episode, Adrien Treuille joins us to discuss ML/AI app development in general and Streamlit. We talk about the practicalities of working with Streamlit along with its seemingly instant adoption by AI2, Stripe, Stitch Fix, Uber, and Twitter.

StackShare Icon StackShare

Cultivating your data lake

This post by Lauren Reeder of Segment goes over the different layers to consider when working with a data lake. What’s a data lake, you ask?

A data lake is a centralized repository that stores both structured and unstructured data and allows you to store massive amounts of data in a flexible, cost effective storage layer.

Her article explains what tools are needed and provides code & SQL statements to get started. 🤟


Free HTTP based JSON storage

A HTTP based JSON storage. It lets you store, read & modify JSON data over HTTP APIs for FREE. Ideal for small projects, prototypes or hackathons where you don’t have to spin up your own data store.

Please don’t store anything mission critical here, but like the quote above says this could be a nice option when you just need a place to temporarily dump some data you’re working with. Simply grab a BOX_ID from the homepage and then POST away:

curl -X POST '$BOX_ID' \
    -H 'content-type: application/json' \
    -d '{"name": "Schrute", "position": "Assistant (to the) Regional Manager"}'


A simpler, faster alternative to `nvm run`

nve differentiates itself from nvm run because it:

  • can be run programmatically
  • is 10 times faster
  • does not need a separate installation step for each Node version
  • works on Windows
  • does not require Bash
  • is installed as a Node module

Worth noting: this is not a full-on replacement for nvm or any other version manager. It only executes a single command with the specified Node version. But sometimes, that’s all you need. 😄


Here, try some (yes you read that correctly) 🍕

  "How to use": "Paste your JSON here and press Ctrl+Enter to format!",
  "Help": "Check the console for errors if it fails to parse.",
  "Themes": "Toggle dark/light theme with Ctrl+B",
  "Share": "Print a shareable URL to the console with Ctrl+L",
  "Source": "View the source on GitHub at",
  "Info": "Press Ctrl+I at anytime for a reminder of these instructions"

Built with Nuxt.js.

Victor Zhou

Minify Your SVGs

Victor Zhou uses a lot of SVGs on his blog. Do you? So now he optimizes their size as part of his build process. Do you?

62 SVGs minified, reducing the total size from 459322 bytes to 208897 bytes, a reduction of 54.5%! That’s a total of 250 KB, or 4 KB per SVG. Keep in mind that all of my SVGs were already saved in the Optimized SVG format - these savings were on top of already optimized SVGs. If you haven’t thought about minifying your SVGs before, chances are you’d see much more drastic results.

Wassim Chegham

Preview and convert Sketch design files into any framework and library

xLayers is a web app which aims to bridge the gap between designers and developers. Its mission is to allow both the design and development worlds to collaborate and iterate fast.

Upload your Sketch file and you will get the code generated for your favorite framework of choice (React, Vue, Angular, LitHtml, Stencil and even Xamarin Forms…and more to come).

Preview and convert Sketch design files into any framework and library


Use SQL to query & transform data from multiple databases & file formats

OctoSQL is a SQL query engine which allows you to write standard SQL queries on data stored in multiple SQL databases, NoSQL databases and files in various formats trying to push down as much of the work as possible to the source databases, not transferring unnecessary data.

OctoSQL does that by creating an internal representation of your query and later translating parts of it into the query languages or APIs of the source databases. Whenever a datasource doesn’t support a given operation, OctoSQL will execute it in memory, so you don’t have to worry about the specifics of the underlying datasources.

If you like writing SQL, you’ll probably like OctoSQL.


Startup idea checklist

I’ve been tinkering with different startup ideas and needed a good checklist to think through them. There are great templates for this already: The YC application, Amazon’s internal press release, and Sequoia’s Writing a Business Plan. I found myself mixing and tweaking these templates because they don’t exactly match my model of the world, so I wrote up my own list.

These are great questions to ask yourself when you’re dreaming up an open source project as well.

0:00 / 0:00