Joseph Koski's Avatar

Joseph Koski

@jkwa.bsky.social

Author of Functional Programming with Elixir (beta, PragProg). Writing at joekoski.com.

323 Followers  |  800 Following  |  47 Posts  |  Joined: 18.04.2025
Posts Following

Posts by Joseph Koski (@jkwa.bsky.social)

Post image

πŸ€” What happens to pipelines when branching enters the picture?
@jkwa.bsky.social shows how Ash's DSL approach solves this - intent-focused composition that stays ergonomic.
Learn: better DSL patterns, complex workflows, clearer code codebeamvancouver.com#tickets

16.02.2026 17:31 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

Advanced BEAM Architecture at Code BEAM Vancouver
Joseph Koski: Better DSLs
Nicholas Geraedts: GraphQL with Spark
Lorena Mireles: BEAM concurrency limits
Learn: β†’ Intent-focused DSLs β†’ Developer experience β†’ Concurrency costs
codebeamvancouver.com#tickets

10.02.2026 17:05 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: Reducing Degrees of Freedom Reducing degrees of freedom to make rules more dependable.

Funx: Reducing Degrees of Freedom

Rules built from a consistent set of primitives with clear semantics are easier to reason about, review, and evolve.

Includes a Livebook so you can try it yourself.

www.joekoski.com/blog/2026/02...

#elixirlang #livebook #funx

09.02.2026 21:15 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: Free Your Predicates β€œA complex system that works is invariably found to have evolved from a simple system that worked.” β€” John Gall

Funx: Free Your Predicates

Avoid burying your domain rules in control flow.

Includes a Livebook so you can try it yourself.

www.joekoski.com/blog/2026/02...

#elixirlang #livebook #funx

02.02.2026 18:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: Equality as a Domain Rule β€œA model is a selectively simplified and consciously structured form of knowledge.” β€” Eric Evans

Funx Eq: What does β€œsame” mean in your domain?

How to model equality as a domain rule.

Includes a Livebook so you can try it yourself.

www.joekoski.com/blog/2026/01...

#elixirlang #livebook #funx

27.01.2026 18:39 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: Optics Working Together β€œYou’re looking at it wrong.” β€” The Big Lebowski (1998)

Optics in Funx: optics don’t live alone. Lens, Prism, Traversal, and Iso work together.

Includes a Livebook

www.joekoski.com/blog/2026/01...

#elixirlang #livebook #funx

21.01.2026 19:52 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: The Optic Iso β€œI see dead people.” β€” The Sixth Sense (1999)

Optics in Funx: same thing, different representations. That’s an Iso.

Includes a Livebook

www.joekoski.com/blog/2026/01...

#elixirlang #livebook #funx

14.01.2026 22:06 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks!

09.01.2026 23:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability: Koski, Joseph, Tulton, Adaobi Obi: 9798888651797: Amazon.com: Books Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability [Koski, Joseph, Tulton, Adaobi Obi] on Amazon.com. *FREE* shipping on qualifying offers. Ad...

My book is #1 on Amazon!

Proving once again that you can be #1 in anything, as long as you control the denominator.

a.co/d/dPiWKRE

08.01.2026 23:14 β€” πŸ‘ 15    πŸ” 1    πŸ’¬ 3    πŸ“Œ 0
Post image Post image Post image

New speakers: Lorena Miles, @hayleigh.dev & @jkwa.bsky.social join Code BEAM Lite Vancouver! More announcements coming. Join waiting list for exclusive pricing.
codebeamvancouver.com#speakers

08.01.2026 17:31 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Preview
Funx: Adding the Optic Traversal β€œYou’re either in or you’re out.” β€” Ocean’s Eleven (2001)

More optics in Funx: when you need multiple foci, use a traversal.

Includes a Livebook

www.joekoski.com/blog/2026/01...

#elixirlang #livebook #funx

05.01.2026 17:33 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Insight: Top Ten 2025 Titles at pragprog.com
#6 Advanced Functional Programming with Elixir
by Joseph Koski @jkwa.bsky.social
pragprog.com/titles/...
Use code INSIGHT to save 40% off this title (and almost everything else) at pragprog.com

01.01.2026 21:12 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: Reorganizing Eq and Ord When designing Funx I leveraged protocols, which meant some concessions.

Funx: Reorganizing Eq and Ord
www.joekoski.com/blog/2025/12...

#elixirlang

01.01.2026 18:14 β€” πŸ‘ 13    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I like that Ash is opinionated. I chalk up the lack of parallelized validation to β€œvalidations should be fast and local,” which seems like a reasonable call.

