Probably the worst URL scheme ever (bvb.de)
[english version] http://www.bvb.de/?Z%1B%E4%F4%9D
Can anyone point to any advantage to have unreadable URLs like on the linked page?
Can anyone point to any advantage to have unreadable URLs like on the linked page?
105 comments
[ 3.3 ms ] story [ 168 ms ] thread* Useless URLS? Check.
* Eye-gougingly ugly design? Check.
* Densely packed content with tiny font? Check.
And have lots of fun reading the source.
Think of the bits!
? How does that even begin to make sense?
EDIT: I apologise for the really bad comment. I have read the rules now and will only put high quality posts from now on. Thankyou.
https://news.ycombinator.com/page3/x?fnid=b7VO4wED8MRumCeiX5...
[1] http://en.wikipedia.org/wiki/Continuation#In_Web_development
EDIT: to all the people arguing with me. Read the source code to Hacker News.
They are in memory. Which is why they expire randomly when the HN process is restarted.In the Racket process that's running the Arc code for news.yc
"Any sufficiently complicated Lisp program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of an actual database."
Racket does have an option to serialize the continuations, gzip them, sign them with HMAC, and then send all of that to the client so the server doesn't have to keep track of anything, but HN doesn't use it.
See http://docs.racket-lang.org/continue/#(part._.Advanced_.Cont... for a quick introduction.
https://github.com/wting/hackernews
Arc runs on Racket:
http://en.wikipedia.org/wiki/Arc_(programming_language)
See the "OS" section where it says "runs on the Racket compiler"
See also the Arc source code, https://github.com/Pauan/ar/blob/arc/nu/arc Note the "#lang racket" at the top.
Way back I wrote a bunch of documentation on the Arc web server if you want details: http://www.arcfn.com/doc/srv.html Look at harvest-fnids which expires the fnids.
The fnid is an id that references the appropriate continuation function in an Arc table. The basic idea is that when you click something, such "more" or "add comment", the server ends up with the same state it had when it generated the page for you, because the state was stored in a continuation. (Note that these are not Scheme's ccc first-class continuations, but basically callbacks with closures.)
(The HN server is written in Arc, which runs on top of Racket (formerly known as PLT Scheme or mzscheme))
Edit: submitted in multiple parts to avoid expired fnids. Even so, I still hit the error during submission, which seems sort of ironic.
This way seems impractical, TBH. Certainly for the user - the expiration a bit of a nuisance, as I'll get it more often than not if I read a couple of stories and then click 'More'.
[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.
URL data can come from path or query string, it doesn't matter.
http://www.linkedin.com/profile/view?id=23081590&authTyp...
#b0001 = 1
#b0010 = 2
#b0100 = 4
#b1000 = 8
E.g.:www.linkedin.com/in/barackobama
FWIW, it seems to be some sort of encoded state, essentially HATEOS.
"Oh you want the URL of your LinkedIn Profile? Don't use the URL in the address bar, silly! Use this other URL we are providing randomly down the page."
...gid=3396514&goback=%2Enpv_152562310_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_*1&trk=NUS_JGRP-grp-nm
Let's put the tech sensation aside. I'm glad to know that the HN Folk have a good sense of humor :)
BTW: you can add multiple routes pointing to the same url, but allow only the SEO URLs to be indexed. This keeps the cryptic URLs for the entertainment of the Users/Crawlers.
I suppose you could try blocking crawlers from the raw URLs with an aggressive robots.txt and then put a sitemap (with friendly/SEO URLs in) somewhere for them to discover instead. Would that work?
Paranoid web spiders could flag the site as suspicious, though. Such schemes might make it seem like the website is presenting one view to the spider, and another to real visitors. Almost like it was trying to hide malware from a scanner.
Basically your CMS or Framework must allow to have multiple routes like site.com/best/watch/casio and site.com/→@ðŋ]æ~@¢“«¢“¹²³»«@€^ linking to the same page.
I've used that in the past to switch languages dependant on url-path + browser-language. /en/my-article would show that english article to a german visitor, but everything else on the site like nav, terms etc. would be German. To access the Enlish site, the german visitor would have to click the appropriate flag. I could have easily added the feature to read that same article in German, by a click on a flag in the bread-crumb's mini drop-down. Example: blog»my-article[v] a click on [v] would open blog»mein-artikel etc.
This is a band-aid to try and prevent an XSS or SQLi flaw somewhere on the site.
http://www.congreso.es/portal/page/portal/Congreso/Congreso/...
So far I've found login portals to a few banks, teleoperators and to the parliament and military systems of my country. In addition, I've hit several FTP directories of organizations such as my state's public welfare system, which included software and documents.
I sometimes report these incodents as I find them, anonymously and without contact information, since nobody never responds to these reports.
tldr; Long urls can also be dangerous.
Edit: ho, they fixed that and it's redirected. Too bad, that was funny :)
...ahhh... found it: """"How do you attain the skills required to do this while not also learning not to?" http://news.ycombinator.com/item?id=4711355 """
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.com/357893857435/sfjsfsfsfd/tHIS-is-the-s... show the same page, oh and of course http://www.example.com/357893857435/sfjsfsfsfd also shows the same page.
oh, and cases where http://www.example.com/click1/click2/click3/item-id/123 show the same page as http://www.example.com/click1/item-id/123 which show the same page as http://www.example.com/click1/click2/click3/click4/item-id/1...
all of the examples above are far worse than bvb.de
If it's purely to boost rankings artificially, then yes, I agree.
¶meter=value into a simple /value/
rewrite. This - by most accounts - makes it more SEO friendly. Granted, putting full sentences that match an article title is never necessary, but there are a lot of SEO tricks that can make a url not only "nicer" looking but also shorter.
>>> import urllib
>>> print urllib.unquote('%1B%E7%F4%9D').decode('latin-1')
çô
http://beta.congress.gov/bill/107th-congress/house-bill/3162
US Trademark Office has the same issue, there is no way to link to a particular trademark, because the only access is via the search engine and queries time out, e.g.: http://tess2.uspto.gov/bin/showfield?f=doc&state=4802:xt...