2026-06-22 20:19:00
Hi everyone,
We’re back for another issue. We’re become more regular now. If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.
Every new API key means tracking down which services need it, then updating each one by hand. At OpenRouter, that happened one to two times a week.
OpenRouter runs the largest AI gateway for developers, with infrastructure spanning Vercel, GCP, and Cloudflare and 70+ model providers. Each one ships its own keys, propagated manually with custom scripts, and no audit trail. A leaked production credential meant downtime and an SLA breach.
The team adopted Cursor, Claude Code, Devin, and Codex, and each needed scoped access to run services end to end without reaching credentials it shouldn't.
OpenRouter centralized everything on Infisical:
→ Dynamic folder sync replaced the scripts: one folder for all provider keys, imported into the services that need them
→ Role-based access separates dev, admin, and break-glass production: A dedicated agent tier issues session-scoped credentials, so tools like Cursor and Claude Code pull dev secrets directly and run read-only cron jobs against production, scoped to exactly what they need.
→ Audit logging: It closed the visibility gap on when and why a secret changed.
The payoff: spinning up a new service dropped from a multi-service manual chore to about 10 minutes. 21 services now sync through Infisical and 50+ engineering hours are saved per month.
As founding engineer Shashank Goyal put it: "With Infisical, you get the security benefit along with improved developer experience, it becomes a no-brainer."
Pair it with this video to learn how fast we can read a file? are we limited by disk or cpu?
Fraud detection in transaction data is mostly SQL. Not machine learning, not graph databases, not whatever Gartner is hyping this year. SQL, run against the right tables, with the right joins, looking for the right shapes.
Shopify needs no introduction of their scale. They have an oversell protection to track inventory buld on Redis, using DECR and INCR. But data now is lived on 2 system, and this cannot be done in an atomic manner because state is persisted outside of MySQL. Operating and scaling Redis in region awareness also not easy. So they moved this to MySQL with SKIP LOCKED.
The American Express core payments ecosystem is a global platform relied on by Card Members and partners around the world. Every day, it processes live payment transactions that require high availability, low latency, and predictable performance. To achieve this, the platform is built around a cell-based architecture that isolates failures, maintains low-latency processing, and scales capacity without expanding the failure domain
DataDog regularly run a variety of gamedays to intentionally stress our platforms and learn how our systems and teams respond under real-world conditions. During that they discover when network latency increase, replica lag, primary failed and failover is no longer safe.
On Xmas 2024, Aura Frames API had problems under peak load, being unavailable for three hours. They implement multiple strategy to help improve Postgres performance significantly. We will learn all of that here: high cpu during vacum, increase latency, lag replica, index bloat due to high write. One of interested thing is they split heavy write tables to its own dedicated db, we cannot always do this, but if we can it reduce and isolated high load to that db only.
I’ve been using Git for so long and I just realized you can ignore files at three different levels and not just with .gitignore. The three files you can use to ignore files are: .gitignore, .git/info/exclude, ~/.config/git/ignore
How hard it’s to build a home made CPU? hard if you had to do the hardware component yourself. But assume if you can get the part. TD4 is a little 4bit CPU: 2 registers, 16 bytes ROM.Quite limited but still very cool and teaches a lot of principles of computer architecture.
Modern concurrency primitives and building blocks for high performance applications, all in C99+
Your website, but inhabited. Very hard to explain, like convert visitor into real character can interact in a widget on your site. very fund interestint to check
A high-performance, concurrent bytecode virtual machine and language written in Go. Tiny combines the development speed of dynamic coding with a robust, multi-threaded runtime engine
The end of web parsing. The beginning of scalable pixel-native search.
A high-performance Ractor web server for Ruby 4.0+: Rack 3-based, with a Rust Tokio/Hyper front-end and Ractor-parallel Ruby workers and threaded fallback mode.
Makes PDFs look scanned (CLI or in the browser via WASM)
is a Postgres-native durable workflow system. It moves the complexity of durable execution into the database layer via stored procedures, keeping SDKs lightweight and language-agnostic. The core principle is to handle tasks that may run for minutes, days, or years without losing state.
A multithreaded PostgreSQL connection pooler in Rust (MSRV 1.87). Alternative to PgBouncer, Odyssey, and PgCat. In production at Ozon for over three years across Go (pgx), .NET (Npgsql), Python (asyncpg, SQLAlchemy), and Node.js workloads.
2026-06-15 20:19:00
Hi everyone,
Summer has started in a few places, summer time no-school season is about to started. One thing for sure is no more drop-off and pick-up. Time to do some side projects. I strongly believe everyone should try and experiment with self-hosted LLM. If you can afford some card with 24GB-32GB VRAM, it could be great to get started. No worry, this newsletter won’t turn into a AI/LLM junk, I simply think we should understand and control it, and especially the ability to self-host.
Even with AI development, I still want to talk to a person, this newsletter, you probably realized, full of grammars, typos. My English is not perfect, I tried but you can be sure these are hand writing by a person at 1:21AM Sunday when kids and wife are in deep sleep.
If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.
Live technical workshop | June 18 | 11am ET / 8am PT | 45 min + Q&A
Your AI agent writes code fast. So fast it barely matters now. The bottleneck is what comes after: running it, watching it break against real infrastructure, and debugging the gap between what the agent assumed and what your cluster actually does.
The agent never saw your queue payloads. It guessed your database schema. It has no idea that the downstream service returns 429 under real load. So you validate. Manually. Every time. That validation tax is the problem we're solving live on June 18..
What you'll watch happen in real time:
We'll connect a Cursor agent to a real Kubernetes cluster using mirrord and run the full loop: inspect live environment state, generate code informed by what's actually there, test immediately against real services, watch it fail, and watch the agent fix itself. No mocks. No deploy cycle. No human in the loop. The agent calls inspect, generate, test, fix autonomously. Total time from failure to working code: under 30 seconds.
Engineering teams at monday.com and similar companies already run this pattern in production. 350+ engineers at monday.com use mirrord daily. They cut dev feedback loops from 30 minutes to 30 seconds.
You'll leave with:
A reference architecture for wiring agents to real clusters safely. The exact prompts and mirrord config from the demo. A clear mental model for where human judgment still belongs and where agents can own the loop.
Built for engineers who are done validating what the agent should be validating itself.
Hosted by Arsh Sharma (Senior DevRel, MetalBear) and Aviram Hassan (Founder and CEO, MetalBear, co-creator of mirrord).
Some folks say that the design philosophy of Unix is that “everything is a file”. If you’re familiar with Unix-like platforms, you probably know that they don’t quite live up to the hype. But apparently, the memory of a process itself truely live up to this hype.
GPS is fundamentally a translation tool: it converts time into distance. A satellite sends a signal, your phone catches it, and the delay between those two events tells the phone exactly how far away the satellite is. 1 nanosecond of signal travel = 0.3 meters.
This is a DRAFT of the first part of Chapter 4 - On CPU Physics and CPU Cycles of a C++ books but I learn a lot about CPU in its physisc form and the communication between all component: cpu, ram, l1/2/3 cache.
A perceptron explained from scratch in Python, with interactive demos. Learn weights, bias, the decision boundary, epochs, learning rate, and why we normalize data.
A straightforward method for training your LLM, from downloading data to generating text.
In this blog post, I will share the adventures I had creating my own LLM, from (almost) scratch, trained only on old texts. I made my own base-training and fine-tuning scripts, data processing pipelines and custom datasets.
Many LLM Model require more 24GB+ VRAM? what happen if you can combine 2 smaller GPU Card? This walk ou through that setup.
Have you ever need to auto rotate a user profile picture, u read exif and rotate them? So let learn about this structure. They age well despite a standard being invented long ago with so many gotchas.
Running Gemma 4 26B-A4B and Qwen3.6 35B-A3B locally with llama.cpp, MTP speculative decoding, multimodal support, and PI as a coding agent.
true Go, no more CGO, cross platform. no C toolchain at build time and no libX11/libwayland at runtime
A tiny macOS utility that puts a red LED in your menu bar and lights it up whenever there’s I/O activity on the local drives you choose to monitor.
A safe, zero-dependency expression language for rules, filters, and templates
This repo contains 754 structured cybersecurity skills spanning 26 security domains, each following the agentskills.io open standard. Every skill is mapped to five industry frameworks — MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, MITRE D3FEND, and NIST AI RMF
DepsGuard looks for npm, pnpm, yarn, bun, uv, pip, poetry, and aube on your machine, reads their config files, compares them to recommended supply-chain settings, and can apply fixes interactively.
Which GGUF File Should You Download”
A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.
a coding-focused agentic model built upon Kimi K2.6. With substantial improvements on real-world long-horizon coding tasks, it strengthens end-to-end task completion across complex software engineering workflows while improving token efficiency, reducing thinking-token usage by approximately 30% compared with Kimi K2.6.
2026-06-08 20:19:00
Hi all,
We’re back for another issue. I’m still trying my time to make this news letter become a weekly again :(.
If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.
Spring Spotlight 2026 is live and we’ve rounded up the top updates for developers here. Featuring:
• AI-Assisted Development: Developer MCP Server lets you build apps faster with AI coding tools like Cursor, Claude Code, and Codex.
• Modern API Infrastructure: Date-based versioned APIs and versioned docs for predictable releases.
• MCP: Unlock HubSpot data via the HubSpot MCP Server (remote) to connect any compatible MCP client and create custom workflows and integrations.
• Projects 2026.03: Includes serverless functions, UI extension support, and migration from 2025.1 and 2023.2.
Turn any Android phone into a programmable SMS gateway for your SaaS — no per-message fees, no carrier contracts, no vendor lock-in.
A researcher find that the Creative Sound Blaster Katana V2X accept unsigned firmware over Bluetooth without auth. Since the speaker already register itself as a HID device for volume control, an attacker can flash it remotely and turn it into a Rubber Ducky, injecting keystroke into ur PC from ~50 feet away. Vendor refuse to patch.
Linear feel fast not because of one trick, but a lot of small one compound together. The big idea: treat the browser DB as the source of truth, and the server is just a sync target. Mutation apply locally first, reconcile async. Add to that aggressive code-split with service worker precaching, granular MobX observables to keep re-render small, and animation only on GPU-composited properties.
A basic introduction to USB for people that don’t need to know what happens on the wire. If u ever want to talk to a USB device from ur own app without diving into kernel land, this is a nice starting point.
Postgres planner can make bad estimate when columns are correlated. Extended statistics let u tell the planner about those relationship. The post walk through the three flavor - dependencies, mcv, and ndistinct - with real example showing how each one fix a different kind of wrong row estimate.
Sourcemaps unlock some observability benefits but might expose your codebase. Check out how they work, and how to protect yourself.
A Go specific article, but it present a methodlogical though of process. We had a 4 GiB file that’s almost entirely zeros, exactly one non-zero int64 is hiding at offset Size - 8 (the last aligned slot). The task: find that offset, as fast as possible, in Go on Linux.
Have u ever feel annoying with the useless Music app on macOS, u would love this tool. Typically it will be under Tool, but this is require deep understand on how everything works. Strongly recommend to learn its code, especially about the rcd(short for Remote Control Daemon)
This is a fresh reading of RFC 9111 (2022), the latest iteration of the HTTP Caching standard. The standard defines the Cache-Control HTTP header as a way to prescribe how caches should store and reuse HTTP responses, with regard to not just the browser cache, but to any other intermediary caches, such as proxies and content delivery networks, that may exist between the client and the origin server.
Use the ss command as a modern, faster replacement for netstat to inspect IPv4 TCP and UDP sockets, listening ports, and connection states.
A tiny (~1KB) & modern library for keybindings.
A literal credit-card sized computer with E-Paper display, ESP32 and NFC.
A CSS 3D engine for the DOM. Renders polygon meshes in HTML by leveraging matrix3d transforms.
A nice tool to let us know which AI Model can be run locally with a given GPU
a suite of tools to bring collaboration to your application. It’s based on Y.js (by Kevin Jahns), which is amazing to sync and merge changes from clients in real-time
A very swift way to encrypt secret, and commit it to the git repository. The sweetness come on how to onboard new team member, simply add their public key, do a re-encrypt and commit the change. Every team member now share the same secrets
A small, feature-rich, and robust Cloudflare DDNS updater
Open-source terminal SSH manager that keeps ~/.ssh/config in sync with your cloud infra across 16 cloud providers.
Animate your SVGs. Without losing your mind
2026-05-11 20:19:00
Hi all,
We’re back for another issue. I’m still trying my time to make this news letter become a weekly again :(.
If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.
Spring Spotlight 2026 is live and we’ve rounded up the top updates for developers here. Featuring:
• AI-Assisted Development: Developer MCP Server lets you build apps faster with AI coding tools like Cursor, Claude Code, and Codex.
• Modern API Infrastructure: Date-based versioned APIs and versioned docs for predictable releases.
• MCP: Unlock HubSpot data via the HubSpot MCP Server (remote) to connect any compatible MCP client and create custom workflows and integrations.
• Projects 2026.03: Includes serverless functions, UI extension support, and migration from 2025.1 and 2023.2.
decode and understand all the thing behind these cryptic number.
In the United States, the National Institute of Standards and Technology (NIST) maintains the official U.S. time reference. On a recent project I needed a trustworthy clock and time.gov was a convenient option. To validate that the provided reference was accurate, I opened time.gov in two browser windows side-by-side, but found that the provided clock offset estimates disagreed by a margin larger than I could tolerate. When I compared to another source, an NTP client, I found even more disagreement.
In famous problem. 0.1 + 0.2 is equal 0.30000000000000004. Best way to to understand is to re-implement them from the first principle, the hard way.
From page faults to NUMA topology: how the Linux kernel manages memory, and what that means for the performance of data-intensive systems
Ever wondered how regex works under the hood? How does it understand an incantation like “<\/?[\w\s]*>|<.+[\W]>” and magically produces a desired result? This series is going to describe exactly how it works and how to implement a feature-rich regex engine.
that MacOS Tahoe can generate and use secure-enclave backed SSH keys! This replaces projects like secretive
Most programmers dream of their own perfect programming language.
Without vacuum, deadtuple (dead row) are accumulate in Postgres, the engine needs to scan them and exclude them, vacuum suppose to delete them. Here are many tip and tricks to monitor that process
Figma outgrow pgbouncer and share experience writing their own Postgres connection pooling.
cheatsheet covers several npm security best practices and productivity tips, useful for JavaScript and Node.js developers. This list was originally based on the 10 npm security best practices from the Snyk blog.
a book written for engineers who need Git to stay fast as repositories, histories, and teams get larger: build and CI engineers, monorepo owners, devprod teams, and anyone tasked with figuring out Git beyond the usual four commands.
MacOS Web Server written entirely in ARM64 assembly
SQLite extension + bindings for Postgres NOTIFY/LISTEN semantics with durable queues, streams, pub/sub, and scheduler
A simple command line SSH tunnel manager that just works.
Prioritized semaphore/rate-limiter/adaptive throttle for load management.
A high-performance HTTP benchmarking tool that includes a real-time web UI and terminal display
A PostgreSQL extension that can enforce optimal column alignment to minimize row padding waste.
Cloud-native continuous backup for PostgreSQL - WAL/base-backup streaming, compression, encryption, retention, and monitoring in a single binary.
a pure SQL / PL/pgSQL control plane for conservative autonomous reindexing, in the same extension-avoidance spirit as pg_ash and PgQue. It installs into a separate control database, talks to target databases through postgres_fdw user mappings and dblink, and rebuilds only with reindex index concurrently. No schema is installed into target databases. No C extension, no shared_preload_libraries, no sidecar worker, no restart.
HyperFrames lets AI agents compose videos by writing HTML, CSS & JS.
Have u ever has to write some cronjob to refresh materialized view? this tool handle all of that, natively inside Postgres
Create real MP4 videos with React. Parametrize content, render server-side and build applications.
aggregates CloudTrail logs to simplify analysis for AI agents
A terminal workbench for AI-driven vulnerability discovery and live validation.
2026-03-30 20:19:00
Hi all,
Trivy is a security scanner to find vulnerabilities, misconfigurations, secrets and very widely used. Imagine, Trivy got under attack itself. Attackers compromised Trivy GitHub Actions by force-updating tags to deliver malware, exposing CI/CD secrets across affected pipelines.
Then last week, two versions of the litellm Python package on PyPI were found to contain malicious code.
All of that just mean we need to be extra triple careful when dealing with any external dependenies. Any external dep is a liability. In this issue we had included 2 tools that hopefully will allow us to run those app in sandbox instead.
If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.
Let’s be honest: your test suite is probably lying to you. You’ve got green checkmarks in CI, 80% coverage, and your last deploy still broke the checkout flow on mobile.
The problem isn’t that you’re bad at testing. It’s that test maintenance is a full-time job nobody wants, and the coverage you think you have is mostly happy paths you already tested manually. Meanwhile, your users are the ones discovering the real bugs.
Autonoma takes a different approach. Instead of making you write and maintain test scripts, it runs AI agents that navigate your web and mobile apps like real users: clicking through forms, testing edge cases, handling state transitions, all in parallel across hundreds of browsers and devices.
The best thing? If after 30 days a bug reaches production, we will refund you the money.
An incredible story of someone dived into electronics design with almost zero prior experience. Their goal was ambitious: build an FPGA-based device capable of booting Linux, connecting to a screen and keyboard, and allowing me to write and compile code directly on the machine itself.
Most people who work with PostgreSQL eventually learn two commands for query tuning: EXPLAIN and EXPLAIN ANALYZE. In this post we’ll take a look at a few of those lesser-known options.
When you run PostgreSQL on a high-performance server with a lot of RAM, one of the most overlooked performance tunings is Huge Pages. Understanding and configuring Huge Pages correctly can significantly improve performance, especially for databases with large shared memory requirements.
Anyone who operate Postgres with high write will need to handle and optimize WAL and AutoVacuum. We can defer these job to AI, but it’s better to understand all the knowledge.
Whatever the reason, if you’re a psql command-line user, Ctrl-C is in your muscle memory. So now you’re looking at the words Cancel request sent, followed shortly after by the not-really-an-error message ERROR: cancelling statement due to user request. But what’s going on behind the scenes?
In 2024, the Online Data Stores team at Netflix conducted a comprehensive review of the relational database technologies used across the company, and decide to standardize on Amazon Aurora PostgreSQL as the primary relational database offering for Netflix teams.
Switching from Rust to TypeScript make the code faster. Not because Rust is slow, or TypeScript is fast. But simply the code to serialize/unserialize the object back and forth when passing between both world outweight the performance gain.
Developers have never been shy about disliking certain React APIs. They feel awkward, restrictive, or just plain counterintuitive. But the reality is that the two most complained‑about design choices in React weren’t arbitrary at all — they were early signs of deeper constraints that every UI model eventually runs into
Imagine the ability to inject the JS code, and run it on any webpage whenever you click a bookmark, and it acts on the urrent page? That’s what Bookmarklet is
A difference algorithm module for Go
Get the main content of any page as Markdown.
drop-in replacement for Nokogiri. It’s 4.7x faster at parsing HTML and up to 1352x faster at CSS selectors.
Sandbox your local AI agents so they can read/write only what they need
Running Node apps inside a WebAssembly Sandbox
Pure-Go implementation of JSONata 2.x for high-throughput streaming evaluation. And the story of re-impelment it in Go with AI saves the compnay $500k USD per year
Pluggable linting tool to prevent committing credential.
A Postgres TUI client that utilizes your terminal text editor for inserts & updates
SQL static analyzer for performance, security, compliance and cost. 272 rules. Completely offline. Works in CI pipelines.
A PostgreSQL extension that captures per-query execution telemetry and exports it to ClickHouse in real-time. Unlike pg_stat_statements which aggregates statistics in PostgreSQL, pg_stat_ch exports raw events to ClickHouse where aggregation happens via ClickHouse’s powerful analytical engine.
Go LSP helper library support 3.17 of the LSP specification
2025-12-15 20:19:00
Hi all,
Merry Christmas everyone. It’s the end of years, take sometime off and enjoy the season.
If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.
What’s actually working for engineering teams — and what’s not? Hear from Benjamin Stice (Salesforce VP Engineering), Clinton Herget (Snyk Field CTO), Yonatan Boguslavsky (Port CTO), and Dedy Kredo (Qodo Co-Founder) in this candid panel discussion. Three fast, honest segments: What we’re leaving behind: practices, tools, or org habits that no longer serve the team (and how we’re unwinding them without chaos). What we’re doubling down on: the investments that produced real outcomes in quality, delivery, and developer experience, and how we’re scaling them. What we’re betting on next: the experiments and measured risks we’ll run in 2026 to meet reliability, security, and growth goals. No platitudes. Just real lessons from leaders who’ve steered teams through a year of AI transformation.
One of the most massive AWS incidents transpired on October 20th. The long story short is that the DNS for DynamoDB was impacted for us-east-1, which created a health event for the entire region. It’s the worst incident we’ve seen in a decade. authress shares with us how they maintain a high SLI to match our SLA reliability commitment even when the infrastructure and services we use don’t.
Part 12 of “How to Scale Your Model”, an free ebook that aim to demystify the science of scaling language models: how TPUs (and GPUs) work and how they communicate with each other, how LLMs run on real hardware, and how to parallelize your models during training and inference so they run efficiently at massive scale.
Memory maps are a modern Unix mechanism where you can take a file and make it part of the virtual memory. In Unix context, modern means that it was introduced in the 1980s or later. You have a file, containing data, you mmap it and you’ll get a pointer to where this resides. Now, instead of seeking and reading, you just read from this pointer, adjusting the offset to get to the right data.
The original motivation for the creation of Bloom filters is efficient set membership, using a probabilistic approach to significantly reduce the time and space required to reject items that are not members in a certain set.
It stands for “Authenticated Encryption with Associated Data” but if you are struggling to remember what is it. This post sumarize nicely.
There are many SQL JOINs guides and tutorials, but this one takes a different approach. We try to avoid misleading wording and imagery, and we structure the material in a different way. The goal of this article is to clarify your mental model
The secret to unlocking performance gains often lies not just in what you ask in a query, but in how Postgres finds the answer. The Postgres EXPLAIN system is great for understanding how data is being queried. One of secretes to reading EXPLAIN plans is understanding the type of scan done to retrieve the data. The scan type can be the difference between a lightning-fast response or a slow quey
Addy Osmani is a legendary engineer. In his own words: “When I joined Google ~14 years ago, I thought the job was about writing great code. I was partly right. But the longer I’ve stayed, the more I’ve realized that the engineers who thrive aren’t necessarily the best programmers - they’re the ones who’ve figured out how to navigate everything around the code: the people, the politics, the alignment, the ambiguity.”
WebPerformance Report was designed around that principle. Although its underlying data comes from automated performance tests, the report itself is intentionally high-level. It is structured to help anyone, developers, designers, marketers, and executives, understand what happened, why it matters, and where the opportunities lie. This article walks through the anatomy of a Web Performance Report, explaining each section, why it exists, and what decisions it enables.
To implement accessibility, Chrome has this pipeline DOM mutation -> AXEvent -> Accessibility tree -> OS accessibility API -> Screen reader. But here’s the strange part: Chrome doesn’t have one accessibility tree, it has two. This article traces the full lifecycle of an accessibility event. From the moment the DOM changes, through Blink’s internal systems, through its internal accessibility tree, and finally back out into the BrowserAccessibility tree that screen readers query.
37signals release this kanban style app. A good opportunity to dive into the source and see how DHH write user facing code.
A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.
The simplest way to protect your apps with a login screen.
A character-level language diffusion model trained on Tiny Shakespeare
Minimalist, dependency-free virtual machine sandbox for microcontrollers and other resource-constrained devices. Single C file, no dynamic memory allocations, asynchronous design, pure C99
A cross-platform network monitoring terminal UI tool built with Rust
Lightweight JavaScript library for product tours, highlights, and contextual help to guide users through your product
This project lets you chat with a Large Language Model (LLM) using just your voice, receiving spoken responses in near real-time. Think of it as your own digital conversation partner.
Edit PDF files with Nano Banana
Use mkslides to easily turn markdown files into beautiful slides using the power of Reveal.js!
Enterprise-grade PostgreSQL backup and restore. Beautiful CLI with real-time progress tracking.
powerful management tool for PostgreSQL. You can use it to monitor, optimize or configure multiple PostgreSQL instances.
Interfaces to query ClickHouse databases from PostgreSQL
(Tiny Redis Desktop Manager) - A modern, colorful, super lightweight Redis GUI client for Mac, Windows, and Linux.