Joseph Koski
@jkwa.bsky.social
260 followers 790 following 20 posts
Author of Functional Programming with Elixir (beta, PragProg). Writing at joekoski.com.
Posts Media Videos Starter Packs
jkwa.bsky.social
I learn best by writing, so I wrote up some higher-level notes on Ash from the Ash Framework book. I thought others might find it useful:

www.joekoski.com/blog/2025/10...

#elixirlang @pragprog.com
Ash Framework: My Misconceptions
It’s all about the domain.
www.joekoski.com
jkwa.bsky.social
Hmm... I like the Ash thing, but perhaps it could be more like Haskell?
jkwa.bsky.social
I walked away from ElixirConf thinking it was time to take a serious look at Ash. I don’t have time to wander around, so I picked up the Ash Framework book. Halfway through, I get it.

pragprog.com/titles/ldash...

#elixirlang @pragprog.com
Ash Framework
Explore the power of Ash Framework by modeling and building the domain for a real-world web application.
pragprog.com
jkwa.bsky.social
An early reader had a suggestion.
Connect functional programming patterns to the libraries Elixir devs already use.
It’s a good idea, but I didn’t have space in the book.

www.joekoski.com/blog/2025/09...
#elixirlang #funx #PragProg
What’s an Effect?
How do we handle side effects in a pure functional system?
www.joekoski.com
Reposted by Joseph Koski
maennchen.dev
One package.
One update.
A worm crawling through the BEAM ecosystem.

A dark “what if” — and how we can stop it before it’s real.
erlef.org/blog/securit...

#erlang #elixirlang
jkwa.bsky.social
Advanced Functional Programming with Elixir just climbed back to #1 on the @PragProg best seller list!
pragprog.com/best_sellers/

#afpelixir #elixirlang
Reposted by Joseph Koski
elixir-radar.com
Elixir Radar issue 484is out! 📣

You can read it here: buff.ly/vWcu6fa

This issue comes with content from @peerstr.bsky.social @jkwa.bsky.social @mikezornek.com @josevalim.bsky.social , Mike Hostetler and Sven Van Caekenberghe .Thank you!

#ElixirLang
Elixir Radar 484
buff.ly
jkwa.bsky.social
Another deleted scene from my book:

There are many ways to solve equality: duck typing, injection, protocol dispatch.

Here's why Funx uses the one it does:

www.joekoski.com/blog/2025/09...

#elixirlang #funx #AFPElixir
Polymorphism and Behavior Injection
When are two things the same?
www.joekoski.com
Reposted by Joseph Koski
nicholasjhenry.github.io
I 💜 this passage from @jkwa.bsky.social buff.ly/xIVq6gW

"... understanding doesn’t parallelize, and complexity doesn’t distribute. Each new contributor must climb the same tangled mess... even more time is spent coordinating, clarifying, and patching over mismatches in mental models."

#elixirlang
Advanced Functional Programming with Elixir
Use advanced functional programming principles, practical domain-driven design techniques, and production-ready Elixir code to build scalable, complex systems from simple, reusable components.
pragprog.com
jkwa.bsky.social
Funx now has Livebooks.
I considered a plugin, but thought this might be a good job for an LLM.
This short post covers my strategy:
www.joekoski.com/blog/2025/09...

#elixirlang #funx
Generate Livebooks with an LLM
So many loops…
www.joekoski.com
jkwa.bsky.social
...or get a friend who badgers you to post things on social media. That works as well.
jkwa.bsky.social
Most personal blogs are in the low hundreds of unique visitors per month. Mine was too. This month I passed a milestone.

#elixirlang
jkwa.bsky.social
Thanks! I reposted with he right one
jkwa.bsky.social
I just finished putting together interactive Livebook notebooks for every chapter of Advanced Functional Programming with Elixir.

You can now run all the examples in your browser. Or like me, spin them up locally with Docker:

www.joekoski.com/blog/2025/09...

#elixirlang hashtag#AFPElixir
Livebook Examples from Advanced Functional Programming with Elixir
It feels a bit impolite to ask readers to download code and type mix commands just to run the examples. We have better tools now.
www.joekoski.com
jkwa.bsky.social
Some comments on an earlier post had me thinking about polymorphic equality in Elixir, and how == can fall short.
www.joekoski.com/blog/2025/08...

#elixirlang #AFPElixir
What’s the point of a polymorphic eq?
Why not keep equality inside the module where it belongs?
www.joekoski.com
jkwa.bsky.social
Just got The BEAM Book by Erik Stenman in the mail.
Time to go spelunking in the BEAM!

#elixirlang #erlang #beam #AFPElixir
jkwa.bsky.social
Follow-up post on polymorphism in Elixir. This one looks at how structs help avoid pitfalls from other languages.
www.joekoski.com/blog/2025/08...

#elixirlang #AFPElixir
Polymorphism and Structs in Elixir
Polymorphism has always relied on tags. Elixir’s structs make them safer.
www.joekoski.com
Reposted by Joseph Koski
margeditor.bsky.social
Celebrating Advanced Functional Programming with Elixir by Joseph Koski now in beta!

🔗 Read more: bit.ly/3V5AQBZ

📘 ebook: pragprog.com/titles/...

#Elixir #functionalprogramming #MyElixirStatus #WeBEAMTogether #programming #pragprog
Book cover for Advanced Functional Programming with Elixir by Joseph Koski, showing a world map with glowing blue paths, arrows, and markers