Monday, 26 August 2013

Girl in computing

Hello!

It's been a long time since I've written on this space.

One year ago, I did something crazy and took up CS3216: Software engineering on modern platforms. I met 34 other people who made the same crazy decision and the rest is history. I was intimidated by the overwhelming passion that my classmates exude at that time. They discussed new and upcoming technology, they dissed (and hissed at) outdated and old fashioned ways of software programming. I was just wide eyed, soaking in all that was happening and wondering how and why I was there.

 I learnt a lot on my own. Did plenty of programming, and plenty of thinking. The course turned my rosy "studyhardandgetgoodgrades" world upside down.

But today, I just want to write this post about my experience as a woman in IT.

At some points in my undergraduate years, I wrestled with the thought that ladies will always be perceived as inferior in computing to the gentlemen out there. I fought that thought, but it was not easy to convince myself. I felt discouraged when I could not keep up and still unsure when I could.

I have female friends from other faculties who would cringe at my laptop screen filled with courier sans font size 8 codes. They'd try to read for about half a second before they'd exclaim that its impossible to read. I would then try to explain what I'm trying to accomplish. I felt like an odd girl, and sometimes questioned myself about my passion for IT if it was real. But how could it not be real? I had dabbled in programming since 12.. And then another half of me would argue that my passion wouldn't compare against those guys I see in class either!

Google Exec to Girls: Tech needs you

Then I stumbled onto the Google Anita Borg Scholarship webpage and was deeply impressed by the motivation behind the scholarship. I applied while I was on my exchange in Korea. I was notified that I was selected (it was an euphoric moment of my life).

Google Anita Borg Scholarship Retreat video

I'm really looking forward to going to Sydney for the retreat. I'm nervous too! I believe it will be another eye opening experience for me.

I really want to thank everyone who was a part of my CS3216 experience. The experience put me through fire, refining me into being ready to take on life's challenges in technology.

To all students taking it this sem, get burned and be refined into gold.

Wednesday, 5 December 2012

Week null: Last words

As promised, here is part II of my last post.

i cringe at what i wrote a few months back "What I hope to obtain from CS3216". I suppose its similar to how you ask me as a child, "what do you want to be when you grow up?"

some of the things i did manage to fulfil is the learning how to use facebook's api, html5 (well, it was a good learning start). learning about other apps out there and having new ideas - well.. in some sense, i think assignment 2 did help with that.

"Teamwork:
    • To learn how to assist each other in a project, and have a proper workflow process
    • To learn from one another and build on each other's strengths
    • To foster good friendships with team members that will last even after the module "
This point is really interesting. I really did learn much about teamwork. I also fostered great friendships with team members and I still keep in touch with them after everything is over. I'm so glad to meet new friends in NUS and I also hope that we will still keep in touch in future.

Some lessons learnt in CS3216:

I proposed an idea of a project without knowing if the combined team has enough time, skill and resources to succeed in it. first step to admit the mistake is done. now the next step is to learn from it. the next idea i proposed was more manageable, but the execution could be much better.

everyone's human. in the final project where there was only 3 of us, we were very open about our schedules and what we spent our time on. we knew which parts of the week were off peak for some of us. part time teaching, fyp, job applications and interviews. i believe these are all very important and it really helped as we knew what each other were going through. its encouraging when we ask each other how we are coping in various aspects. 

bugs. when it comes to nearing deadlines, most of the things that needs to be done is completed. the things left are bugs. but those bugs! wow they sure take a long time to solve. in this module, people can miss small bugs that is very hard to reproduce. but in the real world, its going to create mess and have consequences. test, test & test. as the developer of the code itself, i have this syndrome of being unconsciously selective of my test cases. in that sense, i am blinded by my own mistakes. this module has really taught me about my weakness and i will now consciously make an effort not to fall into such mistakes.

