Appears on
Articles12
Building a RAG application with Llama 3.1 and pgvector
The AI wars have begun. Not the one where the machines enslave us and use our body heat to power their compute–that’s at least 18 months off. 🙂 No, this AI war is between the tech giants and between closed, proprietary models and open source. In one corner, we have OpenAI, suppo...
Deno 2.0 Is Here, and It’s Scaly
Deno is now six years old. Built by Node.js creator Ryan Dahl to address what he saw as the mistakes of Node, the motivation behind Deno was simple. Node.js was too complex, too insecure, and had drifted away from JavaScript in how it worked. Deno would align with ECMAScript and...
Wtf are jwts?
We recently launched Neon RLS to simplify Postgres authorization with row-level security. If you’ve been reading our posts, tutorials, or READMEs on the subject, you’ll have come across three little letters: JWT. This whole world seems to run on JWTs–so what are they? JWTs, or JS...
Let Your AWS Lambdas Survive Thousands of Connections
AWS Lambda is pretty awesome. Serverless “Functions as a Service” where you can deploy code without worrying about servers, scaling, or infra. Well, that’s the dream. The reality can be a bit nearer earth, especially when Lambda bumps up against other services, say databases. Thi...
Test Your Database Without Mocks
Mocks for databases are extremely brittle and complicated. – javcasas Mocks in general are rarely worth it, the DB ones: 10x so. – pdimitar Was dealing with mocking voodoo garbage this morning as a result of fixing a bug. What a horrible mess just to claim a few lines of “test co...
From XAMPP to Ephemeral Postgres: Where “Works on My Machine” Has Led Us
“It works on my machine” is now a trope—a horror story to tell young developers (or AI coding models) about what it was like to build without today’s stack. Like all clichés, it was once true. Hodgepodge local installs, no containers, and massive environment drift were challenges...
Prompt Engineering as a Developer Discipline
AI is here. That might seem like a trite comment, but almost a quarter of developers still see AI as something they don’t plan to use: But ‘using AI’ doesn’t necessarily mean vibe coding your application into oblivion. Using AI as a developer means two things: The key to the seco...
Treat AI Like a Senior Dev, Not a Junior One
Most developers approach AI coding with the wrong mental model. The tendency, exacerbated by the vibe coding trend, is to let AI take the wheel. “Build me a UI using Tailwind that lets users see their account info” is an example initial request, followed by more and more short (a...
The 3 Levels of Debugging With AI
Nothing works first time: if you are coding, you are debugging. This used to mean console.log(), print statements scattered like breadcrumbs, and hours spent staring at stacktraces trying to decipher what went wrong and where. No longer. Now, errors are chucked into Claude to dec...
Handling Protected Health Information Under HIPAA: Best Practices for Developers
You’re building a healthtech app. Maybe you’ve decided to take on the insane complexity of electronic health records, or maybe you’re building an app for doctors to communicate with patients, or perhaps you’re creating a platform for managing clinical trials. Whatever your specif...
How to fix missing table errors in pg_cron
“Timing is everything.” Some say that’s a quote from Shakespeare, but imho, the true bards of time are the 52 contributors to the pg_cron extension. The concept being pg_cron is simple: run scheduled jobs directly within Postgres using familiar cron syntax. The simplicity belies...
Postgres as Your Platform: Building Event-Driven Systems with Schema Changes
For years, we’ve built elaborate scaffolding around our databases: message queues to broadcast changes, cron jobs to sync schemas, webhooks to notify downstream systems. We needed this scaffolding because Postgres was “just” a database, a place to store rows and run queries. The...
