Hacker Newsnew | past | comments | ask | show | jobs | submit | anonym's commentslogin

Don't you think web crawling (for users with archival accounts, where the full text + associated images/resources for each bookmark is stored and indexed on Pinboard's servers) is probably using up more of those resources than actually serving up pages? I don't think 10 pages per second or whatever is really the relevant metric for this app.


Yes.

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.


"<a href="http://evilsite.com#/about">About</a>"

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.


It's certainly technically extremely impressive.

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.


It seems like nobody is really ready to give up the browser as a potential operating system. We have great technologies like Flex that simplify much of this work away, but folks keep hammering away at Javascript. Must be a sign.

Perhaps, we should just give in and give browser appropriate hooks into the operating system.


I agree that web apps that try to be desktop apps seem destined to come out the loser in that comparison. The interesting things in web apps are those that leverage the web itself. (Not, as you said, to take away from the impressive technical achievement here.)

Re fast vs. sluggish: which browser did you use? The next generation of browsers (e.g. Safari 3) is so much more responsive that the answer to this question would be revealing.


I use Dean Edwards's base2. I like it because it is very simple, and because it adheres to standards; that is, rather than creating a map and a forEach of its own, with its own semantics, it implements them according to the Javascript standard (or proposals, don't recall if they have yet been adopted) for browsers that don't yet support them natively (anything but Mozilla, I think). It also cleans up DOM manipulation so that you can use standards-compliant methods and it will work on non-compliant browsers (all the way back to IE5).

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.


Thanks for this. I've been looking for something less bloated than jQuery and Prototype. I like native code, but don't always have time to handle every browser incompatibility.

> anything but Mozilla, I think

WebKit also handles things well:

[].map

function map() { [native code] }

[].forEach

function forEach() { [native code] }


If you want speed, why not Common Lisp? Nice, high-level, a pleasure to work in, fast and compiled out of the box, with the ability to optimize the hell out of specific critical parts of your code (using, e.g., optional type declarations, speed and safety settings, inlining declarations, etc.). Hunchentoot is a nice web server, Postmodern is a nice library for working with Postgres.


http://www.sbcl.org -> "Downloads" -> Linux/x86 (or your architecture/OS of choice).

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 actually recently had to install SBCL on my OS X 10.4 (Tiger) box. Here's how it went:

1. Grab from the Downloads folder.

2. Build.

3. Bombs during building because SBCL now relies on a link symbol which doesn't exist in Tiger. Apparently all Mac Lisp users are require to be 10.5 Leopard users.

4. Swear a bit.

5. Search the web.

6. Find lots of people swearing also, no answers.

7. Try CVS.

8. Build.

9. Bombs during build.

10. More swearing.

11. Start hunting through earlier versions of SBCL.

12. About 10 downloads later (and they take a lot of time each to download and build until it fails), finally find one which doesn't rely on the symbol.

13. Am now running SBCL.

All told, about eight hours.


Why are you building, instead of downloading the binary?


Time to download SBCL from its website - 30 seconds. Not the problem.

Time to acquire the domain knowledge by learning about the different implementations and their respective strengths and weaknesses and decide on one (which could get nasty if you pick the wrong choice) - minutes to hours. That is the problem.


What's Common Lisp?

I'm thinking either Barry Goldwater or Eugene McCarthy, kind of a toss-up.


Let's think about it:

* Was huge in the 80s

* Had a big downturn in the 90s

* Everyone speaks fondly of it today but doesn't really want to go that way?

It's gotta be Reagan.


Ralph Nader.


Now that's just cold.


I use http://duplicity.nongnu.org/ to backup to Amazon S3 (it has support for various other backends). It encrypts with GnuPG. S3 charges a few cents per GB of transfer and a few cents per GB of storage per month.


I've been looking at duplicity - do you do full system backups?


No, I backup my home directory and some web directories.


"We now have technologies that effectively mix web and desktop technologies, something I like to call 'webtop clients', manifest in Adobe Flash Player, Java Applets, and Microsoft Silverlight."

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


Have a look at http://flex.org/showcase . Flex is used for a whole lot more than video/music/ads/games. Yahoo Maps is built in Flex, fyi.

Daniel


Flex is Flash with GUI love. With Flash 9 using a better caching mechanism for the Flex framework, we may see it used more often online.


Re: Nobody uses Silverlight: some tv channels (Italian RAI, Dutch NOS) do for streaming TV over the web. Don't know why, though.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: