2 thg 4, 2013

Design Knowledge - Something I have never known

Who can say design is not significant in the modern world?
Sometimes, I hear about Design and its impact on the usability and the beauty of things. However, there  is no opportunity for me to dig in deep the designers' world. Fortunately, I read an article from which discusses about how should the toilet be designed. According to that, I obtained several books for training the design aspect myself (i.e autodidacticism). They are:

  1. The Design of Everyday Things by Donald A. Norman for general topic
  2. Don't Make Me Think by Steve Krug for web design
  3. Designing the Obvious: A Common Sense Approach to Web & Mobile Application Design 
I hope that they will be covered as soon. Definitely that!

15 thg 3, 2013

Recommender system experts

Following experts in our own research domain is always helpful, for all. In my own study field, I am pursuing  many 'super man'. In this post, I glad to introduce Xavier Amatriain, a spanish whom are working for Netflix in USA.
Very surprisedly, he is a former member of Telefonica Research Center where I ever had idea applying for summer internship. This is his blog. His articles are very useful for me, and maybe, for all of whom likes me. So far, his position at Netflix is Recommender System Team's Leader.

By the way, I want to show another person who also has strong experience in Data Mining in Vietnamese. Why do I reveal him in the same post with Xavier? Very simple, I found him from Xavier's blog, LOL =]]. He is a researcher at Deakin University, Australia who developed the tool that named Vietnamese Article Classifier. You can see his profile at here.

7 thg 3, 2013

Web And Mobile Revenue Models

Let learn how to monetize! 

  • Display Ads - ex. Yahoo!
  • Search Ads - ex. Google
  • Text Ads - ex. Google
  • Video Ads - ex. Hulu
  • Audio Ads - ex. Pandora
  • Promoted Content - ex. Twitter, Tumblr
  • Paid content links - ex. Outbrain
  • Recruitment Ads - ex. LinkedIn
  • Lead Generation - ex. MoneySuperMarket, ZocDoc
  • Affiliate Fees - ex. Amazon Affiliate Program
  • Classifieds - ex. Craiglist
  • Featured listings - e.g. Yelp, Super Pages;
  • Email Ads - as done by Yahoo, MSN
  • Ad Retargeting - ex. Criteo 
  • Real-time Intent Ad Delivery
  • Location-based offers - ex/ Foursquare
  • Sponsorships / Site Takeovers -  ex. Pandora

  • Retailing - ex. Zappos
  • Marketplace - ex. Etsy
  • Crowdsourced Marketplace - ex. Threadless
  • Excess Capacity Markets - Uber, AirBnB
  • Vertically Integrated Commerce - ex. Warby Parker
  • Aggregator - ex.
  • Flash Sales:  Gilt Groupe, Vente Privee
  • Group buying - ex. Groupon
  • Digital goods / downloads - ex. iTunes
  • Virtual goods - ex. Zynga
  • Training - ex. Cloudera (??), -> Coursera
  • Pay what you want - ex. Radiohead
  • Commission - ex. SharesPost
  • Commission per order - ex. Seamless, GrubHub
  • Auction - ex. eBay
  • Reverse Auction - ex Priceline
  • Barter for services ex. SwapRight

  • Software as a Service (SAAS) - ex. Salesforce
  • Service as a Service - ex. Shopify
  • Content as a Service - ex: Spotify, Netflix
  • Infrastructure/Platform As A Service - ex. AWS
  • Freemium SAAS - ex. Dropbox
  • Donations - ex. Wikipedia
  • Sampling - ex Birchbox
  • Membership Services - ex Amazon Prime
  • Support and Maintenance - ex 10gen, Red Hat
  • Paywall ex. NYTimes
  • Voice and video-conferencing - ex. Uberconference

Peer to Peer
  • Peer-to-Peer Lending - ex. Lending Club,
  • Peer-to-Peer Gambling - ex. BetFair
  • Peer-to-peer buying - ex Etsy
  • Peer-to-peer insurance/home/car - ex (??)
  • Peer-to-peer computing (CrasPlan storage, or SETI@home)
  • Peer-to-peer service - ex. Mechanical Turk, TaskRabbit
  • Peer-to-peer Mobile WiFi/Tethering - ex (??)

