stevensonmt

stevensonmt

Wanted to go ahead and kick off the book club for Ash Framework: Create Declarative Elixir Web Apps. I had hoped to get through more of it myself before starting, but … life. Rather than waiting for the ever-receding “good time to do it” I wanted to start talking about the book now at least in part because the Ash Weekly newsletter announced that there will be an AMA on DevTalk tomorrow and the next day with @zachdaniel and @sevenseacat. I also wanted to have the discussion going in case anyone is headed to CodeBeam for the Supercharge Your Elixir Apps with Ash training session on March 5 and wanted to get a head start.

These are the folks who have previously contacted me or @AstonJ about wanting to participate:
@ken-kost
@asianfilm
@nille
@Pal
@denial

Of course everyone is welcome and I hope more folks will participate.

I’m going to throw out some initial broad thoughts to maybe get the ball rolling a little bit. I have never attempted to use Ash before but have been intrigued by it since it was announced as a project. The online documentation and helpfulness of the developers across a variety of platforms have been really impressive. I would say the book is an extension of that ethos. One tip, if you see a call out in the book clearly marked as important with a bright orange exclamation point in 44 point bold font next to a header that begins with “Don’t forget…” you should pay attention to that information. Ask me how I know.

Welcome everyone, can’t wait to read your thoughts!

Showing Posts 1 to 10

hyperoceanic

hyperoceanic

Me, please @stevensonmt! I’m relatively new to Elixir, looked at the Ash docs, decided to get the book.

Pal

Pal

Sweet. I’m going through the book for the second time, hope to add something useful to the convo.

stevensonmt

stevensonmt OP

I think you’ll enjoy it @hyperoceanic.

@ashkan117 welcome to the party as well!

stevensonmt

stevensonmt OP

I hope everyone’s had a chance to get started on the book. My real life has been very hectic so I haven’t quite finished. I think this is a book most people could get through in 3 days if they had the time to commit to it. Alas, I think we’re all probably pretty busy.

Anyway, just thought I’d share some thoughts on the first chapter. The writing style is clear and personable. Because I so rarely have to do anything with postgres anytime I do a book like this the hardest part is the setup where I have relearn all the database stuff. Other than that the first chapter was pretty effortless.

I really feel like Igniter strikes a great balance of being magical but also printing everything to the terminal so you know what is actually happening. The messages and warnings are very explicit, which is so nice.

The book does a nice job of introducing the concepts of domains and resources, terms which for trained devs are probably obvious but for someone self-taught are a bit opaque. This is clearly wrong, but my intuitive model of Domain:Resources is something like Parent:Sibling classes. So the example Tunez app has a Music domain with resources of Album, Artist, and Track. Everything an instance of an Artist, Album, or Track shares comes from being in the Music domain. While Album, Artist, and Track clearly relate to one another, each also have independent functionality. I wonder if anyone has a more accurate interpretation.

My final takeaway from chapter 1 was just how easy Ash makes the initial setup for a project. It really does exactly as advertised. You get to concentrate on the logic and ideas behind your project while Ash handles a large portion of the implementation. Unlike an agentic tool, however, Ash is not a black box so you can always see how and why it did what it did for you.

Looking forward to hearing everyone else’s experience with the book and Ash in general.

giusdp

giusdp

I went through the book some days ago and jumped straight to a fairly big project I wanted to do for some time. I have the book constantly open and jump back to it every time I need to do something. It’s helping me a lot to retain the info together with the docs.

Ash has a ton of stuff and the book is great to get a fast overview of how things work together so you can get started. Now I dived into multi-tenancy which the book does not cover (and the docs are not super deep either). I found way more help for that on the forum here.

Overall it’s quite enjoyable to work with, I like the book a lot and I can’t wait for the new chapter.

stevensonmt

stevensonmt OP

Anybody want to give me a clue what the GraphQL query for signing in with the API is supposed to look like? I’m doing this in the playground:

{
  signInWithPassword(email: "apiusr2@json.com", password:"password") {
    id
  } 
    
  }

and getting a 200 response from the server but the response in the playground is

{
  "data": {
    "signInWithPassword": null
  },
  "errors": [
    {
      "code": "forbidden",
      "message": "forbidden",
      "path": [
        "signInWithPassword"
      ],
      "fields": [],
      "vars": {},
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "short_message": "forbidden"
    }
  ]
}
zachdaniel

zachdaniel

Creator of Ash

The policies on the action by default only allow AshAuthentication to call them. If you want to allow signing in over the API, you’d need to add a policy allowing it.

GraphQL always responds with 200 (not something we can do anything about).

stevensonmt

stevensonmt OP

Thanks. I had but my typing is so terrible the policy was enabled for passowrds only.

stevensonmt

stevensonmt OP

Sorry this thread hasn’t really taken off. I’m surprised because the volume of Ash-related threads and the general interest in this book seems high. Unfortunately my life is very hectic at the moment – my wife has COVID, my daughter has mental health issues, my dog is dying of kidney failure, and my real job responsibilities are growing exponentially. I’m afraid I probably won’t have as much time to devote to shepherding this thread as I had hoped for a while. I do think the book is fantastic and the folks behind Ash are incredibly generous with their time and expertise. Hopefully this thread will organically grow as people go through the book, though perhaps the lack of discussion is actually a testament to how well done it is. If everything in the book is self-explanatory not much room for discussion I guess.

10
Post #9
ashkan117

ashkan117

No need to apologize! I’ve been skimming through the book more than reading it page by page so I feel guilty starting the discussions in this thread. I’ll try to revisit chapter 1 this week or next so maybe I can add a few talking points.

Appreciate you starting the effort to begin with! Life gets rough so hopefully this doesn’t add to the stress. The thread will always be here and I feel like multiple reads of a book are helpful so maybe we can do a few rounds of reading through the book

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews