26 karma · joined February 21, 2007
I write Common Lisp and Javascript and am obsessed with UI issues, regarding which I hold very strong opinions.
I have to admit that this behavior confused me too when I was first learning Javascript. My only previous experience with lexical scope was in Common Lisp, which of course works the same way -- but the issue doesn't seem to come up as much there, perhaps because straight reassignment within the same lexical scope (of non-special variables) isn't something you do too often; perhaps because you can establish a new lexical scope and simultaneously rebind with LET within the normal control flow without defining and then calling a function, or perhaps simply for stylistic reasons). So I'd never really noticed it in Lisp. But once I realized what was going on it was clearly perfectly sensible. It's hardly "creepy," and it's certainly easy enough to establish new scope when you need to.
And for crying out loud, it's not got anything at all to do with asynchronicity.
There is absolutely no reason to build links with your own hostname in them in the first place. Why on earth would you make a link like this instead of href="/about"?
edited to add: the spec says that the Location header for a redirect must be an absolute URI, so that's one case where you'd need to know your hostname. But you certainly don't need it to build links.
The user experience, though, is not great, and certainly not worth the effort it must have involved. Why reimplement draggable, modal windows? What does that get the user? Must we really duplicate all the worst excesses of GUI interfaces just because we can? There are some really brilliant moments here (e.g. the ability to add pictures directly from Google Image Search) where the designers clearly bothered to think about how exploit the strengths of web-app-ness, but a little more of that and a little less slavish devotion to the GUI paradigm would not have gone amiss; there's too much "look what we can do." Just because you can doesn't mean you should.
Also, the author of the linked post claims that it is responsive, which it certainly is not for me; it feels very, very sluggish, 1+ second delays for mouse clicks to register.
Similarly, for DOM querying, it implements the W3 Selectors API rather than reinventing the wheel.
I really like this approach. base2 doesn't provide anything in the way of widgets (though I think there may be some code along these lines in the Subversion repository, implementing some of the HTML5 components) -- for most of what I do, widgets aren't available anyway or would need to be extended, so I end up writing my own. And it's easy enough to use a YUI or other widget with base2 when it makes more sense.
For animation, I've used animation.js and found it simple and fast.
Hold on a second, I need to lie down for a moment after all that hard work there.
OK. Yes, there's not one Lisp implementation that is canonical and called "Lisp" and which lives at lisp.com. Life is pain.
I'm thinking either Barry Goldwater or Eugene McCarthy, kind of a toss-up.
1. Flash is used for: video, music, ads (usually also only to enable video), and sites for the sort of web design shops you don't want to hire. Also, games, a special case. When was the last time you saw Flash used to recreate a desktop-GUI-style app? That OpenLaszlo (sp?) sure is taking the world by storm, eh?
2. Nobody uses Java applets.
3. Nobody uses Silverlight.
Statelessness is the core strength of the web, and the core strength of web applications. The limitations the web naturally imposes make for better applications and a better user experience than the GUI paradigm. (Every time I hear about some great new continuation-based web framework, there's always an example showing how easy it is to create the equivalent of a modal dialogue, and I always want to hit the writer over the head with a copy of a decent book on interface design. Modes are bad! Statelessness is good! The resource-centric model is good! Users like these things for the same reason you like REST better than SOAP and modular code rather than otherwise — people don't do modes!
(Sorry for the rant, these GUI partisans get me riled up.)
"He did not want to compose another Quixote —which is easy— but the Quixote itself. Needless to say, he never contemplated a mechanical transcription of the original; he did not propose to copy it. His admirable intention was to produce a few pages which would coincide—word for word and line for line—with those of Miguel de Cervantes."
(Hey smanek, this is eli)
I must, however, confess to a weakness for transparent terminals.
(He says, surrounded by empty cans of Old Style ($5.99 the 12-pack) and the husks of half-written late-night defuns.)
It certainly did, as someone points out in the comments at the Times. Craigslist was littered with ads for Yelp reviewers a few years ago when I was last looking for a job.
Absolutely! Really, who could be less qualified to comment on web design?
Oh, the irony.