The Curious Engineer

All blogs / Databases

malisper.me

malisper.me

DatabasesRustLisp / Clojure / SchemePerformance / optimization

’15’16’17’18’19’20’21’22’23’24’25’26
Posts
93 from 30 May 2015 to 29 Oct 2026
Posting
monthly (9 in the last year)
Kind
personal blog
Feed
https://malisper.me/feed/

2026 9

  1. Programming at Light Speed: Building the Gravity Query Engine
  2. pgrust v0.4-beta: Gravity, Columnar Indexes, Automatic Memory, and Developing in the Open
  3. JIT Compiling Code in 5μs
  4. Rebuilding Postgres for 300x faster analytics: batching, operator fusion, and SIMD
  5. Postgres in Rust: three dead ends before we passed 100% of the regression suite
  6. pgrust passes 100% of the Postgres regression tests
  7. The four horsemen behind thousands of Postgres outages
  8. pgrust update: at 67% Postgres compatibility, and accelerating
  9. pgrust: Rebuilding Postgres in Rust with AI

2020 3

  1. Simple Rules for Building Simple Systems
  2. An Algorithm for Passing Programming Interviews
  3. Tools in My Toolbox

2019 8

  1. Advent of Code: Day 3
  2. Advent of Code: Day 2
  3. Advent of Code: Day 1
  4. Generating Fractals with Postgres: Self-Similar Fractals
  5. Generating Fractals with Postgres: Escape-Time Fractals
  6. Generating Fractals with SQL Queries
  7. Perfalytics is now Generally Available
  8. Milestones

2018 9

  1. My Starting Point
  2. Attempting a Bootstrapped Business
  3. Announcing Perfalytics: Never Run EXPLAIN ANALYZE Again
  4. Recording Footage of Myself Investigating a Performance Issue
  5. Tool Write Up – Hadoop
  6. Book Write Up – Debugging Chapters 5 and 6
  7. Paper Write Up – A Critique of the CAP Theorem
  8. My Approach to Getting Dramatically Better as a Programmer
  9. Postgres Backups with Continuous Archiving

2017 39

  1. There is More to Programming Than Programming Languages
  2. How to Get a Programming Job Straight Out of High School
  3. How to Improve Your Productivity as a Working Programmer
  4. Time for An Intermission
  5. Postgres JSONB
  6. track_io_timing
  7. Avoiding Torn Pages
  8. Postgres TOAST
  9. The File Layout of Postgres Tables
  10. How to Write a Postgres SQL UDF
  11. Postgres Upserts
  12. Postgres Transaction Isolation Levels
  13. Postgres Row Level Locks
  14. Postgres Transactions Aren’t Fully Isolated
  15. Postgres Window Functions
  16. SELECT DISTINCT ON … ORDER BY
  17. The Missing Postgres Scan: The Loose Index Scan
  18. Postgres Lateral Joins
  19. Understanding Postgres Recursive CTEs
  20. Postgres CTEs
  21. Postgres Heap Only Tuples
  22. Postgres Vacuum Full
  23. Transaction Id Wraparound in Postgres
  24. The Postgres Vacuum
  25. Postgres WAL
  26. The Postgres Commit Log
  27. Postgres MVCC
  28. Transactions in Postgres
  29. Speeding up Postgres Index Scans with Index-Only Scans
  30. How Postgres Plans Queries
  31. explain.despez.com
  32. Using Explain Analyze in Postgres
  33. Using Explain in Postgres
  34. Postgres Merge Joins
  35. Postgres Hash Joins
  36. Postgres Nested Loop Joins
  37. Postgres Bitmap Scans
  38. Postgres Index Scans
  39. Postgres Sequential Scans

2016 4

  1. Building Fizzbuzz in Fractran from the Bottom Up
  2. How to Generate Self-Referential Programs
  3. Loops in Lisp Part 4: Series
  4. Loops in Lisp Part 3: Iterate

2015 21

  1. Loops in Lisp Part 2: Loop
  2. Loops in Lisp Part 1: Goto
  3. Defmemo
  4. Or=
  5. Zap
  6. Getting Places
  7. Defasm
  8. Defaddress
  9. Debugging Lisp Part 5: Miscellaneous
  10. Debugging Lisp Part 4: Restarts
  11. Debugging Lisp Part 3: Redefining Classes
  12. Debugging Lisp Part 2: Inspecting
  13. Debugging Lisp Part 1: Recompilation
  14. Multiple-value-bind
  15. Hofeach
  16. Mapeach
  17. Cl who
  18. Once-only
  19. Automatically Binding Gensyms
  20. Efficiently Building Lists
  21. The Ret Macro