57,803 blogs · [ { "id": "01a08797-badf-73f0-af07-bbeb3c53459f", "title": "A Puzzle", "url": "https://kyle.marek-spartz.org/posts/2026-09-08-a-puzzle.html", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3ccdfbfb", "title": "A nonary calendar", "url": "https://kyle.marek-spartz.org/posts/2025-02-17-a-nonary-calendar.html", "published_at": "2025-02-17T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3cfb9c04", "title": "Decisions and the long term", "url": "https://kyle.marek-spartz.org/posts/2015-12-05-decisions-and-the-long-term.html", "published_at": "2015-12-05T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3d4b51b4", "title": "Themes as Goals", "url": "https://kyle.marek-spartz.org/posts/2015-11-25-themes-as-goals.html", "published_at": "2015-11-25T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3de1c539", "title": "Moving to monorepos without losing history", "url": "https://kyle.marek-spartz.org/posts/2015-11-17-moving-to-monorepos-without-losing-history.html", "published_at": "2015-11-17T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3e07a6f2", "title": "Concurrent implementation of the Daytime Protocol in Rust", "url": "https://kyle.marek-spartz.org/posts/2015-11-16-concurrent-implementation-of-the-daytime-protocol-in-rust.html", "published_at": "2015-11-16T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3e8f167c", "title": "Eventual consistency for SQL: Normalization", "url": "https://kyle.marek-spartz.org/posts/2015-10-14-eventual-consistency-for-sql-normalization.html", "published_at": "2015-10-14T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3ef1d23a", "title": "Eventual consistency for SQL databases", "url": "https://kyle.marek-spartz.org/posts/2015-09-08-eventual-consistency-for-sql-databases.html", "published_at": "2015-09-08T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3efc16e1", "title": "cons, car, and cdr need not be primitive", "url": "https://kyle.marek-spartz.org/posts/2015-03-16-cons-car-and-cdr-need-not-be-primitive.html", "published_at": "2015-03-16T00:00:00+00:00" }, { "id": "01a08797-badf-73f0-af07-bbeb3f0bc9fd", "title": "Review Checklists", "url": "https://kyle.marek-spartz.org/posts/2015-01-20-review-checklists.html", "published_at": "2015-01-20T00:00:00+00:00" }, { "id": "01a0d413-0487-713a-aa1f-c9f4d6645ee6", "title": "Now", "url": "https://kyle.marek-spartz.org/", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4d7034e69", "title": "404 - kms", "url": "https://kyle.marek-spartz.org/404.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4d770e945", "title": "About - kms", "url": "https://kyle.marek-spartz.org/about.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4d7b181f2", "title": "Blog - kms", "url": "https://kyle.marek-spartz.org/blog.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4d869d7c1", "title": "Colophon - kms", "url": "https://kyle.marek-spartz.org/colophon.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4d9089abc", "title": "Elsewhere - kms", "url": "https://kyle.marek-spartz.org/elsewhere.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4da044613", "title": "Now", "url": "https://kyle.marek-spartz.org/index.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4db02d24e", "title": "LICENSE - kms", "url": "https://kyle.marek-spartz.org/LICENSE.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4db53798f", "title": "Now - kms", "url": "https://kyle.marek-spartz.org/now.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4db8af688", "title": "Photography - kms", "url": "https://kyle.marek-spartz.org/photography.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dc0bdf3d", "title": "Colophon", "url": "https://kyle.marek-spartz.org/README.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dc2d5276", "title": "Graph Databases", "url": "https://kyle.marek-spartz.org/presentations/2013-12-05-graph_databases.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dcc8a67d", "title": "Interfaces", "url": "https://kyle.marek-spartz.org/presentations/2014-02-13-interfaces.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dd8ee238", "title": "Property-based Testing", "url": "https://kyle.marek-spartz.org/presentations/2014-04-10-property-based-testing.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dd99d4f1", "title": "The design of Swift", "url": "https://kyle.marek-spartz.org/presentations/2014-07-30-the-design-of-swift.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dd9deda5", "title": "Hamline Guest Lecture – Strategy", "url": "https://kyle.marek-spartz.org/presentations/2021-02-25-hamline-guest-lecture.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4de01dfa0", "title": "Exploring the Resilience Engineering Landscape of Practice", "url": "https://kyle.marek-spartz.org/presentations/2023-01-12-code-freeze-resilience-engineering-landscape-of-practice.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4de990aba", "title": "Welcome - kms", "url": "https://kyle.marek-spartz.org/posts/2013-12-08-welcome.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4df43eca6", "title": "Widely and Hakyll", "url": "https://kyle.marek-spartz.org/posts/2013-12-09-widely-and-hakyll.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4df89e9b9", "title": "Lost Keys", "url": "https://kyle.marek-spartz.org/posts/2013-12-10-lost-keys.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4dfd548cd", "title": "Never Blame People", "url": "https://kyle.marek-spartz.org/posts/2013-12-11-never-blame-people.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e0484012", "title": "Pattern Matching and Singular Dispatch in Python", "url": "https://kyle.marek-spartz.org/posts/2013-12-12-pattern-matching-and-singular-dispatch-in-python.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e0774201", "title": "Singular Dispatch and Update", "url": "https://kyle.marek-spartz.org/posts/2013-12-18-singular-dispatch-and-update.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e15694e9", "title": "On Perl Programming", "url": "https://kyle.marek-spartz.org/posts/2014-01-23-on-perl-programming.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e1d04cfe", "title": "Databases, Primality, and Category Theory", "url": "https://kyle.marek-spartz.org/posts/2014-01-27-databases-primality-and-category-theory.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e2215d3b", "title": "Interfaces in Python", "url": "https://kyle.marek-spartz.org/posts/2014-01-29-interfaces-in-python.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e2a38bfb", "title": "Testing Interfaces in Python", "url": "https://kyle.marek-spartz.org/posts/2014-01-30-testing-interfaces-in-python.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e3660639", "title": "Interface Package Now on PyPI", "url": "https://kyle.marek-spartz.org/posts/2014-02-03-interface-package-now-on-pypi.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e3df7267", "title": "On Choosing the Best Tool for the Job", "url": "https://kyle.marek-spartz.org/posts/2014-02-04-on-choosing-the-best-tool-for-the-job.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e4ca098c", "title": "On Teaching Programming", "url": "https://kyle.marek-spartz.org/posts/2014-02-04-on-teaching-programming.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e5855c81", "title": "Setting Class Names Dynamically in Python", "url": "https://kyle.marek-spartz.org/posts/2014-02-07-setting-class-names-dynamically-in-python.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e5d8ac52", "title": "Top-down Programming", "url": "https://kyle.marek-spartz.org/posts/2014-02-10-top-down-programming.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e60ddd26", "title": "Linting Natural Language", "url": "https://kyle.marek-spartz.org/posts/2014-02-11-linting-natural-language.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e6dd9613", "title": "Adding First-class Functions to Python", "url": "https://kyle.marek-spartz.org/posts/2014-02-14-adding-first-class-functions-to-python.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e7a3da32", "title": "Props Now On PyPI", "url": "https://kyle.marek-spartz.org/posts/2014-02-17-props-now-on-pypi.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e81ad072", "title": "Types and Programming Languages", "url": "https://kyle.marek-spartz.org/posts/2014-02-18-types-and-programming-languages.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e8918a59", "title": "Databases are Categories", "url": "https://kyle.marek-spartz.org/posts/2014-02-19-databases-are-categories.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e8f11bc0", "title": "Sacrificing Safety for Flexibility", "url": "https://kyle.marek-spartz.org/posts/2014-02-19-sacrificing-safety-for-flexibility.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e8fd0b2b", "title": "Props: Gen a, thunks, and closures", "url": "https://kyle.marek-spartz.org/posts/2014-02-20-props-gen-a-thunks-and-closures.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4e9cab91c", "title": "RESTful Email", "url": "https://kyle.marek-spartz.org/posts/2014-02-21-restful-email.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ea60b0db", "title": "The (Linguistics) Pragmatic Programmer", "url": "https://kyle.marek-spartz.org/posts/2014-02-24-the-linguistics-pragmatic-programmer.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4eb22ef19", "title": "A MathJax Issue", "url": "https://kyle.marek-spartz.org/posts/2014-02-25-a-mathjax-issue.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ebaae435", "title": "Harry Truman on Iteration", "url": "https://kyle.marek-spartz.org/posts/2014-02-26-harry-truman-on-iteration.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ebb9a64a", "title": "Software as a Capital Asset", "url": "https://kyle.marek-spartz.org/posts/2014-02-27-software-as-a-capital-asset.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ec3371fe", "title": "A Language which isn't Recursively Enumerable", "url": "https://kyle.marek-spartz.org/posts/2014-02-28-a-language-which-isnt-recursively-enumerable.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ece3e181", "title": "Interfaces and Layers", "url": "https://kyle.marek-spartz.org/posts/2014-03-02-interfaces-and-layers.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4edc3a434", "title": "Pirsig on Tools", "url": "https://kyle.marek-spartz.org/posts/2014-03-02-pirsig-on-tools.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ee6a15c9", "title": "Formatting Classes with Multiple Inheritance in", "url": "https://kyle.marek-spartz.org/posts/2014-03-08-formatting-classes-with-multiple-inheritance.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ef2336a6", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-03-11-multitools.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f022f4cd", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-03-20-richard-feynman-non-technical-co-founder.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f0d87d51", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-03-29-unbundling-linkedin.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f1a429dc", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-03-31-beeminder.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f2a0bca2", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-04-setting-wtforms-selection-fields-dynamically.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f39f6a3f", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-05-marketing-your-linguistics-degree.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f3f54b57", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-07-effective-requirements.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f48322ee", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-08-focus.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f4b857f0", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-10-keyme.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f4b89ec2", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-13-minneapolis-food-deserts.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f536b607", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-21-fox-hunting-equipment.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f544bbce", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-22-fox-hunting-software.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f575dc34", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-25-decomposition-as-task-management.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f6464358", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-26-bringrr.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f72d9c94", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-29-preemptive-maintenance.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f8162558", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-04-30-startup-services-startups.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f82a3040", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-01-fox-hunting-results.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f8e5fa60", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-02-compiler-optimizations-and-optimality-theory.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4f9e2a7f3", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-05-pirsig-on-object-orientation.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fa10f0cf", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-07-longfellow-on-task-management.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fa23a386", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-08-your-service-as-a-functor.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fa53c57b", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-12-hf-in-the-park.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fae580ed", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-13-more-pictures-from-hf-in-the-park.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fbc78b74", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-15-adding-tags-to-posts-with-hakyll.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fc9eb143", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-21-reusing-generators-in-python.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fd4a5681", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-23-datetime-interval-now-on-pypi.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fe3f4783", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-23-wx-now-open-source.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4fecc902c", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-28-this-site-now-open-source.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ff49a1a4", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-05-29-mindfeed.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f4ffdc0f83", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-06-swift-programming-language.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f500b43875", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-08-six-months-of-blogging.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f50133b696", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-10-optional-assignment-in-swift.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f5021fcc41", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-15-ken-thompson-on-fragile-code.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f502d0f542", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-20-json-parsing-in-swift.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f503d0eee9", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-25-developers-and-depression.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f5042194d0", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-06-27-uploading-to-pypi.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f504f05c59", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-07-09-email-clients.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f50581239e", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-07-12-understandable-regular-expressions.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f5061a6181", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-07-14-additional-linkedin-problems.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f5063ba280", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-07-17-hackage-code-review.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f506c6f3cc", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-07-19-swift-changes-array-type-syntax.html", "published_at": null }, { "id": "01a0d413-0487-713a-aa1f-c9f507b11fc5", "title": null, "url": "https://kyle.marek-spartz.org/posts/2014-07-21-quantity-and-quality.html", "published_at": null } ] posts Claim your blog
Back to kyle.marek-spartz.org
Blog · corpus.blog/blogs/kyle.marek-spartz.org/posts

kyle.marek-spartz.org

kyle.marek-spartz.org

2026

2025

2015

Undated