Books Writing

Changing course

Learning Node will be my last book for O’Reilly, at least for the foreseeable future.

Learning Node was a particularly exhausting book. Not only is there much to cover in one book, Node is a very dynamic technology. I like to think my coverage is both comprehensive and solid, but I guess we’ll see how the book does when it hits the streets.

In the next year, I’m going to enter the ranks of the self-published. I’m also focusing less on technology, and more on other areas of interest. What these areas are will become evident over the next several months.

My next book won’t be on technology, and I’m not sure that the one after will be on technology, either. I’m not saying Learning Node is my last book on technology, but I am most definitely taking a break from the tech book field. Most tech writers will understand when I write about the challenges in providing decent and accurate code examples for a new or changing technology, at the same time you’re trying to ensure that your grammar is correct, and your prose is clear and readable. Not only do you have to worry about your comma use in your text, you also have to worry about comma use in your code.

Just when you finally punch all the code, screen grabs, and text into a comprehensive whole, you’re then faced with an audience that’s just as likely to tell you it’s not interested in buying a book when they can find the material online, and for free.

I’m one of the lucky tech writers in that all but a couple of my books have earned out the advances, and provided relatively decent royalties. I’m not a bestselling author, but to earn out advances on 20 books isn’t bad in the tech field. At the same time, though, I’m not making it as a writer, and I have to try something new. That, or see if the local McDonald’s is hiring, because my days of tech contracting are over.

I plan on being as innovative as possible with my self-published works. For one, I don’t see any of the books being very large. Electronic publishing opens the doors for focused, shorter works, attractively priced. By attractively priced I mean that I don’t see any of my books priced at more than $5.00. In fact, I envision a Starbucks pricing model, with book prices comparable to prices you’d pay for a Starbucks coffee: smaller books will be equivalent to the price for a tall latte; larger, more complex works, closer to the price for a venti Caramel Macciato.

Lower prices and shorter works does not mean the books won’t be solid. My first self-published book is on a topic I’ve been researching for three years. But it’s a focused topic: too big for a Kindle Singles, and way too small for a more traditional book. It’s a topic that greatly interests me, and I think that’s the most important consideration.

Of course, I still have to worry about grammar and the damn commas, but at least I don’t have to worry about code.


Learning Node: Raw

Evidently, O’Reilly is going to publish my Learning Node book as a Rough Cuts/Early Release.

What people should know is that the material has not gone through a final edit, a copy edit, or a tech review. So yes, there will be typos, gotchas, and oopsies. Probably lots and lots of oopsies. But the advantage to getting a Rough Cut is you get the work early, but still get the finished product when it’s complete.

I decided not to have an Appendix with all the links. This kind of material doesn’t really suit a book; it’s more appropriate for a web page. I’m in the process of converting this rich material into an online source page, which I’ll post at Tech at Burningbird when finished.

I’ll also publish a “lessons learned” from the book. Bottom line, though, is that I like Node. I think it really fills a need. What I love most about Node are child processes. I had a lot of fun with these during the book’s development. I’m definitely fond of child processes—that, and how easy it is to install and incorporate modules. The whole infrastructure just cuts through so much server-side cruft. I don’t like server-side cruft. There’s a reason I’m not a C or C++ developer.

I’ve also become a real fan girl of Redis. We have needed a Redis for years. I’m also more amenable to web sockets now, especially since the security issues have been addressed.

Books Technology

Node’s the thing

I just finished my fourth chapter for my newest book for O’Reilly. I never feel a book is solid and real until the fourth chapter. By the fourth chapter, you have a book, not just an idea or outline.

My newest work is titled “Learning Node”, about Node, or Node.js for the purists among you. It’s a good fit with my other JavaScript books, and is focused on an interesting and rather fun technology.

I wasn’t sure about Node when it first came out. My very first JavaScript gig wasn’t client-side development, it was a server application for a company in Portland, Oregon. I can’t remember the name of the company, or even what the application was about (I have done a lot of contract work in the last 25 years) but I remember working with a contractor from Vietnam who is one of the nicest people I have ever worked with.

I also remember that server-side development with JavaScript died quickly, and there went another skill down the toilet. So when Node came around, I didn’t embrace it as profoundly as many people did.

In time, though, Node won me over. I like it—not in the giddy, bubbling-over-with-enthusiasm embrace I may have felt about server-side JavaScript (and Java, and EJB, and the earlier Cloud computing, and DHTML), but I like it. I think it’s useful. I think it is a very solid technology.

What won me over to Node? The fact that it’s based in JavaScript helped. I’m not going to join the effete in condemning JavaScript, because I like JavaScript. I think Dart is dead on arrival, and JavaScript is only going to get better over time. However, there’s also CoffeeScript for those who just can’t embrace JavaScript.

