elixirboy Profile Banner
Max ▷ Elixir Profile
Max ▷ Elixir

@elixirboy

Followers
675
Following
2K
Media
46
Statuses
1K

Have *you* fallen for #ElixirLang yet? TILs and reflections from my 9 years with Elixir. Cranking out Elixir for Jump on weekdays. Cooking on my days off.

Kyiv/Himalayas
Joined April 2023
Don't wanna be here? Send us removal request.
@elixirboy
Max ▷ Elixir
7 months
TIL: You can define `fetch/2` in your struct-defining module and have it return anything you want for the `[]` operator:. #ElixirLang
Tweet media one
3
6
45
@elixirboy
Max ▷ Elixir
1 month
A very nice, concise introduction to Elixir and BEAM. Share it with anyone who's willing to understand why you're so lucky to work with the tech.
0
0
6
@elixirboy
Max ▷ Elixir
2 months
I never miss a talk by Evan Czaplicki, and here's a fresh new one:
2
1
12
@elixirboy
Max ▷ Elixir
3 months
Isn't this game cool? #ElixirConfEU
0
1
4
@elixirboy
Max ▷ Elixir
3 months
Me: What's your current favorite escape hatch when LiveView doesn't quite cut it?.Chris McCord: Web components with Lit. #ElixirConfEU cc @atomkirk.
2
1
7
@elixirboy
Max ▷ Elixir
4 months
Using two screens, I find it tiresome not to quickly see which screen is currently active. I googled it and found HazeOver. Quickly felt relief, recommended. #protip.
1
0
3
@elixirboy
Max ▷ Elixir
5 months
YES
Tweet media one
3
5
94
@elixirboy
Max ▷ Elixir
5 months
At work, just submitted my first PR which is 100% vibe-coded. It literally saved me a couple hours of codebase research and coding. AMA.
2
0
3
@elixirboy
Max ▷ Elixir
5 months
Vibe Mitigation Engineer. Full-time, on-site.
0
0
4
@elixirboy
Max ▷ Elixir
5 months
but hey, let's discuss.
1
0
0
@elixirboy
Max ▷ Elixir
5 months
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).
2
0
1
@elixirboy
Max ▷ Elixir
5 months
AI won't create anything fancy itself. It's good at producing building blocks, though, from which you, human, can build the fancy.
0
0
2
@elixirboy
Max ▷ Elixir
5 months
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 . Still picked a fancy name for it, just in case.
1
0
10
@elixirboy
Max ▷ Elixir
5 months
As much as I enjoy vibe coding with the Claude Code CLI, it hasn't been able to write a simple LiveView with just a single-field form in it. Someone needs to teach it best practices.
1
0
4
@elixirboy
Max ▷ Elixir
7 months
Apparently, there's already put_private for that:.
@elixirboy
Max ▷ Elixir
11 months
LiveView pros, have you considered using Process.put/2 and Process.get/1 instead of socket assigns in those cases when that data wouldn't change during the lifetime of a LiveView?. Example: I pass something in a session to a LV that I want to be accessible from its components.
0
0
1
@elixirboy
Max ▷ Elixir
8 months
Today is the day I, too, moved to Ghostty. Big thanks to Alacritty for serving me well over the years!. Feel free to discover a cool trick or two from those I've collected in the last few hours:
Tweet card summary image
github.com
Just my dotfiles. Contribute to mxgrn/dotfiles development by creating an account on GitHub.
2
0
6
@elixirboy
Max ▷ Elixir
9 months
Woke up to this. LiveView 🎉
Tweet media one
0
1
9
@elixirboy
Max ▷ Elixir
9 months
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:
Tweet card summary image
github.com
Carefully selected top-notch macOS apps. Contribute to mxgrn/best-of-mac development by creating an account on GitHub.
1
3
14
@elixirboy
Max ▷ Elixir
9 months
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.
2
0
4
@elixirboy
Max ▷ Elixir
9 months
Apparently, it's kinda documented: "Because the root layout from the Plug pipeline is rendered outside of LiveView. " -- implies that the app layout is rendered inside of LiveView:
1
0
1