I dunno reg, it struck me as ordinary journalistic due diligence. Showing up at his doorstep might have been a bit much (although we praise reporters for doing that in cases with just slightly more scandal than this one). But she didn't do that.
Overall, I thought it was one of the best-written pieces of of mass-market journalism about our community that I've read in... well, years actually. Stuff like this should be encouraged.
I disagree. All books are released too early if you think about it. The technology will change rapidly no matter when you buy the book so it's up to the buyer to make sure it's the latest release for the version they'll be working with if a version applies.
Let's take nodejs for example. I think it's safe to say that it's new enough to be considered too early to publish if there were such a thing. Even if node changes drastically within the next few months any book about any technology that's worth anything at all (did I say anything enough times? Haha) will teach you the fundamentals about how to get it, set it up, configure it how you want, and get you going with some reproduce able examples. That's really all you need. No book can be expectd to cover every last bit of the technology in great detail. I'd argue that most people learning to program get the fundamentals from the books and maybe some bonus knowledge and the rest we pick up with experience and research.
Then you have remember that there's a good bit of time between the writing of the book and it's publishing and then some more time between editions. No book can be current. But it doesn't matter because of why we buy the books to begin with. We learn the ropes from them. Even books about advanced techniques teach you enough about a technology so that in a case where the advanced technique is out of date you can still get what you want done by inferring how you're supposed to do things now based on other data from the book combined with experience and practice. So given all this, I don't think there's a such thing as being released too early and in fact believe all books are released too late. But they're valuable nonetheless.
I deliberately used a dated example because I figure it would probably ring a bell with a lot of people. Realistically this is a choice a lot of people were probably making around 5 years ago, and the answer at the time would almost undoubtedly have been PHP. Or Java/JSP. From what I've seen I think PHP is a pretty horrid language, and we all know how boring Java is. But the point is five years ago they were both well documented and it was easy to find answers if you got stuck, which wasn't as true of the others, especially for web programming purposes. Once you learned PHP it would have been pretty easy to understand where Rails or Django was coming from as they became popular, and "get" how they differed from PHP and why it mattered.
I almost invariably isolate any API calls behind some kind of wrapper facade. In fact, a lot of the presentation is about exactly that: adapting Ruby's IO primitives--which can raise various exceptions, and may return a process exit status in the form of a global variable--in code that isolates their idiosyncrasies.
I think the point is that Array(h) destroys the Hash, whereas [h].flatten will leave it intact, adding another unexpected gotcha to Array().
Array's terrible friend Integer() implicitly crashed my app in production before, so found that interesting to know; not necessarily related to your talk though. :)
Hi HN. If you get some value out of these slides, great! But please, do me a favor: don't try too hard to construct a narrative from a stack of slides which:
a) represent about 15% of the actual semantic content of the presentation; and
b) are shaped by the consideration that there's a limit to how much code you can put on a slide and have it still be readable.
Thank you for the note. There is a large difference between slides used in a presentation and slides intended to be read like a book. With the former, it is pretty useless to have the slides out of context. With the latter, there is no need for the author to speak. Fortunately, someone posted a video to the presentation, a better link than the initial submission's (http://confreaks.net/videos/614-cascadiaruby2011-confident-c...).
Footnote to (a): except for the slides which are intended to be unreadable because they are about the shape of the code rather than the content. An effect that works very well across a room but which is rather lost when viewing the slides on the web and without narration.
There have been a few online slide type presentations on HN recently and I usually find them frustrating because even when the subject is interesting (which is the case most of the time), the slides make you feel like there is so much information missing.
Although you say that there is a lot of content missing, I thought your slides conveyed a lot of useful information and actually made me feel like I got what your presentation was about. Well done!
Yikes - IE 8 really crashes. Here's the console output from IE9 developer tools when changed into IE8 Standards mode:
SCRIPT438: Object doesn't support property or method 'indexOf'
github-badge.js, line 59 character 7
SCRIPT438: Object doesn't support this property or method
badge.js, line 47 character 7
SCRIPT438: Object doesn't support property or method 'getElementsByClassName'
embed.js?pname=wordpress&pver=2.61, line 35 character 78
SCRIPT438: Object doesn't support property or method 'getElementsByClassName'
embed.js?pname=wordpress&pver=2.61, line 35 character 78
So, hopefully that gives you a starting point. The IE9 developer tools are much improved over previous iterations.
Interestingly enough, when I switched it into IE7 mode, only the first two errors appeared.
Ruby has a public/private divide which can easily be circumvented. But the circumvention is a bit ugly, which is a good thing - it makes the circumvention obvious in the code.
Personally, I think Ruby hits a sweet spot here: the privacy curtain is strong enough that Ruby WILL let you know when you've stepped off the path of using methods which are part of the stable API. But you can then tell Ruby "yes, I understand, and I know what I'm doing".
Overall, I thought it was one of the best-written pieces of of mass-market journalism about our community that I've read in... well, years actually. Stuff like this should be encouraged.