Tooling Icon

Tooling

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

Romain Barissat github.com

A GitHub Action to maintain mono-to-many repos

Romain Barissat:

I made this to be able to open-source parts of our monorepo while keeping the rest private.

The result is a tool that allows you to have one monorepo that is the source of truth for as many other repos as you want. It could also be used to create “workspace” repos if you onboard a freelance and you don’t want to give him access to your whole mono-repo.

We are using nx as a monorepo tool, here is an example of it using the Copybara Action

Based on Google’s Copybara project.

Marko Saric plausible.io

Plausible Analytics is ready for self-hosting 👏

Listeners of The Changelog have already heard Plausible’s story. On that show we talked about self-hosting and how that was something the team was interested in, but hadn’t gotten around to it yet.

Well, now they’ve gotten around to it.

We started developing Plausible early last year, launched our SaaS business and you can now self-host Plausible on your server too! The project is battle-tested running on more than 5,000 sites and we’ve counted 180 million page views in the last three months.

Rust github.com

binserve – a fast static web server in a single binary

This web server for static assets is “blazing fast” and executable with a single binary, but what excites me about it is the simplistic, singular config file: binserve.json

{
  "directory_listing": false,
  "enable_logging": true,
  "error_pages": {
    "404": "404.html"
  },
  "follow_symlinks": false,
  "routes": {
    "/": "index.html",
    "/example": "example.html"
  },
  "server": {
    "host": "127.0.0.1",
    "port": 1337
  },
  "static_directory": "static",
  "template_variables": {
    "load_static": "/static/",
    "name": "Binserve"
  }
}

Security github.com

Endlessh – an SSH tarpit that slowly sends an endless banner

The idea here is you put your real SSH server on a different port and let Endlessh lock up the script kiddies for hours and even days.

Since the tarpit is in the banner before any cryptographic exchange occurs, this program doesn’t depend on any cryptographic libraries. It’s a simple, single-threaded, standalone C program. It uses poll() to trap multiple clients at a time.

I’m not sure if this is actually a good idea or just fun to put into practice like those people who dedicate their precious free time scambaiting.

Tooling github.com

youtube-dlc is the new youtube-dl

Open source software shows its resiliency once again:

youtube-dlc is a fork of youtube-dl with the intention of getting features tested by the community merged in the tool faster, since youtube-dl’s development seems to be slowing down.

If you’re unaware of youtube-dl, it’s like a Swiss Army Knife for downloading videos from the web. It’s a great tool and I’m happy to see the community rally around its maintenance.

Terminal github.com

What's new in htop 3

Everyone’s (or at least my) favorite system monitoring tool is still alive and kickin’ with a big 3.0 release. In addition to a new display option to show CPU frequency in CPU meters, optional vim key mapping mode, and many other goodies, the big news is this:

New maintainers - after a prolonged period of inactivity from Hisham, the creator and original maintainer, a team of community maintainers have volunteered to take over a fork at htop.dev and github.com/htop-dev to keep the project going.

Open source FTW!

More good news: Hisham has agreed to join us on Maintainer Spotlight!

Amazon Web Services github.com

An opinionated full-stack boilerplate for production AWS apps

The primary objective of this boilerplate is to give you a production ready code that reduces the amount of time you would normally have to spend on system infrastructure’s configuration. It contains a number of services that a typical web application has (frontend, backend api, admin panel, workers) as well as their continuous deployment. Using this boilerplate you can deploy multiple environments, each representing a different stage in your pipeline.

An opinionated full-stack boilerplate for production AWS apps

TypeScript github.com

Airbnb's tool for helping migrate code to TypeScript

ts-migrate is a tool for helping migrate code to TypeScript. It takes a JavaScript, or a partial TypeScript, project in and gives a compiling TypeScript project out.

ts-migrate is intended to accelerate the TypeScript migration process. The resulting code will pass the build, but a followup is required to improve type safety. There will be lots of // @ts-expect-error, and any that will need to be fixed over time. In general, it is a lot nicer than starting from scratch.

ts-migrate is designed as a set of plugins so that it can be pretty customizable for different use-cases. Potentially, more plugins can be added for addressing things like improvements of type quality or libraries-related things (like prop-types in React).

Go github.com

Olric lets you instantly create a fast, scalable, shared pool of RAM across a cluster of computers

Can be used as an embeddable Go library or as a language-agnostic service. Here’s their list of use cases:

With this feature set, Olric is suitable to use as a distributed cache. But it also provides distributed topics, data replication, failure detection and simple anti-entropy services. So it can be used as an ordinary key/value data store to scale your cloud application.

John D. Cook johndcook.com

The worst tool for the job

John D. Cook:

I don’t recall where I read this, but someone recommended that if you need a tool, buy the cheapest one you can find. If it’s inadequate, or breaks, or you use it a lot, then buy the best one you can afford.

If you follow this strategy, you’ll sometimes waste a little money by buying a cheap tool before buying a good one. But you won’t waste money buying expensive tools that you rarely use. And you won’t waste money by buying a sequence of incrementally better tools until you finally buy a good one.

What follows is an application of that idea to software tools.

Node.js github.com

A lightweight and powerful wiki app built on Node

I’m not sure what makes this lightweight (their word, not mine), but it does load pretty fast from where I’m accessing it. I definitely see what they mean by powerful, though, as wiki.js boasts many features: multiple editors, multiple auth schemes, search functions, comments, multiple locales, the list goes on…

The demo is worth a thousand words.

Jordan Lewis jordanlewis.org

How to run a live coding stream (on Twitch using OBS)

Jordan Lewis shared his end-to-end setup to run a live coding stream. He covers all the things — OBS configuration, stream alerts, channel setup, chatbot, becoming a Twitch affiliate…

If you’re reading this post, you might be interested in trying your hand at live coding on stream, as a way of sharing your projects in a more relatable, immediate way than a polished blog post, teaching others about programming, or just as a way to have fun. I think that live coding and streams in general are an interesting possible future form of both education and entertainment, and if you’re contemplating starting your own stream, I sincerely hope that you do it.

How to run a live coding stream (on Twitch using OBS)

PHP github.com

A completely open source ngrok alternative

Expose is a beautiful, open source, tunnel application that allows you to share your local websites with others via the internet.

Since you can host the server yourself, you have full control over the domains that your shared sites will be available at. You can extend expose with additional features and middleware classes on the server and client side, to make it suit your specific needs.

Alan Shreve closed ngrok’s source code years ago, and every now-and-again an open source alternative pops on the scene. Add Expose to the list. It’s written in PHP and has a nice shine on it. But which of these SSH tunneling tools is best in class?

A completely open source ngrok alternative

CSS github.com

Preview minimal CSS frameworks with this drop-in switcher

Minimal CSS “frameworks” are on the rise. There are so many of them now that it’s hard to compare apples to apples. This’ll help.

This is a quick drop-in CSS switcher to allow for previewing some of the many minimal CSS-only frameworks that are available. See the demo or drop the switcher into your own page to see how different frameworks would look together with your content.

This project only includes minimal frameworks, in other words, boilerplate / classless frameworks that require no adjustment of the corresponding HTML and can be simply dropped into the project to provide a starting point for further design. No additional javascript, compiling, pre-processors, or fiddling with classes should be required for these to look good and be responsive.

0:00 / 0:00