A parser, formatter, validator, and language server for SQLite SQL. Built on SQLite's own grammar and tokenizer - LalitMaganti/syntaqlite
A parser, formatter, validator, and language server for SQLite SQL. Built on SQLite's own grammar and tokenizer - LalitMaganti/syntaqlite
I've recently read an article criticizing Rust, and, while it made a bunch of good points, I didn't enjoy it --- it was an easy to argue with piece. In general, I feel that I can't recommend an article criticizing Rust. This is a shame --- confronting drawbacks is important, and debunking low effort/miss informed attempts at critique sadly inoculates against actually good arguments.
A framework for writing fast and performant SQLite extensions in Rust - asg017/sqlite-loadable-rs
This post is an attempt to capture a general description of a simple testing technique I have encountered in a few guises — and “Interruption testing” is my attempt to give it a name. Interruption testing is useful when: You have a (deterministic) procedure that is comprised of a series of steps. (A prerequsite is that you have a way to inject code to interrupt the procedure at any point, and a way to isolate the component being tested so that you can run it repeatedly.) You want to ensure that, no matter where in the sequence of steps that the procedure is interrupted, you can successfully “recover” (with exact meaning dependent on the scenario) from the interruption. The TL;DR general testing procedure is:
Some of the interesting and insane facts I learned about SQLite
You are using it everyday without realizing it.
Software used to ship. Then the disc disappeared, methodology filled the gap, and
On Second Thought Episode 06. Dijkstra 1968 introduced disciplined layering to contain complexity. Parnas 1972 named it Information Hiding. Lehman 1974 warned that complexity rises unless explicit work is done to reduce it. Karlton observed that there are two hard things in computer science, and we made one of them our default architectural pattern. SQLite, awk and pf are the proof that reduction is possible. The plaster is cheap. The wound is not.
D. Richard Hipp did not forget to add concurrent writes to SQLite. He chose not to. The trade-off bought him everything else. One file. Zero configuration. The most deployed software module in history.
Learn how to combine the Integrant component library with the Aero configuration library for dynamic components
The lightweight, fault-tolerant database built on SQLite. Designed to keep your data highly available with minimal effort. - antithesishq/rqlite-demo
SQLite is a "self-contained, serverless, zero-configuration, transactional SQL database engine". However, it doesn't come with replication built in, so if you want to store mission-critical data in it, you better back it up. The usual approach is to continually copy the SQLite file on every change. I wanted SQLite, I wanted it distributed, and I…
Go bindings to SQLite using wasm2go. Contribute to ncruces/go-sqlite3 development by creating an account on GitHub.
This PR adds a way to run SQLite's TCL test harness against a custom sqlite-vfs based VFS. ⚠️ WIP: Get all the following test files green (1231/1238; 7 remaining) ext/expert/expert1.test ex...
Learn how to use PostgreSQL with the Go programming language using the pgx driver and toolkit in a very productive manner. Furthermore, with the provided source code, you'll be able to learn how to write efficient and sound unit and integration tests, ready to be run locally or on a Continuous Integration environment, such as GitHub Actions.
The title is a lie I also show how to use SQLite.
A few ideas I tried. Including flamegraphs, fast HTTP routing, and infinite chess.
Before I moved to Finland, I spent some time in the Hobbesian war of all against all that is Wisconsin1. Men were men back in that less civilized age, and “cybersecurity” a ninny-word dreamt up by social harmony types who honestly thought they had anything worth stealing in their servers. For those of us doing real work, which I must emphasize you should never do, we had Expect. And to SSH automatically into servers where we didn’t have fancy accoutrements like “keys” or “audit requirements”, we did stuff like
McKinsey recently published an article claiming they can measure developer productivity. This has provoked something of a backlash from some prominent software people, but I have not seen anyone engage with the content of the article itself, so I thought this would be useful. I am writing this as though the authors have approached me for a technical review of their article. You can think of it as an open letter.
McDonald’s is objectively delicious. Kids don’t clamor for quarter pounders, fries, and shakes because they’re cheap or convenient. They demand it because it’s the end resul…
An engineer at Cloudflare rewrote most of Vercel’s Next.js in one week with AI agents. It looks like a sign of how AI will disrupt existing moats and business models. Analysis
I put my pants on just like the rest of you -- one leg at a time. Except, once my pants are on, I make Free Software.
I’ve been a day-to-day Rust user for nearly 5 years now. In that time I’ve perpetually felt like Rust is “the language that will be awesome tomorrow”. Rust has always felt like it had so much promise and potential, but if you actually sat down and... | Tony Arcieri | Hi there. These days I dabble in Rust and cryptography, but in the past made the Celluloid actor framework for Ruby and the Reia programming language
Simple Lists is a tiny to-do list web application written in Go, with old school server-side rendering and no JavaScript.
And what it says about the limits of AI-generated software
A vision for the "small web", small software, and small architectures.
Some of the interesting and insane facts I learned about SQLite
One of the simplest tests you can run on a database:
Future software should be memory safe, but secure code is about a lot more than memory safety.
Quite a while ago I came across the SQLite testing page and was impressed (and since then it’s gotten even better). They’ve clearly invested a lot in it, and I think SQLite’s ubiq…
Alternative titles: Unit Tests are a Scam Test Features, Not Code Data Driven Integrated Tests
Most SQL tools treat SQLite as a “flavor” of a generic SQL parser. They approximate the language, which means they break on SQLite-exclusive features like virtual tables, miss syntax like UPSERT, and ignore the 22 compile-time flags that change the syntax SQLite accepts. So I built syntaqlite: an open-source parser, formatter, validator, and LSP built directly on SQLite’s own Lemon-generated grammar. It sees SQL exactly how SQLite sees it, no matter which version of SQLite you’re using or which feature flags you compiled with. It ships as a CLI, VS Code extension, Claude Code LSP plugin, and C/Rust libraries. There’s also a web playground which you can try now: paste any SQLite SQL and see parsing, formatting, and validation live in the browser, no install needed. Full documentation is available here. Here’s syntaqlite in action: Formatting with the CLI > syntaqlite fmt -e "select u.name,u.email,count(e.id) as events from users u join events e on e.user_id=u.id where u.signed_up_at>=date('now','-30 days') group by u.name,u.email having count(e.id)>10 order by events desc" SELECT u.name, u.email, count(e.id) AS events FROM users AS u JOIN events AS e ON e.user_id = u.id WHERE u.signed_up_at >= date('now', '-30 days') GROUP BY u.name, u.email HAVING count(e.id) > 10 ORDER BY events DESC; Validation with the CLI
A parser, formatter, validator, and language server for SQLite SQL. Built on SQLite's own grammar and tokenizer - LalitMaganti/syntaqlite
The lightweight, fault-tolerant database built on SQLite. Designed to keep your data highly available with minimal effort. - rqlite/rqlite
Do we still need libraries of 3rd party code when AI agents are this good?
Developers of database management systems are, by necessity, concerned about getting data safel [...]
Ben Johnson has joined Fly.io
Despite an exponential increase in computing power, our applications require more machines than ever because of architectural decisions made 25 years ago. You can eliminate much of your complexity and cost by using SQLite & Litestream for your production applications.