Transaction processing
  • Merchant Acquiring - ex. PayPal (Online / Offline)Stripe (Online), Square (Offline)
  • Intermediary - ex. IP Commerce (POS 2.0), CardSpring
  • Acquiring Processing - ex. Paymentech
  • Bank Transfer - ex. Dwolla
  • Bank Depository Offering - ex. Simple, Movenbank (spread on average deposits)
  • Bank Card Issuance - ex. Simple (interchange fee per transaction)
  • Fullfilment - ex. Amazon
  • Messaging - ex. Peer-to-Peer SMS, IM, Group Messaging
  • Telephony - ex. termination/origination in public telephony networks (skype out/in)
  • Telephony - ex. termination/origination within private telephony cloud (e.g. native skype)
  • Payment Gateways: Mobile -ex. Braintree
  • Platform Monetization ("Tax") - Facebook Credits; iO6 30% cut.

  • Per Seat License - ex. Sencha
  • Per Device/Server License - ex. QlikView
  • Per Application instance - ex. Adobe Photoshop
  • Per Site License - ex. Private cloud on internal infrastructure
  • Patent Licensing - ex. Qualcomm
  • Brand Licensing - ex. Sesame Street
  • Indirect Licensing - ex. Apple Volume Purchasing

  • User data - ex. BlueKai
  • Business data - ex. Duedil
  • User intelligence - ex. Yougov
  • Search Data - ex. Chango
  • Real-time Consumer Intent Data - ex. Yieldbot
  • Benchmarking services - ex. Comscore
  • Market research - ex. GLG

  • Paid App Downloads - ex. WhatsApp
  • In-app purchases - ex. Zynga Poker
  • In-app subscriptions - ex. NY Times app
  • Advertising - ex. Flurry, AdMob
  • Digital-to-physical - ex. Red Stamp, Postagram
  • Transactions - ex Hailo

  • Freemium - Free to play w/ virtual currency - ex. Zynga
  • Subscription-  ex. World of Warcraft
  • Premium - ex. xBox games
  • DLC - (Downloadable Content)  - ex. Call of Duty
  • Ad Supported - ex -

