Friday, January 29, 2010

Afterthoughts & Thanks to an Awesome Team!

I recall a particular work session along the Arts Walkway. Our group settled there as we had to grab dinner at McDonalds. I thought it was a pretty nice spot to settle at and work on. There were plugs for all of us and it was brightly lit. Well Shannon, I'll admit I made little of a bad choice there cause as much as it appeared nice to me, it wasn't too nice later when bugs started coming to occasionally share our space. It seems like I make a lot of bad choices in choosing venues. Heh. =P

It got late; Shannon and Ji Wei had to go home but it was alright for Ken and I since we both stayed at PGP so we continued working there. For this module, it was both our first time working with PHP and MySQL and I'll say it was definitely frustrating trying to figure out how the language worked. Lots of time was spent mainly on debugging or finding code that does what we want it to do. Sometimes, we made the silliest mistake and had to spend an embarrassing amount of time to find it. Strangely enough, we both found humour in our predicament. At times we laughed at our own mistakes; at times we laughed at how impossibly difficult a particular problem felt to us at that point of time because we didn't know enough. And it was through these laughter that I started to build rapport with Ken.

The night stretched really long and I think it was about 5am when Ken finally said he was very tired and that we should retire. To be honest, I was very tired too and was wondering when you were going to stop work. =P But as long as it appeared that you could keep going on, I would keep going on too. Along the way back to PGP, we talked a little about things that we could implement in our app only to feel that it was ridiculously difficult and ended laughing about it.

Ken, I must apologise to you if there were times when I seemed impatient or was unable to understand you. I have a little difficulty with picking up words from people. When I'm with others, I am sometimes apt to mishear the words of others, mistaking the words for another or being confused altogether. When I listen to music, I never pay attention to words. When I watch chinese tv drama serials, I only read the subtitles and ignore the spoken words; this happens even if the subtitles are in chinese. I know I'm not suffering from deafness because I did not fail my hearing test for National Service; I played in an orchestra and have a fairly trained ear. So probably I'm just untrained to listening to words and this becomes a problem for me especially when words are altered by accents. I know this because it appears to me that many of my friends have no problem keeping up with Engineering lectures. =P

Ken, it's been great working with you in team. You are very reliable and steady in your work. I can totally trust you to do a good job out of something no matter how difficult it may be. It's also nice for me to know that if at times I fall short on the programming aspect, I can rely on you to help pick it up.

