HNHacker News
TopNewBestAskShowJobs

debba

23 karma · joined July 10, 2024

submissionscomments
debba··on Nobody Reads the SQL Anymore
Author here, I build a database client so I'm obviously biased toward 'tooling solves this', happy to be challenged on that.
debba··on [dead]
> Author here. I maintain Tabularis, the open-source client the post is about, so obviously I have a horse in this race. > > The part I'd most like to be challenged on: I claim the account/cloud trend in database clients is a funding-model artifact rather than a user need. The counterargument I keep hearing is that team workspaces and synced query history are genuinely valuable, and we just don't ship them. That's true — we don't, and the post lists what local-first costs us. > > One thing I checked before writing this because I knew someone here would: the only autonomous network call the app makes is the Tauri updater hitting GitHub releases. No telemetry, no crash reporting. The code is on GitHub if you want to verify.
debba··on GPT-5.5
Cannot see it in Codex CLI
debba··on Show HN: Tabularis – Rust/Tauri Database GUI with a JSON-RPC Plugin System
Author here. Happy to answer questions.

The main thing in this release is a plugin system for database drivers. The short version: plugins are standalone executables that Tabularis spawns as child processes and talks to over JSON-RPC 2.0 on stdin/stdout.

I looked at dynamic libraries first but the cross-language ABI story is painful and would have locked plugin authors into Rust (or at least a C-compatible interface). The stdin/stdout approach means you can write a driver in whatever you want — the only contract is the JSON-RPC protocol. It also gives you process isolation for free, which matters when you're dealing with database drivers that can have their own native dependencies and failure modes.

The tradeoff is some serialization overhead per call, but in practice you're always waiting on network or disk anyway, so it hasn't been an issue.

First plugin out is DuckDB. I kept it out of core because of its binary size, but it's the database I get asked about most, so it felt like the right first target.

One thing I'm still thinking through: whether to pull the built-in drivers (MySQL, PostgreSQL, SQLite, MariaDB) out of core entirely and treat them as first-party plugins. It would make the core much leaner and the architecture more consistent, but it adds friction on first install. Currently leaning toward a setup wizard approach. Curious if anyone has dealt with a similar tradeoff.

The plugin guide and protocol spec are in the repo if you want to build one: https://github.com/debba/tabularis/blob/main/plugins/PLUGIN_...

debba··on Ask HN: What are you working on? (February 2026)
https://github.com/debba/tabularis

I’m working on tabularis, a lightweight desktop database management tool designed for developers. It provides a modern interface for managing MySQL/MariaDB, PostgreSQL, and SQLite databases through a native desktop application. Built using Tauri v2 (Rust backend) and React 19 (TypeScript frontend), it offers native performance while maintaining the flexibility of web technologies.

debba··on Storytel Desktop Player for Windows
My project is: https://github.com/debba/storytel-player
debba··on Storytel Desktop App
I built a desktop app for Storytel using Electron and React

Since Storytel doesn't have an official desktop application, I developed one using Electron to fill that gap.

The app provides a native desktop experience for listening to audiobooks and reading ebooks from Storytel on your computer.

Key features:

    Native desktop application for Windows, macOS, and Linux

    Can also be used as a web app

    Built with Electron for cross-platform compatibility
If you're a Storytel user who prefers a dedicated desktop app over the browser, feel free to check it out!
debba··on Ask HN: How to Extract Shell Commands from Raw PTY Sessions? (Rewindtty)
I will check thanks, need to find a solution common for every shell.
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
It records escape sequences verbatim during capture, then handles them intelligently during replay.

Recording phase: All terminal output including ANSI escape codes, color sequences, and cursor movements are captured exactly as they appear - no processing or stripping occurs.

Replay phase: - Decodes various escape formats (\u001b, \033, \x1b) back to actual escape characters - Filters out problematic terminal query sequences that could cause artifacts - Preserves visual escape sequences (colors, cursor positioning) for faithful reproduction

So yes, escape sequences are recorded verbatim, but the replayer ntelligently processes them to recreate the original terminal experience while avoiding terminal corruption.

debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
Not for now. That's a side project and it is really new and still a bit rough around the edges; it’s only a few days old. I’ll do it soon, meanwhile if you want to contribute you’re welcome :)
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
sorry, in the last reply I told you 'yes, exactly'. I meant It has the same features as ttyrec with JSON output
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
It's not related to asciinema, it's a totally different project. Asciinema is a much more complex and structured project than mine; mine is the result of a few hours of free time—I was looking for a lighter solution.
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
Ouch sorry, I thought you meant 'it has the same features as ttyrec with JSON output.' Regarding the issue, I need to go into a bit more detail; if you like, feel free to make a PR on GitHub.
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
yes exactly
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
Yeah, it’s just a side project for now, but I’m hoping to make it more solid over time. As for C, I wanted to challenge myself and step away from what I usually do — try something a bit different.
debba··on Show HN: Rewindtty – Record and replay terminal sessions as structured JSON
Hi HN,

I built rewindtty, a small tool in C that lets you record a terminal session and later replay it, using a simple JSON log format that includes:

- timestamp - command (user input) - output (stdout) - stderr

It works like this:

- rewindtty record session.json # Runs a shell, records the session - rewindtty replay session.json # Replays it step by step

Under the hood:

- Uses fork() to manage the pseudo-terminal - Captures stdout/stderr with timestamps - Stores everything in structured JSON for easy analysis, replay or transformation

Why I made this: I wanted a minimal tool to track terminal interactions — for debugging, documentation, and reproducibility — without relying on heavier tools or external formats.

It’s still early, but the core works and I’d love feedback or suggestions.

GitHub: https://github.com/debba/rewindtty