Tooling Icon

Tooling

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

Slack Engineering Icon Slack Engineering

Deploys at Slack

Jonathan Chang and Michael Deng share all the details of the systems required to deploy at Slack.

Deploys require a careful balance of speed and reliability. At Slack, we value quick iteration, fast feedback loops, and responsiveness to customer feedback. We also have hundreds of engineers who are trying to be as productive as possible. Keeping to these values while growing as a company means continual refinement of our deployment system.

Deploys at Slack

Patrick DeVivo tickgit.com

Never forget a #TODO comment

Patrick DeVivo:

tickgit is a tool for software developers to do project management within their codebase. It searches code comments for markers indicating areas and files worth returning to (TODO, FIXME, etc). It can be used to proactively identify areas of technical debt, or handle day-to-day to-do items and checklists.

Free for public repos and open source.

Facebook Engineering Icon Facebook Engineering

Rome is an experimental JavaScript toolchain

It includes a compiler, linter, formatter, bundler, testing framework and more. It aims to be a comprehensive tool for anything related to the processing of JavaScript source code.

Rome aims to be a replacement for many existing JavaScript tools. We will, however, offer integrations for components in other tools. For example, using the Rome compiler as a plugin for another bundler.

This comes out of Facebook’s React Native team. It’s MIT licensed and was started by Sebastian McKenzie, who also authored Babel and Yarn.

Ops github.com

Quickly spin up local development environments with Lando

This tool is surrounded by mountains of marketing speak, but it does seem like it offers a quick way to spin up different dev environments, which is cool. It has built-in recipes for WordPress, Drupal, LAMP, MEAN, and more. Here’s how you get started on Drupal 7, for example:

lando init \
  --source remote \
  --remote-url https://ftp.drupal.org/files/projects/drupal-7.59.tar.gz \
  --remote-options="--strip-components 1" \
  --recipe drupal7 --webroot . \
  --name hello-drupal7

You can use these out of the box or start with a base language and mix in the things you need from there. Kinda like Docker Compose? Yeah, kinda like Docker Compose:

You can think of Lando as both an abstraction layer and superset of Docker Compose as well as a Docker Compose utility.

JavaScript snowpack.dev

With Snowpack you can build modern web apps without a bundler

No more waiting for your bundler to rebuild your site every time you hit save. Instead, every change is reflected in the browser instantly.

This relies on ESM (Mikeal gave a great rundown on the current state of things on a recent JS Party), so it’s not for everyone. The homepage has rundowns on who should use this, who should avoid it, and how to get started.

Brought to you by the fine folks at Pika.

Rust github.com

The Rust SQL Toolkit 🧰

SQLx is a modern SQL client built from the ground up for Rust, in Rust.

  • Truly Asynchronous. Built from the ground-up using async-std using async streams for maximum concurrency.

  • Type-safe SQL (if you want it) without DSLs. Use the query!() macro to check your SQL and bind parameters at compile time. (You can still use dynamic SQL queries if you like.)

  • Pure Rust. The Postgres and MySQL/MariaDB drivers are written in pure Rust using zero unsafe code.

Go github.com

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.

Docker github.com

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…

EFF Icon EFF

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.

0:00 / 0:00