#tools + #code

Public notes from activescott tagged with both #tools and #code

Sunday, August 30, 2026

Squire is an HTML5 rich text editor, which provides powerful cross-browser normalisation in a flexible lightweight package (only 16KB of JS after minification and gzip, with no dependencies!).

It was designed to handle email composition for the Fastmail web app. The most important consequence of this (and where Squire differs from most other modern rich text editors) is that it must handle arbitrary HTML, because it may be used to forward or quote emails from third-parties and must be able to preserve their HTML without breaking the formatting. This means that it can't use a more structured (but limited) internal data model (as most other modern HTML editors do) and the HTML remains the source-of-truth. The other consequence is excellent handling of multiple levels of blockquotes.

Friday, August 14, 2026

Saturday, August 8, 2026

Tauri is a framework for building tiny, fast binaries for all major desktop and mobile platforms. Developers can integrate any frontend framework that compiles to HTML, JavaScript, and CSS for building their user experience while leveraging languages such as Rust, Swift, and Kotlin for backend logic when needed.

Friday, August 7, 2026

Thursday, August 6, 2026

flagd is a feature flag evaluation engine. Think of it as a ready-made, open source, OpenFeature-compliant feature flag backend system.

With flagd, you can:

  • modify flags in real-time
  • define flags of various types (boolean, string, number, JSON)
  • use context-sensitive rules to target specific users or user traits
  • perform pseudorandom assignments for experimentation
  • perform progressive roll-outs of new features
  • aggregate flag definitions from multiple sources
  • expose aggregated flags as a gRPC stream to be used by in-process providers
  • expose OFREP service for configured flags

It doesn't include a UI, management console or a persistence layer. It's configurable entirely via a POSIX-style CLI. Thanks to its minimalism, it's extremely flexible; you can leverage flagd as a sidecar alongside your application, an engine running in your application process, or as a central service evaluating thousands of flags per second.

Sunday, July 12, 2026

CVAT Community is the free, self-hosted open-source edition of CVAT — one of the most widely used data annotation platforms for building high-quality visual datasets for computer vision and visual AI. Since 2018, CVAT has become one of the best-known data annotation tools in computer vision, with a large open-source community, millions of Docker pulls, and broad adoption across research and production AI teams.

Friday, April 3, 2026

Woodpecker uses docker containers to execute pipeline steps.

.woodpecker/build.yaml

steps:

  • name: build image: debian:stable-slim commands:
    • echo building
    • sleep 5

.woodpecker/deploy.yaml

steps:

  • name: deploy image: debian:stable-slim commands:
    • echo deploying

depends_on:

  • lint
  • build
  • test

.woodpecker/test.yaml

steps:

  • name: test image: debian:stable-slim commands:
    • echo testing
    • sleep 5

depends_on:

  • build

.woodpecker/lint.yaml

steps:

  • name: lint image: debian:stable-slim commands:
    • echo linting
    • sleep 5

Thursday, March 26, 2026

Before running any cacheable task, Nx computes its computation hash. As long as the computation hash is the same, the output of running the task is the same.

By default, the computation hash for something like nx test remixapp includes:

All the source files of remixapp and its dependencies Relevant global configuration Versions of external dependencies Runtime values provisioned by the user such as the version of Node CLI Command flags

Nx is a build system for monorepos. It helps you develop faster and keep CI fast as your codebase scales.

Runs tasks fast - Caches results so you never rebuild the same code twice. Understands your codebase - Builds project and task graphs showing how everything connects. Orchestrates intelligently - Runs tasks in the right order, parallelizing when possible. Enforces boundaries - Module boundary rules prevent unwanted dependencies between projects. Handles flakiness - Automatically re-runs flaky tasks and self-heals CI failures.

Monday, February 16, 2026

Wednesday, January 28, 2026

A simple tool to automate version bumps, changelogs, and releases using Conventional Commits.

📄 Uses conventional-changelog to parse commits, determine the next version, and generate a changelog.
🗂️ Supports monorepos and can release multiple packages in a single run.
🧩 Flexible and extensible with custom addons for different project types.
🚀 Has GitHub Action to automate releases in CI/CD pipelines.

Wednesday, January 7, 2026

We built pre-commit to solve our hook issues. It is a multi-language package manager for pre-commit hooks. You specify a list of hooks you want and pre-commit manages the installation and execution of any hook written in any language before every commit. pre-commit is specifically designed to not require root access. If one of your developers doesn’t have node installed but modifies a JavaScript file, pre-commit automatically handles downloading and building node to run eslint without root.

Wednesday, December 17, 2025

The Ultimate Express. Fastest http server with full Express compatibility, based on µWebSockets.

This library is a very fast re-implementation of Express.js 4. It is designed to be a drop-in replacement for Express.js, with the same API and functionality, while being much faster. It is not a fork of Express.js. To make sure µExpress matches behavior of Express in all cases, we run all tests with Express first, and then with µExpress and compare results to make sure they match.

npm install ultimate-express -> replace express with ultimate-express -> done

Friday, December 12, 2025