Comment Re:Head First C# (Score 1) 254
Thanks!! It's super gratifying to hear that!
Thanks!! It's super gratifying to hear that!
Warning: this is blatantly self-promotional. It's also a pretty good answer to the question, I think, so hopefully I won't get violently modded down.
It sounds like you're exactly who Jenny Greene and I wrote Head First C# for. I played around with a lot of different ways to teach both C# language and core object oriented programming and computer science concepts, and I found that building games was easily the most satisfying way to do it.
The only way to really learn a language is writing a lot of code, and one of the biggest challenges I had putting the book together was coming up with many different projects. The answer was games: a card games, a turn-based game, arcade games -- it turns out that building a game is a great way to keep readers motivated, especially when they're learning new concepts. I've had a lot of really positive feedback from first-time programmers who found it really satisfying to get through the book, and especially building the final project (a retro Space Invaders game).
You can download a free PDF of the first three chapters of Head First C# from the O'Reilly page and see if you like it.
I wrote a popular book for learning C#, and I routinely get emails from people who started programming in the 80s and 90s who felt their skills were going stale and were able to pick up C# without any difficulty.
I do not believe there is an expiration date on our ability to learn new programming skills. This applies for any language, whether or not you use a book... as long as you remember that most (only?) effective way to learn a new language is doing lots of projects (that's something I focus on for my readers).
If the NSF Report actually stated "that roughly 40% of Americans believe astrology to be scientific," this would be an interesting use of five bucks. But that's not what the report says.
Here's what the NSF report acually writes—and it's actually interesting:
Fewer Americans rejected astrology in 2012 than in recent years.
* In 2012, slightly more than half of Americans said that astrology was “not at all scientific,” whereas nearly two-thirds gave this response in 2010. The comparable percentage has not been this low since 1983.
Page 7-6 of the report gives actual details about the survey—speciically, the Science and Technology portion of the General Social Survey". You can search the GSS survey for the word 'astrology' to see the actual question:
ASTROSCI : ASTROLOGY IS SCIENTIFIC - 1037. Would you say that astrology is very scientific, sort of scientific, or not at all scientific?
0 NAP
1 Very scientific
2 Sort of scientific
3 Not at all scientific
8 DONT KNOW
9 NO ANSWER
The whole point is that they're asking Americans if they know what the word 'astrology' means.
If there was a mass epidemic of amnesia between 2010 and 2012, I don't remember it. So what caused the reversal in a steady trend that lasted from 1983 to 2010? Why did the number of Americans who know the definition of the word 'astrology' make a sudden and very large negative drop from 2010 to 2012?
This is an interesting result, and to their credit the authors of the NSF report do a good job of accurately reporting their finding without resorting to hyperbole or finger-pointing.
This is really clever. It includes encoders that use tabs spaces at the ends of lines, and even Oxford commas. That is ridiculously cool. Nice work, Bram & co.!
My UID is five digits, so maybe I'm just old—but I liked the Ctrl-Shift-T post. Also, people have been posting the same exact complaints about
In Mind Wide Open Steven Johnson points out that "Laughing is not an instinctive physical response to humor, the way a flinch responds to pain or a shiver to cold. It's an instinctive form of social bonding that humor is crafted to exploit."
Think about how often you laugh at references, the more obscure the better. You're sharing a bond with the person making that reference—and once you start looking for that, it becomes increasingly obvious (at least it did for me).
That's probably why "I like my X like my Y, Z" style jokes are funny—they make us think, "Wow, you and I both see that X and Y have that relationship, possibly based on abusing a synonym, which doesn't immediately spring to mind when you think of them."
The more I think about humor as an exploit of laughter as social bonding behavior, the more I notice it. And the more I notice people laughing when things aren't funny, but when it's appropriate to reconfirm a social bond (like when someone does something embarrassing that might take them out of the social norm, and the people around them laugh to reassure them that the social bond has not been damaged... much).
This is where I would make a joke about how geeks are not good at social bonding, but I'm too much of a geek to relate to such things.
I struggled with this myself when I was studying CS at CMU in the early '90s. I'm naturally a very ego-driven, arrogant person. I'm very much driven by other people appreciating me, liking me, and thinking that what I do is really cool or good. I think geeks, more than others, are like that. When we walk around with, say, a geeky t-shirt, or walking stick, or Doctor Who scarf, or some other affectation, what we're saying to the world is, "Look at me! I'm cool!" Even when we're socially introverted, once other people engage us we want so badly for them to think we're cool.
And the funny thing is that many of us geeks actually do have a lot of interesting, cool things about us (even if not the traditional "cool" of Fonzie, Mr. T, Dawson, etc.). I learned through a lot of self-examination (and a few very patient, non-geek girlfriends) that people gave me the reaction I wanted ("I like you, you are interesting, and I want to listen to you") much more often if I became less arrogant.
Here's what I had to do to become less arrogant. First, I had to stop arguing with people. I had a habit of arguing to completion, especially using pedantic arguments. With other geeks, this was great. With civilians, this really pissed them off and made me a very frustrating person to deal with. I would win an argument through logic and rhetoric, but then the person would never really talk to me again, or treat me poorly. I decided that I would rather lose the argument but win the friend. An interesting side-effect of that was that when I listened to other people—actually listened, not just waited for them to stop talking so I could make my next argument—I discovered that they often had something interesting to say. Sometimes they were even right, and I was wrong!
That was the second thing I had to learn: that sometimes I was wrong. This was a difficult thought for me, because I am so used to being right. But just like I didn't always ace every test in college, I also didn't always walk into every discussion knowing everything. The more I listened to other people, the more I realized that the world was more complicated and less obvious than I thought it was. I started to dismiss people less, even people who seemed stupid or wrong, because even if they only had one thing to say, they might still be good company—and if they liked interacting with me, they would give me more of that recognition from others that I craved (and, if I'm honest with myself, still crave today).
Finally, I had to recognize that social skills, like all other skills, improve with practice. I used put my foot in my mouth all the time: I'd say something that would commit me to a fact, idea, or opinion, often an extreme one (said very loudly), then I'd have trouble walking back from it. That would be really embarrassing, especially when it turned out what I said was something I didn't really want to say, or was wrong. Sometimes I would blurt something out that would bother me for days afterwards. It really helped when I started treating this like a skill to be improved. I tried to treat each of those things as a learning opportunity. What did I say wrong? How could I prevent myself from doing that in the future? Almost always, the answer turned out to be to qualify absolute statements with phrases like "I think" or "It might be true that" or "Maybe." Often, the answer would just be to keep my mouth shut for a few extra sentences and listen.
My interactions with others improved a lot after that, and my arrogance naturally started to deflate. It's amazing how much less arrogant we become once we start listening to other people, even people we assume at first are wrong because they disagree with us.
The biggest social skill improvement, for me, has been to recognize that other people really like being right as much as I do. When someone else said something that was right, I would grudgingly admit they were correct, then I would try to one-up them: "Yes, you're technically correct, but here's my idea which is so much better!" This came off as very arrogant, and made people dislike talking to me. Now, instead of trying to one-up, I will encourage the person: "Wow, you're right about that! That's pretty cool." Instead of making it about me, I'd make it about them. After all, in a conversation, it's only fair that it should be at least as much about the other person as it is about me, right? I've come to learn that the more I openly recognize that other people are right (when they are), the more they will reciprocate, and the better they will treat me.
Some of these things draw on basic facts of social psychology. One book I wish I'd read earlier is "Influence: The Psychology of Persuasion" by Robert Cialdini. It does a really good job of showing how people influence each other, and it gave me a lot of ideas of ways to improve my arrogance problems.
I hope this helps some fellow geeks!
The New York Times gets a lot of (often well-deserved) criticism for its science reporting—but in this case, this isn't science reporting at all. It's written by Mark Bittman, and according to his website, Wikipedia, and various other sources, the author is a food writer and editor with a degree in psychology whose background mainly consists of writing and editing cookbooks and cooking magazines (and driving a cab).
Yes, pedigree doesn't mean everything and good science can come from people who aren't scientists. But still, consider the source and take it with whatever size grain of salt you feel is warranted.
There are a lot of people who will judge you purely based on the quality of your code and skills, as it should be. But there are definitely some people in our field who will blatantly discriminate against job candidates based on their age. I've seen it myself when I've hired older candidates and gotten discriminatory feedback from peers and managers. Many people I know have seen it as well -- here's one example from someone I know.
About ten years ago, a good friend of mine (a highly experienced software development manager) was running a programming team. She asked her team to give her feedback about a developer who was in his early 40s. One of her programmers said the candidate was too old. He didn't think the candidate could possibly be up to date on current technology, and would never be able to keep up with the rest of the team. My friend hired him anyway over the (blatantly illegal and, frankly, disgusting and stupid) age discrimination of her team member. The new developer turned out to be one of her top programmers.
It's now ten years later, and the person who raised the objection is probably older than the candidate he had wanted to reject. I wonder if he's gone on an interview recently...
Lots of folks confuse bad management with destiny. -- Frank Hubbard