Live data from Hacker News

Probably the worst URL scheme ever

bvb.de

61–70 of 106 posts

Re: Probably the worst URL scheme ever

#61
post #32

Earlier quoted context omitted.

I believe it's a continuation-style server—hence fnid: function id—and the continuations are only kept around in memory for ~5 minutes.

I never understood why the continuation couldn't instead be addressed by a URL path. It could even get constructed from URL/query data if it moves out of memory, so keeping them in memory would only be a caching mechanism.

Yes, but the way hn works, the continuations map uri's to browser sessions so they can be expired on a more granular basis than all at once or lru or what have you. I'm guessing here, though, I've not looked through the code.

[addendum] I Reread your comment and realized that wasn't what you meant at all. What would be the benefit of path based uris over query string params in hn's case? I only see how they be equal, not better.

Re: Probably the worst URL scheme ever

#62

I think THOMAS ( http://thomas.loc.gov/ ), the search engine provided by the US Library of Congress for searching federal legislation, has the worst URLs I've seen. Here's a random one: http://thomas.loc.gov/cgi-bin/bdquery/D?d113:1:./temp/~bdGqLa:@@@T|/home/LegislativeData.php| And here's a link I got to the Patriot Act (HR 3162): http://thomas.loc.gov/cgi-bin/query/D?c107:44:./temp/~c107DgA33R::

i have often thought that the THOMAS system was an overt attempt to obfuscating government activities. it's such a pain to use.

Re: Probably the worst URL scheme ever

#63

I think THOMAS ( http://thomas.loc.gov/ ), the search engine provided by the US Library of Congress for searching federal legislation, has the worst URLs I've seen. Here's a random one: http://thomas.loc.gov/cgi-bin/bdquery/D?d113:1:./temp/~bdGqLa:@@@T|/home/LegislativeData.php| And here's a link I got to the Patriot Act (HR 3162): http://thomas.loc.gov/cgi-bin/query/D?c107:44:./temp/~c107DgA33R::

While it's been reskinned, THOMAS dates back to 1995 and the core reflects a much earlier era of web development. It's slowly being replaced with congress.gov which has far more palatable URLs:

http://beta.congress.gov/bill/107th-congress/house-bill/3162

Re: Probably the worst URL scheme ever

#64
post #32

Earlier quoted context omitted.

I believe it's a continuation-style server—hence fnid: function id—and the continuations are only kept around in memory for ~5 minutes.

I never understood why the continuation couldn't instead be addressed by a URL path. It could even get constructed from URL/query data if it moves out of memory, so keeping them in memory would only be a caching mechanism.

Every continuation framework I've looked at radiates an intense desire to treat the web as something other than what it actually is.

Re: Probably the worst URL scheme ever

#66

Earlier quoted context omitted.

I never understood why the continuation couldn't instead be addressed by a URL path. It could even get constructed from URL/query data if it moves out of memory, so keeping them in memory would only be a caching mechanism.

Yes, but the way hn works, the continuations map uri's to browser sessions so they can be expired on a more granular basis than all at once or lru or what have you. I'm guessing here, though, I've not looked through the code. [addendum] I Reread your comment and realized that wasn't what you meant at all. What would be the benefit of path based uris over query string params in hn's case? I only see how they be equal,…

I meant that the continuation could be identified by (session_id, URL data), and re-created based on this data if it goes missing.

URL data can come from path or query string, it doesn't matter.

Re: Probably the worst URL scheme ever

#68
post #34

I still think the one used by the Spanish Congress is worse. URL for legal document 162/000609: http://www.congreso.es/portal/page/portal/Congreso/Congreso/...

Legal portals are generally gasbage, here's the french one for Article L511-1 of the environmental code: http://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle...

§ 1353 of the BGB (German Civil Code) can be found at http://www.gesetze-im-internet.de/bgb/__1353.html (literally ‘laws on the internet’).

Re: Probably the worst URL scheme ever

#69
post #41
post #39

i have seen worse. i.e. sites that show on page with the url http://www.example.com and another page with the URL http://www.example.com and even after another click the URL http://www.example.com with completely new content and sites, that use a logic like this http://www.example.com/357893857435/sfjsfsfsfd/this-should-b... where http://www.example.com/357893857435/sfjsfsfsfd/this-is-shoul... and http://www.example.…

Quite frankly, I despise the use of "SEO URLs" altogether. It's basically a waste of bytes.

Some of the best SEO URLs also tend to be human guessable URLs, which is definitely not a waste of bytes.

Re: Probably the worst URL scheme ever

#70

Earlier quoted context omitted.

They are ids to lookup closures in a database. They time out to stop the database overflowing ;) It's called continuation-based web development [1], popular with Lisp and Smalltalk-based web servers (because who else has continuations?) [1] http://en.wikipedia.org/wiki/Continuation#In_Web_development

There's no database. EDIT: to all the people arguing with me. Read the source code to Hacker News. (= fns* (table) fnids* nil timed-fnids* nil) ; count on huge (expt 64 10) size of fnid space to avoid clashes (def new-fnid () (check (sym (rand-string 10)) ~fns* (new-fnid))) (def fnid (f) (atlet key (new-fnid) (= (fns* key) f) (push key fnids*) key)) (mac afnid (f) `(atlet it (new-fnid) (= (fns* it) ,f) (push it fnids…

There's always a database.
Post reply on HN