Categories
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.

Categories
Just Shelley

Golden Girl: This old broad

If you’ve been reading my weblogs in their various incarnations since the painful beginning, you’ve read me talking about my car, Golden Girl.

Golden Girl isn’t a fancy car. It’s a 4 door 2002 Ford Focus with a Zetec engine and painted in metallic gold. It is my very first car.

No, I’m not so young. I’m just one of those who didn’t decide to drive until I was…well, older than most people when they learn to drive. I started to learn to drive in Boston, practiced cross country, and received my first driver’s license in San Francisco. I bought Golden Girl a few months later via the internet, at a time when this was still a very new idea. I test drove a Focus, but didn’t meet Golden Girl until I picked her up.

My car was my delight. I drove her from California to Missouri, and from Missouri to Idaho, and back to Missouri, and on to Florida, then Missouri, and back to California and then returning, once more, to Missouri. Once in Missouri, I visited every nook and cranny in the state—including many dark hollows posted “Do Not Trespass”, with guard dogs that look at you as if sizing up which part to bite first.

Golden Girl is no longer young. A broken strut earlier has today been joined by a cracked thermostat housing, which followed a massive amount of work last year. There’s a short in the car somewhere, most likely in the instrument cluster that causes the instruments to peg out, go to zero, and then eventually recover. One could live with hyperactive instruments but the car’s lighting also dims as the same time, which can makes things a bit interesting at night.

I take her in to be worked on more frequently than I take her in to have her oil changed. And I no longer trust her for driving outside the city. Heck, half the time I don’t trust her for driving in the city.

I can’t afford to get a new car, and I won’t buy a used car full of someone else’s problems. I have to consider that at this point I’m driving Golden Girl until she can go no further, and then hopefully some charitable organization can get a little extra good from her.

Then I’ll be as I was before I bought Golden Girl—living carless.

It’s hard to think about going without Golden Girl, though. This last decade has not always been easy, with some sad losses along the way, but I’ve always had my car.

Categories
Just Shelley

Letter to Governor Nixon on SB 113 and Proposition B

Governor Nixon:

SB 113 should be on your desk and you’re now faced with a decision: sign or veto the bill.

It’s tempting to think that you should sign the bill and move on. After all, didn’t you work with the Agricultural Appropriations committee to get more funding for the Department of Agriculture to enforce existing laws? Hasn’t the same committee said that you’ll only get these funds if you sign SB 113? And if you don’t sign the bill, won’t you be facing the wrath of the people in your rural communities?

However, you can’t deny one thing: the people of Missouri have stated that we want Proposition B, and no matter how SB 113 is worded, it is a repeal of Proposition B. It is a rejection of the voters of this state.

Can we get by without the $1.1 million in new funding for enforcement? I truly believe we can.

Proposition B provides teeth where existing laws do not. I believe we will find that the worst of the licensed breeders will shut down rather than comply. The worst of the licensed breeders take the most inspector time–what with re-inspections and possibly legal action. Proposition B will, in effect, weed out the worst actors, even before it needs to be enforced.

In addition, other breeders who have over 50 dogs, including those with hundreds, will need to downsize. This should simplify inspections on their kennels, and again save inspector time.

The Prop B rules are more objective, easier to verify than the vague regulations outlined in SB 113.

I strongly believe it is better for the dogs, and for the state, to have Proposition B and no new Department of Agriculture funding, then to have SB 113 and any amount of additional funding.

Proposition B isn’t just a set of regulations and new rules: it is a pronouncement. With Proposition B, we told the world that no, Missouri no longer wants to be the Puppy Mill Capital of the US.

All SB 113 does is tell the world that yes, Missouri wants to keep our puppy mills. Yes, we want to keep this title.

Though I didn’t have the room to say more, there is something else for Governor Nixon to consider:

If he signs SB 113 into law, we will come back with another initiative in 2012 to replace what we lost. This initiative, and the initiative to provide a Constitutional Amendment to protect the citizen initiative process, will be on the same ballot as the one related to Governor Nixon’s re-election.

