Gwen (Chen) Shapira
@gwenshap
Co-founder of @niledatabase. Making SaaS global, elastic and chill. Find me at: https://bento.me/gwenshap
I’m starting a new company with few good people and an exciting idea. I appreciate all the support. More updates, summaries, feels, etc will follow. linkedin.com/posts/gwenshap…
I also found "vibe coding" to give the wrong impression. When my 75y/o neighbor (who most recently coded in Fortran) uses V0 to write an app to manage his sailing club finances (rather than Excel)... Somehow "vibe" just sounds like the wrong term.
i wish we'd stop calling it vibe coding that term roughly translates to your head of marketing typing random shit into a chatbot and not really knowing if the output is correct thats not what I do
Reason 527 to write good error messages: It helps the robots.

Everyone uses the same ANN benchmark. It’s standardized. It’s reproducible. But is it still relevant? A few issues I see: 🧱 Fixed workloads There’s no scale parameter. You can’t test how systems behave across different hardware profiles the way TPC does. 📦 Only two phases:…
So today I have to say this again: Saying "Today I have to say this again. Do X. Thank me later" is not actually good advice. Because you learn nothing (Why X?) and you can't know when this advice doesn't apply. Please give explanation with your advice, so we can all learn.
So today I have to say this again: UUIDv7 primary keys are a valid choice. They eliminated the performance problems of random UUIDv4 values. And if you need to shard one day, you can easily move rows to other shards because you won‘t have clashing numerical ids.
So today I have to say this again: Do not use UUID for primary keys!
We just released two papers from AAI describing recent work on our pursuit to build a “super-intelligent" AI that can match, and exceed, human level expertise in STEM. The first paper states that if we want to reach "super intelligence" then we must change the way we train our…
I'm using this combined task list / habit tracker / self-care app. It uses AI to recommend good self-care activities based on my usual habits / tasks. Suggested workout for today: Run benchmarks 🏃♀️
Good place for PostgreSQL hacking outside☀
Heading to the Japan PostgreSQL Developer Meetup!
I wrote this comment almost a decade ago and someone who inherited this code just DMed me to let me know this is still a problem
🧠 Evaluating pgvector performance? Avoid these two mistakes I (almost) made: 1. Copy-pasting your dataset. HNSW silently de-dupes up to 10 identical vectors per index entry. If you copy your 1M-vector dataset 10×, you’re not simulating 10M vectors. Instead, add slight random…
I'd say that your OLTP DB perf (as seen with pgbench) is likely not the issue. BUT. The way your app is using the DB may be. Sure, each query is 10ms. How many queries does a single page load require? I've seen cases where its over 50. Explaining the 600ms page load right…
If you are a startup and your application is slow, your OLTP DB performance is not the problem 99.9% of the time. Perceived latency your user might see : 600-800ms for page load DB query latency : 5-10ms Focus on the right problem to optimize
For (reasons), I'm writing about my experience with NoSQL databases. It made me realize that its been a while since I got all excited about a new tech. Yes, we are building a new database. But we are using tried-and-true patterns that we learned from decades of experience. It…
Got a random marketing email referencing "3M LOC" and it took me a minute to realize that "LOC" refers to "line of credit" and not "lines of code". Not that I want either.
🕵️♂️“kubectl debug” is a Swiss-army knife for investigations. My favorite trick: run pgbench inside the same Pod as Postgres. It eliminates all network noise from the test. Other surprisingly handy moves: kubectl debug -c gdb … → drop a container with gdb, strace, tcpdump —…

Thanks to @bingzzy , its now easy to see which database's free tier is the best fit for an MVP. Such a cool project.
This is exactly why I built freetier.fyi, there's no way to know about all the services and their free tier limits! @niledatabase is now live - freetier.fyi/?q=Nile The #freetier limits are actually insane on @niledatabase 🔥
Sharding sounds like a simple way to scale a database. It is very effective - but there are still ways to do it wrong. For successful sharding, remember two key architecture patterns: - Each shard must be self-contained ("share nothing"). Queries that access multiple shards…