passion that what i do is what i want to do. out of all the coincidental things that happened this sem, here's one. after the external pitching session, i wrote in my blog that i was interested in doing the preschool app. fast forward a few weeks later, when everyone was getting into their final project groups, i found out that trung wanted to do the preschool app as well! really glad that trung, zhoubo and i formed a team after that and made this tissue paper pitched idea turn into reality. in the final poster presentation session, i was very happy to introduce what we did to all the people who came by to visit. i suppose my team's enthusiasm about our product and what it does rubbed off on them and made them vote us in as the #3 app in cs3216 (: i'm really happy that other people liked what we have worked on in the 6 weeks given.

im really thankful to my team mates, the teaching staff, and Colin, our cs3216 prof for this experience of a lifetime. 

and with this, my last post ends. thank you for reading my blog and please let me know anything by commenting on my posts. 

Friday, 16 November 2012

Week 13: light at the end of a tunnel

greetings.

its the last day of school, and so much has happened this semester. alot of times, i ask myself why am i doing the things that i'm doing. and my answer is always because of commitment and responsibility. taking this module means putting in my 100%, and even if this 100% is nothing compared to a percentage of any other of my classmates, thats something which i cannot push myself beyond.
there's a lot of things that i've learnt from this module, some self - discovery and crossing out of things which i shouldn't spend my time on anymore.
being a front-end developer has its set of challenges and the x factor which differentiates between good and best. many people have different opinions on what is better and its not just within the group, externally too. i actually see layouts in a different way now. i have started to notice details like the framing, shadows, colour schemes, element arrangement, and animation effects. i realise that if i don't have any good creative ideas myself, i can always look elsewhere for inspiration. but of course, keeping the design consistent.
working with my final project group members: it was entertaining, encouraging and educational all rolled into one. i heard life stories, lessons learnt and plenty of good advice. we laughed together, we laughed at each other. (tongue twisters - super rofl) staying up and camping in school till 2-3am didn't feel anything like torture. but of course, when the fatigue sets in... nothing can prevent that. being a highly strung up person, i learnt more to take things in my stride and let go of things that will never be. soon, in a few days, this will be all over and in a month, we will be spread across 3 different countries. i will still carry the fun memories we had as a team together :') of course, we will be following up with our clients to finish up, negotiate and deliver the product to them.

perhaps i shall call this post part 1 of the last reflection. look out for part 2 in a few days time!

Saturday, 3 November 2012

Week 11: what day is it today?

Hey what day is it today?

I have no sense of my days and hours anymore.

Rushing for the final project this week, getting bugs fixed and having new features which were requested by the client. If we can do this right, the game is won. We must satisfy the client.

I think that the aesthetic design needs some spice and yet I still have to meddle with the more important features first. Everyone always judges the app based on the UI first though, and even if the functionality is rock solid, the impression is always based on the aesthetic design.

Here the same problem haunts me where I am not specialised enough to excel in one area. I learn a little bit of everything and dabble here and there with codes, image editing software and such. But in the end, it all becomes very mediocre. Can creativity and eye for design be trained? I think its possible, especially if I expose myself to other people's work. Start noticing the things that make the difference. That factor. Tutorials? Maybe, but that won't go too far, just a kick start.

