Elixir ▷ Max
banner
mxgrn.com
Elixir ▷ Max
@mxgrn.com
Have *you* fallen for #ElixirLang yet?

TILs and reflections from my 9 years with Elixir.

Cranking out Elixir for jumpapp.com on weekdays. Cooking on my days off.
Pinned
When to name your #ElixirLang function with a bang?

Only if the function is *expected* to throw errors during normal execution.

Do not simply 'inherit' bangs from what’s inside that function (`Repo.update!`) if those exceptions would signal a bug (that is, should never happen).
Reposted by Elixir ▷ Max
Who do you know who wants to come work full time on #ElixirLang OSS tooling? (Boosts appreciated!)

jump.ai/careers?ashb...

#ElixirJobs
Careers at Jump | Jump
Jump is empowering financial advisors and their clients to thrive in the age of AI. We're growing incredibly quickly with a team that comes from Google, Stripe, JP Morgan, BILL, Nitrogen, Harvard, Sta...
jump.ai
November 7, 2025 at 12:41 AM
Taking an acclimatization walk around Periche, Nepal. 4400m.
November 4, 2025 at 7:44 AM
Want a supervised task to finish (not get killed) during rolling #ElixirLang deployments?

Simply trap the exit:

Task.Supervisor.start_child(
MyApp.TaskSupervisor,
fn ->
Process.flag(:trap_exit, true)
do_work()
end
)

The task will have 5 seconds to finish.
November 2, 2025 at 4:56 AM
Just downloaded ChatGPT Atlas, and I must say this direct browser-ChatGPT integration can be very useful.

It just walked me through creating a free-form Google Analytics report, which I had no knowledge of. Previously, I'd need to send ChatGPT screenshots of where I was, and it was tedious.
October 29, 2025 at 1:13 AM
Are you learning a foreign language by any chance? And what are the odds you use Telegram too? 🤔

I’ve been building a Telegram bot that finally makes vocabulary learning with spaced repetition fun for me, thanks to LLMs.

Maybe it will for you, too. Give it a try: t.me/lexicornbot?...
October 26, 2025 at 11:03 AM
TIL: If you append /rss to the link of any bsky profile, you'll get, well, an RSS feed. Handy if you really don't want to miss posts from a specific someone.
October 21, 2025 at 8:57 AM
Neovim geeks 🫶 — this helps me debug in #ElixirLang:

With the cursor inside a function, :ElixirCopyFuncFqn copies its fully qualified name (FQN) to the clipboard — ready to paste into IEx, local or remote.

github.com/mxgrn/dotfil...
October 5, 2025 at 8:04 AM
My favorite application of AI? Sharpening my tools.

Just vibe-coded this toggle for #ElixirLang maps in Neovim.
October 4, 2025 at 8:46 AM
Want to disable all unmocked HTTP calls from Req at once during #ElixirLang tests?

Simply add this to test/test_helper.exs:

Req.default_options(
adapter: fn req ->
raise "Unmocked call to #{req.url}"
end
)

(replace `raise` with a log warning if that's more useful)
October 3, 2025 at 3:18 AM
It's easy to keep nudging the AI until it 'fixes' the tests, and it feels like achieving something, while the value of such tests may be plainly negative.
Seeing too many false positives like that lately.
September 23, 2025 at 8:25 AM
Isn’t it neat that Elixir’s AST is valid Elixir?
What other languages besides Lisp can claim that?
September 16, 2025 at 4:15 PM
It's beyond me why Quokka, the awesome Elixir formatter plugin, has so few stars on GitHub, I use it on every project: github.com/emkguts/quokka
GitHub - emkguts/quokka: A configurable Elixir styler
A configurable Elixir styler. Contribute to emkguts/quokka development by creating an account on GitHub.
github.com
August 30, 2025 at 7:03 AM
A very nice, concise, top-level introduction to Elixir and BEAM. Share it with anyone who's willing to understand why you're so lucky to work with the tech. youtu.be/_5B_B_IgtAg
Practical Arguments for Erlang / Elixir - Shawn McCool
YouTube video by Shawn McCool
youtu.be
July 15, 2025 at 4:43 AM
I never miss a talk by Evan Czaplicki, and a fresh one just dropped: www.youtube.com/watch?v=YPAa...
Keynote: Rethinking our Adoption Strategy - Evan Czaplicki | Lambda Days 2025
YouTube video by Code Sync
www.youtube.com
June 23, 2025 at 9:40 AM
Just something to casually mention to your next non-Elixir developer friend.
Let’s recap:

BBC uses custom Elixir DSLs to serve

📈 600m+ monthly unique views
💻 12 servers (down from 100
🧑‍💻 7 #elixirlang engineers!

Mind blowing! 🤯
May 17, 2025 at 8:27 AM
Me: What's your current favorite escape hatch when LiveView doesn't quite cut it?
Chris McCord: Web components with Lit.
#ElixirConfEU
May 15, 2025 at 6:39 AM
YES
March 28, 2025 at 1:12 PM
Vibe Mitigation Engineer. Full-time, on-site.
Vibe Risk Senior Manager
Chief Vibe Officer
March 18, 2025 at 12:10 PM
When to name your #ElixirLang function with a bang?

Only if the function is *expected* to throw errors during normal execution.

Do not simply 'inherit' bangs from what’s inside that function (`Repo.update!`) if those exceptions would signal a bug (that is, should never happen).
March 16, 2025 at 11:20 AM
AI won’t create anything fancy on its own. But it’s great at producing building blocks, with which you, human, can build the fancy.
March 15, 2025 at 2:48 PM
Just published my first Hex package—one that no one else should even consider using.

It was simply the easiest way to get its documentation into Dash. Am I doing it wrong?

#ElixirLang
March 15, 2025 at 2:08 PM
Hey @sasajuric.bsky.social, I would be very curious to hear about your experience teaching programming to non-developers. Would you consider bringing this up in your next interview or doing a conference talk about it?
February 6, 2025 at 11:00 AM
Hey @peterullrich.com, in the context of programming, would you say that the effort-to-result ratio of writing blog posts is better than that of creating videos?
February 6, 2025 at 10:57 AM
it'll take your job they say
February 2, 2025 at 7:49 AM
TIL: You can define fetch/2 in your struct-defining module and have it return anything you want for the [] operator:

#ElixirLang
January 27, 2025 at 11:53 AM