Tuesday, 21 August 2012

Week 2

Week 2 is here yet the class isn't. Strange yea.

I don't really think I can say much about the workshops last week, except they were really just in time, for the load of work that we were supposed to start on.
  • AWS + UNIX workshop was awesome, it's the first time I dug so deeply into UNIX, considering that I had *some* exposure in terms of CS1010E. It's rather crazy what we went through in that 1 hr or so, like seriously "I started up a server somewhere else by a click of a button?"

    (of course, on second thought I think it's not a real server starting up, but just one of the many VMs in Amazon's data centres)
  • Didn't really follow the Git workshop, since I was fighting to get Secure Shell Client working with AWS (of course it didn't), and Filezilla too (this did though). But occasional glances told me I understood quite a bit of the material from my CS2103. So yea I'm just lucky I guess.
  • Lunch was awesome, but super paiseh that we basically ran off in the afternoon for GeekCamp. Rather interesting things they talked about, like Arduino (can we do one for the sake of learning it? please? oh wait, I guess better not, enough on our hands already).
  • The rest of the talks, probably didn't miss much on PHP/MySQL (after all Google can tell us a lot too), but missed AJAX :( a pity...
Don't know if I should talk about the progress of our project here (what progress?)... Probably leave that to another post?



In any case, I think like many things in the world, this course puts structure on something that doesn't really "need" structure. And the effect can be drastically different - like me who already knows a little bit of PHP/MySQL would be able to probably do an app on my own. It'll just take a crazy amount of time (like months), cause this is NOT what we are trained to do. And so this little bit of structure is appreciated.

Modern life is such that we are most likely unable to complete every single thing we want to do. For maybe half the people in the class, who aren't programmers "by profession", it is hard to sit down for days and fiddle with some foreign servers (what do you mean by "instance"?), out of your own free time and pocket money (or even start to for that matter). To me, it does apply to other hobbies as well.

We may yearn to do something big - the next big thing that changes the world - yet often we realise that it's not within the power of one person to do these things. We do not sit down and think through most valuable ideas, expanding them one by one, validating whether they are actually feasible or not - this is the "easy way out".

More often than not, there are many road blocks ("brick walls" in the words of Randy Pausch) that we encounter in the thought of these ideas. And so most of the time, we ignore and move on, although I agree that "brick walls are there to show you how much you want something".

As an engineer, we build and design stuff based on optimizing our scarce resources while getting the most benefit out of it (usually economic in nature). Programming too - we optimize and develop algorithms to improve on our "space-time".

The average human lifespan is probably now 70-80 years. If you consider time as a scarce resource, it is of course impossible to explore everything that we want to do - like DFS of an infinite branching tree. Time is limited for every one of us, so how do we decide what "great ideas" should we investigate, in order to bring the best benefit out of all these ideas?

No comments:

Post a Comment