Link to Original Source
Link to Original Source
It seems like app designers and ad networks should be able to come up with a fairly simple scheme to detect when this is happening and (for instance), refuse to work until the ads are restored. App sends a UID along with the ad request, ad-network sends back a signature of the add content + UID using a public key, app can validate the signature to ensure their "ad" really came from the network. Not that I want them to do this, I'm just surprised I've never heard of it.
Yes, it's quite common, despite some of the timid stereotypes we've been given by the media. I would assume it stems from some combination of genuinely being more intelligent and more knowledgeable than the average person, and wanting to assert your self in the face of social pressures you've probably faced and may continue to face as a result of being a nerd.
It's probably also related to the fact that as a nerd you put a high value on intelligence and knowledge. There's a remark in Cryptonomicon to the effect that nerds, particularly young nerds, tend to reactive aggressively to any assertion of fact, as they take it to imply that they did not already know it.
In your case, and the case of your peers, it may also have a lot to do with the fact that you're in college. It's a ripe age of arrogance, and being in a relatively cloistered and academic setting only exacerbates the issue.
The good news is that you've identified it as a negative personality trait which you'd like to keep in check, so there's no reason you can't, at least mostly. It's actually something I've worked on over the past few years as well, so I can offer some general tips, though they're probably pretty obvious: Listen to other people: don't ignore them, don't cut them off, and don't block them out (bonus, you'll be amazed what you can learn from surprising sources). Don't assume you know everything, you most certainly don't. Ask questions when you don't know something: it's more awesome to actually know stuff than to just pretend you do. Allow people to make mistakes, it happens to all of us. When someone says "hey did you know that...", they're hoping you'll say "no": it's not a quiz to see how smart you are, they just want to share something interesting that they most likely just learned themselves. When somebody doesn't know something, it's usually more fun to teach them than to make fun of them (obligatory: https://xkcd.com/1053/). People open themselves up for insults all the time: limit how often you seize those opportunities, even if it's just in fun. Insulting someone isn't necessarily being arrogant, but it just a negative atmosphere around you which will tend to bring out the negative traits in you and those around you.
Overall, just keep it in your head that you want to be a nice guy. That's really all it takes. Any non-psychopathic person past the age of 5 or 6 should be able to tell the difference between being kind and not being kind, the key is just noticing it and making a decision about how you want to act.
Oh, and tone is everything: if you're used to being a smarty-pants know-it-all, then even when you're trying to be nice or helpful, it can come off as condescending. Just take a beat and think about what you're about to say and how you should say it before you actually do. It might take some practice: I gave up being condescending to my wife for lent a couple years back, and it stuck. Trust me: I'm much happier now.
Lastly, don't be self-righteous. Clearly, I'm still working on that one.
You have to power through. I agree, the beginning is slow, but for what ever reason it didn't really bother me so I kept going, and after a little while I was really glad I did. It's currently my number one favorite book, with Diamond Age and Cryptonomicon following.
Science classes are not (or at least should not be) just about learning a particular field of science. They're about learning science in the general sense, learning how science works, and learning how to use reason and think critically in order to reduce the number of people running around who think the Earth is only 10,000 years old, prayer is a viable form of health-care, global warming is a scam perpetrated by terrible people who's real goal is to reduce pollution, and vaccines will give your kid autism. We absolutely need to be encouraging, and if necessary requiring, more students to take science courses so they too can learn to think for themselves, follow the evidence, draw rational conclusions and reject superstition and hysteria. Not every child is going to grow up to be a scientist, but every last one of them is going to make decisions in their lives the affect other people, and it would be nice if those decisions did not contribute to the rise of a theocratic state in America, the outbreak of a flu pandemic, or the suffocation of the planet beneath a blanket of carbon.
Link to Original Source
Link to Original Source
You could probably perform most of the work that would be required of a mid level programmer, possibly even a computer engineer, with the math you already know. But you'll never be very good without advanced topics like calculus, linear algebra, and diff-eq. If you're seriously considering a technical career, I can't recommend strongly enough that you take these courses and put in the effort to really truly learn the material: not just enough to pass the courses, but for the long term. I've been an engineer for about 6 years and I'm constantly finding myself wishing I knew more math, even after having taken all the required engineering math classes and a few additional math classes in both undergrad and grad school.
The various fields of mathematics are like tools to hang on your belt: right now you probably have something along the lines of a hammer, a screwdriver, and a hacksaw. Yes, you can do most of what will be required of you with those, but it's not going to be easy. Why limit yourself? Take the advanced courses and you'll start acquiring skills more analogous to power tools. Honestly, you really can't imagine the kinds of problems you'll actually be faced with in a technical profession until you're actually in one, so it's not surprising if it seems right now like you don't need any more math. For instance, if you're thinking about game design, do you know how ray tracing works? Do you know what quaternions are? Can you do matrix operations for 3-D movement? No, you may not use those things everyday as a game designer, but you'll be at the bottom of your field if you can't at least understand them.
Besides, never mind the actual merit of these topics: you'll never land a half-way decent tech job if you go into an interview and let it slip that you don't know math beyond first year calculus, let alone high school. Unless of course you're planning to go into IT. If that's the case then never mind all of this.
Career aside, there will be a lot of topics that you'll likely find interesting later in your life---when your brain isn't so squishy---that will be out of reach without the additional mathematical background that you're currently lacking.
I've always found the most impressive presentations don't have any slides. Know the information cold (or maybe just a sheet of notes) and present orally and by writing on the write board. If you need to show charts or diagrams that are not practical to draw live, a few simple slides shouldn't detract from the over all effect. The overall impression is that you know and understand the information so well that you don't need to fallback on slides, you're able to present it naturally, almost in a conversational manner (even if it's not a two way conversation).