54,302 blogs · [ { "id": "01a0bb0b-2274-7039-aef9-281236baa7ae", "title": "On Challenging AI", "url": "https://jensrantil.github.io/posts/challenging-ai/", "published_at": "2026-09-15T08:28:12+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c7022e20", "title": "What type of AI usage?", "url": "https://jensrantil.github.io/posts/types-of-ai-implementations/", "published_at": "2026-04-28T08:22:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c76f545c", "title": "Socio-technical archaeology", "url": "https://jensrantil.github.io/posts/sociotechnical-archaeology/", "published_at": "2026-04-09T12:28:12+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c7ccdb88", "title": "Code freezes", "url": "https://jensrantil.github.io/posts/code-freeze/", "published_at": "2026-04-05T20:42:12+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c8044561", "title": "AI is nothing new, LLMs are", "url": "https://jensrantil.github.io/posts/ai-is-nothing-new/", "published_at": "2026-02-20T17:35:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c810c211", "title": "A shell --dry-run trick", "url": "https://jensrantil.github.io/posts/a-shell-dry-run-trick/", "published_at": "2026-02-01T20:05:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c876c195", "title": "The missed incident priority: The Near Miss", "url": "https://jensrantil.github.io/posts/near-miss-incidents/", "published_at": "2026-01-19T14:48:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c928a7a5", "title": "Incident priority, severity & impact", "url": "https://jensrantil.github.io/posts/incident-priority-severity-impact/", "published_at": "2026-01-19T14:14:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c991e6f5", "title": "What is an incident, anyway?", "url": "https://jensrantil.github.io/posts/what-is-an-incident/", "published_at": "2025-12-17T14:57:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2c9d1b8ff", "title": "LinkedIn and Toxic Positivity", "url": "https://jensrantil.github.io/posts/linked-and-toxic-positivity/", "published_at": "2025-09-05T12:30:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ca2d6e72", "title": "Business contracts are transport agnostic", "url": "https://jensrantil.github.io/posts/simple-contract-testing/", "published_at": "2025-04-27T11:40:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ca951783", "title": "Work Charades and Values", "url": "https://jensrantil.github.io/posts/work-charades/", "published_at": "2025-04-12T21:10:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cabe6d48", "title": "The Dangers of an IDE", "url": "https://jensrantil.github.io/posts/integrated-development-environments-harmful/", "published_at": "2025-03-11T08:38:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cb376732", "title": "Apache Kafka in 15 minutes", "url": "https://jensrantil.github.io/posts/apache-kafka-architecture/", "published_at": "2025-02-22T18:23:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cb5a974c", "title": "A one-on-one template", "url": "https://jensrantil.github.io/posts/one-on-one-template/", "published_at": "2025-01-16T16:16:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cba4f2f8", "title": "Raise and Release", "url": "https://jensrantil.github.io/posts/raise-and-release/", "published_at": "2025-01-10T11:26:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cc86e94c", "title": "Pair and mob sessions", "url": "https://jensrantil.github.io/posts/pair-mob-sessions/", "published_at": "2024-12-19T11:26:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cd52bd66", "title": "Good process is invisible", "url": "https://jensrantil.github.io/posts/good-process-is-invisible/", "published_at": "2024-12-06T20:10:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cddc3307", "title": "Reliability vs. Resilience", "url": "https://jensrantil.github.io/posts/safety-type-1-and-2/", "published_at": "2024-11-05T14:19:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ce6d962d", "title": "Incident review action items", "url": "https://jensrantil.github.io/posts/incident-action-items/", "published_at": "2024-10-31T09:04:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2cf227c70", "title": "A large project, broken up", "url": "https://jensrantil.github.io/posts/large-project-breakup/", "published_at": "2024-10-29T08:31:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d0170fc4", "title": "An example of throughput vs. latency", "url": "https://jensrantil.github.io/posts/throughtput-vs-latency-example/", "published_at": "2024-10-11T22:41:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d0ec30fc", "title": "Engineers are not just builders", "url": "https://jensrantil.github.io/posts/not-just-builders/", "published_at": "2024-08-21T06:44:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d14b9a84", "title": "Natural solutions", "url": "https://jensrantil.github.io/posts/natural-solutions/", "published_at": "2024-08-08T18:55:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d1a493d1", "title": "CrowdStrike: Risk assessment is better off at the sharp end", "url": "https://jensrantil.github.io/posts/centralised-risk-management/", "published_at": "2024-07-31T15:36:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d230ddf8", "title": "A common problem with ADR implementations", "url": "https://jensrantil.github.io/posts/the-adr-problem/", "published_at": "2024-07-06T22:31:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d292a930", "title": "The Problem Space", "url": "https://jensrantil.github.io/posts/the-problem-domain/", "published_at": "2024-07-06T15:12:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d314a3c0", "title": "Architecture at multiple scales", "url": "https://jensrantil.github.io/posts/multiscale-architecture/", "published_at": "2024-07-03T07:40:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d36764f1", "title": "Tools for innovation in tech", "url": "https://jensrantil.github.io/posts/tools-for-innovation-in-tech/", "published_at": "2024-05-28T08:57:46+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d40a62d6", "title": "What's in a good answer?", "url": "https://jensrantil.github.io/posts/a-good-answer/", "published_at": "2024-05-18T20:20:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d468faa9", "title": "On staging environments", "url": "https://jensrantil.github.io/posts/on-staging-environments/", "published_at": "2024-05-12T13:44:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d4e2af82", "title": "Security is just one part of risk", "url": "https://jensrantil.github.io/posts/security-and-risk/", "published_at": "2024-05-12T08:28:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d50cd7b8", "title": "A workshop on evolutionary systems design", "url": "https://jensrantil.github.io/posts/evolutionary-systems-design-workshop/", "published_at": "2024-05-09T17:45:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d5c92ccf", "title": "A Data Structures and Algorithms Self-Study Curriculum", "url": "https://jensrantil.github.io/posts/data-structure-algorithm-curriculum/", "published_at": "2024-02-26T21:45:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d67ded1f", "title": "My first podcast recording", "url": "https://jensrantil.github.io/posts/i-was-on-a-postcast/", "published_at": "2024-02-26T20:38:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d6c32e74", "title": "My simplicity toolkit: Testing", "url": "https://jensrantil.github.io/posts/software-testing-simplicity/", "published_at": "2024-02-18T07:45:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d76d03db", "title": "A maturity model for data-driven teams", "url": "https://jensrantil.github.io/posts/a-data-driven-maturity-model/", "published_at": "2024-02-16T12:00:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d7c35125", "title": "I once almost burned out", "url": "https://jensrantil.github.io/posts/burnout/", "published_at": "2024-01-12T17:45:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d7d2a95c", "title": "An AI/ML accuracy tale", "url": "https://jensrantil.github.io/posts/ai-ml-accuracy-tale/", "published_at": "2023-11-18T21:55:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d8088b98", "title": "My simplicity toolkit: Programming (part 2)", "url": "https://jensrantil.github.io/posts/programming-simplicity-part-2/", "published_at": "2023-11-14T21:00:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d8bf04be", "title": "My simplicity toolkit: Programming (part 1)", "url": "https://jensrantil.github.io/posts/programming-simplicity-part-1/", "published_at": "2023-11-07T05:45:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2d9acc7bf", "title": "My simplicity toolkit: Intro", "url": "https://jensrantil.github.io/posts/my-simplicity-toolkit/", "published_at": "2023-11-06T17:45:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2da837e8a", "title": "Autoscaling is not a panacea", "url": "https://jensrantil.github.io/posts/autoscaling-not-a-panacea/", "published_at": "2023-11-06T15:25:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2da86e9e7", "title": "Goodbye Disqus", "url": "https://jensrantil.github.io/posts/goodbye-disqus/", "published_at": "2023-10-31T18:47:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2dafa40a3", "title": "How to ask good questions", "url": "https://jensrantil.github.io/posts/asking-good-questions/", "published_at": "2023-10-29T08:01:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2db22e51b", "title": "MTTR is the wrong metric", "url": "https://jensrantil.github.io/posts/mttr-is-the-wrong-metric/", "published_at": "2023-10-04T06:01:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2db90f020", "title": "Mean vs. median", "url": "https://jensrantil.github.io/posts/mean-vs-median/", "published_at": "2023-10-03T20:22:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2db9540dc", "title": "Microretros", "url": "https://jensrantil.github.io/posts/microretros/", "published_at": "2023-10-03T19:10:35+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2dbacd811", "title": "The hidden opportunity in feedback", "url": "https://jensrantil.github.io/posts/the-hidden-opportunity-in-feedback/", "published_at": "2023-09-18T21:18:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2dc7fa10f", "title": "The theater tasks that add value", "url": "https://jensrantil.github.io/posts/the-theater-tasks-that-add-value/", "published_at": "2023-09-13T10:49:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2dd043fe6", "title": "Fine-grained caching strategies of dynamic queries", "url": "https://jensrantil.github.io/posts/fast-aggregate-queries-on-dynamic-data/", "published_at": "2023-09-12T19:25:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2dd1edf4d", "title": "A model for changing behaviors", "url": "https://jensrantil.github.io/posts/a-model-for-changing-behaviors/", "published_at": "2023-09-04T20:38:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ddad32e7", "title": "The Knowledge Bottleneck I used to be", "url": "https://jensrantil.github.io/posts/the-knowledge-bottleneck-i-used-to-be/", "published_at": "2023-08-29T12:06:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2de53a307", "title": "The Upside of Impostor Syndrome", "url": "https://jensrantil.github.io/posts/the-upside-of-impostor-syndrome/", "published_at": "2023-08-28T20:39:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2deed65e7", "title": "Avoid the Junior word", "url": "https://jensrantil.github.io/posts/avoid-the-junior-word/", "published_at": "2023-08-28T20:15:33+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2df31b7e4", "title": "Waste in software development", "url": "https://jensrantil.github.io/posts/waste-in-software-development/", "published_at": "2023-06-27T21:54:21+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2dfd2ddc7", "title": "Three categories of teamwork", "url": "https://jensrantil.github.io/posts/three-teamwork-categories/", "published_at": "2023-05-22T17:01:45+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e062dc9e", "title": "The Three Buckets of my time", "url": "https://jensrantil.github.io/posts/three-buckets-of-my-time/", "published_at": "2023-05-21T21:50:03+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e12cf933", "title": "Code as a self-serve experience", "url": "https://jensrantil.github.io/posts/code-as-self-serve-experience/", "published_at": "2023-05-09T06:24:19+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e1dd6aa0", "title": "The downsides of batch APIs", "url": "https://jensrantil.github.io/posts/downsides-of-batch-apis/", "published_at": "2023-05-03T10:50:41+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e245502d", "title": null, "url": "https://jensrantil.github.io/pages/about-me/", "published_at": "2023-04-28T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e32adac1", "title": null, "url": "https://jensrantil.github.io/pages/services/", "published_at": "2023-04-28T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e33f6209", "title": "On narrow integration tests", "url": "https://jensrantil.github.io/posts/narrow-integration-tests/", "published_at": "2020-01-13T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e4254816", "title": "Testing strategy over time", "url": "https://jensrantil.github.io/posts/testing-strategy-over-time/", "published_at": "2020-01-12T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e44720b6", "title": "AWS ELBs and Availability", "url": "https://jensrantil.github.io/posts/aws-elbs-and-availability/", "published_at": "2018-05-06T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e53068b1", "title": "Blog Update", "url": "https://jensrantil.github.io/posts/blog-update/", "published_at": "2018-05-06T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e5b0ac06", "title": "How to (partially) declassify documents numbers", "url": "https://jensrantil.github.io/posts/how-to-partially-declassify-document-numbers/", "published_at": "2014-12-27T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e5fe308a", "title": "A follow-up on CouchDB as event store", "url": "https://jensrantil.github.io/posts/follow-up-on-couchdb-as-eventstore/", "published_at": "2014-03-25T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e6dcdee4", "title": "Salt vs. Ansible", "url": "https://jensrantil.github.io/posts/salt-vs-ansible/", "published_at": "2014-03-17T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e7a871ac", "title": "Why the Web is so Slow", "url": "https://jensrantil.github.io/posts/why-the-web-is-so-slow/", "published_at": "2013-12-02T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e8035638", "title": "I'm a State Engineer. Are you, too?", "url": "https://jensrantil.github.io/posts/lifecycles-and-states/", "published_at": "2013-11-18T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e89fc504", "title": "New PGP key", "url": "https://jensrantil.github.io/posts/new-pgp-key/", "published_at": "2013-11-18T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2e941409e", "title": "GIT mirroring using Jenkins", "url": "https://jensrantil.github.io/posts/git-mirroring-using-jenkins/", "published_at": "2013-09-04T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ea011c31", "title": "Bootstrapping: CouchDB as event store", "url": "https://jensrantil.github.io/posts/couchdb-as-event-store/", "published_at": "2013-09-02T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ea595ff2", "title": "Java's missing optional keyword and the issues of null", "url": "https://jensrantil.github.io/posts/the-issues-of-null/", "published_at": "2013-08-22T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2eaa98a79", "title": "Writing a server in Python", "url": "https://jensrantil.github.io/posts/python-servers/", "published_at": "2013-08-21T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2eb528735", "title": "Simpler Cookieless Cookies", "url": "https://jensrantil.github.io/posts/simpler-cookieless-cookies/", "published_at": "2013-08-18T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ebc27ac1", "title": "Privacy and Logging", "url": "https://jensrantil.github.io/posts/privacy-and-logging/", "published_at": "2013-06-17T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2eca35c5f", "title": "Line styles in matplotlib", "url": "https://jensrantil.github.io/posts/line-styles-in-matplotlib/", "published_at": "2013-05-28T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ed45585f", "title": "CQRS+Event Sourcing Messaging Patterns", "url": "https://jensrantil.github.io/posts/cqrs-event-sourcing-messaging-patterns/", "published_at": "2013-05-26T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ed9575df", "title": "AngularJS events on initialization", "url": "https://jensrantil.github.io/posts/angularjs-events-triggered-on-initialization/", "published_at": "2013-05-24T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ee039ecc", "title": "Refreshable AngularJS service", "url": "https://jensrantil.github.io/posts/refreshable-angularjs-service/", "published_at": "2013-05-23T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ee45f536", "title": "Bootstrapping software projects", "url": "https://jensrantil.github.io/posts/bootstrapping-software-projects/", "published_at": "2013-05-19T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ee4fb24b", "title": "CQRS - Time to Rewind", "url": "https://jensrantil.github.io/posts/cqrs-time-to-rewind/", "published_at": "2013-05-19T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ee5db430", "title": "Migrating to Python 3", "url": "https://jensrantil.github.io/posts/migrating-to-python3/", "published_at": "2013-05-19T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2ee83508c", "title": "That initial blogpost", "url": "https://jensrantil.github.io/posts/that-initial-blogpost/", "published_at": "2013-05-14T00:00:00+00:00" }, { "id": "01a0878d-0ace-71d2-a2a2-01c2eeec3eae", "title": "Replacing a folder in Subversion", "url": "https://jensrantil.github.io/posts/replacing-directory-in-svn/", "published_at": "2008-09-22T00:00:00+00:00" } ] posts Claim your blog
Back to Posts · Jens Rantil
Blog · corpus.blog/blogs/jensrantil.github.io/posts

Posts · Jens Rantil

jensrantil.github.io

2026

2025

2024

2023

2020

2018

2014

2013

2008