56,966 blogs · [ { "id": "01a08789-5aec-7378-88e2-9e565cd95225", "title": "Building an Embedded Multiplatform SQL Database with AI", "url": "https://www.jackchristensen.com/2026/07/11/building-an-embedded-multiplatform-sql-database-with-ai.html", "published_at": "2026-07-11T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e565dd88b36", "title": "MacBook Pro with Colima vs. Remote Linux for Devcontainers", "url": "https://www.jackchristensen.com/2026/05/07/macbook-pro-with-colima-vs-remote-linux-for-devcontainers.html", "published_at": "2026-05-07T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e565df7b336", "title": "Improving SQL Tests with Doppelgänger and Canary Data", "url": "https://www.jackchristensen.com/2020/09/26/improving-sql-tests-with-doppelganger-and-canary-data.html", "published_at": "2020-09-26T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e565e8e2af5", "title": "Sharpening the Axe is Doubly Important In Software Development", "url": "https://www.jackchristensen.com/2020/08/01/sharpening-the-axe.html", "published_at": "2020-08-01T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e565f8b8795", "title": "When To Use PostgreSQL Enums", "url": "https://www.jackchristensen.com/2020/04/18/when-to-use-postgresql-enums.html", "published_at": "2020-04-18T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e565fa7eecd", "title": "The Context Overridable Global Pattern in Go", "url": "https://www.jackchristensen.com/2020/04/11/the-context-overridable-global-pattern-in-go.html", "published_at": "2020-04-11T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e56605d7ac5", "title": "Simple Enums in Ruby with the meta_enum Gem", "url": "https://www.jackchristensen.com/2018/02/04/simple-enums-in-ruby-with-meta-enum.html", "published_at": "2018-02-04T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5660fbec13", "title": "Simple PostgreSQL Upgrades in Development", "url": "https://www.jackchristensen.com/2017/08/08/simple-postgresql-upgrades-in-development.html", "published_at": "2017-08-08T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5661012c07", "title": "Development of a Simple Command Line Websocket Client", "url": "https://www.jackchristensen.com/2016/09/08/development-of-a-simple-command-line-websocket-client.html", "published_at": "2016-09-08T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e56610c7c9c", "title": "Modeling Polymorphic Associations in a Relational Database", "url": "https://www.jackchristensen.com/2016/07/07/modeling-polymorphic-associations-in-a-relational-database.html", "published_at": "2016-07-07T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5661cbeea9", "title": "Custom Aggregates in PostgreSQL", "url": "https://www.jackchristensen.com/2016/02/15/custom-aggregates-in-postgresql.html", "published_at": "2016-02-15T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e56620261ed", "title": "Switch vs. Map: Which is the Better Way to Branch in Go?", "url": "https://www.jackchristensen.com/2015/12/28/switch-vs-map-which-is-the-better-way-to-branch-in-go.html", "published_at": "2015-12-28T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5662676a94", "title": "Materialized View Strategies Using PostgreSQL", "url": "https://www.jackchristensen.com/2015/04/23/materialized-view-strategies-using-postgresql.html", "published_at": "2015-04-23T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5663000f8c", "title": "About", "url": "https://www.jackchristensen.com/page/about.html", "published_at": "2015-04-03T02:13:50+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e566324851f", "title": "Contact", "url": "https://www.jackchristensen.com/page/contact.html", "published_at": "2015-04-03T02:13:50+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e566350e9f0", "title": "16 Tips from the 2014 Winter Miniconf", "url": "https://www.jackchristensen.com/2014/12/18/16-tips-from-the-2014-winter-miniconf.html", "published_at": "2014-12-18T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e56637603dc", "title": "React2FS - React to File System Changes", "url": "https://www.jackchristensen.com/2014/10/04/react2fs-react-to-file-system-changes.html", "published_at": "2014-10-04T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5663c2316f", "title": "Go Performance Observations", "url": "https://www.jackchristensen.com/2014/08/07/go-performance-observations.html", "published_at": "2014-08-07T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e5663ebf45a", "title": "Tern 1.0.0 Released", "url": "https://www.jackchristensen.com/2014/04/19/tern-1-0-0-released.html", "published_at": "2014-04-19T00:00:00+00:00" }, { "id": "01a08789-5aec-7378-88e2-9e56640fc609", "title": "Writable Common Table Expressions", "url": "https://www.jackchristensen.com/2013/08/18/writable-common-table-expressions.html", "published_at": "2013-08-18T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f9679f1306e2", "title": "Surus 0.4.0 Released", "url": "https://www.jackchristensen.com/2013/02/22/surus-0-4-0-released.html", "published_at": "2013-02-22T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f9679f2e96d3", "title": "Faster JSON Generation with PostgreSQL", "url": "https://www.jackchristensen.com/2013/01/29/faster-json-generation-with-postgresql.html", "published_at": "2013-01-29T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f9679fd5560e", "title": "Text Tunnel - Remote Text Editing", "url": "https://www.jackchristensen.com/2012/08/25/text-tunnel-remote-text-editing.html", "published_at": "2012-08-25T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a083a364", "title": "Surus - PostgreSQL Acceleration for ActiveRecord", "url": "https://www.jackchristensen.com/2012/02/16/surus-postgresql-extensions-for-active-record.html", "published_at": "2012-02-16T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a14c1303", "title": "tern - The SQL Fan's Migrator", "url": "https://www.jackchristensen.com/2011/02/07/tern-the-sql-fans-migrator.html", "published_at": "2011-02-07T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a220cf6c", "title": "tod - Time of Day for Ruby", "url": "https://www.jackchristensen.com/2010/11/29/tod-time-of-day-for-ruby.html", "published_at": "2010-11-29T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a2919eaf", "title": "assert_db_rejects - Test database constraints in Ruby on Rails", "url": "https://www.jackchristensen.com/2009/11/14/assert-db-rejects-new-rails-test-plugin.html", "published_at": "2009-11-14T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a2a7ec3b", "title": "Solving a Math Puzzle with Ruby", "url": "https://www.jackchristensen.com/2009/08/08/solving-a-math-puzzle-with-ruby.html", "published_at": "2009-08-08T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a384c513", "title": "Linksys WRT54G2 Connection Problems Solved by DD-WRT", "url": "https://www.jackchristensen.com/2009/07/11/linksys-wrt54g2-connection-problems-solved-by-dd-wrt.html", "published_at": "2009-07-11T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a44b5bd1", "title": "Selenium Broken by Firefox Upgrade on Ubuntu", "url": "https://www.jackchristensen.com/2009/06/22/selenium-broken-by-firefox-upgrade-on-ubuntu.html", "published_at": "2009-06-22T00:00:00+00:00" }, { "id": "01a08789-5aed-7221-a3dc-f967a4f8ee02", "title": "Ruby 1.9 Development with Windows, VirtualBox, and Ubuntu", "url": "https://www.jackchristensen.com/2009/06/20/ruby-19-on-windows-7-virtualbox-and-ubuntu.html", "published_at": "2009-06-20T00:00:00+00:00" } ] posts Claim your blog
Back to jackchristensen.com
Blog · corpus.blog/blogs/jackchristensen.com/posts

jackchristensen.com

jackchristensen.com

2026

2020

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009