There’s really no excuse for this, but I really overcommitted this semester.
The colors of the blocks look like the ones from my Google Calendar, lol
My brother said that I didn’t give myself breathing space to account for extra commitments, which was the case this semester, when Chingay popped out of nowhere. And now I’m really swamped with a gazillion practices, performances, competitions, and school projects. Sometimes I just wish I have time to actually breathe, relax and play some cool games of DotA. 😦
However, life’s been pretty exciting in general (it really should be, given my activities); I had a few performances over the past few weeks, and there’ll be another two performances plus one competition coming up this week. And our CS3216 project is going well too, I really have amazingly good teammates, and I’m glad to be working with them. Do support us at http://vickyhuttons.com/betterme 🙂
Recently I’ve been learning quite a bit of things on application development too – aside from my usual technology feed everyday, the past two lectures from CS3216 have been equally helpful.
10th Oct – Zit Seng’s application development talk
I came late for the lecture as I overslept >< Zit Seng’s probably a guy you’ve known by name, if you have been trying to set up and access the NUS secure wireless network through your mobile devices (iPhone, Symbian etc). I still remember reading his post on setting up the NUS secure network on the Nokia N95, and applying it to my old Nokia 5800. Good times. Do check out his blog (click the picture).
Zit Seng touched on aspects of application scalability, including server and network bottlenecks, how to optimize apps to handle high load, load and performance testing and other things. The funny thing is that he has this line in the lecture that says you won’t really learn anything today, and it’s true to a certain extent – we are given an overview of what’s going to happen when our applications go large and really large, but for now I guess 90% of the things he covered won’t really apply to us, and that’s sad. It’s good that we have these concepts in mind though, so that as Prof Ben says, when we actually find scenarios that makes use of these concepts, we will be thankful to know these things.
He covered quite a bit on the underlying layer, which I thought was quite scary (especially the syscalls part.. eww); sometimes we really try our best to optimize our code, but won’t realize that it might be the OS layer that’s causing the problem. I probably only understood the swap part, and it makes sense – the hard disk is really a lot slower, and when you try to write to the disk it’ll only result in a cyclic delay that slows the process even more.
Overall, I guess it’s a good runthrough of the potential problems that we can encounter when the scalability of our apps go large. Definitely something to keep in mind.
17th Oct – Kai Er’s Facebook & Security + Privacy Talk
He works at IBM! How cool is that!
Security and privacy – something end users often ignore, or did not give enough attention to, until the repercussions hit them. The first thing I noticed in the workshop was the Facebook news example used – people in 2006 actually were complaining about the News Feed (which was new at that time), which is something that seems so natural on Facebook today! To think that they had a 70,000-strong group complaining and even people protesting outside Facebook’s headquarters. Facebook has been flamed quite a few times with regards to privacy but I certainly didn’t expect the News Feed to be flamed too.
And I finally understood how SQL Injection works; we insert additional queries in client input and proceed to hack the system. There’s an easy fix though (strip slashes + escape string), and I really wonder why the programmers at Sony didn’t have this basic security measure at their websites. Certainly SQL Injection is not the exploit you want to tell the world for leaking hundreds of thousands of credit card information.
Protecting our users’ security and privacy is important, and it’s something that we will start to consider when our app grows larger, but I guess not at this moment (who wants to hack a prototype with 10 users? Maybe Prof Ben..). No wonder the programming team for large applications are exponential, I guess it’s really due to all these considerations.
Another interesting thing was about ‘shift left testing’. It basically means that we should test early, in the coding phase or even in the design phase. This is because the amount of bugs that we discover is usually a lot higher if we only test after we code. If we test early, we eliminate bugs that actually might cause other bugs to appear. Much more efficient that way. 🙂