I also like how easy it is to drop in and out of the DSL.

30.12.2025 02:55 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Wow! Glad it helped!

29.12.2025 19:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I really like Ash!

29.12.2025 19:02 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Funx: Building Lexicographic Sorts with Optics β€œYou’re not thinking fourth dimensionally!” β€” Doc Brown, Back to the Future Part II (1989)

Funx Optics: Declare your order.
www.joekoski.com/blog/2025/12...

#elixirlang

29.12.2025 18:41 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Ash Framework: Lessons from its DSL Lifting (or perhaps stealing) some of Ash’s good ideas.

I've been kicking around a smarter pipeline to handle that issue.

www.joekoski.com/blog/2025/12...

22.12.2025 23:25 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability: Koski, Joseph, Tulton, Adaobi Obi: 9798888651797: Amazon.com: Books Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability [Koski, Joseph, Tulton, Adaobi Obi] on Amazon.com. *FREE* shipping on qualifying offers. Ad...

My book up on Amazon πŸŽ‰

About 900 people have already purchased it directly from the Pragmatic Bookshelf. If you’re one of them, I’d really appreciate a review. Even a quick sentence or two makes a huge difference.

a.co/d/bWoZwVc

22.12.2025 20:54 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Funx: Adding the Optic Prism β€œThe problem is choice.” β€” Neo, The Matrix (1999)

More optics in Funx: name your shareable boundaries with prisms.

Includes a Livebook.

www.joekoski.com/blog/2025/12...

#elixirlang

22.12.2025 17:48 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Preview
Funx: Adding the Optic Lens β€œI didn’t say it would be easy. I just said it would be the truth.” β€”Morpheus, The Matrix (1999)

Couldn't fit optics in my book, but I can build them into Funx. Here's why lawful lenses matter (even in Elixir):

www.joekoski.com/blog/2025/12...

#elixirlang

16.12.2025 17:46 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
Funx: Adding tap Tap tap tap-a-roo

New blog post: After building out the Either DSL, I realized Funx needed a context-aware tap.

www.joekoski.com/blog/2025/12...

#elixirlang

08.12.2025 22:57 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Ash Framework: Lessons from its DSL Lifting (or perhaps stealing) some of Ash’s good ideas.

New post in my Ash Framework series. This time I’m lifting a few of Ash’s DSL ideas (or stealing them outright) to build an Either DSL in Funx.
www.joekoski.com/blog/2025/12...

#elixirlang @pragprog.com

02.12.2025 21:07 β€” πŸ‘ 15    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Ash Framework: Calculations and Uncertainty How Ash calculations work and ways to deal with missing or uncertain data.

A new post in my series on the Ash Framework. This one looks at calculations and includes functional programming strategies for managing uncertainty.
www.joekoski.com/blog/2025/11...

#elixirlang @pragprog.com

25.11.2025 21:20 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

When the work of our authors intersects, it's amazing. Such a privilege to provide a platform for all these talented, passionate humans.
And, their books are included in our Black Friday, 50% off sale!

20.11.2025 17:26 β€” πŸ‘ 1    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Thanks, glad you like it!

18.11.2025 21:28 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Ash Framework: Diving into Validation β€œThat’s just, like, your opinion, man.” β€”The Big Lebowski (1998)

A new post in my series on the Ash Framework. This one explores the underlying mechanics of Ash validation and where Funx can help when checks need more structure or concurrency.
www.joekoski.com/blog/2025/11...

#elixirlang @pragprog.com

18.11.2025 21:07 β€” πŸ‘ 19    πŸ” 5    πŸ’¬ 2    πŸ“Œ 1
Preview
Ash Framework: A Closer Look at Actions Time for a closer look at actions.

Another in my series on the Ash Framework. Understanding actions from a functional programming perspective.
www.joekoski.com/blog/2025/11...

#elixirlang

12.11.2025 19:57 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Ash Framework: Evaluating Ash for Existing Systems How difficult is it to incorporate Ash into an existing codebase?

Yet another in my series on the Ash Framework. I wanted to explore what it’s like to bring Ash into an existing project.

www.joekoski.com/blog/2025/11...

#elixirlang

03.11.2025 19:44 β€” πŸ‘ 11    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
Ash Framework: Combining Ash Writes with Electric Reads Exploring how Ash implements Ecto.

Adding to my series on the Ash Framework book. Exploring how Ash works with Ecto and taking the opportunity to try a promising new library called Electric.
www.joekoski.com/blog/2025/10...

#elixirlang @pragprog.com

27.10.2025 20:26 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0