Sign in

Jeroen Engels

@jfmengels.bsky.social
485 followers 117 following 424 posts

Elm developer. Author of elm-review.com. Blogging at jfmengels.net. Co-host of Elm Radio Podcast. Working on making programming easier through static analysis and FP, and hoping to keep Earth a nice place to live in somehow.

PostsRepliesMedia
Reposted by Jeroen Engels
Stup.Media @stup.media · 11h
🔴 Liberté d'informer menacée : À Montpellier, notre journaliste Valentin Levetti a été percuté par un policier à moto sans RIO alors qu’il filmait un blocus lycéen. Une plainte pour violences aggravées a été déposée. L'action policière doit être documentée. stup.media/blocus-lycee...
Miniature de l'article : le mot PRESS brisé
05935
Jeroen Engels @jfmengels.bsky.social · 12h
Is it possible to forbid anyone from rewriting my library/tool with AI? For instance by forbidding to use the source code to port it, and/or by running my tool to replicate its behavior?
000
Jeroen Engels @jfmengels.bsky.social · 12h
I hadn't heard about bun lint/format before. I imagine there is no novelty in either that deserve a fork, right? 😞
100
Jeroen Engels @jfmengels.bsky.social · 10/10/2026
Not enough guarantees for me, I adopted Elm 😄 (To be fair, I did so before ReScript became a thing, or at least entered my sight)
120
Jeroen Engels @jfmengels.bsky.social · 10/10/2026
Maybe with some additional tools to help with or even automate removing the cycles... 🤷
100
Jeroen Engels @jfmengels.bsky.social · 10/10/2026
Right... 😞
100
Jeroen Engels @jfmengels.bsky.social · 10/10/2026
Yes. It's also enforced by the Elm compiler so it's quite natural. I've mostly seen import cycles create super weird effects in JS. How is it being used in a "good" way in JS/TS codebases?
100
Jeroen Engels @jfmengels.bsky.social · 09/10/2026
It's cheap for elm-review too. We visit files in the order of imported first, and to do that we compute a graph (& verify there are no cycles). If it has cycles, then we report just that and no other linting errors, it's a necessary prerequisite for the linter. I think other tools should do the same
100
Jeroen Engels @jfmengels.bsky.social · 06/10/2026
Celle de l'orang-outan est plaçable dans presque n'importe quelle conversation sur le changement climatique.
090
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 05/10/2026
Elm 0.19.3 is out today! ✨ elm-lang.org/news/another... ✨ Check out the roadmap for the next few releases too. We are preparing the compiler for some exciting improvements and features 😊
Rough road map describing what to expect from the next few releases.
15823
Jeroen Engels @jfmengels.bsky.social · 04/10/2026
Thank you for the episode. A comment on the editing: It seems you're chopping off too much of the start of people's sentences, which makes some sentences seem too robotic (and/or hard to understand, but mostly robotic).
110
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 02/10/2026
I want to expand Acadia interop, but how should Algebraic Data Types be represented in TypeScript, Ruby, and Python? I wrote some options here: gist.github.com/evancz/8d1f2... What do you think?
273
Jeroen Engels @jfmengels.bsky.social · 01/10/2026
Coke One-Off
010
Jeroen Engels @jfmengels.bsky.social · 25/09/2026
I'm guessing that most people will have an issue with generative AI, not all AI. Would be good to clarify that.
100
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 24/09/2026
I have a bunch of changes that could be Elm 0.19.3. It's basically all "compiler improvements" that will not be visible to users, so I looking for feedback on which aspects sound most interesting. Let me know here or in the more detailed thread! ⬇️ discourse.elm-lang.org/t/help-plann...
01512
Jeroen Engels @jfmengels.bsky.social · 22/09/2026
Ok.. I'm looking forward to reading more about the debugging story.
000
Jeroen Engels @jfmengels.bsky.social · 22/09/2026
I'm not sure I understand the need for a CST (except for memory), given that the formatter will in practice ignore that information. Or is it needed specifically for suppressed formatting?
110
Jeroen Engels @jfmengels.bsky.social · 21/09/2026
"Each pixel is 6 kilometers (3.7 miles) per side" 6km plutôt non ? 🤔
100
Jeroen Engels @jfmengels.bsky.social · 19/09/2026
I'm realizing my phone is almost 8 and a half years old (and still going). That's a pretty good run!
031
Jeroen Engels @jfmengels.bsky.social · 17/09/2026
Avec des "non", on refait le monde. Non à la discrimination Non aux énergies fossiles Non à l'IA générative Non à...
010
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 16/09/2026
It is easy to define per-row security policies with Acadia: ✨ acadia.engineering/blog/simple-... ✨ The compiler then does "symbolic evaluation" at compile time so that in many cases, you pay zero runtime cost for your security guarantees! The example app runs an Elm server too! 🚄
0166
Jeroen Engels @jfmengels.bsky.social · 15/09/2026
Congratulations! I'm curious, why did this take 9 months?
100
Reposted by Jeroen Engels
Freya Holmér @freya.bsky.social · 12/09/2026
if you study hard and become good at any given craft, you'll eventually see success unless, of course, it's 2026, and you're on the worst timeline terrytao.wordpress.com/2026/09/11/a...
terrytao.wordpress.com
A Severe Misalignment of AI in Mathematics
I am proud to be among the list of 25 initial signatories — all Fields Medallists — to the declaration below, which grew out of discussions between ourselves over the last week. We have…
436350
Jeroen Engels @jfmengels.bsky.social · 11/09/2026
En même temps le second est écrit presque partout, alors que le premier... (Je reviens tout juste d'un semaine en Allemagne)
010
Jeroen Engels @jfmengels.bsky.social · 11/09/2026
Are you not worried that the $ cost of using LLMs will explode in the future?
101
Reposted by Jeroen Engels
toonholechris @toonholechris.bsky.social · 09/09/2026
Magic trick
472561955
Jeroen Engels @jfmengels.bsky.social · 10/09/2026
Cool change, though I really don't believe this should be part of a formatter (they should be part of a linter). That said, here's about 500 more simplification ideas from Elm: package.elm-lang.org/packages/jfm...
package.elm-lang.org
Simplify - elm-review-simplify 2.1.15
110
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 09/09/2026
Run an Elm program as a simple HTTP server! ✨ github.com/acadia-engin... ✨ Check out the full client/server/database example written in Elm/Acadia, and please share your results if you evolve it into something cool! Very curious to see what you can make!
Elm code for serving some Elm pages.
0184
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 07/09/2026
Prototyped a little script to run Elm code as a server. Trying out some ideas for `server modules` in Acadia!
Elm code describing a simple web server
1255
Reposted by Jeroen Engels
Matthias Ott @matthiasott.com · 06/09/2026
Fuck the AfD and everyone who voted for them today. You should be ashamed of yourself. Fascist losers. #nazisraus #noAfD
3753
Jeroen Engels @jfmengels.bsky.social · 03/09/2026
Tell her to unleash the dragons on her brother, as he has forgotten who he has sworn fealty to.
010
Jeroen Engels @jfmengels.bsky.social · 02/09/2026
Do you really want me to talk to your sister?
100
Jeroen Engels @jfmengels.bsky.social · 02/09/2026
I mean if the projects are very limited in scope and have very little ambition, it sounds possible...
000
Jeroen Engels @jfmengels.bsky.social · 02/09/2026
I just happen to know what you should be working on...
110
Jeroen Engels @jfmengels.bsky.social · 02/09/2026
Je visite le château de Nymphenburg. Le régent de l'époque a fait construire et a légué un palais absolument impressionnant. Je suis curieux de savoir si les actuels milliardaires vont nous laisser quelque chose de similaire. Un yacht délabré à visiter peut-être ?
010
Reposted by Jeroen Engels
frectonz @frectonz.et · 29/08/2026
Spending my Saturday playing around with Acadia. Feels like i'm doing a detox, no syntax highlighting, no LSPs, no LLMs. @acadia.engineering and @terezasokol.bsky.social cooked with this 👏
helix showing a counter implementation in acadia at the top and that same counter implementation being run via `acadia serve` at the bottom
0134
Reposted by Jeroen Engels
Ryan "UnionToTuple" Cavanaugh @searyanc.dev · 27/08/2026
I am once again asking people to stop sending us security reports of the form "Attacker who controls input .ts file content has control of output .js file"
61006
Jeroen Engels @jfmengels.bsky.social · 27/08/2026
👌 Yeah I have the same infinite loop problem, but I haven't spent time guarding against it yet. It's a bit less of a problem for me because of the prompting for fixes and displaying the number of fixes in real time. Users tend to notice and then they can disable the fix-all mode to unblock them.
010
Jeroen Engels @jfmengels.bsky.social · 27/08/2026
What happens after the fix though? Do you reanalyze the file from scratch with the new content?
100
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
Awesome to hear!
000
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
If I didn't hear about Dolly Parton earlier today, I could see myself reacting "What? They're dating?!"
000
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
Gotcha. That grouping seems easy when you know the rules to run, but hard/weird when you don't with custom rules. (I didn't miss this major news about Ruff, or did I?)
100
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
(I tried cc-ing you/Ruff as well but the autosuggestion wasn't smart enough, so I thought you weren't on BlueSky 😅) Do you mean that the solution requires rules knowing about each other, or that you have some kind of alternative system rules notify that prevents certain kinds of fixes?
100
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
cc @eslint.org @biomejs.dev @boshen.github.io. I don't know whether this is a problem you also want to take a look at. Or have solved! If so, I want to know how 😄
201
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
It's (apparently) been a while since I last wrote a blog article, but here's one about a problem with linters that you won't encounter when using elm-review jfmengels.net/concurrent-l...
jfmengels.net
Problem with concurrent linter fixes
Articles by Jeroen Engels, mostly around Elm, static analysis and more generally programming
041
Jeroen Engels @jfmengels.bsky.social · 26/08/2026
Today I explained a friend how you can hide part of your thumb when it's plainly in front of your eyes. That's possible because there's a gap in our vision that our brain masterfully hides from us. Loved to explain that one ❤️
020
Jeroen Engels @jfmengels.bsky.social · 25/08/2026
If people start making AI more efficient, we'll juste use it and consume it even more, more likely than not. See: youtu.be/a6sYYrLTOjQ
youtu.be
Unfortunately, You Need to Know What the Jevons Paradox is
YouTube video by Hank Green
000
Reposted by Jeroen Engels
Evan Czaplicki @acadia.engineering · 25/08/2026
Acadia gives some interesting guarantees: - No 1+N queries. - All queries terminate. Learn how a query language from the 1970s (Datalog) inspired the key design choices that make these guarantees possible in Acadia's query language! acadia.engineering/blog/solving...
acadia.engineering
Solving the 1+N Query Problem
1368
Reposted by Jeroen Engels
Pavel Hák @mocchytry.bsky.social · 24/08/2026
Můj oblíbený 🙂
2255