(Source :

18 thg 1, 2013

Film Services and their recommendation feature

Besides smartphone, smart TV is also a hot trend today and in the near future. User can play game, listen to music, surf the internet, comment on their facebook and, also watch film or video.

Film service for TV is novel domain which has just started for 5 years. For any film provider, the number of film retention is target. Film recommendation is the way to improve this number. It is mentioned that Netflix and Hulu after are two honest film providers that published recommendation research for film. All of them use metadata as primary attributes to decide what film for recommending.

For evaluating a recommendation system, this post may useful.

7 thg 1, 2013

News aggregator, more and more

A lot of news channels are the first reason for a news aggregator service being launched! Certainly, human race don't want to update from only one source. And they also want to get new information in many categories. For instance, you love football and of course, you want to track the score of Sunday matches. You love technology, keep tracking on Techcrunch, Mashable. You're in passion for software development, keep up with MindShift or Hacker News. A news aggregator, therefore,  is built to keep all sources (customisable) in one. This article tries to survey how many news aggregators was launched and how did aggregator trend develop. 

I list some news aggregators (without ranking)

4 thg 1, 2013

Resource for iOS Development

(This post will always update when I get new info)

In fact, no one can deny the mobile trend. In the below figure, it shows you the mobile market size which is made at the end 2012.

Mobile market size
1.08 billion smartphones! What? 1.08 billion! And in the below infographics, it reveals the total app downloads of 4 big platforms: Android, iOS, Blackberry and Window Phone. We can recognize easily that iOS platform (was developed by Apple Inc. ) is leading in app market with 30 billions downloads.
Total app downloads. 30 billions downloads for Apple's app (Q2/2012)
( through
So, this post will discuss iOS development. More details, it will present the useful resources for anyone who want to begin with iOS platform. This post will attempt to  cover as much as possible necessary knowledge for making iOS app.

We should divide into 4 sections: resource for beginner, advanced resource, how to make money with iOS app, marketing strategy.
Let's start!
  1. Beginner
    1. Mobile tutsplus is the great site for newbie. All of tutorials are step by step clearly. It also focuses on mobile design, mobile marketing strategy.
  2. Advance resource
  3. How to make money
    1. (must review after) 
  4. Design (UI & UX)
    1. Mobile Usability by Jakob Nielsen. This book is very up-to-date and cover abundance of usability knowledge
    2. Human Interface Guidelines by Apple (
    3. Smashing's Documents (
    4. Brian Fling's slide (
  5. Marketing Strategy

Thanks for reading!

3 thg 1, 2013

Resource for Big Data

(This post will always update when I get new info)

Recently, We were heard the phrase 'Big Data' a lots, a lots, a lots! Everywhere, 'Big Data' was appeared : Computer Science Journals , Computer Science Conferences, Technology Journals, Technology Conferences, Technology articles, Famous Blog articles, Startup Conferences, Startup Blog, so on and so on. So, I am a junior Developer in Data Mining. Therefore, Big Data is also my research domain. In this post, I show the resources for learning or working with Big Data.

We will have three types: Blog, Company site and Github repository.

1. Blog
1.1 Machine Learning Guru's Blog
1.1.1 Prof. Larry Wasserman's Blog
Prof. Larry is professor in the Department  of Statistics/Machine Learning  in Carnegie Mellon University. He shares his research, the trending  of Big Data, Machine Learning, Statistics and others. His blog was considered as the best Machine Learning Blog by Nguyen Xuan Long, the primary blogger at .

2. Company Site
2.1 Cloudera Inc.
Cloudera's CTO is Apache Hadoop's author, Doug Cutting. Cloudera develops Hadoop-based software for business purposes. All of their softwares are open source! So great!

3. Github

In addition, you can use Quora to update Big Data news.  I usually use it to get useful information about Big Data/Data Mining and others.
Thanks for reading!

13 thg 4, 2012

IT link

1. Stanford ecorner:
This is great site which contains exciting tech videos from Stanford.

2. Open Course era information (update everyday)

3. Another open course site:

12 thg 4, 2012

Study Abroad

1. PhD at Japan

Mac OS X for newbie



10.7.1: hdvnbits

2. Install iATKOS (cho v7, 10.5.7)
Part 1:

Part 2:

Part 3:

3. Drivers
Look at

Manual kexthelper at to use kexthelper

3 thg 4, 2012

English Link

I. Listening
1. BBC Radio
All (World Service, Hightlight)

World Services

Friends subtitles film
2. CNN Radio

II. Speaking
1. English Recorder for Speaking test, very good

2. Passport to English (recommend hightly)

III. Reading
1. How to speed read?


IV. Writing
1. General
Test 10 sublists:

Marking System:

1. Task 1
Vocabulary for problems:
Vocabulary for graph with visualization :

Tips :

V. Vocabulary

VI. Pronounciation

VII. General

VIII. A.J.Hoge


29 thg 3, 2012

Good Links

0000. Data Science

000. Link for developers

00. For project manager

0. Start up

I. Find something
Book search: (5+ stars)
CS Book repo by vietnamese: ( 5 stars)
Good book repo: (3 stars)

II. Useful
1. Find latex command of symbol through draw it

2. Graph Words Visualization for learning english vocabulary

3. A way to complete CV by latex

4. Scrum Group in Hanoi

5. Install os X in intel-based PC

For my laptop:

6. Fix Mac's bug

7. Cover Letter: How to write?

For FLC:

10 thg 12, 2011

Latex tips

1. Chỉnh tên tiêu đề hiển thị phần tài liệu tham khảo:
Khi muốn chuyển tên hiển thị từ 'Tài liệu' (mặc định của gói vntex) thành 'Tài liệu tham khảo', có thể thêm câu lệnh '\renewcommand{\refname}{Tài liệu tham khảo}' trước câu lệnh '\begin{thebibliography}{99}' như dưới đây:
\renewcommand{\refname}{Tài liệu tham khảo}

Bing Liu, \emph{Opinion Mining}, Department of Computer Science University of Illinois at Chicago, 2008

4 thg 12, 2011

Cài đặt Git cho Eclipse

Đã nghe danh Git từ lâu, hôm nay mình mới có dịp mò mẫm và sử dụng. Dưới đây xin ghi lại cách cài đặt Git với site Github cho Eclipse.
Quá trình cài đặt qua 2 phần chính: cài đặt-cấu hình git và cài đặt-cấu hình plugin Egit cho Eclipse.

Phần 1: Cài đặt-cấu hình Git

Bước 1: Đăng ký tài khoản tại

Bước 2: Download Git từ (có các bản cho Debian, Solaris, Window, OS X)

Bước 3: Tạo SSH key

SSH key là chìa khóa giúp người dùng và server github trao đổi với nhau mà không cần những thủ tục xác thực rắc rối. Người dùng chỉ cần tạo SSH key tại máy của mình, sau đó add key này vào Github. Khi push mã nguồn, server sẽ so sánh SSH key của máy người dùng với SSH đã được add vào Github trước đó. Nếu chúng giống nhau, nghĩa là người dùng được quyền thao tác trên repository. Để tạo SSH key, chúng ta làm như sau:

  • Mở terminal của git (thường nằm ở đường dẫn C:\\msysgit\msysgit\msys.bat)

  • Gõ ssh-keygen -t dsa (hoặc ssh-keygen -t rsa)

  • "Enter file in which to save the key (/c/Users/username/.ssh/id_dsa):", gõ tiếp "Enter" nếu muốn để nguyên đường dẫn gợi ý trên,

  • "Enter passphrase (empty for no passphrase):", gõ "Enter" nếu không muốn thêm

  • "Enter same passphrase again:", gõ "Enter" (nếu ở trên không gõ gì), hoặc gõ lại những gì vừa gõ.

  • Mở file lưu SSH key (ở đây là id_dsa, hoặc id_rsa). Copy toàn bộ file

  • Mở , chọn SSH public key và paste vào.

Chú ý rằng một account có thể có nhiều SSH key, bởi mỗi một repository (dễ hiểu hơn là một project) có thể có SSH key riêng.

Bước 4: Tạo project ( repository) mới trên trang

Nhập tên project, mô tả về project và create

Bước 5: Thiết đặt ban đầu cho git tại máy local (máy của mình)

Làm theo hướng dẫn của github sau khi tạo repository thành công:

  • git config --global "X, Y Z"

  • git config --global

  • cd thư-mục-muốn-lưu-trữ-project

  • mkdir tên-của-project-vừa-tạo trên github (cần phải đúng)

  • git init

  • Tạo file README: touch README

  • git add README

  • git commit -m "Ghi comment vào đây!"

  • git remote add origin

  • git push -u origin master

OK, như vậy đã xong phần đầu, cài đặt và cấu hình đơn giản Git. Phần tiếp theo chúng ta sẽ tiến hành cài đặt plugin Egit cho Eclipse và sử dụng Egit để đồng bộ hóa mã nguồn với github.

Phần 2: Cài đặt Egit

21 thg 6, 2011

Một số thuật ngữ về Machine Learning

Bài này tôi trình bày một vài khái niệm cơ bản về học máy (Machine Learning) với mục đích phục vụ cho quá trình tìm hiểu về Data Mining.

Training data là một cặp đối tượng (dạng vector) gồm đầu vào và đầu ra tương ứng mong muốn.

Training set là tập các training data

(to be continue...)

Supervised learning - Học có giám sát

Supervised learning (học có giám sát)là một kỹ thuật trong Machine Learning có ứng dụng phổ biến trong các phân ngành Computer Science (đặc biệt là Data Mining).

Thuật toán supervised learning sẽ đảm bảo với một input bất kỳ thì luôn cho một output-phù-hợp tương ứng. Vấn đề ở đây là làm sao để thuật toán Supervised learning có thế đưa ra được output tương-đối-chuẩn-xác?! Một cách khái quát,thuật toán sẽ dựa vào tập dữ liệu huấn luyện (training set) cho trước, xây dựng trên tập đó một ánh xạ f (hàm f) input-output, và sau đó, khi đưa một input bất kỳ vào, thuật toán sẽ dự đoán output tương ứng (mấu chốt ở đây là dự đoán - predict ). Như vậy, output này sẽ rất khó đạt tới mức hoàn hảo (100%), nên tất hẳn tồn tại một hàm xác suất để đánh giá độ chuẩn xác của thuật toán supervised learning! Cần nói thêm về ánh xạ f, bản chất của nó là hàm phân lớp (classification) các dữ liệu huấn luyện, sau đó, khi có input, nó sẽ dựa căn cứ vào việc matching class-input để tìm ra được class phù hợp với input, từ đó đưa ra được output-phù hợp. Ánh xạ f được chia làm hai loại: classifier function ứng với output là thông tin rạc, và regression function (hàm hồi quy) nếu output là thông tin liên tục.

Sách 1: Uốn lưỡi bảy lần trước khi nói

Quyển đầu tiên mình review, "Uốn lưỡi bảy lần trước khi nói". Đây là cuốn sách do bạn mình, TrườngLX, đang làm cộng tác viên cho một nhà sách giới thiệu và cho mình mượn đọc, hi, mấy tuần rồi chưa trả.

Ban đầu, đó là một cuốn sách hay về nghệ thuật sử dụng ngôn từ trong thời buổi giao tiếp làm nền này (mặc dù, đây là sách dịch nên văn hóa cư xử của phương Tây có khác đôi chút so với xã hội mình đang tiếp xúc). Sách gồm một số chương nói về cách sử dụng từ ngữ tích cực (chương XX), cách nâng cao giá trị bản thân qua lời nói (chương YY),

Một khía cạnh nào đó, nếu dùng những câu mang tính khẳng định vấn đề sẽ tốt hơn một câu phủ-định-để-khẳng-định. Trong sách có nói một ví dụ, có một va chạm giữa 2 người:
A: Anh đã ném nó vào tôi. (nó ở đây là tờ 10$)
B: Tôi không ném nó. Đó là do gió thổi! (sự thật đúng là gió thổi)
Sau đó là một hồi cãi nhau, cuối cùng, cả 2 chỉ mang nỗi bực dọc vào người. Người ta đề xuất thế này, nếu B nói "Xin lỗi, chỉ là do gió thổi", thì chắc chắn rằng, cả hai sẽ nở nụ cười khi tạm biệt nhau. Vậy đấy, khẳng định một điều chắn chắn, thì tốt hơn là phủ nhận nó để đưa ra sự thật. Tất nhiên rồi, đi đường thẳng (nói luôn ra sự thật) sẽ tốt hơn đi đường vòng (phủ nhận rồi mới đưa ra sự thật).


Lan man về IT

Dạo này mình tự dưng thích đọc mấy cái linh tinh về công nghệ thông tin. Cả chiều qua ở trong mớ hỗn độn những blog của các super với toàn mật mã (cryptography), hacker , tội phạm mạng , rắc rối hóa code (Obfuscation) và giờ là cả Ruby on Rails . Chẳng biết mình muốn đi tìm cái gì nữa, đọc xong thấy cái nào cũng hay, cũng hấp dẫn, và... cũng có ứng dụng, tất nhiên, thấy cái nào cũng ra $$$ cả!!! Có lẽ cái gì cũng đọc mà chẳng cái nào ra hồn mất thôi. Một chút, thấy hacking cũng hay phết, tính mình tò mò, muốn lò dò vào máy em này em kia xem có gì hay không, hehe, muốn mò mẫm vào máy mấy em cùng mạng ở nhà xem có gì thú vị không, và muốn dò vào một site bank nào đó, chuyển vào account của mình, hehehehe ( từ nãy tới giờ, đùa đấy, :) ). Nào thì cài trojan mở port, nào thì telnet gì gì đó, chả nhớ, vì chưa làm, mà cũng chẳng chắc dám làm, nhưng, thấy thú vị thật, dù đó chỉ là basic, --không biết advance thì còn nhiều trò hay thế nào nhỉ!? Rồi tới Rắc rối hóa code , lúc mới đầu đọc thấy một cuộc thi về trò này, mình bảo dở hơi hay sao, người ta đang cố clear code, thì lại đâm đầu vào confuse nó. Nhưng đọc tiếp thì thấy quả là tuyệt vời, một phương pháp hiding-code thật hay mà đảm bảo không ảnh hưởng quá nhiều tới hiệu năng của đoạn code mình viết ra, một phương pháp phát hiện sao chép phần mềm, và cũng là một phương pháp ứng dụng trong việc mã hóa công khai ( PKC ).
Về Ruby on Rails (RoRs), mình mới chỉ biết được nó là một nền tảng phát triền web nhanh, có thể mình sẽ được tiếp xúc vào hè này với một superman về mảng này, anh CodeMonkey. Để xem mình có biết được chút gì từ siêu nhân này không, :).