Ji Wei, I really enjoyed working with you. Besides your great sense of humour, I'm amazed at how quickly you can pick up things and how intense you are when you work. I think I often ask you to help with a lot of random things and you're always able to do it all (except maybe the publisher but I can't do it either. =P). I recall the time I asked you to draw the database schema. In an extremely short period of time, you suddenly knew more about databases than me, normalisation, primary keys, etc; even though I was handling most of the database all along. Then again, I was amazed as you worked on HTML and CSS. But maybe I shouldn't be surprised, you're a physics major. =P Probably takes a genius to be one. As I said earlier, I think if we just had one or two more days for the assignment, you would have been coding in PHP already. You know, since you have the AWS credits and are only taking FYP, you could continue to play around with the app. =)

Shannon, you're so adorably irritating at times, in a good way because there's a lot of fun having you around. The artwork that you do is absolutely great and it's a learning experience for me to see you work on Photoshop. I think you're very good at what you do. I'm sorry that there were times when it felt like you or Ji Wei were not able to help out. In the first place, don't feel bad about it. I didn't know how to assign the work at the earlier stages as I was myself trying to make sense of what had to be done. When I finally felt I had a better understanding, it was a bit too late unfortunately. I feel that I could have created more opportunities for you to do or learn something but I wasn't able to. Btw, I have no idea if you feel this way but your sketches help a lot to shape how the app looks like and I must admit that Excel can be useful for designing. I would probably use that too next time. If you have the time, go ahead and play around with the app. It doesn't matter if things mess up because Ji Wei always keeps a back up. =P

Two programmers with no experience with the languages we had to learn and two non programmers in the team. Honestly, there was a short moment amidst my programming frustration when I wondered if I made the right decision in forming the team in such a manner. Looking back though, I certainly don't regret it. So perhaps our app may not be that good but I think we did fantastically as a team. I wish that the assignment deadline was a bit further away. We could have accomplished a lot more. I felt that we got to a phase where things were speeding up and the working dynamics were getting better and better as we got to understand each other. Alas, good things must come to and end.

It's been a wonderful and great learning experience for me, I hope it's been the same for all of you too. When time eases up a little, let's have a good meal outside, my treat! =)

Learning About Cloud Computing

I thoroughly enjoyed the session on cloud computing. It really brought light to my understanding of what cloud computing is and the role it plays. Prior to the end of the talk, I did not really understand why Amazon would roll out such a service but the links began to form as I saw how important data management was to their business. I can also see why it makes business sense for large companies to shift towards cloud computing.

There were a few questions that came to me.

I'm very much in awe of how much AWS can accomplish, to the extent of even offering services for computation purposes. The services that they offer appear so incredibly holistic as if they can address every need. Of course, it only appears to me this way because I don't know the other side of the picture: the needs of various businesses and how these needs match up to the services offered by AWS. This made me wonder, what else is there that they can possibly do? Is there something that they cannot offer?

On a different note, I was quite happy to know that Amazon is setting up a base here.

Friday, January 22, 2010

Lemony

It feels to me like I've been popping Super Lemons into my mouth continuously the entire week thus far. Overwhelmingly sour. Imagine the sweet going onto the tongue. At first, the taste seems endurable but it soon starts to build up and the sourness quickly creeps up to the sides of the mouth. The cheek muscles suddenly feels strange and cramped up. With each passing second, it only gets more sour. The cheeks get sucked in and the face crinkles. So if the sweet is this terrible, why do people still eat it?

I probably wouldn't mind just taking one sweet once in a while. But eating several at one go... I'm not sure I would do that voluntarily. I'm quite lazy by nature. If there isn't any pressure, I don't think I would bother working too hard. Why should I put myself through the torture of missing sleep? I really hate having insufficient sleep; to wake up feeling tired makes me restless and miserable. Taking CS3216, however, is an interesting turn. It's been a while since I've felt so driven; as if a dormant part of me had suddenly awaken. It doesn't matter if I lose sleep or feel tired, the mind just keeps going; adrenaline drives my body system and suddenly, I'm reluctant to pull the brakes. 

It can be very frustrating at times. Programming is not exactly up my alley and I have to learn a lot of things from scratch. With this inexperience, it is inevitable that I would fall numerous times - getting stuck, lost... not knowing how to do, or what to do. Yet, there is some satisfaction in enduring through this rather sour-full process. Perhaps it's precisely the extremity of the taste that keeps me going strong - the relish for challenge.

So despite the lost sleep and many crinkles, the process has been quite enjoyable thus far. After all, if one gets past the sourness of Super Lemon, it does get sweet towards the end.

Wednesday, January 13, 2010

Forming Teams and Some Self Advertising

After Show & Tell, I got the feeling that several of my course mates have already developed strong impressions of people they would want to team up with. Naturally, it makes sense that the strong programmers would be interested in engaging with one another, if not for team forming, at least for the communication of ideas of a shared interest. They would group together (I think).

I was stuck with a problem. How should I get or form my team? One idea that came about was that since I didn't think I was particular marketable in terms of programming skills, I should take the initiative to be a leader and go around seeking to form my own teams for both assignments. The second, but much less preferred ideal case, is to (be a beggar) and ask to join a team. All along in my head, I was worried that I might be left in a team that would not be "strong".

Then I figured out that my worry was unnecessary. The "weaker" the team in terms of technical skills and know-how is probably not a bad thing at all. Knowing less at the start means that we learn more at the end. If I were to put myself in a team with strong programmers, I might not be compelled enough to learn when the process can be done more efficiently with others on the job. Instead, if I were to be in a team of group mates whereby we're all of similar standards, we'll be able to problem solve together and end up learning more overall. My conclusion then is that I shall not be focused on looking to form a "strong" team but rather, to form a team with people who I think I can work well together with.

So here, I'm going to do some self-advertising:
  • I have an acceptable level of programming skill since I was accepted into this course having taken CS1101C and CS1102C (or maybe Prof Ben just really wanted to see a magic trick). 
  • I am strong in analytical and logic thinking skills. 
  • I am good at facilitating discussions and brainstorming sessions having had several experiences as being  a facilitator to students in community related projects/programmes. 
  • I am good with writing of essays or reports; I may spend a long time working on a writing at times but I always make sure that the writing will be clear and concise (I hate unnecessarily long writings. Short and sweet is key for me).
  • I can present well and speak clearly (at least I like to think so).
Some other more important and perhaps miscellaneous points:
  • I like to have fun.
  • I'm positive-minded and cheerful.
  • If I don't appear to be a cheerful person, it's because I may be feeling bored, I'm tired or I'm in a lecture.
  • If you are in need of finding a girlfriend, I can teach you a magic trick as an ice-breaker.
    (Actually not. I think using magic to meet girls is gimmicky and gives magic a bad reputation; in addition, I don't think girls buy it anyway.)
  • But I can perform magic to keep you entertained (advanced booking required!)
  • I'm from Electrical Engineering but many people tell me I seem like I'm from Arts.
  • Because my name is Jonathan and surname is Low, I got nicknamed J.Lo since secondary school. This unfortunately is still going on. I get the feeling that I am self-perpetuating this. It is okay to call me J Lo. Avoids confusion with Jonathan Lew. BUT I'm not going to wear any naked-like skintight clothing.
So that's the long and short of it. If you're interested in forming teams, send me an email either at:

my NUS email: jonathan.low@nus.edu.sg 
or my gmail: jlowhy@gmail.com 
or you can add me on MSN but please say who you are: bardal_@hotmail.com


If you've currently no idea who to form up with, send me an email too.

In the meantime, I will be asking around to form teams. In the unlikely event that I receive too many emails (I will be surprised to receive some actually, please prove me wrong!), I will gladly help to adjust people around and help one another to form teams that are workable. Kind of like a free match-making service here.

Also, if anyone wants to form team for the Google Wave app already. I'm game for it too.

Latest Updates:
Both teams have been formed! Thanks to everyone who has responded to me! =)

Sunday, January 10, 2010

Prelude

Before I can even share what I hope to learn from CS3216, a more important question loomed before me:

How will I write this blog?

I pondered for a long while about the approach I wanted to adopt in writing this blog. How should I present myself in my writing? What do I want to achieve out of writing this blog besides fulfilling an academic requirement? My thoughts ran back and forth. Finally, I settled on a few points that will be a guide to my writing.

This blog will serve as a medium for my own reflections of CS3216 (and maybe even other things). I shall strive to be sincere in my own introspections. I hope to be able to share my perspective in a meaningful and insightful manner for myself and for others.

What I Hope To Learn From CS3216

I am a jack of all trades, herein lies my strength and also my weakness. This trait gives me the confidence to face challenges because my varied knowledge often provides me with a different perspective from others. It also gives me some insecurities because I know that for any subject, I lack the technical depth as compared to someone who has dedicated much time and effort to the subject. 

I go into CS3216 hoping to learn more about programming. Prior to university, I had no programming background. In fact, I was afraid and stayed away from it. It was only through the compulsory programming modules of CS1101C and CS1102C in Electrical Engineering that I got acquainted with programming. I found that I enjoyed them. I also found out that the more I learnt, the less I knew. There are many of my peers who already had an extensive background in programming, to the extent of being able to make money with their skills. I am about to meet some of them in CS3216. The thought is daunting. It appears to me that I have so much more to worry than they do. If I were to work on programming, I will only be the lesser among them.

Does anyone else feel like that in a similar way? I'll like to share a few ways in which I've coped with this feeling of insufficiency.

The first: I simply stop comparing myself with others. I focus on comparing my present self with my past self; planning my future self to be better than my present self. Work hard and keep improving. As long as I am making good progress, I should not be dissatisfied with myself.

The second: A few years ago, I read a piece of advice that said it is much more worthwhile to focus and develop one's core strengths than to focus on making up for one's weaknesses. I found this to be very helpful. So while I will be learning more about programming in the meantime during the module, one of my aims will also be to figure out how my strengths can best come into play in a CS3216 environment and similar situations. How can my strengths be used to create greater team synergy? In doing so, I will be able to better understand myself.

Note: A strength can be anything ranging from a technical skill to a personality trait. If you're an optimistic person and can infect others with optimism, that's a strength too! People sometimes don't think they have any outstanding strengths. I think it's really up to the individual to have belief and realise it himself or herself.

I hope to be able to gain an insight into the world of entrepreneurship and computer technology. I know only a little about each and hope that my perspectives can be broadened.

Lastly, the diversity of the students in CS3216 means that there's going to be many different things I can learn from each person. I think this course is going to be really exciting. I can already feel a little of the adrenaline running.

---------------------------------------
Thanks for reading! I hope that some of the things I've said might have provided good food for thought. (For example, applying some of the questions I asked myself to yourself.) If it did, feel free to leave a comment. If you felt that some of the things I wrote was unhelpful or trash or unnecessary, let me know about this too so I can write better entries. Feedback is better than none!