I like that we don’t have to worry about working with threads, that modules are the norm, and that Node doesn’t pretend to be the definitive solution for every problem. I also like the community support and how uncomplicated it is to create complicated applications. I don’t want to use “easy”, but Node doesn’t demand that the developer jump through an extraordinary number of loops to get a job done. For all the new geewhiz quality about Node, it’s a very pragmatic technology.

Node is also mature enough to last—no lost skills with it. The very fact that the creator of Node, Ryan Dahl, decided to step down as gatekeeper for Node, and his decision didn’t cause any earthquakes in the Node community, attests to the maturity of both the technology and the community.

The HTML5 community could learn a lot from the Node community in this regard.

If there’s a problem with Node is that many of the those who work with Node come from a Ruby/Rails/Extreme Programming background, and many of the concepts and explanations about Node reflect assumptions that can actually form a barrier to understanding. In some ways, Node can present itself as more complex than it really is, primarily because much of the terminology reflects a background that not everyone shares.

Another problem is that documentation is an interesting mix of the nonexistent, cryptic, and/or flippant—none of which is generally helpful. Then there’s the oddly peculiar “Node web style”, with web sites in dark gray backgrounds with pale gray writing, (or white background with pale tan/green/gray writing) where the only way you can see the text is by turning up the brightness of your monitor until your head hurts.

Still, times are a changing. Cloud9’s new new Node Manual web site is a solid start in the right direction, and I have high hopes for the official Node.js site, too.

Then there’s my book, which I’m sure you’ll want—if for no other reason in that it’s a nice break from me bitching about HTML5.

Books HTML5 Writing

Summer roads

I did continue with my effort on the HTML WG, but I no longer feel either comfortable or welcome in the email list, so not sure what I’ll be doing with HTML 5 from this point.

Chances are, I’ll just focus on preparing a couple of Formal Objections, which don’t require any email communication, other than posting a link. I hate pulling out, as I am concerned about the lack of diversity among those making the decisions about HTML5. I’m still concerned, because there is little diversity, and even less empathy, but I’m a chorus of one: it’s not fun to fight battles when no one is covering your back.

On to other things…

I have a new book contract with O’Reilly. I’ll have more on the subject and title at a later time. Both I and my editor, Simon St. Laurent, think it will be a kick ass book. It really has a great table of contents.

I’m still working on my own self-publishing book, but more slowly, to free up time for the O’Reilly book. I also have an article to write for a popular web design site, which I hope to get finished in a few weeks. All this on top of the work I’m still doing at this site, and my books site. Freeing up time is a silver lining for decreasing HTML5 involvement–though Formal Objections can take a considerable amount of time to create. Less time, though, then reading emails about how mean I am to the HTML 5 guys.

I am a bad, bad girl.

To US folks, Happy 4th of July. To everyone else, Happy 4th of July. Maybe some new photos over at MissouriGreen for you all later.


Reviewing Kindle samples

I purchased my Kindle because I liked the idea of my library of books being at my fingertip. I also liked the fact that ebooks are, typically, cheaper than paper books. What I didn’t expect was how much the Kindle opened up new avenues in reading for me, and it did so through the concept of Kindle samples.

As you’re browsing through books, either with the Kindle, or online at Amazon, if you find one that’s interesting but not sure whether you want to buy it or not, you can download a sample to your device for review. The sample is automatically sent to the Kindle, at no cost. At the end of the sample, you’re asked whether you want to buy the book, or read more about it at Amazon. If you decide you don’t want to buy the book, you can then use the Kindle’s Content Manager to delete the sample.

How big the Kindle samples are depends on the size of books. Some of the samples were quite large, others the briefest of introductions. The structure of the samples differed, too, probably based on the ebook structure as determined by the publisher. Many books started directly in the first chapter, without having to traverse any preliminary dedication or cover. Other books, though, led off with every last bit of paper that proceeded the book in hard format, including copyright pages, forwards, dedications, publisher contact information, and so on.

I have purchased, and enjoyed, several books via Kindle samples—books I probably wouldn’t have bought if it weren’t for the samples. I’ve also avoided many more books because the writing in the samples proved disappointing, or not what I expected.

What was it about each sample that led to the Buy, No Buy decision? In answering, I decided to review the Kindle samples I download, regardless of whether I bought the book based on the sample or not. If I buy the book, the review will then transition into a full book review. If not, then the review will be of the sample, only, including a discussion of why I did not buy the book.

I begin my new sample reviews with an author whose name might be familiar to some of you: Seth Godin’s Tribes.