Friday, March 30, 2012

Self-study, Self-Improvement to be a World class Developer

So I think it would be great if we can learning at everywhere, anytime. The more we get knowledge and relief  the more opportunity we get to do better things, innovating our life. 

Some free online university classes for everyone I collected:
http://www.udacity.com/
https://www.coursera.org/
http://www.khanacademy.org/
http://webcast.berkeley.edu/

Some great courses if you want improve your knowledge to do next revolutions in High-Tech Industry 
In this course you will learn several fundamental principles of algorithm design. You'll learn the divide-and-conquer design paradigm, with applications to fast sorting, searching, and multiplication.

Instructor: Professor Jennifer Widom from Stanford University
Some key lectures for me:

Introduction to Natural Language Processing 
Instructors Dan Jurafsky and Chris Manning  from Stanford University

Introduction to Artificial Intelligence is based on Stanford CS221, Introduction to Artificial Intelligence.

the machine learning class 

Monday, March 12, 2012

The Organizing Guy

from http://www.theorganizingguy.com/

We are in the age of "web 2.0" overload. Companies, users, or even governments are talking about Web 2.0, social media, mobile app,
=>  the "big data"  is born !
How many accounts you have in Gmail, Yahoo, Facebook, ...
We make our digital life become "overload", sharing for friends ob FB ? how they see the things you share ?
Facebook'wall is not a Google search page.
Twitter ? Ok, the content platform, a true social media tool for the crowds. But I it's hard to find, because we see is "the plat wall" on the screen.
Think! you can not sort it! What Twitter can provide, is what we should accept!
If they don't implement that feature, you have to wait or let search for an app on their platform, and of course if we are lucky!

So what is Information overload?
"An important theme in the design of management information systems is that managers (and indeed most people) struggle with the processing of large sets of data. Given too much information they will quickly succumb
to a state that is known as information overload. This is amental state where being served with additional data becomes detrimental, not beneficial to judgement." ... from http://www.amazon.com/dp/0199546320/

it's time to think how we do a simple task when we have learned using a computer in the post Web2.0  era!
Organizing your personal data!
http://en.wikipedia.org/wiki/Organizing

Friday, March 9, 2012

QR Code with your stuffs, connecting the physical world with digital info

Just a small idea for fun!
I have a  tons of stuffs, from books, ebooks, devices, ...
How can I connect all these things with my personal database.



My idea



The devices of next computing

mapping ID => URI

Whose 's home ? 


Ahh, my home @_@

Tuesday, March 6, 2012

Big Data, siêu thị Coopmart, METRO, Google , Facebook, ...



Câu chuyện bắt đầu bằng những câu hỏi: 
Vì sao các siêu thị chúng ta hay đi có đăng ký thẻ khách hàng thân thiết thì sẽ giảm giá ?
Vì sao đi Metro thì buộc phải có thẻ khách hàng ?
Làm thế nào các "thần bài" có thể tối ưu chiến lược trong mỗi 1 ván bài , mục tiêu thua ít, ăn nhiều ?


Hãy nghĩ, khi chúng ta đăng ký thông tin , bạn sẽ phải điền tất cả thông tin cá nhân tên, tuổi, số mobile, và nhà ở .... => số ID của khách hàng
=> lúc tính tiền tiền thì check thẻ
=> tất cả thông tin về đơn hàng sẽ lưu lại.
=> dùng phần mềm để thống kế dữ liệu, VD: nhóm các sản phẩm khách hàng thường mua chung => sắp các quày hàng kế nhau, ...
Nếu số lượng ít thì làm bằng thủ công cũng OK, nhưng cả 1 siêu thị khổng lồ như Metro, BigC với cả chục ngàn mặt hàng thì rất khó




