914 karma · joined September 12, 2010
I have a question for you: how can you be actively evasive -- care to demonstrate by not actually answering my question? ;)
One suggestion though: If there are no command line parameters, then read a line from stdin, so you don't have to play the game of trying to properly escape all of your punctuation in the command line to get it into sys.argv[1:] without any corruption, and can just copy and paste it into stdin.
Hmm, that raises the question of what should happen if you pipe an entire shell script into it, like "./configure"? That might be considered a denial of service attack on explainshell.com.
There is no perfect solution -- in the ideal world, everyone would use safe healthy programming languages, and nobody would be addicted to shell scripting.
But in the real world, many people still choose to use shell scripting as a quick and easy short term solution to their problems.
Like the unhealthy temptation to use regexps for parsing html, shell scripting just causes more problems, which snowball out of control until you have the dire situation we're in today, with a whole generation of urban hipsters who learned cargo-cult cut-n-paste shell scripting by typing "more ./configure".
So it's much better to treat shell scripting as a health problem rather than a criminal problem.
My only suggestion is that you should sponsor links to "recovery programs," where people can learn to solve their problems with safe healthy programming languages instead of shell scripts. For the popular rube-goldbergesque shell incantations, you could show how to accomplish the same thing more comprehensibly in Python, Ruby, JavaScript, Lisp, Forth, Mathematica, Quartz Composer, etc. ;)
He told me: Your reaction to the laugh is healthy. You should be scared of this guy. He can't get enough power. When I answered an online quiz "11 reasons your boss may be a psychopath" (or something like that) i gave him 10 1/2 out of 11.
// Take an array of context dictionaries, and return a
// function that evaluates a string in those contexts.
// I fully realize how horrible this code is, and that
// it only supports up to ten contexts. I feel terrible
// about it, as I should, but I would feel even worse
// if it were impossible to do this. But isn't there
// a simpler way to do this is JavaScript? Maybe I
// could use __proto__ inheritence, but I was hoping
// to avoid.
function evalInContextsFunction(_contexts) {
var _contextCount = _contexts.length;
if (_contextCount == 0) {
return function evalInContexts(_text) {return eval(_text)};
}
with (_contexts[0] || {}) {
if (_contextCount == 1) {
return function evalInContexts(_text) {return eval(_text)};
}
with (_contexts[1] || {}) {
if (_contextCount == 2) {
return function evalInContexts(_text) {return eval(_text)};
}
[...and so on...]Ha ha, just joking. ;) I worked for UniPress too, on Emacs. There was a certain professional animosity between Stallman and UniPress. Stallman had a justifiable axe to grind against UniPress, which he expressed by calling UniPress "Evil Software Hoarders".
But between the individual people, it was more like the relationship between the cartoon sheepdog and the coyote, that was friendly and respectful after everyone had punched out of work.
Just after RMS's house had burned down, Mike "Emacs Hacker Boss" and I were wandering around a science fiction convention and ran into RMS (who is a fixture in the east coast SF con scene). Mike sincerely asked him, "Richard, I heard a terrible rumor that your house had burnt down. Is that true?" To which RMS replied without missing a beat, "Yes, but where you work, you must have heard about it in advance."
We all had a great laugh from that -- RMS is a very funny guy who's quick on his feet, with a sharp sense of humor! Just don't let him get under your skin, like when you post a baby announcement to a mailing list for arranging dinner get-togethers on the other side of the country than he lives: http://www.art.net/~hopkins/Don/text/rms-vs-doctor.html
Here's an old picture of JSOL, RMS, Liz and Mike, where RMS is holding a gerbil wrapped in duct tape, about to ask, "I don't know, why do you wrap gerbils in duct tape?" (Now you can ask google if you really want to know...) http://www.art.net/~hopkins/Don/images/jsol-rms-gerbil-liz-m...
http://www.gnu.org/philosophy/open-source-misses-the-point.h...
Insofar as RMS considers Linus Torvalds a hacker or thinks anything positive about him, that would be because he made the Linux kernel GPL, not Open Source. RMS says of Torvalds: "Well, you can see that he is a person who doesn’t believe in freedom."
http://www.computerworld.com.au/article/195096/stallman_want...
http://ubuntuforums.org/showthread.php?t=1646814
http://www.efytimes.com/e1/fullnews.asp?edid=31990
http://www.freesoftwaremagazine.com/articles/unjustifiable_c...
His company came out with a "secure" voice encryption product, and then a previously unknown anonymous hacker reviewed the product and its competitors, and wrote a suspiciously positive review of it, claiming it was the only one he couldn't break. His company then published a press release trumpeting the favorable review, right before a big mobile security conference.
A suspicious security researcher baited the anonymous hacker to post on his blog, and it turned out he was using an ip addressed registered to the security company whose product he'd written a favorable review about.
When confronted with proof, the founder of the security company denied astroturfing, denied knowing the hacker, and implausibly claimed the anonymous hacker must have been using his company's anonymous browsing service.
The same security company founder who spent three years in jail for phone phreaking, because he was convicting of hacking and defrauding profit. The same security company who stores their user's passwords in unhashed unsalted plain text encrypted with a key on their server. The same security company who resets their user's passwords with their email address. The same security company whose founder claims that "many customer do not wish their password to be reset each time they have a problem" justifies not hashing passwords, and resetting passwords to "convenient" email addresses. The same security company whose founder refuses to change his "unconventional" security policies after being confronted with these facts, and instead makes ridiculous excuses for his incompetence, and continues to betray the trust of his customers even after he's been confronted with it.
Can you figure out who it is now?
Would you trust a computer security company that when you reset your password on their web site, sent you a new password that was literally the same as your email address that you signed in with?
If this company sold closed source encryption software, would you trust that the software was competently written and did not have back doors, if the president of the company defended their actions of not hashing passwords, and of resetting passwords to their user's email addresses?
What if the president of that company had been prosecuted for computer crimes in the past, and had spend time in jail for it, because after he was first caught, he went right back to phone freaking again and got caught again?
Would you trust the president of the company, who is a convicted felon, who fraudulently made a lot of money by computer crime and got caught, but had most of the charges dropped and his sentence reduced, not to have made a deal with the government and promise to return their favor of giving him a more lenient sentence in exchange for certain favors in the future?
Can anyone guess who I'm referring to?
The OpenLaszlo implementation animates four shadowed corner chevrons that interpolate between the corners of the current widget to the corners of the next widget, so they are are not as obtrusive as animating a whole rectangle (drawing a bunch of rectangles over each other tends to look cluttered, while the corner chevrons are not as visually distracting), and they work well between differently sized widgets.
The OpenLaszlo animation is a bit slower than the animation shown in this demo, and I think the slower speed of OpenLaszlo's animation works better for drawing your eye between one widget and the other.
This demo seems to move faster than eye tracking speed, and the animation appears to skip or flicker, and it go too fast to follow, especially if the widgets are far apart.
So when Rasmus Lerdorf checked in a change to PHP that broke crypt(), and then made a release without bothering to run the tests (he claimed that "This is mostly because we have too many test failures which is primarily caused by us adding tests for bug reports before actually fixing the bug."), was that actually because he was working for the NSA to install a giant backdoor in PHP, and not just completely incompetent and totally negligent? https://plus.google.com/113641248237520845183/posts/g68d9RvR...
"We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all." -Rasmus Lerdorf
"I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say "Yeah it works but you're leaking memory everywhere. Perhaps we should fix that." I’ll just restart Apache every 10 requests." -Rasmus Lerdorf