I think the preschool children are just ultra cute :3 I was managing their accounts using the admin interface. Their bright cheerful faces in the photos just make me feel fuzzy wuzzy warm (: wouldn't it be nice if I get to interact with them.. Unlikely though ): the app is for parents and teachers.

I need some sleep, will be getting some now!

Monday, 22 October 2012

Week 10: Scalability

Today's talk covered so much breadth, it was quite a lot to take in. For the topics that I have some background knowledge in, they were easy to understand, but for those that I have never heard of, I felt quite lost.

I like how the speaker linked back to his real life experiences from his presentation. And it was also very entertaining because we as NUS students are the users and have used CORS. Finally I get to see someone in real life who is behind all the magic that goes behind the scenes of CORS. Also there was plenty of discussions about fire in NUS.

Just a short summary of what I've picked up from the lecture (purely from memory!)

1. no data, no talk
2. random tuning
When there's problems happening, the last thing we want is to be accused of something that we are not responsible for. We also shouldn't be quick to point fingers at other parties before examining the evidence (data) We know that there are tools which will objectively produce data that can determine which component is underperforming.

3. ajax requests overloading the server
at the application side, we need to think about how we can optimize some operations to prevent unnecessary loading of servers.

4. to use commercial cloud services or to host on your own server
some restrictions like privacy will render no choice. but for other cases, this is a decision that requires a lot of careful planning. However, i feel that using commercial cloud services will outsource the expertise very well.

Tuesday, 16 October 2012

Week 9: security

On this day itself, I was at the public service career fair and talking to a representative from Internal Security Department. Later on, the talk given at our lecture is also about security.

The speaker's profile is very cool, he works in IBM and graduated from MIT. He gave us some idea of how IBM is structured. I also remembered how he mentioned that when choosing between a new feature and enhanced security, security should always be picked first. I realise that many developers may be pressured to outperform competitors and choose to focus on features rather than security. I guess this is very good advice. Many people don't realise the importance of security until something really bad hits.

Also, there was some discussion on privacy. Sometimes, having more security will compromise privacy, and the analogy given is that of airport baggage checks. Also, like using phone numbers and emails to verify identity.Yet something I never thought of is that people have different perspectives of what information is considered private to them. In some countries, age could be a private information, while in Korea, it is often one of the first information requested from one person to another while meeting for the first time. (This is because they would like to know how polite they need to be while conversing.) They are very open about revealing their own age.

Tuesday, 9 October 2012

Week 8: a visit to wonderland

My group is working together with Between 2 Trees preschool! We exchanged lots of emails and also sent our proposal to them. Today, we went to visit them at their location!

The place looks really nice and I really love the concept of their company.

Meeting:

We had much things to discuss. As we exchanged emails beforehand, I could sense that they had a different understanding from us. Before the meeting, we had a whole set of questions to discuss. Our clients have quite a clear idea of what they wanted.

In the meeting, there was a teacher present so that she could feedback on user experience. We were also assured that they would invite at least a parent and teacher to try out our app to give more feedback when we complete the minimal working version. I could sense their excitement throughout because this idea is something that they would really want to use and also even push out to other organisations with similar needs.

We discussed issues like privacy of children's photos. There is a trade-off between the social media sharing and privacy. The question is - do we want to allow parents to share picture updates of their children on Facebook which might compromise the privacy of the child?

We also took time to explain some technical aspects of the project during the meeting. Actually, its not very important for those details to be discussed. However, our clients were quite happy to gain some extra technical knowledge. They even (cheekily) asked us what API stands for - like a test!

Overall, I feel that the meeting was effective. There were a few points that they needed to discuss among themselves before they revert back to us. We need to re-arrange our wireframe now so that the interface will fit into a mobile interface.

Lesson yesterday:

The Facebook guy came and gave us a talk which covered many things at one go. He dropped a few names of apps which became very successful and also elaborated on what were the ingredients of their success. One of which, is timing. The more I think about it, I think windows 8 development should be seriously considered as the timing is right. The Facebook guy encouraged us to "move fast", and he also cited his previous company a few times to illustrate the consequences of being slow to react to new technology. If we keep "moving fast", then we will always be learning new things and throwing away the old. Just like how i feel like throwing my current phone away and buying a new one.

The second talk is by Sharifah from K2 Associates. She gave a few examples and snapshots of how we can organize information in a constructive way. During elections, information posted by the general public will help politicians to get a feel of the public's response to their campaigns. In anticipation of the future talks which will continue to lead into this topic.

-Pei Yi

Wednesday, 3 October 2012

Week 7: case study

Case study I: GetHelp!

Usability vs Aesthetics
I understand how the developers were pleased with their initial design. It had plenty of colors, thumbnails and clear headings. The font is readable too.
However, a home page cannot be too cluttered. If the user's view is focused, he will have a clear understanding of what is going on. Users enjoy clicking quickly (to see some magic) and rarely read through every word they see in a webpage (unless they are really looking for some information). Once they catch a keyword or a picture that interests them, then they will slow down to explore that.

Aesthetics-wise, the red buttons are really glaring in contrast with the blue-green theme. Perhaps it would be better to choose complementary colors for the button. Also, there is too much words (Post to all friends, no, i want to pick & choose reliable people ...) It might sound fun to have such informal sentences, but it is not user friendly. Short and concise is better.

Number of options
I think its great to have options to specify more details. Its also good if it is optional to fill in as well, so that users who are too lazy to fill in more than one text field can still submit their help request. I also like user interfaces that hide additional settings unless it is clicked. Clean interfaces are nice to look at and use. I believe in maximum freedom for users.

Cycle of interaction & incentives
Every interaction gives an opportunity to reach out to more potential users. Using badges can be a incentive for users to continue using the app. Mousehunt uses badges to show the ranks of the players. Their profile pages show the rank. Users got hooked onto that game because they wanted their profile to show a high ranking badge. Perhaps using badges might be a good idea to try out. Helping 10 needs is quite difficult though, unless the needs are generally trivial. Perhaps there can be a gentler slope of earning badges. Eg. 1,3,7,15, 30, 50 and so on. The first few badges will be the 'hook' for users to get the momentum going. This 'reward' can be accompanied by instant rewards too! Something like giving virtual items (accompanied by good graphics) still gives a great feeling on top of doing the deed itself.
Give a kitty smile, or bear hug, or manly punch.

Others
I think that for apps that require real life interaction as part of the process (the act of helping), there should be a follow up and a nice closing. Perhaps it would be nice to upload pictures, write testimonials and broadcast this to everyone.
This app cannot work well if there are many people asking for help and no one with the expertise to help. Eg. all the students asking for help and no one knows the solution. Also, it might be potentially misused if users start sending help requests that make other users feel uncomfortable. Some regulation is needed to prevent this.
I think this app idea works great for a mobile app as well. Like discussed in class, the feature list needs to be cut down to only the necessary features for a mobile version. I think that asking for help and viewing other people's help would be the two most crucial things to be accessible on the mobile app.

Case Study II: Team Dynamics

I believe that the execution is the most important. Any simple idea, if executed well, would outshine other similar ideas. We need to have reality checks so that the idea would not turn into a half baked product. No one would want to eat it. Can it be done, given the time period, manpower and resources? If the execution is good, at least there is a foundation where new ideas can be built onto the original basic idea. These new ideas can be generated during the development process, or while talking to users.

I've learnt how to use Facebook's Javascript SDK and picked up a few of its APIs. I also learnt that the Facebook platform is very dynamic and subject to frequent changes.
I've also noticed after developing Facebook applications that users' reaction to Facebook integrated apps is not very good. I think that nowadays, people are very conscious of what applications they use because of recent spams. Many users have been using Facebook for years and have accumulated loads of information that they would not like to share openly. Hence, some people would be put off if the app requires Facebook authentication login.

I'm not too sure if I fully understand the game Another Life. Maybe it is because I have never played any game with this concept, that is why I cannot imagine the gameplay. I have never played the Sims, Second life or IMVU before. Based on my little understanding, Another Life seems like a outlet for people to build their 'ideal' life. Its very obvious that users need goals in the game. I have played Fashion Story (by Storm8) and it is not fun playing without the goals. Fashion Story on the Apple Store had goals while the one in Google Play store did not. I, along with many other disappointed players, complained on the forums that we felt left out because we had no goals.
Fan Gang would not be relevant today in 2012 because Facebook implemented a feature for anyone to be subscribed to. This means that people do not add fans 'as a friend' but allow fans to 'subscribe' to them. This feature is implemented well and hence a third party Facebook app would not be able to compare with an integrated Facebook feature.
Perhaps during Jeremy's time, there could be a need for this idea. However, I still cannot picture myself using such an app at that time. Maybe this is because I'm not a fanatic for anything.
I took a look at the basic feature list, and it is really ambitious for a team of 2 coders with 2 weeks to implement.

Major problems

The one thing that bugged me most is: are the team members on friendly terms with each other?
I think that to produce good project work, the team members must feel happy doing work together. It saddened me to read that one member did not reply smses and then finally moved to another team.
If the team took time to understand each other's concerns and communicate effectively (listen well and speak clearly), the team would not have been so shocked if they hear that one member wants to leave. If the team members are on friendly terms, they would not mind covering for one another temporarily in case of special situations (personal problems?)

Work allocation: front end and back end
I think that it is ok to split between front end and back end. But both parties must also keep updated with each other's code and know what each other is doing. I think everyone should read other members' code everyday and have a basic understanding of how things work. There is a need to do mini-integrations and test regularly so that unfortunate situations like having restrictions on cross domain AJAX calls can be noted early and alternative action be taken.

Over ambitious implementation
It is normal to have many ambitious features proposed at the start. But at the end, one must learn to let go of those features that cannot be implemented due to constraints. The priority of each feature should be clearly stated from the start, and everyone should start working on the most important features first.

Pre-mature optimization
I think that there is a difference between having good coding practices and pre-mature optimization. Both have the future in mind so that further improvements can be made cleanly. Pre-mature optimization however, takes up too much time unnecessarily. I agree that scaling issue should have been the next thing to consider only when they have gained a substantial
user base and could not handle the load with some caching methods they can use.

What the team did right:
I think that the non-coders did put in effort to contribute to the project throughout the entire span of time. Non-coders can make a big difference too. They have a less biased view and have a solid big picture of everything. It is not easy to have coders who are managing on the micro scale to also have a good general sense of what is happening.

If I were in his shoes...
I would gather everyone together for a overnight camp. I would get the whole team to pressure the coders to communicate with each other and come up with the minimal working version. I would also encourage everyone not to give up.

A member's personal problems
I think that the work would have to be assigned to the next person who can deliver the work well. It is unfair, I know. But this is really to save the team. Perhaps this member with a personal problem would owe the team a lifetime of free coffee after the project.

Learning points
1. Communicate everything. Blurt out all fears, confusions, misunderstandings too.
2. Manage expectations. There is no superman in the team.
3. Don't give up on the project. Someone lived to tell the story.
4. Change the idea if it really doesn't work at all
5. Have a solid plan that can be followed

Friday, 21 September 2012

week 6: fighting for time

It really amazes me when I hear of students who manage their own startup companies while juggling school work. It really takes time management and sorting of priorities to reach that level.

Monday's lecture was yet another eye-opener for me. NUS enterprise gives a lot of monetary and advisory help to budding entrepreneurs! The startup scene in Singapore is really happening. My sister who graduated from SMU is also part of a young startup SageBy (go check it out!).

I also found the talk by Pieter Kemps from AWS very useful. I have a better understanding of cloud, and I really am grateful to be in this era where cloud has given so much benefits to everyone on the street. ^^

Pieter also talked about how to make a successful pitch. I believe that he is really the right person to give this talk because he has been exposed to so many pitches and would know what works and what doesn't.

I particularly found the 10, 20, 30 rule very sticky! I can remember it clearly. 10 slides, 20 minutes, 30 font-size words. Perhaps minus the 30 font-size, this rule would be awesome for school! (: Providing plenty of visual aids help the audience to synchronise well with a guided idea, and still allow for some imagination. Not to mention that it is also aesthetically pleasing and attention grabbing.

This article Why Eyeballs No Longer Matter for Startups hammers in something that was raised during the presentation. It is that successful monetizing is crucial and having many visitors is not a strong enough reason for VCs to be impressed. - pause to visit the CORS website to check out biz modules offered in NUS -

So far, I'm really putting in my best for every module that I'm taking this semester. I have never felt so stressed, pressurized, busy, uncertain, unkempt and messy in my entire life. Perhaps I am now growing up.

No turning back

When cereal is plain, add coffee flavoured Meiji milk.
(Pei Yi, 2012)

-Pei Yi

Tuesday, 11 September 2012

Week 5: Pitching

This week's one was interesting. Many people came to present great ideas and some of them really have good intentions of benefiting society. Their success is defined by how much they can impact the world and make it a better place.

I really liked the preschool one because 1) I love kids, 2) Parents are so stressed and busy, 3) this app will benefit kids, parents and teachers! I can still remember my preschool days of colouring, using the computer, dancing and all that. It was always fun to tell my parents the adventures that I experienced at school everyday. I don't know my final project grouping, so I'm interested in this idea, but open to other ideas too.