Các quy trình quan sát những thói quen, những suy nghĩ và hành động mua hàng ? 
=> Thu thập, quan sát
=> Lưu dữ liệu
=> Thống kê => các "thông tin ẩn" bên trong
=> Đưa ra mô hình xác xuất để tối ưu việc chúng ta bị dính "bẫy" sẽ mua 1 món hàng gì, đó...
=> tóm lại, tất cả dữ liệu chúng ta mua hàng sẽ được track lại nhằm đưa ra
1) công thức để bán hàng tốt hơn (Optimized Marketing), nhà sản xuất sẽ biết nhu cầu khách hàng cụ thể cho từng điểm
2) mô hình "kiến trúc lựa chọn theo thói quen" (Choice architecture  ) , đó là cách thức các nhà marketing "thuốc" vào tất cả giác quan mà chúng ta có thể thấy, nghe, ngửi, sờ, nếm ... nhằm khiến ta "phải" mua 1 thứ gì đó.


Quy luật "đám đông" hay cách Việt Nam hay gọi là "sức mạnh nhân dân", 

Làm sao Google xếp hạng các trang web theo quy luật cực kì đơn giản, 1 trang web được xem hạng cao nếu có nhiều liên kết URL tới nó. (PageRank)
Câu chuyện bằng đầu vào những năm 1995, các trang web được tạo ra chủ yếu được gắn links bằng tay. (con người) là chính, vì vậy, khi xếp các links vào trang, đồng thời người ta đã 1 phần nào đó xếp hạng dùm Google các trang web. Vì vậy, ngoài việc search theo keywords như các search engine thời đó, Google đã "lơi dụng" con người như đánh dấu các metadata (các dữ liệu mô tả về trang) cho trang web.
=> thống kê + đưa ra các xác xuất theo keywords cho tất trang web.
=> better search engine ??



Phân tích dữ liệu của "đám đông"
Khi Tim Berners-Lee  dự đoán về 1 tương lai của Web , ông chỉ xem Web 2.0 như là 1 "hiện tượng" thay vì là bước  đệm để con người tiến vào thời đại của "semantic web" như ông đã nghĩ.
Thật sự các mô hình phát triển web hiện tại thực hiện một 1 mục tiêu căn bản là "kết nối" dữ liệu tri thức, các thông tin của mỗi cá nhân trên trên thế giới này thay vì "close" như 1 hệ thống thông tin cục bộ của 1 công ty gì đó.
Facebook không thể đơn ra các mô hình quảng cáo nếu các công nghệ hiện tại vá các nghiên cứu đã có sẵn để làm 1 việc là "bán quảng cáo" với số lượng cực lớn, giá rẻ, và tốt hơn các trang web truyền thống.
=> 100 tỉ đô là IPO  == 800 triệu users ?
ý tưởng nhưng Facebook người ta đã nghĩ ra từ thời kỳ xa xưa khi mới có Internet , Internet được tạo ra để chia sẻ dữ liệu và kết nối tất cả như 1 cỗ máy tính khổng lồ.
Vì vậy, thông tin chia sẻ có thể là hình, status, ... và mọi người connect nhau bởi những thứ đó.


Để kết thúc bài post này, mình có vẽ đại 1 cái hình hơi trừu tượng 1 tí ở đây (toán học luôn trừu tượng, chỉ có thành product  là dễ tưởng tượng @_@ ):
thế giới nhỏ (Small-world_network)  được tạo thành từ các cấu trúc topo , trong đó để thực hiện được các hành động hoặc trạng thái số 3, cần làm các bước ở số 2, và tương tự số 1.
VD: (1) phải có Internet, (2) mới có  Facebook, (3) rồi có quảng cáo

Saturday, March 3, 2012

New skills for next generation software engineers



1. Skills to be Big Data Developers
  • Monads (Functional Programming)
  • Machine Learning for Dummies (Probability, Statistics, …)
  • Restful API Design Patterns
  • Map-Reduce thinking
  • NoSQL,Hadoop programming
  • Analytics
2. Skills to be Big Data Entrepreneurs
  • Information Visualization
  • Creativity, Visual thinking, Passions
  • UX Process and Usability for Products
  • Economics for Software Development Process
  • Entrepreneurship and Innovation