External Pitching Session

It was the last lecture before Chinese New Year. I was asked to video the external pitching session so that we will be able make it into a webcast thereafter. However, some of the presentations are a bit too confidential and thus we are not able to put it up online yet. Please hold-on as Prof. Ben settles the permissions with the presenters.

Coming out of LT19, I thought to myself “It is refreshing to know that there are still loads of opportunities out there for grabs.”

iSyndica - Upload Once, Sell EverywhereI have to say, iSyndica really caught my attention when I was reading Prof. Ben’s PDF before the session. From the outset, iSyndica sounds like the name of a game e.g. Pizza Syndicate. However, it smells like a game, it looks like a game, it pronounces like a game, but it’s not a game. The tagline on its official website states

“Upload Once, Sell Everywhere – Distribute, Promote & Track Your Digital Media on Multiple Stock Agencies”.

iSyndica enables photographers, video & audio producers, and vector artists to manage and distribute their microstock portfolio online.

It’s quite self-explanatory. But whether it’s really useful or not, I plan to give it a try. After all, Digital Media is my forte.

Anyway iSyndica turns out to be a solution to the same problem that I’ve identified regarding online media. In fact, I’ve even conceptualized an ingenious idea to solve this problem. It turns out that we are approaching the same problem but from a different perspective.

I’ve heard Prof. Ben mention more than once that “Ideas are cheap, it’s the execution that matters“. On Sebastian’s latest blogpost, Prof. Ben commented “Sharing ideas will help you improve your ideas“. Essentially it’s about sharing our ideas openly so that it can be further refined through crowd wisdom.

Although I am still not fully comfortable to share an ingenious idea in open space but I am willing to give it a try. Very soon I’m gonna post my idea of a collaborative media platform up here.

Another pitch that caught my attention is Project Nimbus,  a project by Microsoft. Neng Giin, the presenter, didn’t go through the uploaded slides. However according to the PPT slides, it looks like a huge project. One of it’s contribution is to open up data sets for local innovators, startups and students to use.. The amount of data that it’s opening up is enormous. As we speak, negotiations with various government agencies and corporations alike are on-going. Once it’s set in stone, it translate to OPPORTUNITIES!

source: http://www.glnyw.gov.cn/Article/Article_Show.asp?ArticleID=867273

It’s like we are venturing into Shangri-la (世外桃源), every turn is full of opportunities. Now the question is what should we do to fully utilize this opportunity? Everything that happens happened for a reason, are we capable enough to hop-on to this in-coming wave? More importantly, how can I leverage upon this for the media collaboration platform idea that I have.

By the way, it turns out that I’m participating in Microsoft’s Imagine Cup, together with KaiLin, WyeMun and Sebastian. It’s exciting as all of them are God-like programmers, there are lots to learn in this dynamic and energetic group.

Meanwhile, my FYP is going slow.. Need to pick up the pace a bit. After all, I need to ace this to ensure I at least get a nice honours. Besides, what’s there to complain when you get to work with cutting edge nanofabrication devices and femtosecond lasers.

Friends for Sale: Facebook Application Seminar Critique

Friends for Sale Logo
Friends for Sale

“Friends for Sale” by Ryan’s team. As I came slightly late and as this was the first group to present, I admit that I didn’t really pay much attention at what Ryan was saying.

However, a skim through the slides seem to indicate that Ryan might not have presented all that he’d prepared, or did he intentionally NOT to talk about the slides? After all YinChao has dropped this module some time last week and thus making Ryan’s team a two-man team.

Honestly, the idea of “Friends for Sale” quite interesting. You get to “Buy” your friends as pets and assign them to do random things, and all without his/her approval. I think these feature are the selling point of this application.

buy friend

During the presentation, Ryan did mention that the application is viral. However, I don’t remember him elaborating further on how FFS achieve its viral status. In my opinion, “Friends for Sale” leverage the Facebook notification feature for the viral-factor. Your friends are automatically notified on every instance of your actions to him/her, whether you’re buying him/her and you’ve assigned some jobs to him/her.

