Saturday, January 31, 2009

Me, Myself and SoC...

Hi all,

just a little bit of ego at work, i'll like to introduce myself. My name is Yap Neng Giin, matriculated in 2003, graduated in the class of 2008. Yeah... i hang around in SoC for 5 years (but not quite). In short, studied 3 years, got a little sicked and tired of computing, took a spin in Shanghai via NOC (that'll be another story) and then finally got my ass back to SG to complete my CEC course.

For the first 3 years, i was hanging around SoC more with the Computing Club. Once in a while, i get itchy-handed and nosy with the 26th/27th NUSSU Council . Of course, i remember the escapades with my friends from the C3 (C-Cube, an unofficial body within the NUSSU Council ). Anyone of you remember the time about a few years ago, Prof Shih and Uni admin was talking about fee hikes and some anonymous group of ppl sprouted the idea of black t-shirts and flash-mob at the University hall. The flash mob did not happen, but on that designated thurs or fri, which i can't remember, there were many black t-shirts worn. (Then again, on an average usual day in school, many black t-shirts are worn anyway... duh)

Shanghai story happened on my fourth year.

On my Year 5, pretty much was about my HYP, the part-time job(which took up too much time), and the free campus stay role of an Resident Assistant in Ridge View Residences, OKR.

Seriously, if i get to name the degree i grad with, i would proudly call it, "Bachelor of Student Activites (Major in Computing Club, Minor in Resident Assistant)"

Okie, will try to dig out some photos and share with you ppl...

Happy 'Niu' Year

Happy Lunar New Year!

For all those who had been watching this space, apologies for the quietness for the last days... :p Oops... My bad... I don't have much excuses.

But I guess, for all those ppl who will celebrate the Lunar New Year (aka. CNY), you will have your first CNY where find yourself no longer a kid nor a student. The good news is that if you are still single, your eligibility for ang-bao remains valid. The bad news, you are somewhat motivated to contribute a portion of your monthly salary to your family's "CNY Celebration Fund"

One of the things that did surprise me this year is the amount of time and effort placed into the celebration of CNY. I think the overall work involved in the celebration for CNY remains constant all the years. Therefore, the only 2 possible explanation i can think of are: 1) I was not so involved in the spring cleaning, goodies shopping, etc previously on the excuse of the heavy school work load and stressful deadlines. 2) I actually had more leisure time as a student as compared to the life of a working class folk.

Either ways, i can't decide and will leave it that way...

Just take note, that we do know that there is a gloom in the air, and everyone's taking about the crisis. I hope you guys saw the budget report and know how to read between the lines. (It's going to get tough in Singapore)

Initially, i thought that most probably, people will be so concerned, that they would forgo the CNY celebration to save some money. (I was expecting close-to-zero ang bao income this year). People would stay home this CNY as to avoid situations where Red packets have to change hands. Thankfully, i was so wrong. IMO, i thought this CNY saw more commuters betweens the HDBs more than before. I myself had found the few days of CNY to be a hectic adventure of 'Knowing the HDB Estates in Singapore Better'.

On a very serious note: This CNY got me thinking. (4 non-working days really give thinking space) Yeah, the buzz words right now more or less spells the bad climate in the marketplace. As people, we tend to get really really stressed and negative about all things: like how it's going to affect our plans to buy our dream more-than-luxurious cars, bigger-than-istana houses, or sleeker-than-iphones mobile...

While all these are valid concerns, as i believe it is right for ppl to have aspirations. At the same time, do give the due appreciation and thanksgiving for all the good things we already have... One thing i am truly glad this CNY is find my family and my extended family (aunties, uncles and cousins whom u see once a year and ask too much nosy questions) and friends to be able to celebrate the passing of the previous year and embracing the hope of this year to come. Paraphrasing words from my current big boss, "... it is joy to be able to tell your family and your loved ones that you are doing fine and hearing the same of them..."

