56,966 blogs · [ { "id": "01a08799-f163-7232-8400-55041aa021a1", "title": "Limiting the number of turns in agent loops through manual caching", "url": "https://leosimons.com/2026/08/20/limiting-the-number-of-turns-in-agent-loops-through-manual-caching/", "published_at": "2026-08-20T06:49:54+00:00" }, { "id": "01a08799-f163-7232-8400-55041afb87a3", "title": "My new agent skill: /setup", "url": "https://leosimons.com/2026/08/11/my-new-agent-skill-setup/", "published_at": "2026-08-11T17:46:23+00:00" }, { "id": "01a08799-f163-7232-8400-55041b584462", "title": "Fact-based modelling and LinkML", "url": "https://leosimons.com/2026/07/26/fact-based-modelling-and-linkml/", "published_at": "2026-07-26T11:49:38+00:00" }, { "id": "01a08799-f163-7232-8400-55041bee086a", "title": "Anthropomorphizing my agent", "url": "https://leosimons.com/2026/02/01/anthropomorphizing-my-agent/", "published_at": "2026-02-01T21:19:30+00:00" }, { "id": "01a08799-f163-7232-8400-55041c71e6a1", "title": "Understanding Yegge’s Gas Town", "url": "https://leosimons.com/2026/01/02/understanding-yegges-gas-town/", "published_at": "2026-01-02T14:29:07+00:00" }, { "id": "01a08799-f163-7232-8400-55041d108ce1", "title": "AI demands Literate Programming", "url": "https://leosimons.com/2025/10/20/ai-demands-literate-programming/", "published_at": "2025-10-20T07:26:25+00:00" }, { "id": "01a08799-f163-7232-8400-55041d6f28f0", "title": "Caseum: my lightweight approach to software architecture", "url": "https://leosimons.com/2023/11/02/caseum-my-lightweight-approach-to-software-architecture/", "published_at": "2023-11-02T11:02:29+00:00" }, { "id": "01a08799-f163-7232-8400-55041e5d7182", "title": "Abstract Career Framework for Engineering", "url": "https://leosimons.com/2023/04/03/abstract-career-framework-for-engineering/", "published_at": "2023-04-03T17:02:03+00:00" }, { "id": "01a08799-f163-7232-8400-55041eb5549e", "title": "Salary setup for Dutch developers", "url": "https://leosimons.com/2022/02/25/salary-setup-for-dutch-developers/", "published_at": "2022-02-25T14:27:45+00:00" }, { "id": "01a08799-f163-7232-8400-55041f7adf60", "title": "Rising developer salaries in Amsterdam", "url": "https://leosimons.com/2022/02/24/rising-developer-salaries-in-amsterdam/", "published_at": "2022-02-24T08:12:22+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5ace33edf", "title": "Think and say “I don’t know”", "url": "https://leosimons.com/2021/12/17/think-and-say-i-dont-know/", "published_at": "2021-12-17T07:50:05+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5add9c70e", "title": "The philosophy of inconsequentialism", "url": "https://leosimons.com/2021/11/22/the-philosophy-of-inconsequentialism/", "published_at": "2021-11-22T16:43:03+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5ae6e6696", "title": "Writing one line shell scripts with bash", "url": "https://leosimons.com/2012/04/10/bash-magic/", "published_at": "2012-04-10T10:57:09+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5aea7e212", "title": "Oracle starts at $87/year or $0.020/hour", "url": "https://leosimons.com/2011/06/07/oracle-is-cheap/", "published_at": "2011-06-07T15:00:29+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5af84149a", "title": "Creating a minimal Ubuntu Server VM", "url": "https://leosimons.com/2011/06/06/creating-a-minimal-ubuntu-server-vm/", "published_at": "2011-06-06T15:00:25+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5afa9f26e", "title": "Installing spacewalk", "url": "https://leosimons.com/2011/06/05/installing-spacewalk/", "published_at": "2011-06-05T15:00:53+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5b08c7340", "title": "Creating a minimal CentOS VM using VMWare Fusion on Mac OS X", "url": "https://leosimons.com/2011/06/03/creating-a-minimal-centos-vm/", "published_at": "2011-06-03T15:00:10+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5b0b946cc", "title": "Using libvirt with VMWare Fusion on Mac OS X", "url": "https://leosimons.com/2011/06/02/libvirt-vmware-fusion-mac-os-x/", "published_at": "2011-06-02T15:00:32+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5b19fb51c", "title": "Installing VMWare Studio on VMware Fusion on Mac OS X", "url": "https://leosimons.com/2011/05/30/vmware-studio-fusion-mac-os-x/", "published_at": "2011-05-30T15:00:29+00:00" }, { "id": "01a0bb4c-9220-7356-aff2-81b5b27c384f", "title": "Getting started with vagrant on Mac OS X", "url": "https://leosimons.com/2011/05/26/vagrant-mac-os-x/", "published_at": "2011-05-26T21:53:34+00:00" }, { "id": "01a0bb57-ab16-71f0-95fa-f801c48ed5a5", "title": "stripping illegal characters out of xml in python", "url": "https://leosimons.com/2011/03/17/stripping-illegal-characters-out-of-xml-in-python/", "published_at": "2011-03-17T16:55:34+00:00" }, { "id": "01a0bb57-ab16-71f0-95fa-f801c50f0aaf", "title": "Setting up vmware fusion, puppet and gitolite", "url": "https://leosimons.com/2011/01/04/fusion-puppet-gitolite/", "published_at": "2011-01-04T14:42:45+00:00" }, { "id": "01a0bb57-ab16-71f0-95fa-f801c58fdd8a", "title": "PowerDNS 29.2.22 on Mac OS X 10.5.8", "url": "https://leosimons.com/2010/03/15/powerdns-29-2-22-on-mac-os-x-10-5-8/", "published_at": "2010-03-15T14:37:48+00:00" }, { "id": "01a0bb57-ab16-71f0-95fa-f801c5d41ca2", "title": "Using long-lived stable branches", "url": "https://leosimons.com/2010/02/19/using-long-lived-stable-branches/", "published_at": "2010-02-19T15:00:12+00:00" }, { "id": "01a0bb57-ab16-71f0-95fa-f801c6724077", "title": "PUT *heart* MySQL", "url": "https://leosimons.com/2010/02/04/put-heart-mysql/", "published_at": "2010-02-04T20:30:08+00:00" }, { "id": "01a0bb57-ab16-71f0-95fa-f801c6d11882", "title": "Forward references for RESTful resource collections", "url": "https://leosimons.com/2010/02/04/forward-references-for-restful-resource-collections/", "published_at": "2010-02-04T12:54:27+00:00" }, { "id": "01a0bb57-ab17-7295-aee0-b139592d039c", "title": "On the JDBC API incompatibility in Java 6 / JDBC 4.0", "url": "https://leosimons.com/2009/12/05/jdbc-api-incompatibility/", "published_at": "2009-12-05T17:33:33+00:00" }, { "id": "01a0bb57-ab17-7295-aee0-b139595c0c84", "title": "Capacity planning for the network", "url": "https://leosimons.com/2009/11/24/capacity-planning-for-the-network/", "published_at": "2009-11-24T13:01:54+00:00" }, { "id": "01a0bb57-ab17-7295-aee0-b13959e60509", "title": "Web application platform technology choices", "url": "https://leosimons.com/2009/11/12/web-platform-tech-choices/", "published_at": "2009-11-12T22:32:38+00:00" }, { "id": "01a0bb57-ab17-7295-aee0-b1395a5a6249", "title": "Bootstrapping a web application platform", "url": "https://leosimons.com/2009/11/09/bootstrapping-web-platform/", "published_at": "2009-11-09T08:00:11+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a34e6bb7", "title": "The web application platform challenge", "url": "https://leosimons.com/2009/11/08/the-web-application-platform-challenge/", "published_at": "2009-11-08T19:20:59+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a3f93d18", "title": "Improving accessibility of this blog", "url": "https://leosimons.com/2009/10/18/improving-accessibility/", "published_at": "2009-10-18T12:59:34+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a4a99a3f", "title": "First look at open source IntelliJ", "url": "https://leosimons.com/2009/10/16/open-source-intellij/", "published_at": "2009-10-16T16:16:21+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a55d06d5", "title": "java 1.6 exposes the system load average", "url": "https://leosimons.com/2009/10/15/java-load-average/", "published_at": "2009-10-15T16:30:49+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a5a6e565", "title": "You don’t know and you don’t understand", "url": "https://leosimons.com/2009/10/10/you-dont-know-and-you-dont-understand/", "published_at": "2009-10-10T14:23:28+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a6864ee3", "title": "[RT] MyCouch", "url": "https://leosimons.com/2009/10/07/rt-mycouch/", "published_at": "2009-10-06T23:40:33+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a783086e", "title": "The headache of mapping shards to servers", "url": "https://leosimons.com/2009/10/01/the-headache-of-mapping-shards-to-servers/", "published_at": "2009-10-01T20:48:34+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a79dbbd2", "title": "Making Large-scale CSRF protection performant and efficient", "url": "https://leosimons.com/2009/09/20/large-scale-csrf/", "published_at": "2009-09-20T15:04:18+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a8558905", "title": "instanceof vs ClassCastException performance, which is faster?", "url": "https://leosimons.com/2009/07/20/instanceof-vs-classcastexception-performance-which-is-faster/", "published_at": "2009-07-20T17:56:47+00:00" }, { "id": "01a0bb5f-c258-7016-b86b-9ef3a892625a", "title": "Google AppEngine for java, first impressions", "url": "https://leosimons.com/2009/04/08/google-appengine-for-java-first-impressions/", "published_at": "2009-04-08T12:49:42+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb811518bb8d", "title": "Install CouchDB on Mac OS X (without using DarwinPorts)", "url": "https://leosimons.com/2009/03/29/install-couchdb-on-mac-os-x/", "published_at": "2009-03-29T15:51:22+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb81156ab275", "title": "History/audit tables using MySQL triggers", "url": "https://leosimons.com/2009/03/22/historyaudit-tables-using-mysql-triggers/", "published_at": "2009-03-22T20:23:17+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb8115c14d58", "title": "A short url-safe identifier scheme", "url": "https://leosimons.com/2009/03/22/short-identifier-scheme/", "published_at": "2009-03-22T13:34:19+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb8115ff1982", "title": "Diving into ruby on rails part 2", "url": "https://leosimons.com/2009/03/21/diving-into-rails-pt2/", "published_at": "2009-03-21T16:09:14+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb81169e76d2", "title": "Diving (back) into ruby on rails", "url": "https://leosimons.com/2009/03/21/diving-into-ruby-on-rails/", "published_at": "2009-03-21T10:49:04+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb811765c8ef", "title": "Getting a feel for the cost of using mysql with WSGI", "url": "https://leosimons.com/2009/03/15/getting-a-feel-for-the-cost-of-using-mysql-with-wsgi/", "published_at": "2009-03-15T21:10:19+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb81176b5d38", "title": "Getting a feel for the performance of mod_wsgi", "url": "https://leosimons.com/2009/03/15/getting-a-feel-for-the-performance-of-mod_wsgi/", "published_at": "2009-03-15T17:18:11+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb81186063f6", "title": "Google AppEngine investigations – various links", "url": "https://leosimons.com/2009/03/01/google-appengine-investigations-various-links/", "published_at": "2009-03-01T22:48:18+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb8118a48399", "title": "Cloud computing – comparing Google AppEngine and Amazon Web Services", "url": "https://leosimons.com/2009/03/01/cloud-computing-comparing-google-appengine-and-amazon-web-services/", "published_at": "2009-03-01T16:33:09+00:00" }, { "id": "01a0bb65-2598-703f-83f2-cb811962882f", "title": "how to install python MySQLdb on mac os x 10.5 (leopard)", "url": "https://leosimons.com/2008/08/31/how-to-install-python-mysqldb-on-mac-os-x-105-leopard/", "published_at": "2008-08-31T10:40:36+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456ac9b3f1", "title": "how to install lxml python module on mac os 10.5 (leopard)", "url": "https://leosimons.com/2008/08/31/how-to-install-lxml-python-module-on-mac-os-105-leopard/", "published_at": "2008-08-31T10:38:52+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456b0d9163", "title": "Open source product-centric business model", "url": "https://leosimons.com/2008/08/01/open-source-product-centric-business-model/", "published_at": "2008-08-01T07:28:58+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456bb20832", "title": "Simulating erratic failures in python", "url": "https://leosimons.com/2008/07/28/simulating-erratic-failures-in-python/", "published_at": "2008-07-28T12:40:43+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456c29b7af", "title": "Serious PHP, part 1", "url": "https://leosimons.com/2008/05/01/serious-php-part-1/", "published_at": "2008-05-01T21:33:55+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456cd978c1", "title": "App Engine is an interesting start", "url": "https://leosimons.com/2008/04/12/app-engine-is-an-interesting-start/", "published_at": "2008-04-12T13:44:08+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456d30c38c", "title": "Spring+JPA == too much magic", "url": "https://leosimons.com/2008/03/24/springjpa-too-much-magic/", "published_at": "2008-03-24T10:50:04+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456d8eba1c", "title": "software darwinism and technology bubbles", "url": "https://leosimons.com/2008/01/07/software-darwinism-and-technology-bubbles/", "published_at": "2008-01-07T18:10:50+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456db9401b", "title": "Repeatable builds and maven?", "url": "https://leosimons.com/2007/12/18/repeatable-builds-and-maven/", "published_at": "2007-12-18T01:44:30+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456e1c4495", "title": "Our choices for python web applications", "url": "https://leosimons.com/2007/12/11/our-choices-for-python-web-applications/", "published_at": "2007-12-11T20:23:54+00:00" }, { "id": "01a0bb6a-c3f1-7064-8fdd-dd456f10e250", "title": "cherry-picking changesets is hard but possible", "url": "https://leosimons.com/2007/11/21/cherry-picking-changesets-is-hard-but-possible/", "published_at": "2007-11-21T00:41:25+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b7de1ba5c", "title": "Scrambling towards a new online media ecosystem", "url": "https://leosimons.com/2007/11/18/scrambling-towards-a-new-online-media-ecosystem/", "published_at": "2007-11-18T21:50:05+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b7edc4d84", "title": "Replace maven with a shell script", "url": "https://leosimons.com/2007/03/24/replace-maven-with-a-shell-script/", "published_at": "2007-03-24T15:29:29+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b7f314f47", "title": "RDF modelling at Joost: no bnodes", "url": "https://leosimons.com/2007/03/18/how-joost-models-rdf/", "published_at": "2007-03-18T15:24:01+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b7f751056", "title": "I upgraded to SVN 1.4", "url": "https://leosimons.com/2007/03/18/i-upgraded-to-svn-14/", "published_at": "2007-03-18T12:20:36+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b7f7d0249", "title": "Make Rocks (too)", "url": "https://leosimons.com/2007/03/18/make-rocks-too/", "published_at": "2007-03-18T11:49:31+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b7f98ad5d", "title": "RDF at The Venice Project", "url": "https://leosimons.com/2006/11/11/rdf-at-the-venice-project/", "published_at": "2006-11-11T14:42:48+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b8054290b", "title": "Organising design-by-contract test code", "url": "https://leosimons.com/2006/05/14/organizing-test-code/", "published_at": "2006-05-14T15:57:43+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b81391e9a", "title": "What is make?", "url": "https://leosimons.com/2006/04/17/what-is-make/", "published_at": "2006-04-17T15:29:15+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b81fde4f2", "title": "Build systems for games", "url": "https://leosimons.com/2006/04/17/build-systems-for-games/", "published_at": "2006-04-17T13:56:50+00:00" }, { "id": "01a0bb6e-ae8c-72c3-a6f5-f45b8214ebc9", "title": "Evolving make", "url": "https://leosimons.com/2006/04/14/evolving-make/", "published_at": "2006-04-14T14:37:34+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929c9b8645", "title": "What is a better make?", "url": "https://leosimons.com/2006/03/05/what-is-a-better-make/", "published_at": "2006-03-05T15:47:26+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929cc36334", "title": "What is software management?", "url": "https://leosimons.com/2006/02/12/software-management/", "published_at": "2006-02-12T16:15:45+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929d47fad1", "title": "Building a better (make|ant|maven|…)", "url": "https://leosimons.com/2006/02/06/a-better-make/", "published_at": "2006-02-06T20:52:45+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929db7e25c", "title": "“Welcome to Excalibur!”", "url": "https://leosimons.com/2004/06/12/welcome-to-excalibur/", "published_at": "2004-06-12T19:24:00+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929e000458", "title": "JavaBean Components Considered Evil", "url": "https://leosimons.com/2004/01/21/javabeansconsideredevil/", "published_at": "2004-01-21T10:12:00+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929e04fc92", "title": "The Principle Of Too Much Magic", "url": "https://leosimons.com/2003/11/25/toomuchmagic/", "published_at": "2003-11-25T15:19:00+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929ece8830", "title": "The Next Big Component Architecture", "url": "https://leosimons.com/2003/06/23/thenextbigcomponentarchitecture/", "published_at": "2003-06-23T00:25:00+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-22929f8998a6", "title": "Tweety: educational avalon container", "url": "https://leosimons.com/2002/06/19/tweety-educational-avalon-container/", "published_at": "2002-06-19T11:16:00+00:00" }, { "id": "01a0bb72-7591-72f3-b04c-2292a035d9b6", "title": null, "url": "https://leosimons.com/2001/09/07/808/", "published_at": "2001-09-07T14:53:00+00:00" } ] posts Claim your blog
Back to leosimons.com
Blog · corpus.blog/blogs/leosimons.com/posts

leosimons.com

leosimons.com

2026

2025

2023

2022

2021

2012

2011

2010

2009

2008

2007

2006

2004

2003

2002

2001