Sunday, October 24, 2010

Five Social Skills a DigiPen Student Needs to Learn: Part Three-A

Hygiene!


Hygiene is super important when it comes to social interaction.  Nobody wants to talk to you if you smell and/or look gross.




Even if you are mildly attractive. Let’s assume you don’t have that going for you.



Lack of hygiene is an issue at DigiPen, especially in the lower levels (Freshmen and Sophomore levels).

I did some “research” on why this might be the case.




“Why the hell do all the Freshmen smell like dirty socks stuffed with old fish?”


I got a handful of answers and I’d like to go over them briefly:


Laziness
Apathy
Lack of Time


If your issue with hygiene is laziness or apathy you're on your own.  This blog is for people who want to be awesome.

Out of the three the one that can be most out of your control is lack of time.  This makes sense with the trend of lower-classmen being the ones affected by this.  It’s not that us upper-classmen have a crap-ton of time on our hands, we just manage our time more efficiently.

"I've got eight whole hours to do this assignment. I've got this!"

So, at best, this hygiene issue may be a time management issue.  But this post isn’t about time management.. maybe later..  This post is about hygiene.  So I’ve decided to focus on a few simple ways you can not be a gross person to be around.  This list is by no means comprehensive but you won’t be a “shadow person” if you use these simple tools:


Deodorant:
What is deodorant for:  
You sweat and stink so much as a human.  If you put on deodorant you sweat less, and stink much less.


Why you aren’t putting on deodorant:

I assume it is because you hate me and everyone around you and never want to be successful on the social stage.  Maybe you have a skin condition and are allergic.  Turns out they make special deodorants for you.  Maybe you don’t like the way your deodorant burns for the first few seconds after you use it.

Turns out that is just the horrible stink leaving your skin.


Alternatives:

There really is no excuse for not using deodorant, but there are a few situations where it doesn’t do its job properly and you are stuck as a smelly, stinky, sweaty victim.  Here are some ways to avoid this:

Choose your clothing wisely
If you are going to be hiking in the hot sun, do not wear heavy cargo pants and a thick hoody.  In fact, unless it is super cold outside, multiple layers are a recipe for sweaty disaster.



Use the proper amount
If you find that on a regular basis you have pit stains by lunch you may not be wearing enough deodorant.  Copious amounts may be necessary.

Carry extra with you
Sometimes we get busy in the morning and forget, or we need to top off during a late night coding session.  Keep some in your car/locker/bag.

Wash your underarms
If you ever get stuck in the situation where you have forgotten to put deodorant on and you have no access to deodorant you can always take a quick trip to the bathroom and use soap and paper towels to wash your pits.  You’ll have to do this multiple times a day but it is better than being really stinky.



NEXT TIME on MY AWESOME BLOG: 
Showering and Washing your hands

Saturday, October 16, 2010

Five Social Skills a DigiPen Student Needs to Learn: Part Two-B: Min-Maxing the Asking For Help Game

So you’ve banged your head against the problem and no spectacular insight has come to you.

We’ve all been there, and we’re probably gonna be there again soon enough.

This isn’t the time to be stubborn and try to figure things out for yourself.  Life at DigiPen is all about time management.  If you are spending twenty hours on an assignment that, with a little help, would only take three you are vastly misusing your resources. This is the time to be asking for help.


This simple concept but has huge social repercussions.

The first big problem to get over is these common thought processes:

Argument #1: 
“I want to do it on my own because I will learn better that way.”

Why that argument is wrong:
  • If you don’t have all the information you need to solve the problem you won’t learn anything at all.
  • If you bang your head against the wall and force things you’ll get it done, but in the most back-asswards way imaginable.  And that is how you’ll remember to do this task.  Back-asswards.
“So I’ll just spam the network with broadcast messages.  That’s like reliable UDP.”

Argument #2:
“I want to do it on my own because everyone else did it on their own and I will be a poorer programmer/artist/designer/person for asking for help.”

Why that argument is wrong:
  • Sometimes it is true, people have done the assignment on their own.  Most times that is completely false.  Either way, do you want to be one guy who had to ask for help to get the task done, or the one guy who didn’t get the task done at all?
  • If anything, asking for help will make you a better programming/artist/designer. You will have moved on from that one problem and on to the next.  Progress!

Argument #3:
“I want to do it on my own because if I ask for help I did not accomplish anything or I accomplished less.”


He built the ship out of soda cans and flew his own self there.

This is the hardest argument to face.  It is a bald-face lie, but this is just how we feel sometimes.  If you’re having a hard time with this one just take a deep breath and realize you weren’t born awesome, you were made awesome by everyone you’ve ever met, and now you’re going to go ask for help and become even more awesome.

With a little help, this could be you.

The next hurdle you have to face is that you are not the only victim of these fallacious arguments. Turns out everyone else thinks this way from time-to-time.

Some people will turn you down because they think you need to do everything yourself to learn. Some people will think less of you for needing help. Some people will not recognize your accomplishments because you didn’t accomplish them alone.

If you were never going to see these people again this would not be an issue.


Screw you guys, I’m going home.


But these are your friends, your classmates, and your future employers, employees, and co-workers.

Sometimes these crappy judgements are unavoidable, but there are some simple things you can do to min-max this social situation.

So the goal of this exercise is to minimize the undesired effects of asking someone for help and to maximize desired ones.


Step 1)  Think about your problem.


If you have gotten to the point where you need help you may be super frustrated. This is not a helpful feeling when approaching someone with an issue. It also tends to muddle the issue your having.

