stevensonmt

stevensonmt

Ash Framework Book Club

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!

First Post!

hyperoceanic

hyperoceanic

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

Most Liked

stevensonmt

stevensonmt

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
melissaloh

melissaloh

Curious about what writing the book has been like? :woman_technologist: Rebecca Le’s talk Writing the book on Ash from our recent Elixir Sydney meetup is now available.

:eyes:You can watch it over here:

stevensonmt

stevensonmt

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.

Last Post!

hyperoceanic

hyperoceanic

Ive been reading but not following along with the coding.

Just finished the Nested Formss chapter. So far I have loved the style of the book, finding it engaging and incremental. I have followed everything well except some of the auth + policies stuff. I’ll need to re-read those chapters.

I’ve been reading it on a color ink e-reader- it fits a whole page and the colored section headers and syntax highlighing is lovely, though a but subtle.

Great work, Rebecca and Zack!

Where Next?

Popular in Discussions Top

AstonJ
Are there any Elixir or Erlang libraries that help with this? I’ve been thinking how streaming services like twitch have exploded recentl...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
pdgonzalez872
If this has been asked here before, please point me to where it was asked as I didn’t find it when I searched the forum. Maybe a mailing ...
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
New
paulanthonywilson
I like Umbrella projects and pretty much always use them for personal Elixir stuff, especially Nerves things. But I don’t think this is ...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

Other popular topics Top

chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31586 112
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40165 209
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44778 311
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42716 114
New

We're in Beta

About us Mission Statement