Thursday, April 30, 2009

ruminations and headphone rants

It's surprising, but during exam time i actually feel like blogging more.

I was studying MNO (management organisation) and was provoked to stop work and start thinking about who i really was, who i've formed up to be (as of today). As i was going through the blogs, reading some last posts and reflecting over my past, i realised how much i've changed, some for the better, and disappointingly, for worse.

i remember being far more motivated in poly. Perhaps it was because there was less pressure there. Perhaps it was because the people in NUS are so freaking smart. Perhaps it was because i was doing design. Or maybe i've just gotten tired along the way. I read how much people learnt in class, and i felt as though i just didn't learn as much as i could have.

CS3216 brought back some life to me, but not all of it. I remember putting in so so much into the first project.. wanting to bring back to life my passion to just chiong for what i believed in. But by the end of the first project, i was exhausted. I didn't want to care anymore. Chiong so hard for what? No one else seemed to be chionging. Khoa was a huge encouragement. With him around, it felt like i wasn't alone. But it was so tired.

I carried that same sentiment with me to my WPF project. I'm sorry guys. I really shouldn't have. I was so tired of working for nothing, i just 'stopped my engine'. While Janus tried desperately to get the team working, we simply took our time to start up. Perhaps it was the individualistic way which i used to work in poly, or perhaps the way things turned out in the first project, but i lost a vital part in me - the ability to trust in my teammates. Thanks janus. I remember when you told me that 'we were a team', and it's ok because where i lacked, they would cover, it really struck me that i no longer believed in the rest of the team.

I was reading through my MNO notes, and MNO really slaps you in the face and tells you "hey, you really lack these qualities if you want to be a leader and team player". And yes, it makes me lose faith in myself. I need so many people to patch up the holes where i can't make it, but it seems as though i've got to first learn to learn to trust these same people. Forgive me, friends and teammates (and future friends and teammates as well), for my short temperedness, my overbearing assertiveness, and the distance that i unwittingly place in between us at times. To be really honest, when i'm being super assertive/disappointed that we didn't hit a certain standard, it's really because i believe that you guys have the ability to do more. And i'm just frustrated that i'm unable to bring out those qualities in you. It's something that i wish and hope i could learn. And i'm sorry for the extra pressure that i placed on [especially the wpf] team, the lack of tolerance, and the inability to trust.

It was really superb working with you guys (i don't think u'll see this, but ah, heck). Janus, Youming, Minh and of course Khoa, i had the most unforgettable experience working with 4 geniuses in their field. I hope to, in the future, have the chance to keep working with you guys someday, and i hope that you guys will tolerate and help me mature. I've still lots to learn!

Meanwhile, i need to find back that passion and those dreams... i still want to build an arty farty world after all....

On a lighter note, i've been looking for headphones! rants: WHY ARE HEADPHONES WITH GREAT SOUND SO SO UGLY?!?! i mean, what's with these designer guys?? can't they just design comfy and nice looking headphones with GREAT SOUND?? even good sound would cut it for me (considering i'm not gonna use it for studio music that much)... and those with great sound and look more decent are in the mid 500s!!! it's nuts!! *hates them* haha.. I mean, compare the two below!! One has nice sound, the other just looks better. DESIGN SELLS MAN!!! but i'm still gonna get one with decent sound lah.. gonna run down to adelphi someday to try it out. Anyone wanna headphone hunt too? :P Or headphone spree? hahahaaha..

Monday, April 20, 2009

Exam Inspiration

And so after reading mannie's blog about her cadet torturing days (sounds somewhat like prof ben!! :P), I decided to find and post up this short inspirational clip about going through hell and high water... and coming out alive :) It just takes 6+ minutes, and you'll be raring to chiong for the exams thereafter..


From Facing the Giants

and ooh yes, thanks guys for nominating my blog.. it's an honour!! haha.. it was fun blogging - the last time i blogged was when i was in China on exchange, where my blog was meant to help others know i was still alive :P and so i thought blogging was out of my life.. before this class made it mandatory. Thanks evil prof!

Wednesday, April 15, 2009

The Last Lecture

I'm BACK!!! erm, well, at least for one more post and (hopefully) many pictures of our after exam fun :P

Despite the obiang coloured background, the huge text and the 'not working' screen, the last lecture by Prof Ben was probably the best lecture ever available in NUS. Not that we haven't been learning about it all sem. CS3216 has been stirring up what was dormant (or not so active) in many of us. It has stirred up our passion, our want to dream, our want to try, our want to succeed. And when we were in despair, or felt that we wanted more sleep (and might have given up if this were our own business venture), prof ben offered us grades. hahaha.. so we continued to fight on for our dreams (or grades, for some :P).

