TILs and reflections from my 9 years with Elixir.
Cranking out Elixir for jumpapp.com on weekdays. Cooking on my days off.
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).
jump.ai/careers?ashb...
#ElixirJobs
jump.ai/careers?ashb...
#ElixirJobs
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.
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.
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.
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.
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?...
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?...
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...
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...
Just vibe-coded this toggle for #ElixirLang maps in Neovim.
Just vibe-coded this toggle for #ElixirLang maps in Neovim.
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)
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)
Seeing too many false positives like that lately.
Seeing too many false positives like that lately.
What other languages besides Lisp can claim that?
What other languages besides Lisp can claim that?
BBC uses custom Elixir DSLs to serve
📈 600m+ monthly unique views
💻 12 servers (down from 100
🧑💻 7 #elixirlang engineers!
Mind blowing! 🤯
Chris McCord: Web components with Lit.
#ElixirConfEU
Chris McCord: Web components with Lit.
#ElixirConfEU
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).
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).
It was simply the easiest way to get its documentation into Dash. Am I doing it wrong?
#ElixirLang
It was simply the easiest way to get its documentation into Dash. Am I doing it wrong?
#ElixirLang
#ElixirLang
#ElixirLang