Pro: I understand the reasoning behind affirmative action better after reading this quote:
"People mistakenly assume that affirmative action is about granting minorities undeserved privileges. In it’s purist form, affirmative action is about allowing minorities natural talents to flourish by removing artificial, unfair barriers and decoupling the true skills required to succeed in a profession from the cultural baggage that builds naturally within an insular community."
Con: The author seems to try to be fair, but quickly falls into the trap of characterizing men in the field as "socially-challenged-uber-nerd[s]". She says that "a lot of men would rather not live like code-cowboys", but goes on to recite a litany of bad traits that are "masculine qualities" and contrasts them with the traits of a "good developer". That's a good way to alienate male readers who would otherwise be sympathetic. Perhaps men do advocate for themselves more actively in the workplace, and that should be corrected for by affirmative action; saying that men "pester the boss until she finally relents to send them to a conference" doesn't accomplish anything.
I particularly like the plain-English design from JJ at Graphicology, though I wish he'd used AM/PM instead of 24-hour time.
Using full sentences reminds me of a UI element* that replaces a form with an interactive sentence. The example (from a trip-reminder app) was the sentence "Do not announce these trains". Clicking "Do not" changed the sentence to "Do announce these trains 20 minutes before they depart", clicking "20 minutes" allowed the user to enter a time, and clicking "depart" changed it to "arrive". All clickable text appears as hyperlinks to let the user know what can be changed. The author then demonstrated this element scaling up to what would normally require a configuration dialog of a dozen checkboxes, radio buttons, text fields, and spin boxes. The full-sentence version has the benefit of being easy to check by reading, and it seems easier to set up in the first place, though that's hard to judge looking at mockups.
Go might have a chance, I think, particularly because of its interface system. Defining interfaces based on an object's methods gives the programmer compile-time assurance that objects can do what they'll need to without requiring an unstable, ever-growing tower of types. It may be simple like Java, but its central abstraction is less rigid.
Add to this Go's garbage collection and clean built-in concurrency model, and you've eliminated much of what bugs me in day-to-day C++. Go could still blow it with a poor treatment of generics, but I think it stands a good chance of doing Java and C++'s jobs in a much more concise, 'quiet' style.
Wow, I've been looking at Perl 6 stuff for a while and this might be the most awesome post I've seen. It's like Perl 5, but Perlier :) Reeally looking forward to golfing in Perl 6.
I can't imagine how I will remember all of the Ways To Do It, though, given that I'm not likely to use only Perl all the time. There are so many builtins, operators, etc. that I'll be constantly living in the manual.
You're probably being downvoted because you're stating an uncommon opinion (humans are no more morally relevant than other species) as fact, and your only support is an argument from similarity to child-like selfishness.
I'd argue that humans are more morally relevant because humans have richer mental lives (evidenced by language, culture, etc.), so we have a higher capacity for suffering and caring about our future lives, and suffering/caring are the two factors I find to be intuitively "morally relevant".
How would you convince me that humans are not more important than anything else? Do you have an argument?
Yes, that was why I thought I was being downvoted, and as a comparison it could have been better - no one likes being insulted.
So, an individual human is more mentally unique than an individual, say, mouse, and that makes us more valuable than mice? Makes sense. Using that logic, since mice are easy to make more of, and are all essentially the same (birds might be better here, because their minds are even simpler, at least pigeons), they're not so valuable. Which also makes sense, and is basically a restating of the original claim.
No, I don't have an argument to prove that humans aren't inherently more morally relevant; but, before this, neither did I have an argument for why humans are more morally relevant, instead perceiving it as being because we're very self-centered. But now I do have an argument as to why we are, which is an improvement and allows me to take all of the assertions of us being more valuable as somewhat valid, instead of an unproven a priori assumption. So thank you for that.
PG talks about the problem of having a top idea that he didn't want, something practical like making money or impractical like disputes, stealing his ambient-thought time.
I have the opposite problem: practical things that need some ambient thought to really get right (day-to-day work, money stuff) fall by the wayside, while things that I care about or find more interesting (like programming projects or relationships) take all the ambient time. Anyone else find this happening? Have coping strategies?
I guess I have a long way to go towards controlling my ambient thought. Maybe this is part of why I always had trouble "forcing myself" to study effectively?
Wow, that's an inspirational read. Thanks. Maybe I won't try to fix my "problem" :)
Hamming's Questions ("What are the most important problems in your field? Are you working on one of them? Why not?") are great, but somewhat daunting. Maybe the blow can be softened by loading those problems into ambient thought mode instead of pounding against them systematically. That was one of Feynmann's methods: keep a few hard problems in the back of your head all the time and wait to stumble on something that helps.
I have always envisioned Hamming's third question as less of a leading question and more of an honest one. Having read that lecture, I think if I said "well, because they don't pay and I have a mortgage" Hamming would have just as easily agreed and moved on. The interesting part to me about this series of questions is more that it requires being honest with yourself. That, and the fact that most of the people he asked were apparently insulted, took it negatively, and hated him for it. Not only could they not be honest with themselves, they metaphorically shot the messenger.
Still, a great series of questions to make you re-evaluate your course in life.
It seems like an obvious idea in retrospect, and it fits with the iPad concept-- not a necessity, but a much more satisfying way of doing some specific tasks.
I wonder what its integration with the browser is like? I'm not sure if it'd be better to have a separate app for my Google Reader and Hacker News, but those are both sources I'd like to read in this format.
To pick out one particular point: "3. We need more than just the imperative mood". The author states that all programming languages are in the imperative mood (which is pretty shaky, considering the long history of declarative languages), and that this is a problem because we need programs to be "art and literature". What? Can somebody explain that to me?
Besides, to parallel his later argument about games (which I disagree with, but... maybe some other time): when was the last time you executed a great piece of literature? What does Moby Dick print when you run it?
I agree that scholars and programmers should talk to each other about their studies, but I doubt that this article contributes much to the discussion.
Also, here are some links to the proceedings of recent AGI conferences:
http://www.atlantis-press.com/publications/aisr/AGI-09/
http://www.atlantis-press.com/publications/aisr/AGI-10/