This is a decision that won’t be forgotten and will be painfully obvious on the ballot and in the months and weeks leading up to the election. We will hear, again and again, about representatives who let us down; who disregarded our vote; who disrespected the voters of this state in order to ensure continued cruelty for dogs.

On election day, on the ballot screen or in the ballot page, we will be reminded one last time that many of our leaders let us down.

Categories
Writing

When last we spoke

When last I posted, I had planned on updating that post with W3C co-chair decisions on my other HTML5 issues. I wasn’t quite expecting to be here, over a month later, still waiting on decisions. Not sure what’s happening with the W3C HTML WG at the moment, other than I think the group is making like an iceberg.

Eventually the decisions will be posted. Since I have a good idea what the decisions will be, no need to continue waiting.

Other than watching pots boil, I’ve been slowly working on my first self-publishing book on HTML5. I say slowly, because I ended up drastically changing the focus of the book, and hence the table of contents.

Though I would love nothing more than to fill 150 pages with details about the various HTML5 exploits, in the end I felt that an exposé on HTML5 isn’t going to be all that useful. Cathartic, maybe, but not useful. On the other hand, I refuse to jump on the “Isn’t HTML5 just peachy keen!” bandwagon, either.

I had to find a delicate balance between HTML5 rant and HTML5 rah-rah. Once found, I then had to dig for actual HTML5 implementation experience, which is a lot more difficult than you would think, given the fooflah about HTML5.

I’m still wrestling with the new TOC, so I don’t have any early peeks, yet. One thing the book won’t have is a discussion about HTML5 the brand. For one, isn’t it time to let the Geolocation folks have a little of the spotlight, all on their own? For another, there’s been enough confusion about HTML5 without conflating a formally defined and delimited specification, with a marketing buzzword.

So in the book, I’ll talk about HTML5…and Web 5.0, and Ajax5, not to mention P2P5, as well as Cloud , and throw in a little DHTML5, for good measure.

Categories
Writing

JavaScript Cookbook on way to printers

We just finished the last of the quality control checks on the JavaScript Cookbook, and it is now on its way to the printers. The Table of Contents should be showing soon at the O’Reilly book web site, but I’ll give you a taste of what I covered:

  • The usual suspects, such as String, Date, Math, Function, and so on
  • Creating JavaScript objects, including the new ECMAScript 5 object methods
  • The new HTML5 and WebApps 1.0 material, including drag and drop, worker threads, postMessage, and the local storage options
  • Debugging JavaScript, working with a library framework, such as jQuery, and packaging your libraries for reuse
  • Working with media and graphics options, such as SVG, Canvas, and the new audio and video elements
  • Complex performance functionality, such as currying and memoization
  • JavaScript out of the box, including working with desktop-like applications using client-side file access
  • Working with interesting data formats, such as RDFa, microformats, even ePub
  • Ajax, including working with XML and JSON formatted data
  • Debugging and using JavaScript test tools
  • Working with ARIA (Accessible Rich Internet Applications) and creating accessible dynamic applications

I devoted one chapter to ARIA and integrating accessibility into dynamic solutions. Because we now have access to an open source and freely available screen reader (NVDA), we can easily test our use of ARIA for dynamic applications. In addition, most framework libraries now incorporate ARIA support, so we need to understand how to use this rich and simple-to-use accessibility enabler.

I also covered ARIA because of my interest in semantic web technologies: ARIA is way of recording rendering semantics, which opens the door for interesting possibilities.

The JavaScript Cookbook should be in the stores in less than a month, and is available for pre-order. It’s a largish book—21 chapters and 530+ pages. The format is cookbook style, where I provide “recipes” in a Problem/Solution/Discussion format. All the code bits are included in example files, so you can play along, as you read.

One thing this book does not provide is support for IE6. Now that major sites and companies are no longer providing support for IE6, it’s time to stop wasting book space on an insecure, broken, and badly outdated browser.