October 2025
-
24 Oct 2025π₯Filtering users without a specific association in SQL
-
23 Oct 2025πSubtleties of SQLite indexes
-
22 Oct 2025πThe hidden cost of MySQL defaults in Laravel apps
-
17 Oct 2025π₯Why global scopes in Laravel are a good idea
-
16 Oct 2025πSmall data
-
15 Oct 2025π₯Speeding up large Eloquent IN queries with temporary tables
-
12 Oct 2025πRedis is fast - I'll cache in Postgres
-
11 Oct 2025πWhy I keep business logic out of SQL
September 2025
-
27 Sep 2025πSQL performance improvements: finding the right queries to fix (part 1)
-
26 Sep 2025π₯Making a copy of a MySQL database
-
25 Sep 2025πUUIDv7 comes to PostgreSQL 18
-
24 Sep 2025πUsing select_merge in Ecto for flexible aggregates
-
23 Sep 2025πMasterclass common table expressions CTEs) in SQL: from theory to practice with Elixir Ecto
-
18 Sep 2025π₯Adding an average column to SQL query results with window functions
-
17 Sep 2025πInside ClickHouse full-text search: fast, native, and columnar
-
16 Sep 2025πCan you use ClickHouse for vector search?
-
14 Sep 2025πWhy auto increment is a terrible idea
August 2025
-
31 Aug 2025πWhy I don't use down migrations
-
29 Aug 2025π₯Granting a user privileges on a PostgreSQL database
-
24 Aug 2025πHandling unique indexes on large data in PostgreSQL
-
22 Aug 2025π37 things I learned about information retrieval in two years at a vector database company
-
4 Aug 2025πHow to change a field type in an Ecto embedded schema with a migration
-
3 Aug 2025πThe repository pattern, Ecto, and database-less testing