A great way to solve this is to talk the issue out. The best way to do that is with a mannequin:

Tell him your problems.  Really.

At this point you are too frustrated to approach someone else.   You won’t be able to communicate your problem clearly, which is really important.  

Fake people are perfect for this.  They are the best listeners and will not judge you if you throw in a few profanities.  You can even put them in sympathetic poses.

She cares.

Describe your situation, your output and your desired output. Go in to nitty gritty detail. You may even solve the problem yourself.

The goal here is to figure out where exactly your problem is and how to clearly communicate so that when you approach an actual human you can describe it in as few words as possible.


Step 2)  Choose a friend or acquaintance

So you’ve nailed down your problem. You’ve figured out the best way to convey your issue without over-inundating someone with your own personal issues.  Now you need to find the best person to approach with your problem. 

People to think about first are your friends. Maybe you have a friend in the class who has already finished the assignment.

Friends judge you less, but they still judge.


Next would be acquaintances.  You’ve met but they don’t really know you all that well.  You could spin the situation to make them feel smart and then they will like you better and you have a new friend!


Failing that, think of people you know of who are skilled in what you are doing.  Don’t just start asking random people.  Maybe there is a TA for the class, or someone runs a club on the topic.

Failing all of that email your professor.  Why is this a last resort?  Depending on your class there might be a lot of people in your class working on this assignment.  Depending on your professor he might have a lot of other classes he is teaching, or he might not read his email.  And sometimes you might need help on something that has nothing to do with a class.

Step 3) Evaluate the situation

So you’ve decided who you are going to ask for help and have located them.

Maybe you stalked them home.

Do they look super busy? (This is relative, we go to DigiPen, we are all super busy) Do they look angry or tired?

Are they bawling their eyes out?

Does it look like they are in a position to help you?  If not, do not approach them with this issue.  It will only bug them, and that lowers their opinion of you.



Step 4) The Soft Approach

So you’ve decided to ask Billy for help and it looks like he is in a position to do so.  Here is what not to do:

“Sup dude. Dijkstra’s algorithm is such bullshit. I’m not getting anywhere near the right output. You free?”

That is how you ask someone to a kegger.


And we’re not hosting one.


Here is an awesome way to ask for help:

“Excuse me Billy. Will you help me with an issue I’ve been having with Dijkstra’s algorithm?”


Some things to take note of:
Excuse me Billy
As I’ve stated before, using someone’s name is a great idea, and politeness is a wonderful way of letting them know that this is a situation that they should pay attention to. 

Will you help me 
Always ask them if they will help you. This is what “asking for help” is. It is a clear-cut question that they can answer easily. 

Dijkstra’s algorithm 
Specifics that will let them know about your issue and whether they can help. Maybe Billy doesn’t know crap about Dijkstra’s.

Try to avoid profanity. This is a business situation and if you are respectful they will respect you.  If they decline, do not ask again right then, or beg.  Try someone else.

Step 5) Listen.

So Billy has agreed to help you and you’ve described your issue. Billy is going to tell you what you ought to be doing. Billy might mention some things you already know. Unless it is taking up too much time you needn’t interrupt him.

Try to be as polite and patient as possible and hopefully he can help you. Listen to what he is saying and try not to judge him on his ability to teach you things. You are not there to teach him how to relay information, you are there to learn.

Conclusion:
This a skill everyone I know at DigiPen has struggled with at some point. We are all super smart and we hate putting ourselves in situations where we feel dumb. But we have to. If we really do want to be the best at what we do we have to ask for help.  And it still counts as us being awesome if we had a little (or a lot) of help on the way.

Meryl Streep approves!

At least I imagine that she does.

Five Social Skills a DigiPen Student Needs to Learn: Part Two - A

Ask For Help!

But random internet blog!  How is that a skill?  That is just general advice!


Wrong.  

If there is a way to fail miserably at something, doing it right is a skill.

A lot of what we do is difficult and we are awesome for doing it.  A lot of what we do is not as difficult as we make it out to be.  

If you want to succeed you need to learn the difference between a difficult task and not having the right information.

As an example let us use a silly little situation that happened to me the other day that has never happened to me.  You have just done some amazing programming.  You are truly a prodigy.  You hit the build button and:

Errors?!  Windows must be broken!

Error:  expected initializer before ‘WindowProc’?  What does that even mean?  (For those of you in the know, pretend you’re not.  For those of you not in the know, read on brave adventurers!)




And ‘WindowProc’ was not declared?  That can’t be right!

Turns out you actually did declare ‘WindowProc’ back on line 8:

Of course I did.

This is absolute foolishness! You have to email every contact on your contact list and tell them you broke the world.

Or... you could google the error:

355,000 people are now helping you.

Of course, not everyone is going to be experiencing the exact same issue you are, but if you read what is going on with them it may give you some insight into what is going on with you.

The solution the internet found...

Your code...

Turns out semicolons are important.

In short, the first lesson about how to ask for help properly is to determine whether or not you need help. Not every wall you run into will be a brick one.

But random internet blog!  That was a really simple problem.  What if it is more complicated than that and google can’t help me?




While the google search engine is super powerful this does happen from time to time. Luckily you are surrounded by people who are either in the process of doing what you are doing, or have already successfully done what you are doing.  Now you just have to approach them for help!

Next time on this awesome blog that bajillions of people read:  

Five Social Skills a DigiPen Student Needs to Learn: Part Two - B
Min-maxing the asking for help game