Sign in

Elixir ▷ Max

@mxgrn.com
1.8K followers 105 following 419 posts

x.com/elixirtap Have *you* fallen for #ElixirLang yet? TILs and reflections from my 10 years with Elixir. Cranking out Elixir for jumpapp.com on weekdays. Cooking on my days off.

PostsRepliesMedia
Elixir ▷ Max @mxgrn.com · 25/08/2026
In the AI era, a good developer's core job is _understanding_ what the AI wrote, down to the details when it matters. Understanding complex systems is a rare skill. It always has been. So demand for good developers isn't going anywhere. If anything, it's going up.
010
Elixir ▷ Max @mxgrn.com · 23/08/2026
LLMs do improve the quality and correctness of *my* code, I dunno.
120
Elixir ▷ Max @mxgrn.com · 25/04/2026
Presented my solution for integration testing of Telegram bots as a lightning talk at ElixirConf EU. #elixirlang
1112
Elixir ▷ Max @mxgrn.com · 10/03/2026
A small TIL for Git lovers: `git merge-base HEAD main` gives you the nearest common commit between the current branch and main. That's the commit where those two parted ways.
2120
Elixir ▷ Max @mxgrn.com · 31/01/2026
People have always been wary of computer viruses, and for good reason. Now, we have much smarter non-deterministic (!) systems running our VPSs and laptops, online, with increasing access to other services. What can go wrong?
030
Elixir ▷ Max @mxgrn.com · 23/01/2026
So sad that Telegram has a bad reputation in the West. It's *by far* the best UI/UX messenger out there. WhatsApp doesn't even come close (although I love the fact that it runs on the BEAM).
340
Elixir ▷ Max @mxgrn.com · 22/12/2025
For as long as I can remember, I thought these were equivalent: 1) if foo, do: bar, else: baz 2) foo && bar || baz Until the day bar was nil. #ElixirLang
1121
Elixir ▷ Max @mxgrn.com · 11/12/2025
Whoever designed the Apple Watch Workout app, please leave for Meta.
040
Elixir ▷ Max @mxgrn.com · 10/12/2025
My lexicorn.ai just sold its 10th paid subscription. On to the first 100! :)
lexicorn.ai
Lexicorn · Telegram Vocabulary Builder
110
Elixir ▷ Max @mxgrn.com · 24/11/2025
I don't know who needs to hear this, but this works in #ElixirLang (new line after :foo is key): if true, do: (:foo :bar) Can you guess what it returns?
440
Elixir ▷ Max @mxgrn.com · 04/11/2025
Taking an acclimatization walk around Periche, Nepal. 4400m.
170
Elixir ▷ Max @mxgrn.com · 02/11/2025
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.
180
Elixir ▷ Max @mxgrn.com · 29/10/2025
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.
000
Elixir ▷ Max @mxgrn.com · 26/10/2025
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?...
140
Elixir ▷ Max @mxgrn.com · 21/10/2025
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.
0258
Elixir ▷ Max @mxgrn.com · 05/10/2025
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...
290
Elixir ▷ Max @mxgrn.com · 04/10/2025
My favorite application of AI? Sharpening my tools. Just vibe-coded this toggle for #ElixirLang maps in Neovim.
050
Elixir ▷ Max @mxgrn.com · 03/10/2025
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)
0241
Elixir ▷ Max @mxgrn.com · 23/09/2025
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.
120
Elixir ▷ Max @mxgrn.com · 16/09/2025
Isn’t it neat that Elixir’s AST is valid Elixir? What other languages besides Lisp can claim that?
232
Elixir ▷ Max @mxgrn.com · 30/08/2025
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.com
GitHub - emkguts/quokka: A configurable Elixir styler
A configurable Elixir styler. Contribute to emkguts/quokka development by creating an account on GitHub.
3100
Elixir ▷ Max @mxgrn.com · 15/07/2025
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
youtu.be
Practical Arguments for Erlang / Elixir - Shawn McCool
YouTube video by Shawn McCool
0154
Elixir ▷ Max @mxgrn.com · 23/06/2025
I never miss a talk by Evan Czaplicki, and a fresh one just dropped: www.youtube.com/watch?v=YPAa...
youtube.com
Keynote: Rethinking our Adoption Strategy - Evan Czaplicki | Lambda Days 2025
YouTube video by Code Sync
1246
Elixir ▷ Max @mxgrn.com · 17/05/2025
Just something to casually mention to your next non-Elixir developer friend.
030
Elixir ▷ Max @mxgrn.com · 15/05/2025
Me: What's your current favorite escape hatch when LiveView doesn't quite cut it? Chris McCord: Web components with Lit. #ElixirConfEU
0120
Elixir ▷ Max @mxgrn.com · 28/03/2025
YES
2243
Elixir ▷ Max @mxgrn.com · 18/03/2025
Vibe Mitigation Engineer. Full-time, on-site.
1121
Elixir ▷ Max @mxgrn.com · 16/03/2025
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).
3264
Elixir ▷ Max @mxgrn.com · 15/03/2025
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.
160
Elixir ▷ Max @mxgrn.com · 15/03/2025
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
070
Elixir ▷ Max @mxgrn.com · 06/02/2025
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?
240
Elixir ▷ Max @mxgrn.com · 06/02/2025
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?
160
Elixir ▷ Max @mxgrn.com · 02/02/2025
it'll take your job they say
040
Elixir ▷ Max @mxgrn.com · 27/01/2025
TIL: You can define fetch/2 in your struct-defining module and have it return anything you want for the [] operator: #ElixirLang
2171
Elixir ▷ Max @mxgrn.com · 27/12/2024
Today is the day I, too, moved to Ghostty. Big thanks Alacritty, you’ve been a blast! Feel free to discover a cool trick or two from those I've collected in the last few hours: github.com/mxgrn/dotfil...
1150
Elixir ▷ Max @mxgrn.com · 26/12/2024
#elixirlang and #neovim users, You're probably already using the vim-surround plugin. The following config line will allow you to press % in visual mode to wrap the selection in %{}: let g:surround_37 = "%{\r}" It's useful for converting keyword lists to maps, for example.
0182
Elixir ▷ Max @mxgrn.com · 25/12/2024
Quick Neovim pro tip: Say, you’re adding a keymap and are torn between using a leader/space as a prefix or <C-somekey>. Choose Ctrl when pressing this combination repeatedly would make sense, such as for actions like moving around. Choose a prefix for stand-alone actions, like firing a command.
2121
Elixir ▷ Max @mxgrn.com · 09/12/2024
Poor man's audit log for Postgres tables. Pure SQL, no Elixir required. Time-to-shelf: 1 minute. Run the final part for each table you want to audit. Use Postico as the UI. gist.github.com/mxgrn/9900c2...
192
Elixir ▷ Max @mxgrn.com · 08/12/2024
New type of spam: AI-generated songs on Spotify.
150
Elixir ▷ Max @mxgrn.com · 07/12/2024
Could you recommend an #ElixirLang library for tracking changes in the database, such as for audit purposes? I need it to work with Postgres and Ecto.
381
Elixir ▷ Max @mxgrn.com · 04/12/2024
Woke up to this. LiveView 🎉
0280
Elixir ▷ Max @mxgrn.com · 29/11/2024
macOS lovers, just wanted to share a quick list of apps that, after trying a bunch of alternatives, I personally use daily — and absolutely adore: github.com/mxgrn/best-o...
1100
Elixir ▷ Max @mxgrn.com · 27/11/2024
I no longer understand why merge commits are so demonized. If every commit is meaningful, why squash? If a PR contains multiple meaningful commits and rebasing guarantees multiple merge conflicts, why rebase? Just merge. Bonus: it preserves the exact history of changes.
220
Elixir ▷ Max @mxgrn.com · 26/11/2024
TIL: You can put a LiveComponent *outside* of a LiveView render (e.g., in app.html.heex), and it will behave as a child of the currently mounted LiveView. Confusing. Fascinating. #ElixirLang.
180
Elixir ▷ Max @mxgrn.com · 25/11/2024
A new talk by Saša Jurić, Against the Grain, has just been released on YouTube: www.youtube.com/watch?v=s6c4... Are you as excited as I am? #ElixirLang
youtube.com
Against the Grain - Saša Jurić | Code BEAM America 2024
YouTube video by Code Sync
1132
Reposted by Elixir ▷ Max
Carter Bryden 🇨🇦 @carterbryden.com · 24/11/2024
If Elon was actually funny, he'd make a bluesky account and post "I'm sure you're all wondering why I've gathered you here"
072
Elixir ▷ Max @mxgrn.com · 21/11/2024
Do I even need to "provide value" to gain followers on Bluesky this quickly? 🤔
210
Elixir ▷ Max @mxgrn.com · 19/11/2024
TIL: When writing #ElixirLang tests, don’t rely on alphanumeric sorting in Postgres to be consistent.
020
Elixir ▷ Max @mxgrn.com · 13/11/2024
Today, I joined @tylerayoung.com and other amazing engineers at jumpapp.com! Excited to tackle new challenges with Elixir 🚀
5191
Elixir ▷ Max @mxgrn.com · 11/11/2024
You may know that `Phoenix.LiveView.mount/3` is called 2 times during the life-cycle of a LiveView: at its initial HTML render, and after client connects to server. I just realized it's also called from 2 different processes. The second process is actually spawned on client connecting to server.
3100