I think I overspecified the problem. I'm looking for ways to deal with maximum ignorance, because if you can deal with ignorance of the outside that means you have achieved independence. Dependencies specification is so popular today and I want something quite the opposite. There's bloat of dependencies, but there's bloat in independence as well. How would you deal with the bloat of independence?
I think for this to be a discussion, and not, say, an exercise for me to guess what you're thinking, you would need to explain yourself better and give concrete examples.
Totally agree with you: even if I never end up using the language, learning new idioms and patterns has been immensely useful.
I still make time to learn new technologies, I just find the physical act of coding to have rapid mental diminishing returns after around 40 hours. That probably isn't a big deal if you were running a startup. Code for a while and then attend to the many other aspects of the venture. Having a day job can really throw that balance off, especially when working for a company that doesn't waste much time with meetings and busywork (which is a nice thing).
Exactly. People call bullshit if I mention my sleep habits but there's something about learning new things that is so addictive. It's my joy in life certainly.
I guess it's not even real world physics. And the Newton you attribute those formulas to is not real world Newton. For alternative world, your physics are just perfect. For real world, you need to factor in time as well as space.
Seriously, login is not the place to be helpful. On the contrary, for security reasons, the login control should be hard to find, and the error messages should be cryptic, like "ehh". You can reward their patience on the other side.
1) If your login form annoys me it's very likely that I won't be using your service e.g the HN OpenId login is pretty much broken if I have noscript enabled so if there wasn't a normal login I wouldn't be here. So yes, it should be helpful. I'm not a mind-reader and I don't like to play mind-games so if I do something wrong then I expect to be told what I did wrong.
2) I'm not sure how that helps security. If a human can find the login form it means a human can write a program(i.e a bot) that can also find that form...
2.5) For security reasons, I've never and understood this or where it came from. If your service allows login then in almost all cases it also allows registration. I can understand if you're among those who feel the need to annoy users that try to register by telling then that there's an error in the form they submitted with no indication of what that error is but otherwise you will return some error if they try to signup with an existing username. This boils down to one extra step to find out if the username is wrong or not. For a human that might be tedious. Even if you give vague error messages at registration it's still trivial to use this same vague error message to figure out if a username exists or not.
I've seen it on many free download sites (not that I visited any of them). You click to download a file (enticing!), and you get a splash page of many questionable ads. I'm sure there is some cost sharing involved.
I've been programming for probably 17 years, since high school, and just recently I appreciated JavaScript. For all its shortcomings, it's beautiful. If you'd just understand it, you would be able to easily understand other languages, dynamic or otherwise.
Sorry for delayed reply. I think so because JavaScript, with its prototype system, dynamic typing and closures, makes various famous language features and their implementations explicit, while other languages may hide their inner workings in the name of simplicity, safety, etc. Thus, by learning JavaScript first, one can bypass the reverence for OOishness espoused by Java or C#, and yet understand them better because "class", "type", "object" in JavaScript understood to be not atomic concepts, but constructable pieces of code. With JavaScript, one starts interacting with inner workings of the language very early in the learning process. Really, in which language one learns about events first? Remember "onClick"? Sure, interaction starts at level 0, but that's great because already the value of events is understood without writing a single "public static main voiid".