I wish all the SoCians, now, graduated and future incoming the very best in this year to come. I'm doing fine, hope it's going well for you too! Drop a comment or 2 and let one another know that it's been good for you too!

Gong Xi Fa Cai!

Friday, January 16, 2009

Thank you!!!

Top: Thank You (Image Courtesy:

In this last entry, I would like to thank first of all, Juliana for inviting me to guest blog here. I would also like to take this opportunity to thank my partner, Hanyang for this opportunity to work together with him on ChupR! Of course, I would also need to thank the school, my friends for being so supportive! THANK YOU SO MUCH!

All in all, in starting something, no matter what, it may be extremely difficult, but do press on! Persevere! There is light at the end of the tunnel! Even though sometimes it might just be another on-coming train!!! But by not giving up, you will definitely get to see the light of the day!

3 ways to getting the user’s ATTENTION for sure! (well maybe almost!)

Seriously… It’s not easy to be the purple cow…especially for ChupR. After the Yahoo! Auctions’ exit, auction sites are mushrooming everywhere. So how exactly do you stand out from the crowd? Here are some of the ways that I found to be pretty useful. You can share and comment more if you want! =)

SEX (sells!)
It always works… really… just that I don’t have the assets… haha… But it never fails to capture!
Top: Something Funny... ( Courtesy of


And I do mean ATTRACTIVE! If you are giving out some regular keychains or pens like anyone else, you can stand in the queue just like everyone else.


What else? If you are prepared to throw in some money (and I am not taking about ten or twenty cents…) You are bound to get some attention!
Top: Money attracts almost everyone! (Image courtesy:

Of Course! There are more than 3 ways. These are but some of the ways which would definitely grab attention!

Wednesday, January 14, 2009

The (Almost) Zero Dollar Marketing Challenge!!!

To be really frank and honest with you, ChupR started because of interest, not business, it still is an interest. We kept it as a hobby still because it’s what that motivates us. We do not intend to monetize ChupR yet. But we want it to be successful. This poses a dilemma:
How do we sustain this interest without introducing a revenue model?

Left: No Money? That's the challenge! (Image Courtesy:

This in turn gave rise to trying to market ChupR with an extremely low budget. Which means we have almost zero dollar for marketing ChupR. This means how to do EVERYTHING for NOTHING. It’s pretty fun actually. Let me take this chance to share with you some of the
ways that we used in order of difficulty. Start with the easier ones that you are comfortable with then slowly move on to the more difficult ones as you progress. I would use ChupR as the example to illustrate my point.

Friends, Relatives, Family!
They are the best way to start! We were lucky enough to have quite a number of our friends promoting about ChupR to their friends which helped ChupR rise from nothingness to something. (remember, you got to go around asking people to help. If you don’t, no one

Viral Marketing!
Well, you can say that we are again, pretty lucky to get hold of a few Ipods for FREE…. Which means zero marketing costs which we have to pay upfront. We used these Ipods and threw them in as an auction promotion in ChupR which encouraged the growth of the user base
And in turned help popularize the site when users talk about these promotions going on in ChupR. (this is a really good way for ChupR to gain high traffic and signups especially during the promotion period.)

Press and Media!
This is 3rd time lucky! We manage to get some press coverage on The Straits Times, Singapore’s most widely read newspaper. You can say that this is the BIG BREAK which helped us grew from hundreds of users to thousands of users. I guess we really have to thank Miss Tan Weizhen for featuring us in her article. If not, I am pretty certain that ChupR would not be where it is now.

Right: What to do with no money??? (Image Courtesy:

You see, anything that we did here (in chronological order) started simply. And if we do enough of it, it does help us get to the next level. You would be dead right to say that luck plays an important role in this as well. But other than that, perseverance and determination also plays a great role in the success of starting (anything you want). Trust me, stick to it long enough, and your luck will come.

Up next: 3 ways to getting the user’s ATTENTION for sure! (well maybe almost!)

Tuesday, January 13, 2009

The art of getting more users on almost any site

I have to admit that I am still learning this one. But at least I hope to share some of the ways that we used went we started the site. That grew from the very initial group of less than ten users, to its first hundred, then thousand and counting…

Left: Getting users' attention (Image Courtesy

1. Be Thick Skin, Be proud, Be Excited (of your site)!

For me, this is the MOST important aspect. If you are convinced about your site, don’t be shy to talk to others about this site. Especially in front of friends and family. As Asians, most of us tend to be shy and humble and would not talk about our little baby. Don’t be!

Be proud of it, especially if anyone asked you questions like: “What are you doing now”. Be specific, tell them for example, “I started this exciting online auction site do support and check it out!” and not say things like, “Oh I started something small online…”

If you are not convinced about your own site, you cannot convince others, and you may not even be able to convince yourself. Which questions the very existence of the site. So remember, Be Thick Skin, Be Proud, Be Excited! If you don’t, no one else would! =)

2. Live, Breathe, Preach
One word that can replace the above heading would be passion. But passion is too general. I prefer to give more specifics. To share it better, I think it would be best to relate to starting .

Right: Something funny about acquisition if you have the cash (Image courtesy

When we started ChupR, Hanyang and I were thinking about ChupR,
Putting it on our MSN nicknames, facebook ( and any other place we can “advertise”. In addition, whenever I see anyone, even a stranger. Sometimes, I would tell them about ChupR. There are repercussions of this passion though, you may be seen as a hard sell. So do not try too hard, just a mention will do, if the party is willing to listen, then you can share more of your passion! =)

3. Any publicity is good publicity – At least for a start.
No matter what kind of publicity you get, it will be good for your site for a start! Good publicity is of course what everyone is after. But
Bad publicity? Take it positively. It can help you improve and in fact, some bad publicity actually generates more interest.

JUMP at every opportunity to market or share your site. This is one of the motivation behind me sharing with you how
Started and grew. So in this way, sharing with you guys ChupR on this blog is one good way to market the site as well. =)

Look out for the next post: The (Almost) Zero Dollar Marketing Challenge! (what to start something with nothing? Then you should really look out for this post, read and practice it!)

Centre: It is not really cheap to get and retain users... (Image Courtesy

Monday, January 12, 2009

The Chicken and Egg Challenge of starting an online auction site

As a brand new auction site, ChupR faced a very immediate situation: Should we get (Sellers) auction items first? Or Bidders (Buyers)? Buyers will not want to visit the site if they see nothing much or nothing interesting on the website. Similarly, sellers would not even bother to list their items on the site if they items don’t get sold on ChupR.

Right: Chicken VS Egg (Image courtesy of

This question was at the back of our minds. Until we realized that maybe we can try to look at things differently: how about targeting users that are both buyers and sellers? Then most people would have a follow up question with this solution: how do you identify this group of people? Actually, it’s pretty difficult. But in a nutshell, what we did was that in the initial stages of starting ChupR every user that registered on the site was encouraged to both buy and sell items. Not just do one of them. To encourage this, we also have the “Live Wanted Ads” where users can post what they are looking for on the site so as to attract users to become sellers while they are shopping on ChupR.

Watch out for my next post: The art of getting more users on almost any site…( Ithink its pretty useful!)

Left: Something Funny (image courtesy of

Self Introduction!!!

Hi all, I am Huang Renzhi, a fresh graduate from the School of Computing (SoC), National University of Singapore. I would like to thank the school for the opportunity to blog in the school’s domain as a guest blogger for this week (starting 12th Jan 2009).

Left: Hanyang and Renzhi
(taken just outside SoC)

As a first entry, I would like to start with a self introduction and in the subsequent entries, I would go on to share how this online auction site that Hanyang, another fellow SoC graduate, and I started: !

My Interest for Business, Entrepreneurship & Technology!!!

Since I was a young boy, I have always aspired to be an entrepreneur! I started selling everything from cool erasers to the wildly popular collectors cards, making profits and then re-invest all that I have earned into the “business”. I can say that during that time, I did not know any business nor marketing concepts like Porter’s Five Forces, SWOT (Strength Weakness Opportunities Threats) analysis. It was only when I got older that I had more exposure to these concepts that made my passion for business stronger. My interest in technology blossomed with my family’s first 486 computer. Initially, it was just the games. Then, I begin to learnt more about hardware and software (especially programming) which explains why I ended up in the School of Computing.

In conclusion, I grew up becoming a reasonably technology savvy business / entrepreneur wannabe. Trying to start something that ultimately can change the world for the better! Well, at least I try to! =)

Sunday, January 11, 2009

My favorite algorithm

Many of the mechanical procedures we learned in primary and secondary school for calculating the result of certain mathematical operations are really just numerical algorithms. Usually we start with the Addition algorithm for finding the sum of two numbers, this is typically followed by the Multiplication algorithm, which uses the Addition algorithm and digit shifting. Often we are just taught the steps, but not the reason why following them will give us the correct answer (correctness) or how the steps were developed in the first place (design).

The problem posted by Chris Henry on the frequency of the mode reminded me of a similar problem, that of finding the majority in a collection of n items. The majority is the item whose frequency is more than n/2. This problem has a very clever but simple solution that only needs only one pass over the data. It was listed by one of its inventors, J Stother Moore, as one of his best ideas. It is also my favorite algorithm.

What is your favorite algorithm?

Saturday, January 10, 2009

Using a personal wiki for notes and todos

Taking notes is an important part of learning something new. It helps to jot down the important points while the material is still fresh in your head. I've experimented with a number of different note taking mediums in the past and I hope to share with you some of my insights.

Paper notes are easy to write (unless you have a bad handwriting, like me) and draw diagrams However, organizing the notes afterwards can be a pain. This works fairly well for module notes as you will usually read them in a sequential fashion and the notes can be written next to the slides. If I'm doing a module summary, which is longer, I will type out the notes.

Sometimes, you might need to do some quick research to solve a small problem, such as figuring out how to configure your smart phone to access the NUS network. After finding the answer on the web, I find it useful to type out a short howto to remind myself how is it done, in case I need to do it again in the future.

The trouble with the above methods is that notes are largely independent of one another and it is difficult to find all the information about a particular topic which may be stored in different files/pieces of paper. A more useful note taking system should allow one to create hyperlinks between different notes and to easily search for specific pieces of information.

A screenshot of TiddlyWiki from

My solution, as you might have guessed from the title, is to use a wiki engine. Unfortunately, most wiki software require a web server and database backend, which is too complicated for me. Realizing the need for a lightweight, portable wiki for personal use, Jeremy Ruston built TiddlyWiki, which is a single HTML file powered by JavaScript. The one I'm using for notes is a derivative known as MPTW, it has a cousin MonkeyGTD which I use for managing projects and todos. You simply store the file on your local machine and open it in a browser. When you save your changes,  the JavaScript writes the changes back to the file.

Friday, January 9, 2009

Data driven programming assigments

This afternoon I attended a talk by Randall Bryant on Data Intensive Scalable Computing. His focus was on computer systems for processing large amounts of data.

I realized the importance of data driven computations earlier though my experience setting programming assignments. I think it is important to have problems that are realistic; where students want to write the programs in order to see the results. Unfortunately, most of the time we are technique driven. We try to form a task around a specific method we want students to use. However, most problems usually have a rather trivial solution, therefore we need to impose some unreasonable constraints or increase the size of the problem to some unbelievably large size in order to force the use of specific techniques.

I think the correct approach is to start from the data. There are large amount of interesting data that is available over the web, from movies to tags. In the UNIX workshop I conducted for freshmen orientation 2008, I made use of the SMS corpus from the WING research group to motivate the use of UNIX pipes.

Dealing with large amounts of publicly available real world data gives rise to realistic computational problems where the effect of efficient algorithms become apparent. Computations that takes hours to run using a naive method can be completed in seconds using the correct approach.

Wednesday, January 7, 2009

From Research to Teaching and Outreach

In my previous post I talked about research in CS, one of the goals of research is to advance our understanding in a specific area. IMHO, there are at least three different "frontiers" of understanding:
  1. expertise of other researchers/practitioner in the area (the usual sense of research)
  2. level of understanding attained by undergraduates in the area (teaching)
  3. public or layman understanding/appreciation of the area (outreach)
Both teaching and outreach are important to the development of a field because it expands the talent pool and imparts modes of thinking that are peculiar to the area. In recent years, there is push to promote Computational Thinking as a fundamental skill, on equal terms with reading, writing, and arithmetic.

I've helped out at the NUS SoC open house booth for the last two years, and a recurring problem is that most folks have no clue as to what we do in Computing. I think the Europeans got it right when they used the term "Informatics" instead of "Computer Science". As Dijkstra wrote in EWD 682, "we don't call painting "brush art", nor surgery "knife science"". Incidentally, Dijkstra is probably one of the earliest bloggers, he started to send his writings to colleagues by regular mail, before the advent of the Internet. Now, you can view his writings at the EWD Archive.

I tend to like to use the term "Information Engineering", which puts the emphasis on the object of our study, information, and away from the tool we use, the computer. Most people tend to have a better sense of what is engineering, it is about building useful things. In computing, we design algorithms and build software to manage/process information.

Do you have some simple way to describe what we do in Computing to the layman? Do share your ideas/suggestions in the comments.

Monday, January 5, 2009

Primer on CS research and relevance of research skills

First of all, I would like to thank Juliana for the invitation.  My name is  Melvin Zhang, and I am a third year graduate student in SoC. I graduated with a B. Comp (Hons) in 2006 from SoC, majoring in Computer Science. I am currently doing research in the area of Computational Biology.

In this post, I will try to give an overview of research in CS and the importance of research skills.

In a nutshell, research is a systematic study of a specific problem to derive new methods, frameworks, systems or facts. CS research can be divided into two broad areas, namely theory and systems. Theory is concerned with coming up with new methods or facts that can be proven mathematically, whereas systems is about the implementation and design of computer systems to solve real world problems. Not all research lead to new ways to solve a problem, sometimes it is about developing a unifying framework which combines different methodologies.

Most of us have to perform various research related activities at one point or another, whether it is working on an research project such as FYP or doing a survey for an essay we have to write. In general, a research project  consists of the following components:
  1. identify and formulate the problem to be solved (the MOST important step)
  2. review of existing work on related problems (so that we don't reinvent the wheel)
  3. proposal of a new solution (this is not as hard as it sounds, often it is a refinement of an existing solution or a combination of ideas from different solutions)
  4. validate the proposed solution (equally important to "sell" your idea)
Although this might sound like a sequential process, it is not. Often, the results from an initial solution are not satisfactory and a careful analysis leads to a reformulation of the problem and/or refinements to the original solution.

Almost all serious projects involved the above steps. That is why research skills such as problem formulation, review of related work and design of experiments to support your claims are important. In particular, formulating the right problem is often the key step towards a solution. To quote the words of Jiddu Krishnamurti, an Indian philosopher, "If we can really understand the problem, the answer will come out of it, because the answer is not separate from the problem.".

Friday, January 2, 2009

Inspiring Speeches

My girlfriend asked for some inspiration videos for her students, and I sent her these:

Randy Pausch Last Lecture: Achieving Your Childhood Dreams (2007)

Steve Jobs Stanford Commencement Speech (2005)

Just thought that I'll share them here as well, although I guess many of you have probably already seen them.

NIS and Novell

As promised earlier, I’ll talk a bit on my experiences with the National Infocomm Scholarship (NIS) and Novell.

I first heard of NIS from my apartment mate in Beijing. He’s from NTU and we were both on attachment with Oracle at that time. He was applying for the partial scholarship (for third year undergrads) and encouraged me to do so too. Back then, I didn’t even know what a partial scholarship was. My grades weren’t that great, but I thought, hey, no harm trying. So after many tedious hours of form filling and essay writing, we both submitted our applications. Much to our surprise, we both received the good news several telephone interviews and weeks later.

After graduating from NUS in June 2007, I started work with Novell (my friend stayed on with Oracle). Initially, most of my time was spent working with the SUSE incubation team from home. It’s quite common for open-source software developers to work from home, but that's pretty unusual in Singapore.

Novell Singapore was mainly a sales office; there were technical pre-sales staff and consultants (among others), but no developers. Hence, I could work from home even though I had a desk there. I also got the chance to participate in meetings with clients and marketing events, which I found very insightful since it’s different from what I normally do. Team Singapore was a tightly-knit bunch, great fun to hang out with, and I learnt a lot from them.

Then my visa issues got sorted out and so off to Germany I went. Finally, I was able to meet everyone from the SUSE incubation team in person at our team meeting there. It's a small but global team, with people from USA, Canada, Germany, Czech Republic, Spain, Italy and Singapore (that’s me!). Everyone had different skill sets and experiences, from graphic & web designers, web developers, kernel hackers, to sales & marketing, making it a truly diverse and great team to work with.

The last month (Dec '07) of my overseas stint was one of the most memorable bits. I got to visit Novell sales managers and partners in Milan (Italy), Vienna (Austria), Rotterdam (Netherlands) and Zurich (Switzerland).

What I'm trying to share here is the same as most past guest bloggers - work experience, particularly overseas ones, are immensely fun, enriching and sometimes even life changing. Moreover, it's an invaluable and outstanding additional to your résumé. Best of all, it's often not that out of reach as some might think. Grab the opportunities that come your way, be it NOC, ATAP or whatever. You owe it to yourself to at least give it a shot!

Thursday, January 1, 2009

Hey everyone! - Part 2

Time to continue my self-introduction...

I enrolled into NUS School of Computing (Computer Engineering) in 2003. Friends told me to stay on campus in a student residence as its great fun, but I didn’t since I stayed really close to campus. Looking back, I should have moved into hall anyway at least for the first semester – definitely would have made campus life more interesting. I actually did apply for it in the later years, but apparently I didn’t have enough CCA points. I was a bit of a pool fanatic so my only CCA was cue sports. Guess my walking distance address from the campus did not help either.

Along the way I did some free-lance web development (PHP, HTML/CSS, Javascript) with a number of local start-ups. In 2005, I interned for Zuji, an online travel agency. It was a great team to work with and we did some interesting load testing and performance tuning for the website. I also did some security patches for their in-house framework. We mainly worked with Oracle 10g, J2EE, Struts and some Unix scripting. Subsequently, I introduced a couple of friends to work there as well. One of them is now working for GIC while the other is with RedNano.

In 2006 I took a leave of absence from NUS to go for an attachment program with Oracle. This was just before SoC’s ATAP program was launched. Again, this was a great experience for me as I got to work in Oracle Singapore, attend courses at Oracle University for free, and perform a five month stint in Oracle’s R&D centre in Beijing. Living and working in China was both eye-opening and a lot of fun. Especially when a bottle of beer costs just S$0.30... The stint also eradicated my previous misconceptions about China in general.

Returning to NUS after that was a bit tough, particularly because I now had one less semester. I ended up with 26 MCs of modules including CS3215 and honours year project for one semester. The following and final semester was slightly better with 21 MCs. I was the teaching assistant for CS2261 (Enterprise Systems Development) and research assistant in the Software Engineering Labs. Somehow it didn’t turn out to be that bad and I survived, with the help of my friends of course. Also managed to squeeze a bit of time to help out the fantastic guys at LinuxNUS with Project Cube (a PC recycling project).