Goodreads' data is…not good. So I've returned to one of the oldest tricks in the book: good old scraping - and actually end up with pretty decent data.
Hey there \o. original author of said hubba article :)
Just wanted to offer some missing bits you might find interesting, specifically, the third function you don't recognise is the random function from the original Tetris on the NES. It comes from the article[0] that went through all the asm of the NES Tetris cartridge.
And yup, that first one is quite quite terrible for random - it came from some of the first results in StackOverflow intentionally looking for something that was overly simple and "bad" at random.
But really the article was about testing and visualising how your own random functions might be.
PUT, DELETE, etc were part of HTTP/1.1. The WorldWideWeb browser (later called Nexus) was created during the time of HTTP 0.9 (or rather the versionless HTTP).
I spoke to a few of the people involved in the original 1990s project and one big issue was authentication into servers was way too complex.
The simulation (I wrote the JavaScript for it), writes to local browser storage (IndexedDB), the original WorldWideWeb would write to disk (networked or local).
This doesn't work for everyone, but if you find allow yourself time, trying to solve specific problems you face (asking: could I automate this? Could this be simpler?) is a great way to get better - and how I learnt my way through bash.
I recently released https://terminal.training (paid course for 4 hours) which is just for this kind of question, but I've also started a free mini email course (same URL) that tries to share some of the CLI shortcuts I've come to rely on over the years.
Why not, instead, show an ellipsis in place of the majority of the subdomain leading up to the domain and increase opacity of the domain compared to subdomains and the pathname.
This is similar to what happens when the path is too long for the omnibox, but simply the effect of putting the domain as far left (in the omnibox) as possible.
It's something I did give a little thought to, but it's simply that all new subdomains create a new router that only allow for static content and directory listings. So nothing's being executed server side.
A gave a little thought outside of that, but not much. I'm all ears if I've accidentally opened up a bag of worms!
I used to try to do that with my projects, but I found keeping the gh-pages branch in sync with my master just enough of a pain that it quickly got neglected. I'm not saying you shouldn't, and personally, I'd rather there be a hosted example of the repo - I just made 5minfork for those ones that (I often found) didn't have the live example.
It's been mentioned, but the Khan editor gets around the problem because its a close environment - and I can't run the code the user submits in to a worker easily.
The while problem has been raised before, and there is a tiny bit of protection (we parse the code line you're on, and if its a while loop, it's supposed to ignore live execution - though clearly that's not enough). It's true to say I'm still looking for a solution :)
That all said, you dont lose your work if you hit this kind of loop and it hangs the UI. The reason is two fold: 1) jsbin, since it was released in 2008 always saves code to localStorage, but more importantly, 2) it's saving your code to the server AS YOU TYPE - so you hit refresh, and you get you bin back (and the correct URL and saved in your history if you're signed in, etc).
I'll reply about the while stuff separately, but jsbin shouldn't and doesn't prompt anyone to create an account. The only two features you don't have access to is the history, and the /[user]/last shortcut.
Everything else, including saving, is available as a non registered and anonymous user.
Just spotted an increase in pull requests and auto-generated user pages from the curl command and spotted HN had found this project.
Thought I'd chime in an reply to a few of the comments here.
1. Will it be online in 10 years? Yes - .org domains can only be registered up to 10 years in advance (though we've had donations going up to 2032). Check `whois mit-license.org | grep Expiration` and you'll see 16-Oct-2021 (I need to add this year).
2. "This is bizarre...just Host All The Things!". Partially you're right, but if you read the very first line of the README.md I explain why I wanted to host it:https://github.com/remy/mit-license
TL;DR: because I nearly always forget to include the file, and if I do, I usually forget to change it from project to project, and from year to year (also why I don't like to the opensource.org url - the date is a placeholder).
This would let me include just the url in my script headers (and someone else noted, and you're right on, what if you're offline? Arguably, the "mit-license.org" part of the URL should help the reader know what the license is - even if they can't read the contents).
Like I said, just chiming in. I'm not saying anyone here is wrong or right - it's just something I made for myself, and figured it might be useful to more than just me.
See the web site for details on how it works, and the source code if you wish to host your own implementation.