20after4 / useful-tools

Just a collection of links to various libraries, tools and utilities that I find useful.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aliases
tools
cool tools

This is just a collection of useful libraries, utilities and development tools that may be worth a look. Most of these are tools that I ( @20after4 ) use on a regular basis.

Terminal, CLI and TUI Tools

  • kitty - an extremely powerful, customizable and high performance terminal emulator for multiple platforms. Kitty offers several modern extensions to terminal functionality such as inline graphics and advanced text formatting, decorations and more.
  • iterm2 - honorable mention. iTerm has functionality similar to kitty, and a few features found nowhere else. I used this and loved it in the past when I used a Mac regularly.
  • wezterm - another cross-platform terminal with advanced features. Similar in functionality to Kitty and in some ways even more powerful, however, in my experience it uses more memory and performance seems a bit worse than Kitty. If kitty didn't exist then this would probably be my daily driver.
  • fx - a TUI JSON tree viewer & query tool. Kind of like jq with a syntax that makes sense and an interactive tree viewer. This is my go-to tool for viewing, searching or mangling JSON at the terminal.
  • jc - parse the output from various command line utilities. Very useful for automating all of the things.
  • nnn a flexible and powerful TUI file manager.
  • rclone - file management utility for cloud storage.
  • red - a terminal-based log analysis tool
  • tig - Text-mode Interface for Git. A secret weapon for Git productivity. Quickly browse repositories, view diffs, search commit logs and more. Highly recommended for anyone who prefers a command line but still misses some GUI code browser functionality.
  • tmate - Share a terminal session with a friend/ Great for remote pair programming or demonstration (much more efficient than streaming/screen sharing).
  • up - interactively build shell pipelines.

Language Servers and Editor Extensions

  • markdown oxide - a language server for note taking with markdown. Supports vs.code and neovim, among others.

    "Markdown Oxide is attempting to be the best Personal Knowledge Management (PKM) system for software enthusiasts"

    This document was created using markdown oxide.

  • Pretty-ts-errors a VS.code extension that significantly improves the readability and presentation of TypeScript errors in the editor.

Misc. tools and utilities

  • Datasette - a high quality web (python) application framework built on SQLite with many plugins providing extensive functionality.

    An open source multi-tool for exploring and publishing data

  • datasette lite - Datasette compiled to WebAssembly so that it can run entirely in the browser, no server necessary.
  • cdk-dia - generate graphical diagrams of CDK stacks
  • silverbullet.md - Markdown-based note taking app with collaboration using CRDTs

Frameworks and Libraries

  • htl - tagged template literal for HTML by Observablehq
  • lipgloss a nice terminal color and style library for go.
  • bubbletea TUI framework based for go.

    "The fun, functional and stateful way to build terminal apps. A Go framework based on The Elm Architecture. Bubble Tea is well-suited for simple and complex terminal applications, either inline, full-window, or a mix of both."

JSON

  • jsonhero - a feature-rich GUI editor & browser for JSON data.
  • object-scan - an efficient and powerful library for traversing and extracting data from JavaScript object hierarchies.
    • Trivial Example
        import objectScan from 'object-scan';
    
        const haystack = {
         a: {
             b: { c: 'd' },
             e: { f: 'g' }
         }
        };
        const pattern = ['a.*.f'];
        const scanner = objectScan(pattern, { joined: true })
    
        scanner(haystack);
        // => [ 'a.e.f' ]
    

Home Automation

  • ESPHome - Makes it simple to connect just about any imaginable sensor or device to your home network. ESPHome is a firmware for microcontrollers which is easy to customize using a simple YAML configuration. Out of the box support for literally 100s of devices such as atmospheric sensors, biometrics, energy monitoring, and many more. If you can imagine a way to connect or monitor something, ESPHome probably already has a driver for it, complete with ready to use example configurations. Anything that isn't already supported is easy to add with just a bit of C++ code. This project is really cool!
  • Home Assistant - a really high quality home automation controller and monitoring platform. With this running on a Raspberri Pi and a few ESPHome devices, you have a complete smart home system with 100% open source software. Easily integrates with just about every other home automation system out there. More importantly, it's a really well run project with great code quality, a great community, good security practices and good free software values.

About

Just a collection of links to various libraries, tools and utilities that I find useful.