Work - Friends for Sale: Step 1
Work - Friends for Sale: Step 2
Work - Friends for Sale: Step 2
Work - Friends for Sale: Step 3 & 4
Work - Friends for Sale: Step 3 & 4

The viral part comes into play when you assign your pets to do some “actions” to your other friends, even to friends who might not even have added Friends for Sale. So if non-app users receive notification when you’ve done something to him/her, the non-app user might just be provoked enough and add the app just to react to the initial user’s action. Thus producing a natural viral process.

Ryan also mentioned that using the app fulfill friend’s ego, and he attempt to explain this using Maslow’s hierarchy and 7 sins. However I think Ryan didn’t really elaborate much on this point. I think he assume that it’s apparent to all of us how 7 sins and Maslow’s Hierarchy applies to Friends for Sale, which is not entirely true as I have heard of Maslow’s Hierarchy but I’m not too sure how it plays a part the apparent success of Friends for Sale. A quick check with Wikipedia tells me that Maslow’s Hierarchy is more commonly used to represent the priority of needs in a pyramid with the largest and lowest levels of needs at the bottom, and the need for self-actualization at the top. Honestly, I’m even more blurred at the fact that he mention 7 sins. Although I’ve heard of the 7 sins, but I don’t really know what are the 7 sins. In my opinion, the 7 sins are just inference and it isn’t stated explicitly in the Bible. Wikipedia mentioned that

The Seven Deadly Sins, also known as the Capital Vices or Cardinal Sins, is a classification of the most objectionable vices which has been used since early Catholic times to educate and instruct followers concerning (immoral) fallen man’s tendency to sin. The final version of the list consists of wrath, greed, sloth, pride, lust, envy, and gluttony.

So how exactly Maslow’s Hierarchy and 7 sins translate to Friends for Sale remains a mystery to me.

Like all other successful Facebook application, there seem to be a recurring theme. There must be some kind of Time-sensitive element to give users reasons to come back to the app. Leaderboard – leveling up system -> Like Mafia Wars…. lv600++. I wonder how many hours have been spent playing the game @@.. In Friends for Sale case, it’ll be the viral work you get to do to your friends to earn more money. Virtual money can be used to buy more friends as pets and thus making the user rise higher and higher on the leaderboard. Looks like an app will not go too far without some kind of highscore/leaderboard system. Even Causes has it!!

Towards the end of the presentation, Ryan recommended that we should all watch the video interview of the Friends for Sale founder. If the video is indeed that meaningful, I guess he should have at least summarize the video in his presentation instead of just briefly mentioning it toward the end of the presentation. As promised, Ryan has the link posted up on his blog http://sharetheconversation.blogspot.com/2010/02/links-to-interviews-with-chen-siqi.html

Like a lot of successful Facebook App, the back end is not something remarkable. It runs on Ruby on Rails (RoR). This name is familiar because I think I got eliminated in an internship interview last year because I have no idea what’s RoR. A quick check on wikipedia seems to suggest that RoR is quite popular among web apps nowadays, even Twitter runs on RoR. Apparently Chen SiQi (co-founder of Friends for Sale) thinks that RoR is very well-suited for rapid application development and scalability. How I hope I understand a bit more about why it is so, I got lost in the pool of jargon.

