I appreciate the update, although the subject line could have been clearer (that there are no updates yet).

I would rather that the book was delayed (or kept being written/revised) until 0.19 is published. And I like that the chapter on CSS libraries is being delayed until the respective packages has settled.

What I like about this book is that while it introduces the language, it's also a book that people with more than a year experience in Elm can read and benefit from. Just like the author's Frontend Masters course.

Because of that, I expect this to be the definitive book for learning Elm. And we don't want an 0.18 book on the shelf (and translated to foreign languages) for a couple of years after 0.19 is published.

There are some beginner books/courses that I haven't bought because I didn't know if they were a good use of my time/money. What we're missing is an Advanced Elm book and Advanced Elm video courses.
During his "Ask Me Anything" (AMA) panel at the recent ReactiveConf, Richard gave an update on the book's progress. You can watch the 33-minute recording on YouTube; his discussion of the book is near the end.

In summary, he's skipped over Chapter 7 on Tools, since elm-css and elm-plot are currently undergoing many changes. He's currently writing Chapter 10 on Performance Optimization. The book is now expecting a 2018 release.

One assumes that Chapter 8 on Single-Page Applications is waiting for the major (related) changes coming in 0.19.
After reverting a file to its last-saved version, you'd want to update the user interface. A simple call to `updateUserInterface(false);` in Listing 6.15 would re-disable the "Save File" and "Revert" buttons, update the title, and make the macOS specific changes.
Reading on, you're prepping it for when there is an `isEdited` parameter in section 6.1.2. But it confused me.
It seems to be the right picture, in that it has the "(Edited)" appended to the title bar...
Is it some kind of coding style?
There's another issue with the code block and a subsequent code block later in the chapter (that is mis-labeled "5.11" when it should be "5.13"). They no longer manage the set of windows; they have dropped the `windows.add(newWindow);` line.
I agree with Richard Haven on this one. Some kind of symbol in a box pre-warning of soon-to-be-explained best practises.
The Elm ecosystem is moving quickly.

