Functional Web Development with Elixir, OTP, and Phoenix (Pragprog)

Hey @bmitch,

first of all, thx for sharing your thoughts on this book.

What i personally like most about the book is the fact how the project gets structured in different applications and how they work together. (I saw a very similar, maybe even more extrem, approach by Dave Thomas and was also there very fascinated about the structure.)
From the raw Game/Engine, to the Game/GenServe, Game/Supervisor to the Phoenix Interface.
For me it looks like a modern software project could and maybe should be structured that way to be maintainable in a long run.

In defense to the author, i understand the missing explanation of the react implementation.
This would fill another book, but i agree that he could have found a better way to guide us through the implementation instead of the console. Also a basic front-end implementation would be simply more appealing and fun to work through then the console.log messages.
Especially when you start and stop reading these chapters. But like you, i also create a dummy setup implementation of the channel actions to solve the problem of copy pasting from one to another terminal :wink:

The promised react front-end, and other source code for the different chapters of the book can be found here
Not sure if you have seen it, at least it was not mentioned in the end of the book. Or i missed it.

Also i had a hard time with one particular error.
String.to_exisiting_atom("atol") was throwing for me an ** (ArgumentError) argument error :erlang.binary_to_existing_atom("atol", :utf8).

So if anyone is curious about this error, there is an explanation on a closed github issue of elixir.
Helped me to understand my error and learned smth new about elixir, atom-tables and module loading.

So thx for reading my thoughts and thx for the nice book :tada:

3 Likes