I also noted that its becoming incredibly hard to come up with ideas that no one has thought of before. In a way, it makes me feel insecure that whatever "creative" ideas I have could be already be implemented by the person living down the road or across the globe. Yet, I recall from a previous lecture that went something like, "if no one has done a similar idea to yours, then its likely that there is some problem associated with that" Somehow, I feel a little confused. It's not ok that others have implemented it before and done a much better job, and its also not safe to work on a totally new idea?

Gnomerella: I made a simple short video to demonstrate gameplay, you can see it at this link:

I hope that others can appreciate the amount of effort that we put into this. Every piece of graphic is created from scratch by Gia, and the server response time is just _instant_. We have a really cute and awesome game idea, but due to time constraints, its not up to perfection.

Mobile cloud: I'm using trello for the first time! And we are developing a web app that I can see myself and friends using. I am still in a learning phase; reading up lots of articles and checking out some frameworks. Everything is organised into sprints, so we can work efficiently.

Keep calm and press on
~Pei Yi

Tuesday, 4 September 2012

Week 4: App seminar review of Group 7: Draw Something

I recorded down the presentations! (: After listening to the playbacks (with pausing and replaying), here is my review:

About the App - I think its cute to pick Draw Something as an App. I remember playing it with my friends and wishing that they would be more responsive with me. Because I am a shy person, I dared not invite acquaintances to play with me. In the end, I didn't have anyone to play with and gave up on draw something.

Implementation: I thought more details could be provided besides using Facebook JS and a server.

Good 

When Zynga took over Draw Something, I really liked how they incorporated phone notifications so that I know when my friend has finished her turn. Unfortunately, by that time, few people were still playing it actively.

The UI, I agree that its quite understandable. But I somehow cannot bring myself to say that it is outstanding. There are words of different sizes and some of low value add to user understanding.

Yes it is indeed quite funny to see how my friends draw. However, some friends like to give up and write out the words on screen instead. That's not good anymore.

Bad 

In order to gain revenue, they chose to make a bad decision to give a very _limited_ list of words to draw out. I agree that this is really a bad point!

Improvements & Commercial Potential

The idea of expanding to different languages is good too. I believe that the target audience can even be directed to young children as they explore their creativity and expand vocabulary. Maybe my command of Mandarin would be much better if there was a Chinese version of Draw Something for me.

Also, if I understand the presenter correctly, sponsors would pay advertising costs if the words include them or their products. Like for example, if Pepsi would like to advertise with Draw Something, they would pay for Draw Something to implement words like "Pepsi twist" for users to draw. This is excellent! However, if the product is not well known (eg. squishy shoes for mud), then it would be quite tough for users to guess. Just one of my musings. Companies must consider their marketing strategies for their own benefit.

Great job, group 7! (:

Sunday, 2 September 2012

Week 3: Kinect & Windows Phone 8

Hey all!

The kinect talk was good! I did play with kinect once or twice before, and it was a good experience. (Especially playing dance central!) I was surprised to see how the kinect can detect the skeletal structure of the human body and follow the movements so clearly. If the lines were white and outlined black, it would have looked like a real creepy skeleton! I guess it would definitely be a very different experience to develop applications for the kinect. Perhaps I would read up more about it after this semester.

The windows phone 8 talk seems to be more like promoting it to us as a consumer, seeing the way he really emphasized on the inbuilt features. But I did catch that there is inter-app communication, which is a new idea. I do agree that its great to have apps to sync with each other, imagine all the possibilities!

I have to keep this post a short one, I have so much to do and so little time..

~Pei Yi

Friday, 31 August 2012

Week 3: every detail counts

Earlier in the week, I realised one lesson:  if I see any form of bug in my code, I need to take note and write it down to address it.

In the midst of rushing for time, I didn't check if the user authentication was working. Fortunately, the thought came into my mind to test it out and to my horror, I (again) rushed to fix it.

Also, while using Facebook's Javascript SDK, I referred to the documentation at the Facebook developer's app. When I started speed reading and doing CTRL F, I compromised on my understanding of how some APIs work. From that, I wasted still some precious time reading stack overflow and trying to figure if some forum threads are talking about the same problems as I'm facing. I could have saved the time if I read the official documentation more clearly ):

Working with my group: everyone in the group is really contributing so much, especially when we are a 3 member team. My group member encourages us very often, and this kept me grounded. I guess I have to admit that I'm still an emotional worker and not made of solid steel that can perform optimally in every situation. This module un-subtle-ly teaches stress management - working under pressure.

I won't die now, not yet.

Second assignment! Its great to meet my new group, and the ideas seemed to flow well as we were storyboarding our presentation. The app that we are doing a presentation on is Color. I think its interface is really good for a mobile app, not like those that crams everything unnecessary at once and has adverts as well. It was fun also playing with the app as we "visited" each other and requested each other for a broadcast. (:

~Pei Yi

Wednesday, 22 August 2012

Week 2: Learning to walk before a marathon

Our second lecture! Even though I know that the slides and all the materials have been uploaded onto the workbin, I am going to type my post without referring to them. I believe that there are a few takeaways from today's session that are worth remembering.

For the first segment, we were reminded of some key principles of software engineering. 

An inquisitive person came up to me when I was 10 years old and asked, "what are you doing?"
"Trying to earn CCA points by joining computer club!", I replied.

Derp(ina) - stupidity / ignorance
A curious person came up to me when I was 15 years old and asked, "what are you doing?"
"Competing with my friend to see who gets more downloads in our blogskin designs!", I answered.

A nosy person came up to me now as I'm 20 years old and asked, "what are you doing?"
"Heck the CAP. I'm learning how to create awesome web applications!"

Ah, the motivation counts. 

Another thing I wanted to write about is user experience. There are conventional ways of arranging page layouts according to the amount of information and type of information that needs to be communicated. And even for non-verbal / non-text information too. For example, my colleague in my previous internship pointed out to me that the "next", "ok" or submit button would be good if its placed in the center or right. 
I'm still thinking about the layout of the facebook assignment. But anyway, its really easy to change. We'll gather feedback after its up and running, we can make improvements then.

Scrum: My groupmate Gia loved the idea so much that he set up the tracking document even before Justin finished his presentation! I went in and wrote my task as "Facebook plugin". But Gia wanted me to break it down with more details. I'll work on that! (: Its a great feeling to try something new.

From Jonathon's presentation: He shared that when it gets closer to the deadline, people get really stressed and get more irritable. I can really identify to that and feel that its really important to consider others besides my own self.

Progress concerning my facebook assignment is getting started (esp for front end)! We simulated it on pen and paper and its quite a ball of fun! Keep in touch for more updates.

~Pei Yi

Sunday, 19 August 2012

Week 1 workshop

Hi again!

The workshop on Saturday covered: setting up AWS, using Git, PHP, MySQL, Javascript and AJAX.

I really respect how much effort our seniors put in for our workshop. There were even seniors who weren't giving a presentation but there to just offer behind the scenes help.

Setting up AWS: It would have been a painful process without the help of Su Yuen guiding us through and with a installation guide on IVLE. For me, I just followed the steps through blindly, I guess it wouldn't be too important to know exactly about the various settings and options for now? At first I was quite grossed out by the looooong public dns, but since its provided free, maybe thats why hmm.

When the Git session got going, I was abit blur at first, wondering how he got his command line (I was typing  vigorously into my cmd prompt and nothing interesting was happening). Then I opened the Git GUI. Luckily I was clicking around randomly and "hey whats this?" - I found where to get the command shell. (Select repository -> Click tools -> Open a shell here) 
But my judgement is that its better to stick to the GUI. I feel that the important features can be easily accessed with the GUI and we don't have to memorise the commands this way. 

We had a good lunch break, I liked the food!

The workshop continued with Javascript, AJAX, PHP and MySQL. The important takeaway is that its not difficult to pick it up as a beginner given that I had some programming background in CEG and my past internship. But to truly build something awesome is another thing altogether. Resourcefulness + creativity + hardwork. I was not following too much since I read the slides the day before. Instead I was trying to use Eclipse after installing the PHP package. Since I had installed my own local server, I was trying to write PHP commands to access the database and fetch some data. I got stuck and decided to go back home and try to fix it.

So that night, after traveling 234923974829 miles home to (the land of ) tanah merah, I finally got apache working and my database can be accessed! (: (: (:


But I'm not 100% satisfied. The thing is that this database that I'm accessing right now is my own localhost which is the home server (which should be used for testing purposes). But how about the database that I created with AWS? How do I write the MySQL connection to access the online server? I will work on this after I publish this post. I welcome any inputs, please comment below! (:

~Pei Yi

Saturday, 18 August 2012

Week 1: Getting to know everyone

First week!

I had a rough week. I caught the flu bug! Healthy food like bibimbap and chicken salad, along with lots of luo han guo and honey drinks.

The first lecture was really light hearted. I came into the room feeling like it was me against the rest of the people (as it always has been in this bell curved environment I exist in) But I came out feeling somewhat surprised with how friendly some fellow classmates were.

Towards the end when we played the bingo game, even though I couldn't fill up any of the blank remaining slots, some of them just let me fill up whichever slot that suits me even if it has already been taken. great classmates!

The seniors' testimonials really scared me and I couldnt sleep well at all that night. ):

After some (alot) of thought, I realised that I could change my perspectives! Since (almost all) of my classmates have a wealth of programming & design knowledge, I can learn from them too.

I had a few group meetings so far, and I really like my team's dynamics. We are all very open with sharing our opinions and can communicate well. I _really_ want to contribute as much as possible to my team (:

Looking forward to tomorrow's workshop.

~Pei Yi

Tuesday, 31 July 2012

What I hope to obtain from CS3216


  1. Web application hosting
    • To be familiar with the AWS management console and its key features
    • Additionally, decide if AWS has advantages over other web hosting services based on previous experiences
  2. Facebook apps
    • To be familiarised with the Facebook API: to access user information, to process and display contents
    • To also learn how to market the application, and figure out the competitive advantage of our project. 
  3. HTML5
    • To appreciate the new web standards and how it creates a different user and web developer's experience. 
    • To be able to develop (non-trivial) mobile applications on (at least) the Android platform
  4. Innovation
    • To be more aware of the existing apps that has already been developed and how I can improve/add to this large base
    • To participate in the developer's community and play with new ideas
  5. Teamwork
    • To learn how to assist each other in a project, and have a proper workflow process
    • To learn from one another and build on each other's strengths
    • To foster good friendships with team members that will last even after the module

Two weeks before CS3216

Hello world. I am in my 3rd year at NUS. A computer engineering (CEG) student, no less. There's about 13 days before the terms starts and I'm feeling very jumpy.
I have quite a list of to-do items, and one of them is to prepare for the (non-programming) talent showcase. I got an idea of what to do, but it does take some preparations beforehand.

I'm not new to blogging actually. I did my fair share of blogging and blogskinning during the blog craze from 2003~2006. Creak creak. Lots to learn in CS3216!

 Lorem ipsum, everyone!
ABOUT ME

PEl Yl
NUS Computer Engineering '14
Loves pet hamster Rosky
+Cats!