I've been blessed with many wonderful profs this sem (i mean, what are the odds of that??), and one of them is prof ben. Unconventional, *cough*evil*cough*, always pushing, always seeking for more. Always trying to bring out that latent potential in all of us. And so, his teaching philosophy stands as trying to provide the best possible environment for us to learn. That, of course, meant pizza/atas chicken rice lunches, tekaning Kok Wee (poor guy!!) and all the other TAs, and making a heck lot of phonecalls and buying more lunches to get people and friends to come down to NUS to talk to small fry like us. So, despite all the evil in prof ben, and despite me always being super vocal and always calling prof ben evil, i'd just like to say a huge "thank you". Thank you, for going the extra mile to earn your pay, for settling for nothing more than our best effort, for all the free food that you've provided, for all the times that you sent me back, for all the time you've taken to talk to each one of us, for all the effort you've taken in trying to reach out to us on a personal level, for recognising all of our (latent) potential and not giving up on us, and for making CS3216 a class that (i believe) will be burned into my mind as one of the best and most torturing classes in my entire NUS life. :P

To my other classmates - wow! We've really come a long way, haven't we? We've all picked up lots of things this sem. (i personally never knew i could do even a spark of graphic design) It's a pity that, because we were in groups, i only got to know a small portion of the class on a more personal level. But to the few of you whom i've gotten to know better, to people who have given me contructive feedback (which i really appreciate!), to the people who have made this class so much more interesting - Thank you. And i will miss you all (even the one who said i got sha qi). And this class has so much potential, i know i'll probably hear about most of you from the papers or from friends in the future, making big money or simply changing the world in your own way. Thank you, for being part of my little life for one semester. It's been great knowing you all, and i hope to keep in touch!!

Two lessons truly struck me:
1. The LOVE OF money is the root of all evil.

It's true when they say that 'money is never enough', because for some, the number of zeros in their bank determines how sucessful they are. (btw my bank has only one zero :P) It's how they quantify their success. But so many things in life can't be bought with money, and you can lose so much more valuable things in your quest for money, it's just not worth it. And while many of the people who came for the talk said that money is their driving force behind their success, must a business only be successful if it earns money? Can't the success of their business be quantified in terms of other factors, like the lives that it touched, the passion that it raised, the spark that created a flaming fire? Because if you were to only quantify a success in terms of money, then what prof ben would be doing is unsuccessful (cos he earns less pay than he could, and loses money when buying us lunches). But, to me, CS3216 is a success. It taught us small fries more than we could have learnt in any other module.

People Rest, I Do Extra.
It's true. It really is. Pride in your work - to go the extra mile even if you think that no one's noticing. There might be no rewards, even a crap grade at the end of the day, but deep in you, there's this satisfaction because you know that you've done your best, you've slogged your heart out, and are proud of your work. People say that your best is never enough, but if you don't give your best to begin with, then the battle is already lost.

Another lecturer showed me this video -

Haha, go watch it! :P But i've sure whatever we've learnt here this sem can't be replicated in 5 minutes. To friends who want to join CS3216 in the future, I'd tell them that "it's all about fluff". But to actually know what CS3216 teaches - you've got to experience it for yourself, because each person's experience was different. And how much you get out of this kind of class is how much YOU want to put into it. Many of us kinda sold our souls for this class this sem, spent long days in COM1 or engin cramming out code (poor khoa has been coding till his fingers have almost dropped off), and i've learnt stuff that i'd always wanted to do, but never got around to doing (like talking to sponsors, doing lots of PR, creating lots of fluff that has substance haha).

So to people who are reading this blog wondering if they should take up this module, i say GO FOR IT!! You'll have the experience of a lifetime (and crappy grades for the rest of your modules :P)!


Sunday, March 22, 2009

Suddenly, i wish i was a damn zai coder.
i wish i wasn't just 'fluff'. it doesn't seem to be valuable in other people's eyes anyway.
i wish i could do more, could help more, do even a simple css without taking hours to complete one small part and still not get it right.

suddenly, i feel even small, even more insignificant than before joining this class.
suddenly, my skills feel useless, undervalued.
and i feel as though i'm pulling the team down.
i wonder if it's just me. i wonder if i'm really the weak link here.
i don't communicate well with people i'm working with.
i don't understand coding, i don't know how long it takes to code smth.
hell, i can't even code a paragraph without introducing a shitload's worth of bugs.

you say that i'm not trying, i'm not prioritising.
but i don't know how. because i just don't know how long it takes to code a damn item!
and when you say there's too many features, i don't understand, because i don't know what you define as a feature.

i don't know what to do anymore. i've done all i can for marketing, i've redone the ui, i really have tried. but it seems like it's just not enough.

