herminiotorres

herminiotorres

Concurrent Data Processing in Elixir: various errata

Hi @Margaret ,

On page VII the book tells us the example and snippets will be all using Elixir version 1.11

But on page 3 almost the end of the page when has a print of the IEx console, the version of the Elixir is 1.9.4 instead of 1.11.


So and the most part of the book suggest use the recompile function on IEx, but sometimes after you change your code you continue to receive :noop on IEx, maybe change the approach to use the r function, e.g., r(Sender), will be more efficient, using this way I tell recompile the Sender module on my application and no matter what if I change my code or not.

Most Liked

herminiotorres

herminiotorres

I like to share my thoughts about the book.

Chapter 1:
I like your thoughts and perspective to use Task and Task.Supervisor, but maybe share how to create our own custom Task.Supervisor.

Chapter 2:
I like the idea you use to create the GenServer and use it to improve the application to run Task on Chapter 1. It has good details about GenServer and the callbacks our module needs to implemented and introduce the last instructions about the tuple and the spec each callback receives as params. I feeling missing how to design the application supervisor tree, and how to think in perspective to guarantee our applications weren’t stop, maybe more content about Registry and how to use how to customize it and Supervisor and DynamicSupervisor too, the difference between both supervisors. The last thing is how to observe and debug, introducing this instrumentation when working with the OTP.

Chapter 3:
I like the idea to drop into GenStage after the GenServer chapter because you are very fresh thoughts and very close to using these concepts for most GenServer applications. In this chapter, the knowledge about the supervisor tree is critical because you need to build how your entire stages need at least one process for each stage running. If some stage of my application it’s going down, the next or previous stage will fail. It could be more content about the Dispatcher, and I feel very quickly and small.

I like the application examples and how to use them to explain and conquer this knowledge about this abstract concept; sometimes it’s difficult to understand, a great book, and congrats. I’m very curious/excited about the next chapters and releases.

svilen

svilen

Author of Concurrent Data Processing in Elixir

Thank you for the kind words, and for sharing your ideas, Herminio! I really appreciate it!

Margaret

Margaret

Editor at PragProg

@dimitarvp thanks – we are just in the first beta, so not yet in print. In print date should be August 2021.

Where Next?

Popular Pragmatic Bookshelf topics Top

jimmykiang
This test is broken right out of the box… — FAIL: TestAgent (7.82s) agent_test.go:77: Error Trace: agent_test.go:77 agent_test.go:...
New
herminiotorres
Hi @Margaret , On page VII the book tells us the example and snippets will be all using Elixir version 1.11 But on page 3 almost the en...
New
Mmm
Hi, build fails on: bracket-lib = “~0.8.1” when running on Mac Mini M1 Rust version 1.5.0: Compiling winit v0.22.2 error[E0308]: mi...
New
HarryDeveloper
Hi @venkats, It has been mentioned in the description of ‘Supervisory Job’ title that 2 things as mentioned below result in the same eff...
New
adamwoolhether
When trying to generate the protobuf .go file, I receive this error: Unknown flag: --go_opt libprotoc 3.12.3 MacOS 11.3.1 Googling ...
New
jskubick
I’m under the impression that when the reader gets to page 136 (“View Data with the Database Inspector”), the code SHOULD be able to buil...
New
hgkjshegfskef
The test is as follows: Scenario: Intersecting a scaled sphere with a ray Given r ← ray(point(0, 0, -5), vector(0, 0, 1)) And s ← sphere...
New
brunogirin
When installing Cards as an editable package, I get the following error: ERROR: File “setup.py” not found. Directory cannot be installe...
New
hazardco
On page 78 the following code appears: <%= link_to ‘Destroy’, product, class: ‘hover:underline’, method: :delete, data: { confirm...
New
taguniversalmachine
It seems the second code snippet is missing the code to set the current_user: current_user: Accounts.get_user_by_session_token(session["...
New

Other popular topics Top

AstonJ
A thread that every forum needs! Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
AstonJ
Or looking forward to? :nerd_face:
492 13311 267
New
Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New

Sub Categories: