Wednesday, February 8, 2012

What's a Mechanical Turk?

So, the other day I was browsing reddit and decided to brave the ominous 'random' button.  After stumbling across all sorts of subreddits, some interesting, others border-line disturbing, I came upon r/mturk.  This subreddit focused on Amazon's Mechanical Turk program, which apparently allows users to make a few bucks doing mundane tasks on the Internet.  My interest piqued, I did what any red-blooded denizen of the 'net would do and went straight to Wikipedia.  After scanning the article, and glancing at my ever-growing stack of unpaid bills, I decided to go on over to mturk.com and give it a shot.

When I got there, I went through the standard registration hurdles (email, password, etc), but paused when I was prompted for my SSN.  Hold on a second!  Nervous, I went back to Google and did a bit more research.  Fortunately, a few quick searches reassured me.  It was legit.  Returning to the site I finished the registration and was soon underway on my first HIT (the little tasks you get paid for).  My task was to type certain strings into Google and copy/paste the URL of the 'best' search result.  Easy enough.  I hit submit and after a few minutes my submission was approved and my account was credited with $0.20.  Hooray I just made my first .20c on mturk!

After about 15 minutes or so working on the "best search result" HITs, I decided to branch out and see what else mturk had to offer.  The first thing that caught my eye was a offer for Duke University.  $0.50 to take a quick survey.  Minutes later, the survey was submitted and I had another 50 cents in my account.  I spent the next hour or so taking every survey I could find and eventually worked my way up to around $6 in earnings with another 10 or so surveys pending approval.  Not too shabby. 

Now of course, you are probably thinking $6 for an hour's work is borderline slave-labor.  And you'd be right.  But there's a catch: I was able to do this while watching tv and chatting with some friends on Facebook.  I'd say $6 to click a few links while watching Workaholics reruns is a pretty good deal.  At the very least its a way for me to get a little extra beer money. :)

Thursday, January 12, 2012

So much to learn, so little time.

As of late I have found myself with a great deal of free time.  At first I thought this would be a great opportunity to buckle down and fine tune my programming skills.  Unfortunately, however, the shear amount of information available on the web is quickly becoming overwhelming.

Where should I focus?

Java Swing / UX Design
Scala / Scheme
Discrete Math / Combinatorics
Data Structures / SQL
Shell Scripting

Monday, January 9, 2012

Am I up for the challenge?

I am currently considering jumping headfirst into an advanced level course on Algorithms.  My only formal CS training to date is the introductory course I took last semester.  I have, however, made ample use of online course materials from MIT, Stanford, and Harvard.  I believe that with access to this material along with communities like the Stack Exchange network I can succeed.  It will be hard.  There is no doubt about that.  But I think the challenge will be good for me.

Wish me luck!

Thursday, January 5, 2012

How do you rank as a programmer?

I recently stumbled upon the Programmer Competency Matrix, which essentially allows you to rank your programming expertise in a number of different areas.  Looks like I have some work to do...

The chart is quite large so I've decided to work my way through it piecemeal, isolating the areas where I need the most work.  I'll start with the first block:

COMPUTER SCIENCE
 Data Structures - somewhere between 1 and 2.  Arrays Linked Lists I can grasp, but could use some work on hashing and tree structures.  Need to find a resource here...

Algorithms - solid 1 here.  Currently working my way through MIT's Intro to Algorithms course online.

Systems Programming - again a 1.  Memory, compiler/interpreter stuff is good.  Need work in the final points, esp threading, kernal specific stuff, and assembly.

I hope to continually update this post with resources I find for each area, eventually creating a sort of  directory for those wishing to round out their skill sets.