We definitely wouldn’t change our choice of framework – Rails was invaluable for rapid application development, and I think we’ve pretty much proven that two guys without a lot of scaling experience can scale a Rails app up. (Chen SiQi http://highscalability.com/friends-sale-architecture-300-million-page-view-month-facebook-ror-app)

Ok, I guess there’s really a lot to learn from Friends for Sale as the co-creators are part-time developers, just like us in the CS3216 class. However, they manage to rise to be the top10 app on Facebook in 3 months. That is a feat and I bet there’s a lot to learn from them. Onward to the Gwave assignment!

At the end, I would like to promote our group’s video for Facebook Marketplace. Thank you Adhiraj, Xialin and Reuben, this video wouldn’t be possible without you! (I’m just a video-editing-monkey!)

Time is relative

Today is Friday (29th Jan). Monday (1st Feb) is effectively 3 days away. Thursday 2359 (28th Jan) seems like yesterday. Wait.. it was just yesterday.  January is coming to and end. I couldn’t agree more that time is seriously relative . So little time so many things accomplished. Second semester of Year 4, shiok lar!

Past Monday half of my 2nd milestone in CS3216 will be done. On to GWave….

However, the present frame requires me to cross Saturday and Sunday, two huge mountains. Now I feel like a mountaineer.

People asked,

“Why are you so energetic and passionate all the time?”.

..because I draw my energy from an eternal source.

It reminds me of an old chinese chorus that I used to sing that’s adapted from Psalms 121.

我 要 向 山 举 目 ; 我 的 帮 助 从 何 而 来 ? 我 的 帮 助 从 造 天 地 的 耶 和 华 而 来. (詩 篇 121)

here’s the English translation:

I lift up my eyes to the hills—where does my help come from? My help comes from the LORD, the Maker of heaven and earth. (Psalms 121:1-2)


Dr. Foood knows what you ate last supper!

There goes another milestone in CS3216. No… I refuse to accept it as an end, it’s just the beginning. I have great faith in the app that we’ve built. I think it has real great potential. We’re leveraging on the power of crowd wisdom. Dr.Foood intelligence is more or less determined by the players themselves, thus, the user decides how fun or !fun the games is to be.

I’m gonna continue to develop this app, so does WyeMun. That would mean that I would need to brush up my PHP and Actionscript 3, that is on top of FBJS & Javascript. I can do it!

Next up – FB Seminar. I can foresee another sleepless weekend. But seriously I’ve never felt so energetic and passionate before. “This is the best module I’ve taken in my 4 years of NUS”, so said DingYan. I couldn’t agree more.

Try to outbeat Dr.Foood here if you haven’t yet.I Know What You Ate Last Supper

Cloud Computing & Amazon Web Services

Today we have a Technology Evangelist Simone Brunozzi from AWS to come talk to us about AWS and Cloud Computing.

The evangelist just touch down in Singapore 4 days ago. Like many other incidence, he is shocked by our awesome-humid climate. For some reason, someone told him that he’s seeing Winter. Ha. Welcome to Singapore!

Half way through, Prof. Ben asked about Dynamo(?). A simple Googling found me this

Dynamo is a highly available, proprietary key-value structured storage system [1]. It has properties of both databases and distributed hash tables (DHTs). It is not directly exposed as a web service, but is used to power parts of other Amazon Web Services such as S3 [2]. (http://en.wikipedia.org/wiki/Dynamo_(storage_system) wikipedia)

Ok, I still have no idea what this is?

monolithic? micro kernal? I heard Chee Eng talked about the battle between Linus &  Andy Tanenbaum.
Turing. (EDIT: Thanks Prof. Ben for pointing out that it was Andy not Turing) However, I don’t remember the terminologies.

“Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.” – Andy Tanenbaum

Simple solution for seemingly complicated problem -> Amazon Import/Export
Shipping the Hard Disk to AWS and AWS will plug it into the Cloud. This sound like an interesting option for EusoffWorks Long Term Archive. After all, we have 15TB data to store. How much will this cost? EDIT: a simple check on the official site shows that it’s only available in US Standard and EU (Ireland) Regions. It will be really good if Singapore or NUS has its own cloud up soon. Hopefully it’ll have a similar feature. It sounds more feasible this way.

Content Delivery Network (CDN) = Proximity as a solution

A content delivery network or content distribution network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, so as to avoid bottleneck near that server.

Content types include web objects, downloadable objects (media files, software, documents), applications, real time media streams, and other components of internet delivery (DNS, routes, and database queries).

Amazon CloudFront -> Cloud CDN
Awesome ->8 server in the US, 4 in Europe, 2 in Asia. Well, if our facebook app grew to such a stage where we’ll need a CDN, this sounds like a good idea. However, I think I’ll still need to check the pricing.

Amazon EC2 = Virtual Machine for virtual server

Amazon EBS = Elastic Block Store (1 to 1000GB)
EBS is redundant and persistent

The power of virtualizing.. the end-user will not even realize when there are hardware failures because the hypervisor acts as a shield to the hardware beneath. Moreover, there are a lot of backup/fail-safe mechanism that acts. Reminds me of the fail-safe mechanism in Atlantis @ the Pegasus Galaxy (Stargate).

One example of business that cannot use Cloud Computing -> Banks, where real physical wires are needed to connect the ATMs to the Data Centers. But can’t they connect all the ATMs to a cloud? Or even better -> add the Data Center off the bank unto the Cloud? Hmm…. don’t understand.

JianHong asked a question, I think it’s about the differences between  “Dedicated, Shared Dedicated and Shared”. Amazon EC2 is a Shared Dedicated system. “Shared system” shares everything on the physical machine, including processing power and RAM.

All in all, I’m overloaded with information. It’ll take some time to chew on it. However, time is not really on my side as Thursday is the due date for our Facebook App. Chiong ar……!

New Feature & Virtual Currencies

Facebook is launching a new feature:  Application & Games Dashboard. This is getting more and more interesting. Facebook is getting serious about the applications and games. Check out the post on the developer’s blog here.

Facebook Application & Games Dashboard
Grabbed from http://developers.facebook.com/news.php?blog=1&story=356

This morning during breakfast I found myself evangelizing Facebook apps and the inevitable trend of virtual currencies and virtual goods. To be honest, I don’t really understand why would anyone spend money for virtual goods at all. The person that I’m trying to “evangelize” has the same sentiment too. But I think it’s hard to ignore the obvious. Games like “FarmVille” and “CafeWorld” really does survive on selling virtual goods. And recently they even manage to raise funds (over 1 million USD now) for charity by donating 100% of the proceeds from selling a special themed item to the Haiti Earthquake relief fund, see here, here, here and here. Will this be the trend?

Maybe Augmented-reality will be able to bridge the apparent barrier between virtual goods and the reality. Something to chew on for today.

Oh ya, TalentQuest Audition in 4 hours. Chiong ar……

Principles of Software Engineering

I think the agile development cycle is cool – iterative development. I think that’s what we need for EusoffWorks IT wing. We’re too dependent on the Waterfall model. EDIT: After talking to CheeEng (the EusoffWorks IT-Guru), apparently it’s not that we are too dependent on the Waterfall model, it’s just that we don’t even have a proper development model OR the members are just incompetent to begin with… Oh well, maybe what we need is just someone to motivate them enough to die for the projects… like a certain prof that we know.

The major getback is the assurance for non-programmers that they are useful in this module.

Tankie – 3 men team

Next up, SCRUM -> very interesting. The important feature of SCRUM is the ‘sprints‘ – blocks of short time with a list of goals

Scrum -10 mins everyday (status update) 3 questions

  1. What have I done?
  2. What are you going to do today?
  3. Will any of my work done today affect anyone else’s work? OR Are there any dependencies before you can work on your part?

and so there’s a product backlog with all features listed down and priorities.

Will this work in our CS3216 or school environment? Just as Justin and Prof. Ben has mentioned, in this module, there’s not gonna be someone who’s just going to look at the spreadsheet and be the archer/sniper.So how do we integrate this?

Next up, yeemun(?) EDIT: wei man(thanks dingyan) a girl who worked in “Lucas film” on Star Wars: Jedi Alliance @@ as project lead. She shared her experience on Scrum project management.

Dialogue with Mr. Ong Peng Tsin

Who is this guy Mr. Ong Peng Tsin. More details @ the Facebook event. DISCLAIMER: this blog post was written during a lecture.

Honestly, I went into the dialogue session without any idea what it’s gonna be like. I would have guess what it is since it was prof. Ben who organised the dialogue. But seriously, this is effectively my first dialogue session with a successful entrepreneur. within the first few minutes, I know I’m in for a treat.

Just like the first CS3216 class, soon enough hard questions kept popping-up, e.g. “how do you define success?” “what’s your motto in life?” “how do you manage to overcome your biggest challenge in life?”. Mr.Ong answers all of them with no sweat. It seems like successful people always have a set of formula under their belt. For Mr.Ong, it is “Clarity”. a simple search in the eng-chi dictionary gave the chinese equivalent of 明晰. “Define clarity” on google gave it as “the state, or measure of being clear, either in appearance, thought or style. (wikitionary)”. It is of the clarity of purpose. It is about being clear that this is where I should be now, doing what I should be doing. That, I classify as good material for my mental acrobatics. We shall leave the acrobatics for later. Another key point that sort of hit me was Mr.Ong’s definition of Smart people. I don’t really remember why he attempt to define a smart person. I know it has to do with some engineering recruitment etc. But anyway, the first criteria is the ability to work with people, team-working skills. That’s true, as we all know 2 brains is definitely better than ONE, especially those who resonates. however this definition is everywhere. The thing that hit me was the second criteria – an inquisitive mind…. It’s about the natural curiosity about things around. It’s about asking the question WHY and the attempt to answer the question on our own. It’s about trying to figure out hard questions. According to these criteria, In a way a smart person is a person with clarity as well. Clarity requires a lot of consistent question answering.

With this set of formulae, I try to do some curve fitting with my experimental data (personal experience). Immediately, it’s intuitive that it’s a nice fit. this might sound like a brag but the immediate conclusion is that I’m smart! I believe most of us in CS3216 must be smart as well, if not we might not even pass prof. Ben’s recruitment exercise. As described in my “about joshuatj” page I love mental acrobatics, to a point I take it as my hobby (or sport). Essentially, mental acrobatics is my unique way to achieve clarity. It’s no too big a different from what Mr.Ong has described. That’s what I do all the time, I enjoy asking myself hard questions and attempt to answer them logically. (Thank God that I’ve met some rare individuals that can take my mental acrobatics e.g. Cheeeng and recently Kana and Raymond)

In a way, what I’m doing here is sort of like Thinking out loud (writing out loud?) and I really like this a lot. I called this “Output Learning”. I believe that unless I am able to put what’s in my head into words (saying it out OR writing it down), I don’t really understand what’s going on.

So now, the mental acrobatics, as Mr. Ong has said, startup is like an Extreme sport, if one is not ready, one shouldn’t jump into it so soon. However, I was taught to live a middle way  life 中庸之道. How do I balance this two apparent opposite polarity? Is extremity absolutely necessary for influencing others?

ah… and I found a transcript of another interview with Mr. Ong 2 years ago. That is after I wrote this post http://asia.cnet.com/blogs/geekonomics/post.htm?id=63007875

Individual Work (“Blogging for Credit”)

and so it seems that we’re supposed to do this for every class… Hmmm… Let’s do this after my FYP Interim presentation. >.<

There are no guidelines in terms of the length of each entry. The point however of this blog is to
“ensure” that students pay attention and actually learn something when they come to class. 🙂 For
starters, students may wish to reflect over the following points for each lesson:
1. What are your general impressions/comments on the lesson?
2. What are the key ideas of the lesson?
3. What do you agree/not agree with?
4. What questions do you have about the ideas/concepts discussed?

By the way, I’ve added “Facebook Connect” for the comments. Next i’m gonna try to add “Google Friend Connect”.