June Project: SC2 Stalker

Sc2_stalker_by_thehellbean-d4us9nt
Goal: To help easiler follow players in streams/ replays/ vods/ tournament appearences

I'm a huge fan of the competitive starcraft scene (Both the original BroodWar and the new SC2 scene). Although I dont play much now, I still watch most of the tournaments and cheer for some of my favorite players (MC, and MKP).

WIth the growth in the SC2 Scene, it is getting increasingly difficult to keep up with my favorite player's appearances in various tournaments. Another issue is when I'm trying to learn a certain player's style and having to dig through websites for that player's VODS or replays.

So my project for June is a web application that allows users to follow their favorite players. It will provide a 1 stop location to see their favorite player's tournament appearences, recent VODs, replays, and stream status.

This project will involve a lot of web scrapping which I will do in python and the website will be built on top of Google App engine. I'm aiming to have a MVP out by June 25th.

Features:

Ability to add and stalk your favorite players:

  • recent and upcoming tournments
  • stream status
  • replays
  • vods

Acccounts, history, player popularity polls.

 

Online University: Udacity Review (CS253)

I'm doing my last term of University (finaly!) and am only taking 3 courses to finish my degree. Having a lot more time this term compared to before, I decided to learn some more about development on the side.

When I saw Udacity was offering courses starting April 2012, I signed up for 3 of the offered courses:

  • CS212 (Design of Computer Programs)
  • CS253 (Web Application Programming)
  • CS262 (Programing Languages).

I ended up doing most of CS212 and all of CS253, but lost interest in CS262 since it was very close to a compliers course I had taken in University.

Today I'm going to share my experience with CS253, Web Application Programming. The course teaches how to develop modern web application using Google App Engine. It covers dynamic content, databases, and caching. O

Udacity
Udacity is an online education website/startup that offers University level course for free. Currently it focues on topics related to Math and Compupter Science. A course in Udacity is organized by weeks, and each week a series of videos are used to explain concepts. Students can test their knowledge through questions at the end of certain videos (see above: answering a question on html) and through the homework at the end of each week.

The best part about Udacity is that it offers a very flexible learning stucture. Each's video takes about 2-3 hours to get through per week, which is comparable to that of a normal university course. But the student can skip concepts they're already familar with and jump ahead. Personally I ended up assigning a certain time in my week for each of my Udacity courses, but for someone with a busier schedule, they can fit a course in easily into their day.

Despite taking courses online, you can still interaction with other students taking the course through the forum. While I didn't use the forum too much, it did seem very helpful and contained a lot of good discusson abou the course material.

For CS253, I had a pretty good background on web application development through both personal experience and past coops, but it give me stucture and motivated me to get hands on and actually develop the application assigned for homework.

This was the first time I worked with Goolge App Engine and I found it quite enjoyable to work with. By the end of the course, I was able to easily (in 1-2 hours) create a simple wiki (here).

Now that I fnished the course, I intend to put new learned skills to use and develop a web application on GAE through June. I'll outline my application in my next blog post.

Also, I plan to learn more about web design (CSS/JQuery/AJAX), so I can make pretty applications instead of just blank pages.

I recommand anyone with a interesting in learning morea about programing to take a course through Udacity (or other online education sites). I will be taking 2 more courses offered by Udacity, starting June 25th:

  • CS258: Software Testing

  • CS215: Algorithms

Edit: My Certicate for CS253 has arrived! (Note: I did not do the bonus question for the final exam, so it's not with Highest Distinction)

Cert

Lesson Learned.

Failures happen all the time. The important thing is to learn from the past failures and make sure the mistakes are never repeated. There is nothing wrong with failing (look even major companies do it), that's why my old web page was called Successful Failures and my blog was http://successfulfailures.posterous.com/ .

Well now it's time for me to learn my lessons. Here's what happen over the last month:

1) my web hosting service had a hard drive issue with their server, thus all my hosted files were lost.

2) I only had 1 backup of the files in a portable HD that I put in my suitcase on my flights and it broke.


The above two events happening in the same month led me to losing my entire website. Now I learned my lesson and my stuff are backed up on a HD and dropbox, plus I switched to a more relible hosting service.

In the meantime, I moved my home page to: www.kelvinhanma.com. It is currently under construction, but I will remake it in the next week.

I have a couple of interesting ideas to test out this term, so I can't wait to settle into school mode and start hacking away at them.

Will do my best to keep up a weekly posting!