56,966 blogs · [ { "id": "01a0878d-b520-702e-bd4c-b8928df1e4cf", "title": "Problem with concurrent linter fixes", "url": "https://jfmengels.net/concurrent-linter-fixes", "published_at": "2026-08-26T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8928e89a738", "title": "Removing unused parameters, and then some", "url": "https://jfmengels.net/removing-unused-parameters", "published_at": "2025-12-30T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8928f2181d2", "title": "Essential and accidental configuration", "url": "https://jfmengels.net/essential-and-accidental-configuration", "published_at": "2025-07-10T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8928fa40d68", "title": "Make your roots lazy", "url": "https://jfmengels.net/make-your-roots-lazy", "published_at": "2025-06-07T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89290218a24", "title": "The caching behind Elm's Html.Lazy", "url": "https://jfmengels.net/caching-behind-elm-lazy", "published_at": "2025-05-11T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89290a798af", "title": "Compiler reminders", "url": "https://jfmengels.net/compiler-reminders", "published_at": "2025-04-27T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929136ebe1", "title": "Beyond Html.Lazy's argument limit", "url": "https://jfmengels.net/beyond-elm-lazy-arguments", "published_at": "2025-04-26T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892921e4588", "title": "Multi-files fixes", "url": "https://jfmengels.net/multi-file-fixes", "published_at": "2025-02-13T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89292f20d4a", "title": "Constraints and guarantees", "url": "https://jfmengels.net/constraints-and-guarantees", "published_at": "2024-09-16T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892938bd53e", "title": "Rewriting elm-syntax and future plans", "url": "https://jfmengels.net/rewriting-elm-syntax", "published_at": "2024-07-27T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892942f2472", "title": "Elm Camp 2024", "url": "https://jfmengels.net/elm-camp-2024", "published_at": "2024-07-12T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892952d42c0", "title": "Analyzing extra files in elm-review", "url": "https://jfmengels.net/analyzing-extra-files", "published_at": "2024-06-14T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89295ecc209", "title": "A tale of failing to design rule boundaries - Data-last functions", "url": "https://jfmengels.net/data-last-rule-failure", "published_at": "2023-09-18T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89296cfcc49", "title": "The omniscient linter", "url": "https://jfmengels.net/the-omniscient-linter", "published_at": "2023-08-13T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89296e2d5bd", "title": "Pushing unused exports detection one step further", "url": "https://jfmengels.net/pushing-unused-exports", "published_at": "2023-07-28T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89296e7e8e1", "title": "Implementing multi-file analysis for linters", "url": "https://jfmengels.net/multi-file-analysis", "published_at": "2023-03-24T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89297733f93", "title": "A nice round ball", "url": "https://jfmengels.net/a-nice-round-ball", "published_at": "2023-01-27T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89297a4db9a", "title": "Gaining insight into your codebase with elm-review", "url": "https://jfmengels.net/elm-review-insights", "published_at": "2022-12-06T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892984ee22b", "title": "Much, much faster fixes", "url": "https://jfmengels.net/much-faster-fixes", "published_at": "2022-11-08T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892987ef909", "title": "Removing an annoyance in elm-review-simplify", "url": "https://jfmengels.net/removing-an-annoyance-in-simplify", "published_at": "2022-08-31T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892991a1761", "title": "Solving annoyances", "url": "https://jfmengels.net/solving-annoyances", "published_at": "2022-08-25T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b89299588a7d", "title": "ESLint equivalents in Elm", "url": "https://jfmengels.net/eslint-equivalents-in-elm", "published_at": "2022-08-16T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929a09ebb4", "title": "Optimizing for JavaScript is hard", "url": "https://jfmengels.net/optimizing-javascript-is-hard", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929a2047c3", "title": "Fixing vulnerabilities in Elm's virtual DOM", "url": "https://jfmengels.net/virtual-dom-security-patch", "published_at": "2022-05-23T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929b094626", "title": "Starter configurations for elm-review", "url": "https://jfmengels.net/starter-configurations", "published_at": "2022-04-26T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929b291aaa", "title": "Tail recursion, but modulo cons", "url": "https://jfmengels.net/modulo-cons", "published_at": "2022-02-28T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929bf20053", "title": "Stop the bleed", "url": "https://jfmengels.net/stop-the-bleed", "published_at": "2021-11-15T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929cdf7e58", "title": "There, fixed the docs for you", "url": "https://jfmengels.net/fixing-docs", "published_at": "2021-09-27T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929d30e7de", "title": "Package releases (August 2021)", "url": "https://jfmengels.net/package-releases-august-2021", "published_at": "2021-08-15T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929d64f546", "title": "What if ESLint's configuration worked like elm-review?", "url": "https://jfmengels.net/configuring-eslint", "published_at": "2021-08-09T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929e184d1d", "title": "Easier automatic fixes in elm-review", "url": "https://jfmengels.net/easier-automatic-fixes", "published_at": "2021-08-06T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929e3a3ba5", "title": "Measuring cognitive complexity with elm-review", "url": "https://jfmengels.net/cognitive-complexity", "published_at": "2021-07-07T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929eebd9f7", "title": "How disable comments make static analysis tools worse", "url": "https://jfmengels.net/disable-comments", "published_at": "2021-07-05T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b8929fadca15", "title": "Tail-call optimization in Elm", "url": "https://jfmengels.net/tail-call-optimization", "published_at": "2021-06-01T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a0819f03", "title": "Simplify", "url": "https://jfmengels.net/simplify", "published_at": "2021-04-24T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a15f62c5", "title": "Global and configuration errors", "url": "https://jfmengels.net/global-and-configuration-errors", "published_at": "2021-04-06T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a24428ee", "title": "You thought you had no dead code?", "url": "https://jfmengels.net/unused-patch-1-1-5", "published_at": "2021-02-20T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a2f6b237", "title": "Great compiler messages? Great test failure messages!", "url": "https://jfmengels.net/great-failure-messages", "published_at": "2021-02-18T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a34d1b7c", "title": "Safe dead code removal in a pure functional language", "url": "https://jfmengels.net/safe-dead-code-removal", "published_at": "2021-01-28T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a378f9e5", "title": "Test-only values", "url": "https://jfmengels.net/test-only-values", "published_at": "2020-12-22T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a416ee02", "title": "Hacktoberfest 2020", "url": "https://jfmengels.net/hacktoberfest-2020", "published_at": "2020-09-29T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a4e8f23b", "title": "1 year of elm-review. What lies ahead?", "url": "https://jfmengels.net/1-year-anniversary", "published_at": "2020-09-29T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a5db2b87", "title": "2.3.0 - Just try it out", "url": "https://jfmengels.net/2-3-0-just-try-it-out", "published_at": "2020-09-08T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a6714f2e", "title": "What has happened since elm-review v2?", "url": "https://jfmengels.net/what-has-happened-since-elm-review-v2", "published_at": "2020-08-26T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a6df20de", "title": "Single out elements using phantom types", "url": "https://jfmengels.net/single-out-elements-using-phantom-types", "published_at": "2020-05-04T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a77c79ba", "title": "Safe unsafe operations in Elm", "url": "https://jfmengels.net/safe-unsafe-operations-in-elm", "published_at": "2020-04-27T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a82b74d8", "title": "elm-review v2!", "url": "https://jfmengels.net/elm-review-v2", "published_at": "2020-04-08T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a8bf24dd", "title": "Announcing elm-review", "url": "https://jfmengels.net/announcing-elm-review", "published_at": "2019-09-29T00:00:00+00:00" }, { "id": "01a0878d-b520-702e-bd4c-b892a93761c3", "title": "The API of a water tap", "url": "https://jfmengels.net/the-api-of-a-water-tap", "published_at": "2019-01-02T00:00:00+00:00" } ] posts Claim your blog
Back to jfmengels.net
Blog · corpus.blog/blogs/jfmengels.net/posts

jfmengels.net

jfmengels.net

2026

2025

2024

2023

2022

2021

2020

2019