41554 blogs · [ { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c3a296bb", "title": "Deterministic Programming with LLMs", "url": "https://www.mcherm.com/deterministic-programming-with-llms.html", "published_at": "2026-02-24T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c45d0a33", "title": "Unreasonable Contract Again", "url": "https://www.mcherm.com/unreasonable-contract-again.html", "published_at": "2025-11-11T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c4a0d7db", "title": "Book Review: I Have Some Questions For You", "url": "https://www.mcherm.com/book-review-i-have-some-questions-for-you.html", "published_at": "2024-06-22T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c4e718b3", "title": "Election Guide for April 2024", "url": "https://www.mcherm.com/election-guide-for-april-2024.html", "published_at": "2024-04-21T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c55a40f5", "title": "Election Guide for Nov 2023", "url": "https://www.mcherm.com/election-guide-for-nov-2023.html", "published_at": "2023-11-05T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c65a3330", "title": "Election Guide for May 2023", "url": "https://www.mcherm.com/election-guide-for-may-2023.html", "published_at": "2023-05-15T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c733d6c7", "title": "Highlighting Differences in Google Sheets", "url": "https://www.mcherm.com/highlighting-differences-in-google-sheets.html", "published_at": "2022-09-18T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c813878c", "title": "How Useful is Big-O?", "url": "https://www.mcherm.com/how-useful-is-big-o.html", "published_at": "2022-07-17T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c8a337f9", "title": "Candidates for the May 2022 Primary", "url": "https://www.mcherm.com/candidates-for-the-may-2022-primary.html", "published_at": "2022-05-17T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c96932d8", "title": "Getting Accepted at SECON", "url": "https://www.mcherm.com/getting-accepted-at-secon.html", "published_at": "2021-06-19T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8c9b6c5aa", "title": "Unreasonable Legal Agreements", "url": "https://www.mcherm.com/unreasonable-legal-agreements.html", "published_at": "2021-01-28T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ca1e788f", "title": "Journalistic Ethics", "url": "https://www.mcherm.com/journalistic-ethics.html", "published_at": "2020-06-23T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ca327410", "title": "Unique IDs", "url": "https://www.mcherm.com/unique-ids.html", "published_at": "2019-09-15T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cadafa00", "title": "Standups", "url": "https://www.mcherm.com/standups.html", "published_at": "2019-04-16T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cb3cbae2", "title": "My Thoughts on Diversity", "url": "https://www.mcherm.com/my-thoughts-on-diversity.html", "published_at": "2019-04-12T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cbf17eb3", "title": "Mailto for Gmail", "url": "https://www.mcherm.com/mailto-for-gmail.html", "published_at": "2019-01-07T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ccc9b1d7", "title": "Snailbook", "url": "https://www.mcherm.com/snailbook.html", "published_at": "2018-11-04T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cd758e03", "title": "Culture of Reuse - Part 4: Changing the Culture", "url": "https://www.mcherm.com/culture-of-reuse-part-4-changing-the-culture.html", "published_at": "2018-05-31T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cdd6d9a7", "title": "Culture of Reuse - Part 3: The Case for Reuse", "url": "https://www.mcherm.com/culture-of-reuse-part-3-the-case-for-reuse.html", "published_at": "2018-05-30T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cec67ab4", "title": "Culture of Reuse - Part 2: Capital One and Innovation", "url": "https://www.mcherm.com/culture-of-reuse-part-2-capital-one-and-innovation.html", "published_at": "2018-05-29T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cedf759f", "title": "Culture of Reuse - Part 1: Company Culture", "url": "https://www.mcherm.com/culture-of-reuse-part-1-company-culture.html", "published_at": "2018-05-28T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cf7b8a47", "title": "Confluence Fix", "url": "https://www.mcherm.com/confluence-fix.html", "published_at": "2018-04-09T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8cfa2cdf1", "title": "Image Search by License", "url": "https://www.mcherm.com/image-search-by-license.html", "published_at": "2018-02-13T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d08eaa35", "title": "Depending on Someone Else's Code", "url": "https://www.mcherm.com/depending-on-someone-elses-code.html", "published_at": "2018-01-28T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d15ee391", "title": "Amazon Job offer", "url": "https://www.mcherm.com/amazon-job-offer.html", "published_at": "2017-08-05T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d218a99b", "title": "REST Lambda Versioning", "url": "https://www.mcherm.com/rest-lambda-versioning.html", "published_at": "2017-07-02T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d25c61e3", "title": "Election Guide May 2017", "url": "https://www.mcherm.com/election-guide-may-2017.html", "published_at": "2017-05-14T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d292a0f8", "title": "Long-Running Calls", "url": "https://www.mcherm.com/long-running-calls.html", "published_at": "2017-04-20T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d37f9264", "title": "COBOL in a Bank", "url": "https://www.mcherm.com/cobol-in-a-bank.html", "published_at": "2017-01-30T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d3afbd92", "title": "Lift and Shift Lessons", "url": "https://www.mcherm.com/lift-and-shift-lessons.html", "published_at": "2017-01-07T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d45c3687", "title": "Before Dockercon", "url": "https://www.mcherm.com/before-dockercon.html", "published_at": "2016-06-20T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d49b9e42", "title": "\"Smith\"", "url": "https://www.mcherm.com/smith.html", "published_at": "2016-05-06T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d5582f81", "title": "Will Microservices Fix the Rollback?", "url": "https://www.mcherm.com/will-microservices-fix-the-rollback.html", "published_at": "2016-04-06T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d5c496e8", "title": "Beginning Ceylon", "url": "https://www.mcherm.com/beginning-ceylon.html", "published_at": "2016-02-27T05:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d627834e", "title": "Circuit Breakers, Hystrix, And Dealing With Failing Back Ends", "url": "https://www.mcherm.com/circuit-breakers-hystrix-and-dealing-with-failing-back-ends.html", "published_at": "2014-07-23T20:31:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d6b047c4", "title": "My Letter to the FCC on Net Neutrality", "url": "https://www.mcherm.com/my-letter-to-the-fcc-on-net-neutrality.html", "published_at": "2014-07-15T13:19:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d6c3a1f0", "title": "What's the \"right\" way to abandon an open source package?", "url": "https://www.mcherm.com/whats-the-right-way-to-abandon-an-open-source-package.html", "published_at": "2014-07-09T01:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d6f7142c", "title": "Using the Legal System To Access Customer Data", "url": "https://www.mcherm.com/using-the-legal-system-to-access-customer-data.html", "published_at": "2014-03-28T21:51:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d773ece9", "title": "Reasons Why My Code Style is Wrong", "url": "https://www.mcherm.com/reasons-why-my-code-style-is-wrong.html", "published_at": "2014-01-24T14:54:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d864c0a0", "title": "Book Review: Learning jQuery Deferreds", "url": "https://www.mcherm.com/learning-jquery-deferreds.html", "published_at": "2013-12-31T20:51:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d87eae9d", "title": "CAPTCHAs", "url": "https://www.mcherm.com/captchas.html", "published_at": "2013-10-28T17:35:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d8ed9785", "title": "Version Control... for Servers", "url": "https://www.mcherm.com/version-control-for-servers.html", "published_at": "2013-06-28T12:24:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8d9cff43b", "title": "I dream of Satoshi Nakamoto", "url": "https://www.mcherm.com/i-dream-of-satoshi-nakamoto.html", "published_at": "2013-04-18T10:34:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8da6a7f52", "title": "How NOT to do technical recruiting: Sunil Kumar of Panzer Solutions", "url": "https://www.mcherm.com/how-not-to-do-technical-recruiting-sunil-kumar-of-panzer-solutions.html", "published_at": "2013-02-01T04:25:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8db4f763f", "title": "Things my next phone should have", "url": "https://www.mcherm.com/things-my-next-phone-should-have.html", "published_at": "2012-09-21T17:23:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8dbce01a7", "title": "Story Points Aren't Accurate - That's Why They're Good", "url": "https://www.mcherm.com/story-points-arent-accurate-thats-why-theyre-good.html", "published_at": "2012-08-30T13:53:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8dc41de86", "title": "Constant Crawl Design - Part 4", "url": "https://www.mcherm.com/constant-crawl-design-part-4.html", "published_at": "2012-03-13T02:10:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8dced9bce", "title": "Constant Crawl Design - Part 3", "url": "https://www.mcherm.com/constant-crawl-design-part-3.html", "published_at": "2012-03-10T13:01:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8dde340da", "title": "Constant Crawl Design - Part 2", "url": "https://www.mcherm.com/constant-crawl-design-part-2.html", "published_at": "2012-03-06T04:18:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8deb9d3da", "title": "Constant Crawl Design - Part 1", "url": "https://www.mcherm.com/constant-crawl-design-part-1.html", "published_at": "2012-03-05T03:42:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8dfb88f66", "title": "Host Error 2", "url": "https://www.mcherm.com/host-error-2.html", "published_at": "2012-02-03T21:21:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8dffe7cee", "title": "Removing the \"Macros\" warning in PowerPoint", "url": "https://www.mcherm.com/removing-the-macros-warning-in-powerpoint.html", "published_at": "2012-01-30T14:16:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e060a552", "title": "Using a Mix of Computers and Humans for Security", "url": "https://www.mcherm.com/using-a-mix-of-computers-and-humans-for-security.html", "published_at": "2012-01-10T13:49:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e137aad1", "title": "Namespace for a valid SOAP message", "url": "https://www.mcherm.com/namespace-for-a-valid-soap-message.html", "published_at": "2011-12-12T15:35:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e208ef3e", "title": "Binary Backward Compatibility", "url": "https://www.mcherm.com/binary-backward-compatibility.html", "published_at": "2011-12-08T04:00:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e2c6e007", "title": "Election Guide for Nov 8, 2011", "url": "https://www.mcherm.com/election-guide-for-nov-8-2011.html", "published_at": "2011-11-08T04:51:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e39072a3", "title": "Story Points", "url": "https://www.mcherm.com/story-points.html", "published_at": "2011-09-29T01:27:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e3badc73", "title": "Faster than the Speed of Falsification", "url": "https://www.mcherm.com/faster-than-the-speed-of-falsification.html", "published_at": "2011-09-27T01:41:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e4791696", "title": "How Even Immutables are Hard with Threads", "url": "https://www.mcherm.com/how-even-immutables-are-hard-with-threads.html", "published_at": "2011-08-24T03:09:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e4e02fec", "title": "When to Wrap a Library", "url": "https://www.mcherm.com/when-to-wrap-a-library.html", "published_at": "2011-07-03T16:20:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e517e5bb", "title": "Setting Low Prices", "url": "https://www.mcherm.com/setting-low-prices.html", "published_at": "2011-06-28T01:31:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e57c01ab", "title": "Election Guide - May 2011", "url": "https://www.mcherm.com/election-guide-may-2011.html", "published_at": "2011-05-17T04:24:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e67af057", "title": "Wrong SAAJ Version - a Spring bug", "url": "https://www.mcherm.com/wrong-saaj-version-a-spring-bug.html", "published_at": "2011-05-08T14:09:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e6e9999c", "title": "How Wierd Is That!", "url": "https://www.mcherm.com/how-wierd-is-that.html", "published_at": "2011-05-03T04:49:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e7d77ff8", "title": "Set Default Address Book in Outlook 2010", "url": "https://www.mcherm.com/set-default-address-book-in-outlook-2010.html", "published_at": "2011-03-25T12:26:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e8102b61", "title": "An Important Victory for the US Military", "url": "https://www.mcherm.com/an-important-victory-for-the-us-military.html", "published_at": "2010-12-18T23:56:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e8819637", "title": "Election Guide, Nov 2010", "url": "https://www.mcherm.com/election-guide-nov-2010.html", "published_at": "2010-11-02T01:07:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e9498539", "title": "Eric Lippert Tree Challenge", "url": "https://www.mcherm.com/eric-lippert-tree-challenge.html", "published_at": "2010-09-10T03:48:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8e9f557dd", "title": "Error message was '3'.", "url": "https://www.mcherm.com/error-message-was-3.html", "published_at": "2010-08-20T20:07:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8eadcd39a", "title": "Viewing a dependency tree in Maven", "url": "https://www.mcherm.com/viewing-a-dependency-tree-in-maven.html", "published_at": "2010-06-08T18:54:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8eb7d2826", "title": "Election Guide, May 2010", "url": "https://www.mcherm.com/election-guide-may-2010.html", "published_at": "2010-05-17T02:03:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ec469f1c", "title": "Petitioning the FCC on Net Neutrality", "url": "https://www.mcherm.com/petitioning-the-fcc-on-net-neutrality.html", "published_at": "2010-04-03T22:46:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8eccdf663", "title": "Logging APIs - Evaluating Options", "url": "https://www.mcherm.com/logging-apis-evaluating-options.html", "published_at": "2010-02-09T14:30:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ed2dd57d", "title": "Logging APIs - Feature List", "url": "https://www.mcherm.com/logging-apis-feature-list.html", "published_at": "2010-02-01T20:42:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ed37dbd8", "title": "Password in Pieces", "url": "https://www.mcherm.com/password-in-pieces.html", "published_at": "2009-12-05T05:08:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ed733cc1", "title": "Raising the limit on IDs processed", "url": "https://www.mcherm.com/raising-the-limit.html", "published_at": "2009-11-13T14:35:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ee4ac170", "title": "Upgrading GWT/AppEngine to v1.6+", "url": "https://www.mcherm.com/upgrading-gwtappengine-to-v1-6.html", "published_at": "2009-11-09T06:38:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8eeb288e8", "title": "Estimate Units", "url": "https://www.mcherm.com/estimate-units.html", "published_at": "2009-02-13T19:44:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8ef359f37", "title": "An Exception to Every Rule", "url": "https://www.mcherm.com/an-exception-to-every-rule.html", "published_at": "2008-12-31T22:54:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8efedde49", "title": "The Death of Ontology", "url": "https://www.mcherm.com/the-death-of-ontology.html", "published_at": "2008-12-29T13:44:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f0e3de38", "title": "How Long is an Email Address?", "url": "https://www.mcherm.com/how-long-is-an-email-address.html", "published_at": "2008-12-17T14:46:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f19b0685", "title": "My Security Nightmare", "url": "https://www.mcherm.com/my-security-nightmare.html", "published_at": "2008-12-04T19:13:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f21bb235", "title": "Election Guide, Nov 2008", "url": "https://www.mcherm.com/election-guide-nov-2008.html", "published_at": "2008-11-02T01:15:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f26b2eda", "title": "Separation of Concerns", "url": "https://www.mcherm.com/separation-of-concerns.html", "published_at": "2008-10-27T11:59:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f2f4be96", "title": "Many ways to attack websites", "url": "https://www.mcherm.com/many-ways-to-attack-websites.html", "published_at": "2008-10-09T14:26:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f305bb4a", "title": "Threadsafe Java Servlets - a solution", "url": "https://www.mcherm.com/threadsafe-java-servlets-a-solution.html", "published_at": "2008-10-07T12:20:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f38e6fe5", "title": "Threadsafe Java Servlets", "url": "https://www.mcherm.com/threadsafe-java-servlets.html", "published_at": "2008-09-23T21:49:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f3dabd37", "title": "How to email MY blog posts from Outlook", "url": "https://www.mcherm.com/how-to-email-blog-posts-from-outlook-2.html", "published_at": "2008-09-15T12:40:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f471f334", "title": "The Secret to Making Chrome", "url": "https://www.mcherm.com/the-secret-to-making-chrome.html", "published_at": "2008-09-15T11:57:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f495e92f", "title": "The Wager", "url": "https://www.mcherm.com/the-wager.html", "published_at": "2008-08-25T12:38:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f57f5604", "title": "Metaphorical Programming", "url": "https://www.mcherm.com/metaphorical-programming.html", "published_at": "2008-07-28T12:20:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f62f694b", "title": "Go Easy on the Maintenance Programmer", "url": "https://www.mcherm.com/go-easy-on-the-maintenance-programmer.html", "published_at": "2008-07-18T14:07:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f6dd11f4", "title": "A random selection algorithm", "url": "https://www.mcherm.com/a-random-selection-algorithm.html", "published_at": "2008-06-27T11:19:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f79018c2", "title": "Two more uses for a Secure Hash", "url": "https://www.mcherm.com/two-more-uses-for-a-secure-hash.html", "published_at": "2008-06-12T14:43:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f85688a8", "title": "Why User Stories?", "url": "https://www.mcherm.com/why-user-stories.html", "published_at": "2008-05-12T10:58:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f937e73c", "title": "Always use Salt", "url": "https://www.mcherm.com/always-use-salt.html", "published_at": "2008-05-05T11:23:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8f9ee530d", "title": "The Butterfly Bug", "url": "https://www.mcherm.com/the-butterfly-effect.html", "published_at": "2008-04-18T01:16:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8fa6e184b", "title": "How to email blog posts from Outlook", "url": "https://www.mcherm.com/how-to-email-blog-posts-from-outlook.html", "published_at": "2008-04-02T19:56:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8fb480669", "title": "Units of Work", "url": "https://www.mcherm.com/units-of-work.html", "published_at": "2008-03-30T12:52:00+00:00" }, { "id": "01a087a3-2d1e-70b1-9c9a-bbd8fbe4dfef", "title": "Resources", "url": "https://www.mcherm.com/firefoxplugins.html", "published_at": "2008-03-28T00:48:00+00:00" } ] posts Claim your blog
Back to mcherm.com
Blog · corpus.blog/blogs/mcherm.com/posts

mcherm.com

mcherm.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2014

2013

2012

2011

2010

2009

2008