Hello! I’m Riccardo (aka TheZal), and since February is the month of Open Source, I’ve decided to create a list of open source tools that I’ve recently discovered, which have simplified my life as a developer. I hope to encourage you to try them and maybe even contribute to their development. With that said, let’s get started!
Ntfy: Pub/Sub for Everyone
Ntfy (pronounced “notify”) is a tool that allows you to create a pub/sub system in a few minutes. Its operation is straightforward: you send a message to the Ntfy server specifying a channel, and all users subscribed to that channel will receive the message as a notification. Ntfy’s power lies in the fact that you can receive notifications on any device, thanks to its (also Open Source) apps for Android and iOS. Ntfy can be used with the official server via subscription, but you can also create your own notification server for free, as it’s available as a Docker image. To create your own server using Docker, just run the following command:
docker run -p <port to expose the service>:80 -itd binwiederhier/ntfy serve
Code language: HTML, XML (xml)
GQL: SQL + Git
GQL stands for Git Query Language. With GQL, you can use query syntax to find all possible information about your Git repository’s history, filtering through where clauses or grouping by a field directly from the command line. Installation is simple using package managers like cargo.io, winget, or scoop.
# cargo.io
cargo install gitql
# winget
winget install gitql
# scoop
scoop install gitql
Code language: PHP (php)
Once installed, go to a repository folder in the shell, use the gitql
keyword, and execute your query. GQL creates a database on the fly based on the .git folder.
Biome: If Rust Met Prettier
Biome is a toolchain written in Rust that includes both a formatter and a linter for JavaScript, TypeScript, JSX, and JSON. Compatible with Prettier (97% compatibility), Biome can be used as a faster alternative to Prettier. Benchmarks show Biome to be about 25 times faster than Prettier for formatting a JavaScript file and approximately 15 times faster than ESLint for linting a JavaScript file. These performance gains, attributed to adopting Rust as the programming language, make Biome an interesting tool, especially for large projects or integrating it into a CI/CD workflow. There are various ways to use Biome, but the easiest is to install the Biome extension for your preferred text editor (e.g., VSCode) and let the extension do the work.
Tiny RDM: Redis Interface You Didn’t Know You Needed
Tiny RDM is a modern and lightweight Redis manager available for Mac, Windows, and Linux. Extremely light, built on Webview2, it offers a visual and user-friendly interface. It supports multiple languages and provides advanced connection management, including SSH Tunnel, SSL, Sentinel Mode, and Cluster Mode. It allows viewing and managing key-value operations, with CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets, and Streams. Tiny RDM supports various data display formats and decoding/decompression methods. It uses segmented scanning to facilitate listing millions of keys and keeps track of operations with a command log. Installation is straightforward: download the installer from their git repository, install it, and run it. Once launched, you can create a new Redis connection by entering the server address, port, and password (if required) and use Tiny RDM to manage your Redis database.
Zed: The Best Editor You’ve Never Heard Of
Zed is an open-source, cross-platform text editor born from the creators of Atom and Tree-sitter. Its goal is to be the best text editor for programming. Written in Rust, Zed makes performance one of its main features, being the fastest compared to Sublime Text, VSCode, and CLion. Among other features, Zed is designed to be AI-ready, supporting GitHub Copilot natively and the ability to use GPT-4 to generate or refactor code using natural language prompts. Zed also offers the ability to collaborate with team members directly from within the editor, with a built-in feature allowing shared codespaces with other developers. You can organize codespaces into channels, mirroring Slack’s channel logic. Download is available for Windows, Mac, and Linux, and you can get the installer from the official website.
Which of these tools were you familiar with? What open-source tools do you use? Let me know, and until the next article!