An alternative to elm-css is style elements (http://package.elm-lang.org/packages/mdgriffith/style-elements/latest), which takes a different approach to CSS in Elm projects. It's a somewhat opinionated approach, because it offers a subset of CSS. Think CSS - The Good Parts so to speak, with sensible defaults.
Good enough!

I noticed that your blog posts are quite opinionated on React Native, in a good way. But the book seems to be quite vanilla in its approach, judging from the contents page. Hope there's room for lots of opinion too, even if only in sidebars.

Best

Stephen
Just to add that I do take author engagement seriously when deciding to buy a MEAP book. And I haven't bought this one. I do currently have four MEAP books in my account, plus another ten completed Manning ebooks. And several other shop-bought Manning books.

One of my main concerns with this MEAP book has been how the author didn't respond to a forum poster's claim that the code doesn't follow the "React Native Way". The author did respond, but not comprehensively. I don't mind if the author argues his case with a forum poster, but I do mind when he doesn't seem to have an opinion.

I don't think the author responded to any other questions, including "when is the next chapter out", "where is the code repository", etc.

(I like Manning Publications, but it does occasionally put out stinkers, such as the "Neo4j in Action" book, which was publishing when it was 2.x technology, but used 1.x syntax and a 0.x mindset. The author also failed to engage with forum users' concerns during the writing of the book. Manning should have canceled it before it was released, or at least changed its title.)

Anyway, preaching to the converted here, and perhaps not the author... But if you are reading this, please engage. We're here to help you!
Great (and unexpected) news!

The Serverless framework is moving even faster than AWS itself, but it seems to be stable in its philosophy now (and use of Cloudformation), so even an introductory chapter would complement the book.
Perfect answer, Peter!

It looks like the Serverless framework isn't accommodating Step Functions just yet, so that also justifies the book's focus on "bare-bones" AWS. And given that Step Functions require additional costs, it's probably good that you cover the video transcoding pipeline with and without them.

Good to hear about the updated screenshots too, since it will reduce confusion. And presumably the interface won't change too radically before the next re:Invent.

Stephen
Reading more: AWS Step Functions:
https://aws.amazon.com/blogs/aws/new-aws-step-functions-build-distributed-applications-using-visual-workflows/

This allows one to build a state machine for the transcoding workflow, so that one is working at a higher conceptual level. There's even a Ruby gem (that can be run from the command line) to check for unreachable states, etc.

Stephen
What changes are planned to the book following announcements at AWS:invent 2016?

I bought both this book and the Lambda in Action book, although I'm reading this one first. I wasn't sure which to buy, and figured I'd just buy both. The other book is going to print and won't be able to accommodate the recent announcements. It would be great if they could be reflected in this one.

If the text can't radically change, how about a pop-out box in relevant sections noting alternative approaches using the new features. I'd rather that than an appendix explaining Glue, Batch, etc. Otherwise it does seem a great opportunity would be lost for this book to be a true 2017 overview of AWS.

Thanks for your attention.
In section 4.2.4 "Gracefully Handling Errors", in the "Verifying that Error Handling Works" subsection, `Task.perform` slips into the code sample. Is this from an earlier (unpublished) version of the chapter, before you upgraded to 0.18 syntax?

Stephen
Thanks. I guess also the GitHub repository would help or details of what JavaScript code (mentioned early on) is developed in the book. Presumably it's only for the enterprise-priced Keylines, and not D3, which is introduced in an appendix. For those developing with Neo4j, it seems that they still interact well with each other. And Keylines has a 21-day trial, which presumably is mentioned in the book.
After reading the first chapter, I have the same concerns and didn't yet buy the book.
Thanks. Also decloaking my anonymity with my follow-up.

Then I'd like an appendix detailing frameworks for different languages with their advantages and disadvantages. For example, in Doorkeeper, the user either accepts or doesn't accept a strategy when redirected to the server (if given the option at all). I don't know if that's something from OAuth 2 or Doorkeeper's simplified approach to OAuth 2 that may theoretically allow one to choose from multiple strategies: (1) share my name and email; (2) share my email only; (3) share email and let them post as me; etc. Even just an Appendix that lists what's out there might be useful.

Also an Appendix on other resources out there including conference videos and Github repositories. I recently came across a fantastic talk at RailsConf 2014 by Jeremy Green entitled Service Oriented Authentication on how to build a full stack OAuth 2 solution including a client gem. I would like a one-stop shop for finding resources like that and others that I might have missed. Being a MEAP book, it's the kind of thing readers can contribute to during its writing.




Unfortunately, it's a book about 1.x for a 2.x audience from a 0.x mindset. A year-and-a-half ago, in August 2012, I suggested in these forums that the book was already heading in the wrong direction. I'm sorry for the author, but think it needs a complete rewrite if it is to be relevant and maintain the standards of other Manning books.

The problem is that the book was started in June 2012, when the author's direction made some sense. For example, he argues that Cypher is a young technology which justifies the focus on the embedded version and the use of Java API for traversals for flexibility and speed. But Cypher has matured significantly since 1.8.

The book uses 1.8 syntax for Cypher, showing you how to still run older syntax in later versions of Neo4j. Note that even the O'Reilly Graph Databases book published in June 2013, which uses the 2.0 syntax, is out-of-date for Cypher queries. It's a fast-moving technology, but that's exactly what MEAP books are meant to be for.

It's a shame there aren't more books on Neo4j. The lack of them puts greater pressure on this one to be better.

Message was edited by:
stephenc
I would argue that Java API is just another API that belongs in an appendix. That Java is the native language of Neo4j is irrelevent.

A statement that Neo Technology's COO Peter Neubauer endorses in this thread:

"MySQL doesn't ask you to write C/C++- it asks you to write SQL. Similarly, Neo4j works best with Gremlin and Cypher."
https://groups.google.com/forum/?fromgroups=#!topic/neo4j/nILOoZ3jMu0

Surely embedded Neo4j is not the way forward for most users even if it still has its use in niche applications, and in the development/data-crunching process.

For most applications, the future is interacting through the REST interface with language specific libraries, some of which accept quoted Cypher queries.

Stephen
I think it's a mistake to make the Java API the default for the book. Neo4j has its origins (and implementation) in Java, but what's exciting in the past twelve months is the growing maturity of the REST interface and client libraries in other languages. It's attracting many Java-averse programmers.

I can see that Cypher will be introduced in chapter 7 (of 12), but I'd rather see it introduced in the first section. Other than being much less verbose than Java (which is personally putting me off reading code samples), Cypher can also be used directly in the web console for instant exploration and feedback.

The other book covering Neo4j, "Seven Databases in Seven Weeks", only has a sidebar on Cypher, focusing instead on Gremlin. But as someone who has been experimenting with Neo4j (with JRuby) for three years, it's the declarative power of Cypher that has encouraged me to finally move it into production.