i'm sorry guys. i really dont know what to do anymore.

Wednesday, March 11, 2009

Software Engineering (From a designer's point of view)

Alrighty! I'm back!! I've been in this "don't want to blog" mode, partially cos i really don't like to blog for the sake of blogging. Haha, i feel that blogging should be a free flow of expression, and can't really be mandatory else it'll be real boring. hah..

I do need to apologise to prof Ben for monday's gloomy face. I know how hard it is to present in front of a unresponsive c
lass, but it really wasn't your lecture that was the cause - i have been sick for the past few days (the almost sick but not there kind) and yeah, i had a really bad test on monday :S So yah, that's why the sian diao face.. But your lecture was really good! :D

Anyway, wanted to play cheat and do a combo of the last 2 lectures (my penalty lecture and prof's software engineering lecture), but the post for the last lecture alone drained quite a bit out of me.. merh. Prof, i'll make up the penalty lecture another time! :P

Anyway, i've tried to make this summary as entertaining as possible so i hope all of you
out there will enjoy it :P So starting with prof's lecture.. I must say, prof, that you can present damn well. haha! I got several nice takeaways from it, but here's the one i like most:

Presenting... The Agile Iterative process VS the SDLC Method! haha.. i felt it was a very interesting model.. it was precisely what Janus was trying to get our group to do for our WPF project. Implementing this process is a huge challenge tho, cos it really takes a lot to 'know when to stop'. I believe the 'curse' that lies with me and many people is the want to implement more, implement all at one shot. But personally i do feel this process is good - it allows you to visually see what's happening, and also let other people who are in on the process see the app slowly build up. I suppose the frustrating and dangerous part lies in having to redo the app over and over again, which is a good thing cos it makes you continually seek improvement, but is dangerous cos the reluctance to change everything (and bear in mind this requires motivating a whole team, not just a person) might simply cause the improvements to grind to a halt.

I'd love to see this process in action though, and see how zihan's team actually managed to pul
l it off! It would have been amazing (apart from the fact where i won't really be able to tell what the programmers are doing :P)

So prof Ben basically covered 5 principles in the lecture:

Principle #1 Abstraction
Close your eyes and imagine some things don't exist. Like your homework peeking out from your overflowing bag. Or your those emails by prof ben telling you to pass up your group proposal. Wouldn't the world be just so much simpler? Same thing for your design. Just hide everything that's not important, and clean up the interface/app design. Let your user focus on only the most important things at one time.

Principle #2 - Separation of concerns
Like a damn good shot of B-52, you gotta separate the layers to taste each section in all its smooth flavour. Mess it up and you've got one hell of a lousy shot! So guys, remember to keep the layers clean and defined! :P

Principle #3 Modularity and decomposition
The first thing that comes to mind when you hear modularity - LEGO. And it describes modularity perfectly! Basically, prof ben summarised it in three main points:
- Break it down to liddle bids so you know who's head you can chop (if one part of the lego collapses.)
- Make sure it can talk to one another! Don't get a 2 point adapter for a 3 point plug!
- "High cohesion, low coupling" Let it be a 'standalone' yet an integrated part of the big picture, just like lego bits are all one standalone piece that can be pieced firmly together. And while looking for lego i found this damn cool modular product (sorry, the ID side of me at work :P) By the company Bug Labs,
"BUG is a collection of easy-to-use, open source hardware modules, each capable of producing one or more Web services. These modules snap together physically and the services connect together logically to enable users to easily build, program and share innovative devices and applications. With BUG, we don’t define the final products - you do."
Super cool product, no? So now you have the LEGO computer! Want an extra gb of ram? snap it in! Want am LCD screen? There you have it! How about a speaker? And the list goes on and on.. But the BEST part is that BUG can be upgraded and scalable. Which means you can probably be using the same product 10 years down the road! (this does mean bad news for the marketing peeps tho - imagine having no one to sell to cos you're still using the same product from 10 years back? >.<) haha. So yes, lesson to take away - make it standalone, make it fit.

Principle #4 Generality
So if you haven't already realised, the picture above is a skeleton key.

*waits for laughter, receives none* -.-

Anyway, that's basically what generality is about - to solve many problems in one go, like how one skeleton key can open many locks. Erm, the part about cutting, pasting and editing code i roughly understand only, but eh, you non-coders get my key analogy right? okay! so let's leave the coding to the pros! :P haha..

Principle #5 Design for change
This is the part where my favourite SDLC and Agile iterative process was brought up. :D I like. But yeah, what design for change basically is is to plan for change, to build in that freedom to allow your app to grow. Just like the inchworm shoe:
You know how little kids grow out of their stuff real fast? Well, with an inchworm shoe, your kid (referring to prof ben, the rest of us are still currently non-applicable) can have a better fitting shoe up to three sizes larger! And knowing how kiasu singaporeans are, they're probably gonna buy it one size too big anyway so that makes it 4 sizes! :P Not bad huh?

So after all that, what
is Software Engineering? It's basically the management of complexity to reduce bugs (which i'm infamous for creating :P).

And because of that, prof had 3 of our dearest classmates, Mannie, Justin and Zihan (well one lao da) to present on how they've managed projects :D I can't sum up the richness of their experience, but i can say that the methods really inspired and intrigued me :)

Stuff that i learnt and stuff to ruminate on?
(i'm gonna list it in just small points for my own keepsake)

- From Mannie: Scrum - the naggy technique to chase people for work
- From Justin: Prioritising, the breaking down of tasks to simple achievables, subscribing manhours, cutting features, who does what and when and how?

- From Zihan: Document like crazy! Be super duper organised! (TRAC)
- Why can't programming be a simple language? Or is it because it's just another super defined language? (like hebrew :P)
- Outsourcing - it's not happening? But it's a growing trend? Why?
- Separation of UI from business logic

So that sums up our Monday's lecture! Key thing to remember?
"Think more, code less!"

Random ramblings and thoughts that occurred while writing this blog:
One of my greatest regrets is having khoa as the single programmer in our team. Perhaps if he saw many other brilliant programming styles in action, he would have the chance to be inspired :P Just like how i can't survive alone doing design.. other people's designs are constantly influencing me, pushing me to get better (like mannie's drawings!)

Monday, February 16, 2009

Get Help!

And so, evil prof made us do this little assignment to make sure we thought about the app before we came to class. And made it sound pseudo-graded. >.<

anyways, i commented in point form cos WPF killed me over the weekend.. I'll post more in the future! XD

Home page interface

- Too much happening, there are too many areas of focus on the page

- Two headers – too cluttered, too much information to process

- Objective of the application not very clear

- Badges, profile, stats and invite are not tabs used very often (all the stuff u want to do is in profile) but the layout of the tabs grab attention and the colour draws attention away from the more important details

- Too many colours used :P

- What’s the difference between Call for Help and New project? The colours/style seems to suggest that both are buttons that the person needs to press, when New Project is actually simply the place where the person is browsing at.

- Two fields of entry? So do you write what you need help with or quick help? Shouldn’t quick help need to fill in less details?

- The “hide it from someone specific” feels as though it cannot be clicked, because they tried to reduce the opacity. While it’s very graphically descriptive and can be used elsewhere effectively, this time the effect conveyed the wrong information.

- The entry text boxes should be aligned and with the same format – makes it neater and more visually appealing even though it will take up more space.

Overview interface

- Even though they are at the overview, “New Project” is still highlighted. This confuses the user

- In fact, Overview should be in the same tabs bar with Profile!

- Action buttons are in red and are heavily highlighted. This draws the attention away from the main message – the ‘help signal’ sent out by your friends.

Individual page seems good :)

Overall, the aesthetics are cute and pretty much appealing, but the usability can be refined further. Colour has to be used more carefully, and stuff has to be more structured and organized!

Freedom is necessary for this application (since their goal is for any one who needs any kind of help), but this will mean that they might not target anyone at all.

Quite little incentive to give. Perhaps forming a community of people with the same interests might help peak the interest in the project?

Wednesday, February 4, 2009

Subliminal messages

Some background history on subliminal messaging/advertising, once again coming from Kar Meng's comments! haha..

A long long time ago, subliminal advertising isn't what it is today. Instead of putting coke bottles and Marlboro cigarettes into the movies, subliminal advertising, when it first came out, was actually a lot more dangerous!

Take for example this picture:

How many times have you been subliminally aroused in the last 10 minutes?

For moving pictures, subliminal messaging wa even more powerful. In the past, they used to splice in messages like (eat XXX, it's the best!, or sexually connotative images) into movies. Now these messages flashed across the screen super fast, many many times, over and over. It was so fast that your eyes wouldn't catch it, but your brain can! So you're literally exposed to the message a hundred times over in the course of watching your movie!

I managed to find this youtube video, not that great footage, but explains exactly what i mean!

On a side note though, subliminal advertising (especially in movies) has been banned. Of course, it still is occasionally used (even for political reasons), but it's illegal. So now, we have to subject ourselves to movies where people open up mac books and sip a can of coke and sms on Sony Ericsson phones in the middle of the movie. :P

On a more lighthearted note, i stumbled across yet another super funny ad!

And look!! a good ad by internet explorer! Wonder why we haven't seen it.. Or maybe it's just me? haha..

That's all for now folks! More when i see it! :D