CS106B and the Google AI Challenge

CS106B

Looking back on my latest blog posts, I realize that most are addressing flaws in software that I use regularly.  When I began this blog, I hoped to use it to focus my efforts in becoming a better software developer.  Analyzing design choices in software does that to some extent, but I need to be creating more in order to improve.

One problem I’ve had with creating software outside of work is a lack of focus.  By this, I mean I want to create a lot of software and learn many tools.  Examples:  Creating mods/new levels in new PC games with editors, creating Android apps, going through some of the most well recognized books in computer science, taking  free online courses in CS, and so on.  I have done each of these to some extent, but now I would like to focus solely on one (I have failed at this already, see Google AI, below).  I believe this will allow me to learn more in the span of a few months than trying to do all or some of these projects concurrently and not getting very far in any of them.

Before the end of the year, I intend to complete Stanford’s CS106B, a data structures and algorithms course from Stanford Engineering Everywhere.    My main focus will be on the seven major programming assignments.  I will likely be looking at the section assignments for a limited amount of time before looking at the answers in the interest of keeping progress moving.

I am hoping that by focusing on one project for programming outside of work, I will be able to delve deeper into that project and hopefully discuss it here to see how it impacts me as a developer.  Currently, I am finishing up the second major assignment.  While my progress is a bit behind where I would like, I am consistently working a bit each day on this.  So despite my progress not being outstanding, I am quite satisfied with my consistency.

Google AI

I can’t remember where I saw it but a couple of weeks ago I saw a link introducing Google’s AI Challenge for this year.  I haven’t done much yet, but I’m working with a colleague to come up with an entry for the contest.  Neither of us are particularly skilled in AI development, but we are both excited to see how we can do in this competition.  The competition lasts just a little over two months.

I won’t be able to discuss our top secret strategy until the competition ends, but the AI contest and CS106B should provide some interesting topics for the remainder of the year.

How To: Fix TightVNC After Moving

While I don’t use VNC to log into my home PC very often, it is a nice convenience to have if I want to check something on my home PC while I’m at work or out of town.  I recently moved to a new apartment and upon getting my PC set up (before the furniture, naturally), I saw that TightVNC no longer seemed to be working.  I tried a few simple fixes, but with no pressing reasons to use VNC, I put off setting it up.

Last night, I become determined to fix it for no apparent reason.  After trying to disable the Windows firewall (which I promptly put back up), I got frustrated again.  I considered that maybe I was missing something simple, so I asked a tech-savvy friend* if he could think of anything.  This morning he got back to me suggesting that my router might be blocking the ports that need to be accessed.  I knew this was wrong because 1)  I did that when I set up AndroidVNC, and 2) I had checked it after the problem arose.  His advice did, however, make me realize that I had not tried taking the router out of the equation to make sure it wasn’t the culprit.

To test whether my VNC server was working or not (since I had to unplug my wireless router), I used GoToMyVNC.  Without the router, I was able to get a connection on GoToMyVNC.  Clearly, the router was the culprit.  I decided to simply retrace my steps through the VNC set up I outlined on my blog for AndroidVNC (see above) to see if something had changed with the move.  Turns out, my local IP address (on the router) had changed by 1. I corrected this and now I’m back in business.

I wanted to post this mostly to show that, for the first time, blogging has helped me by having steps to retrace without having to redo the research for a simple project.

*Thanks, Nigel