News for hackers. Stuff that matters.

debba

Re:Nobody Reads the SQL Anymore on Friday July 03, 2026 @04:31AM (#48772444)
Author here, I build a database client so I'm obviously biased toward 'tooling solves this', happy to be challenged on that.
Re: on Wednesday June 03, 2026 @09:40AM (#48383935)
> 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.
Re:GPT-5.5 on Thursday April 23, 2026 @02:51PM (#47879924)
Cannot see it in Codex CLI

Show HN: I got tired of writing Pandas scripts just to JOIN two CSV files

Every few weeks I get 2-3 CSV files and need to run a quick JOIN or aggregation. The options are always the same: fire up pandas, import into SQLite by hand, or use some janky web tool.So I built a plugin for Tabularis (my native DB GUI) that treats a folder of CSV files as a database. Drop your files in, every file becomes a table, column types are inferred automatically, and you get a full...

( Read More... | no comments | on HN )

Show HN: Tabularis – DB GUI where drivers are JSON-RPC executables

I built Tabularis, a database GUI for MySQL/PostgreSQL/SQLite/MariaDB. The interesting bit is the plugin architecture: instead of shipping a monolith with built-in drivers, each database driver is a separate executable. The core process spawns it and communicates via JSON-RPC 2.0 over stdin/stdout. No shared libraries, no ABI concerns, process isolation for free. This means you can...

( Read More... | no comments | on HN )
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_...

Show HN: GitHub Tray for GNOME gets a big update: notifications, Actions, issues

What's new n v9: GitHub Notifications panel — a full accordion UI to browse and manage your notifications directly from the tray GitHub Actions workflow runs — see the status of your CI/CD pipelines at a glance Refresh button — manually refresh notifications without waiting for the next poll Mark as read on open — notifications reload automatically when you open them ...

( Read More... | no comments | on HN )
Re:Ask HN: What Are You Working On? (February 2026) on Monday February 09, 2026 @03:12PM (#46950500)
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.

PostgreSQL introspection is tricky (lessons from building a native client)

I’m building Tabularis, a native database client (Rust + Tauri). MySQL support is in a good place, but PostgreSQL has been much harder to get right — not for performance, but for introspection.Postgres “works”, but once you go beyond basic tables and columns, things get tricky fast.Some gaps I’ve hit so far:- Type system: Arrays, JSON/JSONB, domains, custom types, ranges, geometric types —...

( Read More... | no comments | 2 points | on HN )

Show HN: I built theme support in Tabularis – lightweight DB tool for developers

https://github.com/debba/tabularis

Hi HN, We’ve just added theme support to Tabularis, our lightweight, developer-focused database management tool.It already lets you: • Browse tables and data • Run SQL queries • Create and edit table DDL • Use experimental AI features (query explain / query generation) • Expose configured DB connections via an MCP server for AI toolingWith the new UI customization features, you can now: •...

( Read More... | no comments | on HN )

Thoughts on Database Tooling and UX

Database tooling is in a strange place.On one side, there are powerful, commercial tools that try to be everything at once. They support every engine, every workflow, every edge case. The result is often a heavy application with long startup times, dense UIs, and a constant feeling that you’re navigating a system rather than inspecting data.On the other side, there are lightweight or...

( Read More... | no comments | on HN )

Show HN: Debba.sql – A lightweight SQL manager built with Tauri and Rust

https://github.com/debba/debba.sql

Hi HN,I built debba.sql, a lightweight, cross-platform database manager because I wanted a native, fast tool for quick data edits without the heaviness of Electron-based giants or Java IDEs.The interesting part? This project started as an experiment in vibe coding. I utilized an AI agent to handle the entire scaffolding and heavy lifting of the implementation. We went from an empty directory to...

( Read More... | no comments | 2 points | on HN )

Show HN: FreeMarker Support for Zed Editor

https://github.com/debba/zed-freemarker

I created a Zed extension for Apache FreeMarker templates with tree-sitter-based syntax highlighting. FreeMarker is a Java template engine that's still widely used in enterprise apps, but modern editor support has been lacking. The extension handles both angle bracket and square bracket syntax, mixed HTML content, and all FreeMarker directives through a custom tree-sitter grammar rather than...

( Read More... | no comments | on HN )

Show HN: Storytel-player – unofficial desktop client for Storytel

Hi HN, I’ve been working on a desktop client for Storytel, as there is currently no official app for PC/Mac. I wanted something that felt more "native" than a browser tab and included features like offline listening and system tray integration. The stack: • Frontend: React 18, Tailwind CSS, Vite. • Backend: Fastify (embedded within the app to handle API logic and streaming). • Desktop: Electron...

( Read More... | no comments | on HN )

Storytel Player – unofficial desktop client for Storytel audiobooks

I often listen to audiobooks on Storytel but missed having a proper desktop client. So I built Storytel Player, a lightweight open-source app that lets you stream your Storytel audiobooks directly on your computer.Repo & downloads here:https://github.com/debba/storytel-playerhttps://github.com/debba/storytel-player/releases/tag/v1.0.7Would love feedback and suggestions from the community.

( Read More... | no comments | on HN )
Re:Storytel Desktop Player for Windows on Thursday October 02, 2025 @06:31AM (#45448020)
Re:Storytel Desktop App on Wednesday October 01, 2025 @01:16PM (#45440311)
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!

Show HN: AuthPress – Advanced WordPress 2FA Plugin

https://wordpress.org/plugins/two-factor-login-telegram/

I've been working on AuthPress, a comprehensive two-factor authentication plugin for WordPress that started as a simple Telegram-based 2FA solution and has evolved into a flexible multi-provider authentication system. What makes AuthPress different: • Multiple Auth Providers: Telegram, Email, TOTP (Google Authenticator, Authy, etc.), Recovery codes, plus extensible support for SMS,...

( Read More... | no comments | on HN )
I will check thanks, need to find a solution common for every shell.
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.

Older »