This monthly columns collects news on 2ality-related topics and links to posts where those topics were previously covered. It also lists blog posts that have been updated (so that you don’t have to follow on Twitter or Google+ to find out about them).
My answer: Under ECMAScript 5, you can combine Object.keys() and Array.prototype.forEach():
var obj = { first: "John", last: "Doe" }; // Visit non-inherited enumerable keys Object.keys(obj).forEach(function(key) { console.log(key, obj[key]); });Related post: Iterating over arrays and objects in JavaScript
I don’t think tablets are a fad. They are a different form factor that works in different situations (e.g. in bed, in the kitchen, in situation where a notebook is too obtrusive, etc.). Many people don’t even want keyboards! When I showed my physiotherapist my iPad, her eyes lit up – and I’m pretty sure that in general, she more or less hates computers. That doesn’t mean I’ve fully figured out what tablets actually are (probably the main tablet hurdle for professional tech people), but I know that they are complementary to keyboard computers.Related post: Why I want the iPad to have a mouse cursorAs for the perfect convertible device: I have yet to see any “dockable screen” solution that works well, mechanically. However, the iPad’s support for Bluetooth keyboards is surprisingly good. So this pairing constitutes the perfect convertible device for me. Except for one thing: Having to touch the screen while using the keyboard is awkward (ironically, Apple itself has figured that out a while ago, for desktop computers). So, I would simply give the Bluetooth keyboard a trackpad and the current iPad UI a cursor.
Beating Apple can be done, they have left several windows open for competitors, especially software-wise. But so far, competitors have been sloppy. And, to be sure, the hardware part of Apple’s products is very hard to compete with. I’m hoping that B2G will make a difference and that Mozilla is disciplined enough.