Thursday, December 16, 2010

Top 50 Programming Quotes of All Time

I hope you have enjoyed our collection of funny computer quotes, Linux quotes, and all those quotes that we have shared with you so far. For today, I've decided to gather a good number of my all-time favorite programming-related quotes.

Most of the programming quotes I've collected are made by some of the famous names in the industry, while others came from not-so-famous people. Nevertheless, they are all witty so I hope you will find them fascinating and enlightening.

Without further delay, here are my top 50 programming quotes of all time:

50. "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning."
- Rick Cook

49. "Lisp isn't a language, it's a building material."
- Alan Kay.

48. "Walking on water and developing software from a specification are easy if both are frozen."
- Edward V Berard

Thursday, December 9, 2010

Why you should use OpenGL and not DirectX

Often, when we meet other game developers and say that we use OpenGL for our game Overgrowth, we're met with stares of disbelief -- why would anyone use OpenGL? DirectX is the future. When we tell graphics card representatives that we use OpenGL, the temperature of the room drops by ten degrees.
This baffles us. It's common geek wisdom that standards-based websites, for instance, trounce Silverlight, Flash, or ActiveX. Cross-platform development is laudable and smart. No self-respecting geek enjoys dealing with closed-standard Word documents or Exchange servers. What kind of bizarro world is this where engineers are not only going crazy over Microsoft's latest proprietary API, but actively denouncing its open-standard competitor?
Before we dive into the story of why we support OpenGL, let's start with a bit of history:

What is OpenGL?

In 1982, Silicon Graphics started selling high-performance graphics terminals using a proprietary API called Iris GL (GL is short for "graphics library"). Over the years, Iris GL grew bloated and hard to maintain, until Silicon Graphics took a radical new step: they completely refactored Iris GL and made it an open standard. Their competitors could use the new Open Graphics Library (OpenGL), but in return, they had to help maintain it and keep it up to date.
Today, OpenGL is managed by the Khronos Group -- a non-profit organization with representatives from many companies that are interested in maintaining high-quality media APIs. At a lower level, it's managed by the OpenGL Architecture Review Board (ARB). OpenGL is supported on every gaming platform, including Mac, Windows, Linux, PS3 (as a GCM wrapper), Wii, iPhone, PSP, and DS. Well, every gaming platform except for the XBox -- which brings us to our next topic:

What is DirectX?

Ever since MS-DOS, Microsoft has understood that games play an important role in users' choice of operating systems. For this reason, in 1995, they created a proprietary set of libraries in order to encourage exclusive games for their new Windows 95 operating system. These libraries included Direct3D, DirectInput and DirectSound, and the entire collection came to be known as DirectX. When Microsoft entered the gaming market in 2001, it introduced the DirectX Box, or XBox for short. The XBox was a loss leader (losing over 4 billion dollars), intended to set the stage to dominate the games market in the next generation.
Looking at the games scene now, it's clear that this strategy is succeeding. Most major PC games now use DirectX, and run on both Windows and XBox 360. With few exceptions, they don't work on competing platforms, such as Playstation, Mac OS, and Wii. These are significant markets to leave out, bringing us to the big question:

Sunday, November 28, 2010

Tôi đọc "Em ở đâu - Marc Levy“

Nửa quyển đọc trên lớp, nửa còn lại ở nhà. Bắt đầu từ tiết chủ nghĩa Marc Levy thứ 2 tuần này :> Em ở đâu...

Em đã buộc mình tập trung mọi chú ý lên gương mặt cô bé, cố gắng để không nhìn vào khoảng trống, nơi cả một bên chân đã bị cắt đi? Tại sao chúng ta lại cứ phải bận tâm đến cái không còn tồn tại nữa mà quên đi tất cả nhưng gì đang hiện hữu ở đó. Tại sao  lại phải quá đau khổ trước những gì không hay đã diễn ra mà quên đi là phải biết yêu quí những gì tốt đẹp đang tiếp tục?

Ra đi không phải bao giờ cũng đồng nghĩa với một sự từ bỏ, đó cũng có thể là một cách để giữ gìn những gì đã trải qua, nếu người ta biết ra đi trước khi quá trễ.


Và khi người ta hiểu ra rằng tình cảm với người kia sẽ chiếm một vị trí không hề ngờ tới trong cuộc đời mình, những nỗi sợ đầu tiên ập tới : sợ người kia sẽ bỏ đi vào buổi sáng khi thức dậy, rằng người ấy không gọi lại, sợ phải đơn giản tự thú nhận với mình rằng bắt đầu yêu có nghĩa là đã trở nên phụ thuộc, ngay cả đối vơi snhững kẻ cứng đầu nhất. Những giây khắc đã trở thành những khoảng thời gian đầu tiên của một đôi tình nhân : những bữa ăn trưa thú vị nối tiếp nhau, những ngày cuối tuần đầu tiên, những buổi tôíi chủ nhật mà người kia cũng chịu ở lại, chấp nhận thay đổi những thói quan cố hữu của cuộc đời độc thân, những cuộc nói chuyện bay bổng trên trời khi mà người ta vừa nói đến các dự định cảu tương lai, vừa thăm dò ánh mắt của người kia, rình một nụ cười hay một sự im lặng.

Nói chung so với truyện của Murakami thì quyển này của Marc Levy không khiến mình phải ghi lại gì nhiều nhặn. Câu chuyện chỉ trở nên thú vị khi Mary xuất hiện và cô ấy chính là nhân vật chính của quyển truyện này! Những cơn bão cứ đến rồi đi đôi khi làm câu chuyện trở nên nhàm chán. Đây có lẽ là tác phẩm nói về chuyện yêu và lấy, về tình yêu không phải là duy nhất...

Quyển này đọc cũng được không đọc cũng được. Cũng có lúc thú vị nhưng không phải là 1 tác phẩm xuất sắc!
Chờ gái tặng "Kiếp sau" nhưng có khi là phải tự mua về đọc :p

Saturday, November 27, 2010

English for me 2!

Dont' use No problem
"You're welcome" or "Don't mention it"

Friday, November 12, 2010

[IMG]Italian Popular Gestures

The Italian hand gestures illustrated here are some of the more common ones realized by Alfredo Cassano, an Italian animator and storyboard artist. See more at My Modern Metropolis.

[IMG] Web Designers vs. Web Developers (Infographic)

Let’s be honest. Being a web developer or a web designer doesn’t exactly give you an edge with the pretty girls (or guys) at your local pickup bar. If you were a part-time firefighter or investment banker, maybe. Nevertheless, the feud continues between web designers and web developers over which profession is the true calling. Like the yin and yang, these two are in constant battle to prove their dominance over the other, even when they work closely together.

Here is an infographic of the differences between web designers and web developers.
Click to enlarge.
Web Designers vs. Web Developers (Infographic)
Infographic by: Shane Snow. Shane Snow is an entrepreneur, writer, and recent Columbia MS/Digital Media graduate. Visit his personal site and follow him on Twitter @shanesnow.

[IMG] Ex

Tuesday, November 9, 2010

Friday, November 5, 2010

The Evolution of a Programmer

High School/Jr.High

  20 END

First year in College

program Hello(input, output)
      writeln('Hello World')

Senior year in College

(defun hello
      (cons 'Hello (list 'World))))

New professional

  void main(void)
    char *message[] = {"Hello ", "World"};
    int i;
    for(i = 0; i < 2; ++i)
      printf("%s", message[i]);

Seasoned professional

  class string
    int size;
    char *ptr;
  string() : size(0), ptr(new char[1]) { ptr[0] = 0; }
    string(const string &s) : size(s.size)
      ptr = new char[size + 1];
      strcpy(ptr, s.ptr);
      delete [] ptr;
    friend ostream &operator <<(ostream &, const string &);
    string &operator=(const char *);
  ostream &operator<<(ostream &stream, const string &s)
    return(stream << s.ptr);
  string &string::operator=(const char *chrs)
    if (this != &chrs)
      delete [] ptr;
     size = strlen(chrs);
      ptr = new char[size + 1];
      strcpy(ptr, chrs);
  int main()
    string str;
    str = "Hello World";
    cout << str << endl;

Master Programmer

  library LHello
      // bring in the master library
      // bring in my interfaces
      #include "pshlo.idl"
      cotype THello
   interface IHello;
   interface IPersistFile;
  module CHelloLib
      // some code related header files
      // needed typelibs
      coclass CHello
   cotype THello;
  #include "ipfix.hxx"
  extern HANDLE hEvent;
  class CHello : public CHelloBase
      CHello(IUnknown *pUnk);
      HRESULT  __stdcall PrintSz(LPWSTR pwszString);
      static int cObjRef;
  #include "thlo.h"
  #include "pshlo.h"
  #include "shlo.hxx"
  #include "mycls.hxx"
  int CHello::cObjRef = 0;
  CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
  HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString)
", pwszString);
  // when the object count goes to zero, stop the server
  if( cObjRef == 0 )
  #include "pshlo.h"
  #include "shlo.hxx"
  #include "mycls.hxx"
  HANDLE hEvent;
   int _cdecl main(
  int argc,
  char * argv[]
  ) {
  ULONG ulRef;
  DWORD dwRegistration;
  CHelloCF *pCF = new CHelloCF();
  hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
  // Initialize the OLE libraries
  CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
      REGCLS_MULTIPLEUSE, &dwRegistration);
  // wait on an event to stop
  WaitForSingleObject(hEvent, INFINITE);
  // revoke and release the class object
  ulRef = pCF->Release();
  // Tell OLE we are going away.
  return(0); }
  extern CLSID CLSID_CHello;
  extern UUID LIBID_CHelloLib;
  CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
      { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
      { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  #include "pshlo.h"
  #include "shlo.hxx"
  #include "clsid.h"
  int _cdecl main(
  int argc,
  char * argv[]
  ) {
  HRESULT  hRslt;
  IHello        *pHello;
  ULONG  ulCnt;
  IMoniker * pmk;
  WCHAR  wcsPath[2 * _MAX_PATH];
  // get object path
  wcsPath[0] = '\0';
  wcsT[0] = '\0';
  if( argc > 1) {
      mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
  else {
      fprintf(stderr, "Object path must be specified\n");
  // get print string
  if(argc > 2)
      mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
      wcscpy(wcsT, L"Hello World");
  printf("Linking to object %ws\n", wcsPath);
  printf("Text String %ws\n", wcsT);
  // Initialize the OLE libraries
  if(SUCCEEDED(hRslt)) {
      hRslt = CreateFileMoniker(wcsPath, &pmk);
   hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
      if(SUCCEEDED(hRslt)) {
   // print a string out
   ulCnt = pHello->Release();
   printf("Failure to connect, status: %lx", hRslt);
      // Tell OLE we are going away.

Apprentice Hacker

  $msg="Hello, world.\n";
  if ($#ARGV >= 0) {
    while(defined($arg=shift(@ARGV))) {
      $outfilename = $arg;
      open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
      print (FILE $msg);
      close(FILE) || die "Can't close $arg: $!\n";
  } else {
    print ($msg);

Experienced Hacker

  #define S "Hello, World\n"
  main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Seasoned Hacker

% cc -o a.out ~/src/misc/hw/hw.c
  % a.out

Guru Hacker

% echo "Hello, world."

New Manager

  20 END

Middle Manager

mail -s "Hello, world." bob@b12
  Bob, could you please write me a program that prints "Hello, world."?
  I need it by tomorrow.

Senior Manager

% zmail jim
  I need a "Hello, world." program by this afternoon.

Chief Executive

% letter
  letter: Command not found.
  % mail
  To: ^X ^F ^C
  % help mail
  help: Command not found.
  % damn!
  !: Event unrecognized
  % logout

Thursday, November 4, 2010

[IMG]Geek Optimism

This is a wonderful way to look at the world. I just wish I knew who the original artist is. -via The Daily What
Update: The artist is Selin Jessa. Link -Thanks, Andy!

Friday, October 22, 2010

[IMG]A New Answer to an Old Interview Question

Getting smart about the hierarchy of smart

Don't talk to all your employees, all your users or all your prospects the same way, because they're not the same.
The Dreyfus model of skill acquisition posits that there are five stages people go through:
1. Novice
--wants to be given a manual, told what to do, with no decisions possible

2. Advanced beginner
--needs a bit of freedom, but is unable to quickly describe a hierarchy of which parts are more important than others

3. Competent
--wants the ability to make plans, create routines and choose among activities

4. Proficient
--the more freedom you offer, the more you expect, the more you'll get

5. Expert
--writes the manual, doesn't follow it.
If you treat an expert like a novice, you'll fail.

[IMG] Chain mail

[IMG]How to build a lasting relationship

[IMG] 5 Pearl of Wisdom

Friday, October 8, 2010

Combat side stroke
CSS là một biến thể của kiểu bơi một bên được phát triển bởi và huấn luyện cho lực lượng đặc nhiệm SEAL của thủy quân Mỹ.
CSS kết hợp các thành tố của bơi ếch, sải, và bơi một bên với hai mục tiêu chính: bơi hiệu quả ít tốn sức nhất, và bơi nhẹ nhàng (ít tạo gợn hoặc tiếng động) nhất.

Wednesday, September 29, 2010

Tôi đọc "Kafka bên bờ biển"

Kafka on the shore
Haruki murakami
NXB Văn học
Dương Tường dịch
by HVNSweeting

Trang 13
Những sự việc và kỹ thuật hoặc bất cứ điều gì họ dạy cậu trong lớp sẽ chẳng mấy hữu ích trong thế giới thực tại, đó là cái chắc. Ta hãy nhìn thẳng vào sự thật, các thầy cô giáo, về cơ bản, là một lũ ngu đần. Nhưng cậu phải nhớ điều này: cậu đang bỏ nhà đi. Có lẽ cậu sẽ chẳng còn cơ may đi học nữa, cho nên dù muốn hay không , tốt nhất là cứ hấp thu bất cứ điều gì cso thể trong khi cậu có cơ hội. Hãy trở thành giống như tờ giấy thấm và thấm hết vào. Sau này, cậu có thể hình dung ra cái j nên giữ và cái gì nên trút bỏ.

Tôi làm theo như lời nó như trong hầu hết mọi trường hợp. Với bộ óc nhứ miếng bọt biển, tôi tập trung vào từng lời giảng để nó thấm vào trong đầu, hình dung ra ý nghĩa của nó và nhập tất cả vào bộ nhớ. Nhờ vậy, tôi hầu như khôngphải học ngoài giờ, mà bao giờ cũng xếp gần đầu bảng trong mọi kỳ thi.

Ta tự do rồi, tôi tự nhủ. Tôi nhắm mắt lại và cố suy nghĩ thật sâu, thật kỹ xem mình tự do đến mức nào, nhưng không sao nắm được đầy đủ ý nghĩa của điều đó. Tôi chỉ biết là mình hoàn toàn trơ trọi. Hoàn toàn một mình ở một nơi xa lạ, như một nhà thám hiểm đơn độc vừa mất cả la bàn lẫn bản đồ. Phải chăng tự do có nghĩa là thế? Tôi chẳng biết và tôi bỏ cuộc, thôi không nghĩ về điều đó nữa.

"Cơ mà lão đã già rồi, chả sống được bao lâu nữa. Cha mẹ chết cả rồi. Dù thông minh hay đần độn, dù biết đọc hay không biết đọc, dù có bóng hay không có bóng, một khi đến cõi thì ai cũng phải về đất thôi. Khi anh chết, người ta thiêu xác anh và bỏ tro vào một nơi gọi là Núi Quạ( Karasuyama). Núi Quạ ở quận Setagaya. Một khi anh bị chôn vào đó, chắc anh chẳng thể nghĩ gì nữa. Và nếu anh khôn nghĩ nữa thì chả còn gì mắc mớ nữa. Cho nên cứ như lão bây giờ chả tốt chán sao? Điều lão có thể làm trong khi còn sống là không bao giờ ra khỏi quận Nakano. Nhưng khi lão chết, lão sẽ phải đến núi Quạ. Đó là điều không thẻ tránh khỏi.”
“Dĩ nhiên, bác nghĩ thế nào là quyền của bác” Otsuka nói và lịa liếm bàn chân. "Tuy nhiên, bác cũng nên chiếu cố đến cái bóng của mình. Nó có thể hơi bị mặc cảm tự ti một chút, voíw tư cách là 1 cái bóng . Nếu tôi là một cái bóng, tôi ắt không muốn chỉ la fmoojt nửa của chính mình.”

“... bấy giờ mình mới nảy ra ý nghĩ là phải học một nghề gì đó, để rồi đây dù đi đến đâu cũng có thể kiếm được việc làm. Thế là mình bỏ trường trung học, chuyển sang một trường học nghề và trở thành thợ uốn tóc.” Cô nhếch mép, khẽ mỉm cười. "Cậu có thấy đó là một cách lành mạnh để tiếp cận sự đời không?”

Tôi gật đầu.. “Em không biết gì về loại ấy, nhưng có thể anh nói đúng. Trong truyện, Sanshiro lớn lên, gặp những trở ngại, suy ngẫm sự đời, vượt qua khó khăn, phải không? Nhưng nhân vật chính trong người thợ mỏ thì khác. Anh ta chỉ nhìn sự việc xảy đến và chấp nhận tất. Thật ra , đôi khi anh ta cũng đưa ra ý kiến riêng, nhưng chẳng có gì sâu sắc lắm. Đằng này, anh ta chỉ nghiền ngẫm về cuộc tình của mình. Anh ta ra khỏi mỏ cũng gần giống như khi anh ta vào trong đó. Anh ta không hề ý thức rằng đo slà điều mà bản thân anh ta đã quyết định làm hoặc rằng anh ta đã có thể lựa chọn. Có vẻ như anh ta hoàn toàn bị động. Nhưng em nghĩ trong cuộc đời thực, người ta cũng thế. Không dễ gì để tự mình lựa chọn.”
“Cậu thấy mình giông giống nhân vật chính trong Người thợ mỏ không?”
Tôi lắc đầu. "Không, em không bao giờ nghĩ thế”
"Nhưng ngưoìw ta cần bấu víu vào một cái gì chứ” Oshima nói . "họ cần phải vậy để tồn tại. Cậu cũng làm thế mặc dù cậu không nhận ra. Như Goethe đã nói : tất thảy đều là ẩn dụ”

Các bản nhạc đang tìm....

Carl Nielsen: Helios, overture, op.17

Sunday, September 19, 2010

The Scene S01E01: The Release Process

We are sure most of our readers have enough knowledge about the scene but there might be few who don’t really know how it all works. And In this mini-series articles we will give you some more information about The Scene, so you all know how all those games and movies get to your computer. // Martin
Episode 1: how does new stuff get released? Read all the info after the break!

Situation: an English group releases a new movie ( DVDRip )
Take into consideration:
- In this example the supplier didn’t first drive home with the copy, but apparently uploaded from work, which is highly unlikely. But how long does it take him to get home in the example? 5 hours? 2? I therefor didn’t take it into consideration.
- There was no delay. Noone was busy, no work, no school, everything started right away.
Step 1. 0 hour.
A ‘supplier’ gets access to a new movie, he quickly ‘!dupe’ checks a IRC bot run by a friend of the group he works for. In less than a second, this irc bot searches for him the entire scene history of 4.5 million releases!
Step 2. 10 seconds.
He confirms the movie is not yet released, so he puts the disk into his pc and copies it’s contents to his hard disk. Once that is done, he starts the ssl upload to the private FTP of his group.
Step 3. 15 minutes.
The upload is done.
The group is notified in their private IRC channel either by a automated script connected to their ftp or the supplier himself.
A second dupe check is done to make sure it’s still not released yet, and the ‘ripper’ gets alarted; the race in on!

Talk less – Listen more

When you talk, you repeat what you already know; when you listen, you often learn something. 
      —  Jared Sparks

Thursday, September 16, 2010

Kĩ năng đọc siêu tốc

Bạn có biết là những thiên tài như Các Mác, Lê-nin, Napoleon, Balzắc.... đều nổi tiếng là những người đọc sách thần tốc? Ví dụ: Napôlêon đọc được 2000 từ trong vòng một phút, văn hào Balzắc đọc một cuốn tiểu thuyết vào trăm trang chỉ trong vòng nửa giờ đồng hồ, còn V.I. Lênin thì người đã đọc nhiều và đọc nhanh  tới mức “khủng khiếp”. Cách đọc của Người không đọc từ dòng này qua dòng khác mà là lướt từ trang này qua trang khác, nhanh chóng nắm nội dung một cách chính xác, thế mà khi cần  vẫn thuộc từng câu, từng chữ của những vấn đề quan trọng trong cuốn sách. Rõ ràng là đọc và đọc sách báo tài liệu trong mọi thời đại, ở mọi lúc, mọi nơi không chỉ là khả năng thể lực, là thói quen lao động trí óc đơn thuần mà phải được xem như một khả năng dẫn tới hoạt động sáng tạo của trí óc gắn liền với việc  xử lý thông tin và đưa ra các giải pháp cần thiết. Nó đã thực sự đóng vai trò quan trọng trong quá trình gián tiếp hay trực tiếp thúc đẩy sản xuất phát triển.

Đôi lúc bạn sẽ phải đối mặt với một chồng sách vở dày kín chữ, làm thế nào để nạp chúng vào đầu?

- Rõ ràng trong thời đại công nghệ thông tin ngày nay thì ai có nhiều thông tin hơn, người đó sẽ là người chiến thắng.Các nhà khoa học thống kê rằng hiện nay, trên thế giới cứ 10 đến 15 năm thì khối lượng thông tin ra tăng gấp đôi, và bạn thử hình dung cứ mỗi phút có khoảng 5-7 nghìn trang sách ra đời! Chỉ trong nửa thế kỷ qua, khối lượng sách in đã tăng lên 4 đến 5 lần, song đó chưa phải giới hạn. Các nhà bác học tính rằng, cứ đà này thì trong khoảng vào thập kỷ nữa, quả đất của chúng ta sẽ được phủ một “tấm chăn giấy” dày tới... nửa mét. Do khao khát tri thức, đội quân đọc sách báo cũng tăng lên ghê gớm. Ở một nước có chừng 200 triệu dân đã có khoảng 400 ngàn thư viện và xấp xỉ 4 tỷ cuốn sách, kéo theo hàng trăm triệu người đến đọc.

Wednesday, September 8, 2010

[IMG] CollierGodivaBaja

Đẹp tuyệt vời !

Forget What You Know About Good Study Habits

Every September, millions of parents try a kind of psychological witchcraft, to transform their summer-glazed campers into fall students, their video-bugs into bookworms. Advice is cheap and all too familiar: Clear a quiet work space. Stick to a homework schedule. Set goals. Set boundaries. Do not bribe (except in emergencies).
Ellen Weinstein

And check out the classroom. Does Junior’s learning style match the new teacher’s approach? Or the school’s philosophy? Maybe the child isn’t “a good fit” for the school.
Such theories have developed in part because of sketchy education research that doesn’t offer clear guidance. Student traits and teaching styles surely interact; so do personalities and at-home rules. The trouble is, no one can predict how.
Yet there are effective approaches to learning, at least for those who are motivated. In recent years, cognitive scientists have shown that a few simple techniques can reliably improve what matters most: how much a student learns from studying.
The findings can help anyone, from a fourth grader doing long division to a retiree taking on a new language. But they directly contradict much of the common wisdom about good study habits, and they have not caught on.
For instance, instead of sticking to one study location, simply alternating the room where a person studies improves retention. So does studying distinct but related skills or concepts in one sitting, rather than focusing intensely on a single thing.
“We have known these principles for some time, and it’s intriguing that schools don’t pick them up, or that people don’t learn them by trial and error,” said Robert A. Bjork, a psychologist at the University of California, Los Angeles. “Instead, we walk around with all sorts of unexamined beliefs about what works that are mistaken.”
Take the notion that children have specific learning styles, that some are “visual learners” and others are auditory; some are “left-brain” students, others “right-brain.” In a recent review of the relevant research, published in the journal Psychological Science in the Public Interest, a team of psychologists found almost zero support for such ideas. “The contrast between the enormous popularity of the learning-styles approach within education and the lack of credible evidence for its utility is, in our opinion, striking and disturbing,” the researchers concluded. 
Ditto for teaching styles, researchers say. Some excellent instructors caper in front of the blackboard like summer-theater Falstaffs; others are reserved to the point of shyness. “We have yet to identify the common threads between teachers who create a constructive learning atmosphere,” said Daniel T. Willingham, a psychologist at the University of Virginia and author of the book “Why Don’t Students Like School?”

Tuesday, September 7, 2010


Some of the biggest challenges in relationships come from the fact that most people enter a relationship in order to get something: they’re trying to find someone who’s going to make them feel good. In reality, the only way a relationship will last is if you see your relationship as a place that you go to give, and not a place that you go to take.
      -– Anthony Robbins

Saturday, September 4, 2010

Mr. Big - To Be With You

Bản live quá chất, lead hay, hát đỉnh :>


Oh I had a lot to say was thinking on my time away
I missed you and things weren't the same

I'm sorry I'm bad, I'm sorry you're blue, I'm sorry about all things I said to you

And I just wanted to say I'm sorry

Tuesday, August 31, 2010

12 Things to Consider When Shopping for a Laptop

Laptops are everyday items for business, home, and study use. If you haven't ventured into purchasing one for yourself yet, do you feel confident enough to work out what type will best suit your needs? After all, they come in many different sizes, colors, and types, making it a challenging choice to find the "right one". This article is aimed at walking you through the key considerations prior to purchasing a laptop, to ensure that you end up with one that will serve your needs well.


  1. Consider whether a laptop has the advantages you're looking for. If you haven't had a laptop before, it can be a good idea to consider the possible benefits of owning one. When compared with a desktop, laptops have the following advantages (and disadvantages):
    • You can take a laptop with you wherever you go, even abroad provided that you take a power adapter as well.
    • Laptops are now more affordable and competitive in their pricing.
    • Many laptops can do what we expect most desktops to do.
    • Laptops save on space and are easy to move out of the way.
    • There are a few negatives: Laptops are easy to steal if you forget to take care when traveling with them. Their battery life isn't extraordinarily long and can be frustrating if you want to work without electricity for a long period of time, such as on a plane or sitting at the shore near your vacation cottage. The average lifetime of laptops is also significantly lower than for desktop computers. If you plan on using your laptop exclusively, you will probably have to upgrade after two years. Due to the proprietary nature of laptop hardware, even something as silly as a broken mouse button or gummed up keyboard can't be fixed without mailing the laptop back to the manufacturer, usually at cost to you. 

Wednesday, August 25, 2010

20 Things I've Learned From Traveling Around the World for Three Years

On March 13, 2007, I handed over the keys to my house, put my possessions in storage and headed out to travel around the world with nothing but a backpack, my laptop and a camera.

Three and a half years and 70 countries later, I've gotten the equivalent of a Ph.D in general knowledge about the people and places of Planet Earth.

Here are some of the things I've learned:

1) People are generally good. Many people are afraid of the world beyond their door, yet the vast majority of humans are not thieves, murderers or rapists. They are people just like you and me who are trying to get by, to help their families and go about living their lives. There is no race, religion or nationality that is exempt from this rule. How they go about living their lives might be different, but their general goals are the same.

2) The media lies. If you only learned about other countries from the news, you'd think the world was a horrible place. The media will always sensationalize and simplify a story. I was in East Timor when the assassination attempts on President José Ramos-Horta, and Prime Minister Xanana Gusmão in 2008. The stories in the news the next day were filed from Jakarta or Kuala Lumpur, not Dili. It was all secondhand news. I was in Bangkok during the political protests this year, but you'd never have any idea they were taking places if you were not in the immediate area where the protests were taking place. The media makes us scared of the rest of the world, and we shouldn't be.

3) The world is boring. If there isn't a natural disaster or an armed conflict, most places will never even be mentioned in the news. When is the last time you've heard Laos or Oman mentioned in a news story? What makes for good news are exceptional events, not ordinary events. Most of the world, just like your neighborhood, is pretty boring. It can be amazingly interesting, but to the locals, they just go about living their lives.

Tuesday, August 24, 2010

Manually installing the JDK 6.

Setting up the JAVA_HOME and PATH variables:
 Copy 2 dong nay xuong cuoi file .bashrc
export JAVA_HOME=/home/hvnsweeting/jdk1.6.0_21/bin/java
export PATH=$PATH:/home/hvnsweeting/jdk1.6.0_21/bin
Setting up the default JRE
root:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/home/hvnsweeting/jdk1.6.0_21/jre/bin/java" 1
root:~$ sudo update-alternatives --set java /home/hvnsweeting/jdk1.6.0_21/jre/bin/java

Is Oracle Becoming the New Microsoft?

Is Oracle Becoming the New Microsoft?

In the span of just one week, Oracle made two major moves that sent open source aficionados into fits: It sued Google over alleged misuse of Java and shut the door on OpenSolaris. "Oracle is an enemy of everyone," said blogger Martin Espinoza. "It is in their best interest to keep their fork of MySQL weak, and indeed to do anything they can to sell seats of Oracle, the world's most overpriced RDBMS."

"Oracles are dumb," the great John Milton once wrote, and though it may not be the meaning he intended, that's a fair description of the prevailing sentiment in the Linux blogosphere these days.
It's a single Oracle (Nasdaq: ORCL) being referred to today, of course -- Oracle Corporation, that is, owner of Sun, jealous protector of Java and Solaris, and just possibly the most widely despised company in the FOSS arena of late, excepting of course Microsoft (Nasdaq: MSFT).
Is it any surprise? Between its little lawsuit against Google (Nasdaq: GOOG) and its decision to pull the plug on OpenSolaris, it surely must have expected at least a little Linuxy wrath.
Let's just say it can't be disappointed.

'The New Darth Vader?'

"Is Oracle becoming an 'evil empire?'" was the headline over at ZDNet, for example.
"Oracle: The New Darth Vader?" was the question asked at PCWorld.
"Oracle is appearing to become more and more of a roadblock to Linux development," wrote helios on LXer, meanwhile. "If it can be used to make their stockholders happy, then we're in good shape, otherwise, don't look to Oracle for any altruistic behavior on the FOSS front."
Comparably dark thoughts were being expressed about the company by bloggers far and wide, so Linux Girl knew it was time to dig deeper.

'An Enemy of Everyone'

"Oracle is an enemy of everyone," Hyperlogos blogger Martin Espinoza told LinuxInsider. "It is in their best interest to keep their fork of MySQL weak, and indeed to do anything they can to sell seats of Oracle, the world's most overpriced RDBMS."
Sun was "buying companies and firing the knowledgeable -- and thus expensive -- employees as fast as it could, and then it was bought by Oracle, which can only mean that those purchased products will go downhill even faster," Espinoza added. "Many of them are things which businesses depend on, and which were good products before they were purchased by Sun and it became impossible to get support On-demand Remote Support - Free Trial from LogMeIn Rescue: Fast, secure solution for today's most popular platforms..
"I can only imagine that Oracle sees itself as a sort of future Computer Associates, except more successful," he concluded. "I see them as eventually becoming more of the same."

Feeling Unsafe About http://

On the WebSockets mailing list, there is a heated discussion going on about whether or not WebSockets should be deployed over TLS (aka “https”) or not.  The common misconceptions about TLS arise, of course.  But it has become increasingly clear that most people view protocol security completely backwards, because of HTTP.  (Thanks to Jim Roskind for crystallizing this)
Today, we view the web as two protocols:unlocked
  • HTTP:  The protocol of the web
  • HTTPS: The secure version of HTTP.  Cool!
But we should think of it like this:
  • HTTPS: The protocol of the web
  • HTTP: The insecure version of HTTPS.  Yikes!
We shouldn’t feel safe when we use https.  We should feel unsafe when we use http.
Our vantage point is backwards because we started with the notion that security is an “add on”.  In today’s hostile networking environment, nothing could be further from the truth.  Security is not a feature, but a requirement.  Offering an “insecure” version for those that want to play risky should be the optional feature.  This just becomes more true when you think of the fact that new protocols will be in use 10 years from now…

[IMG]The Programmer Hierarchy [Funny]

[IMG] Slow motion Karate chop

Friday, August 20, 2010

Why That Girl in the Bar Looks Hotter After You've Had Five Beers

"Everyone looks better after you've tipped back a pint or two, and now we may know why. It turns out that alcohol dulls our ability to recognize cockeyed, asymmetrical faces, according to researchers." Discovery News 08/17/10

What advice would you give to a graphic design student?

 Design does not equal client work.
It’s hard to make purple work in a design. The things your teachers tell you in class are not gospel. You will get conflicting information. It means that both are wrong. Or both are true. This never stops. Most decisions are gray, and everything lives on a spectrum of correctness and suitability.
Look people in the eyes when you are talking or listening to them. The best teachers are the ones who treat their classrooms like a workplace, and the worst ones are the ones who treat their classroom like a classroom as we’ve come to expect it. Eat breakfast. Realize that you are learning a trade, so craft matters more than most say. Realize that design is also a liberal art. Quiet is always an option, even if everyone is yelling. Libraries are a good place. The books are free there, and it smells great.
If you can’t draw as well as someone, or use the software as well, or if you do not have as much money to buy supplies, or if you do not have access to the tools they have, beat them by being more thoughtful. Thoughtfulness is free and burns on time and empathy.
The best communicators are gift-givers.
Don’t become dependent on having other people pull it out of you while you’re in school. If you do, you’re hosed once you graduate. Keep two books on your nightstand at all times: one fiction, one non-fiction.
Buy lightly used. Patina is a pretty word, and a beautiful concept.
Develop a point of view. Think about what experiences you have that many others do not. Then, think of what experiences you have that almost everyone else has. Then, mix those two things and try to make someone cry or laugh or feel understood.

Design doesn’t have to sell. Although, that’s usually its job.
Think of every project as an opportunity to learn, but also an opportunity to teach. Univers is a great typeface and white usually works and grids are nice and usually necessary, but they’re not a style. Helvetica is nice too, but it won’t turn water to wine.
Take things away until you cry. Accept most things, and reject most of your initial ideas. Print it out, chop it up, put it back together. When you’re aimlessly pushing things around on a computer screen, print it out and push it around in real space. Change contexts when you’re stuck. Draw wrong-handed and upside down and backwards. Find a good seat outside.

[IMG]History of the Internet


Thursday, August 12, 2010

10 dự án lập trình viên PHP nên trải qua

Đối với một lập trình viên PHP bạn luôn hiểu rằng PHP là một ngôn ngữ phổ biến và có một lượng khổng lồ mã nguồn để tham khảo, đa số các thành phần của một Website đã được phát triển dưới dạng nguồn mở việc sử dụng nó yêu cầu tuân thủ theo giấy phép của tác giả đôi khi không bao gồm sự ràng buộc nào.
Việc mở mã nguồn mang lại rất nhiều lợi ích so với việc bạn giữ mã nguồn của mình trừ trường hợp thương mại hóa sản phẩm, đơn cử như:
  • Mã nguồn mở được đóng góp bởi nhiều người, kết quả của sản phẩm được làm bởi nhiều người sẽ tốt hơn rất nhiều so với việc bạn phát triển một mình.
  • Dễ dàng cập nhật tính năng mới dựa trên sự đóng góp mã nguồn của các nhà phát triển khác nhau.
  • Giảm thời gian phát triển, giảm giá thành sản phẩm...
  • và nhiều lợi ích khác nữa... :)
Tớ đã làm việc với PHP trong khoảng 4 năm trở lại đây, bản thân là một Freelance Developer nên không tự cho rằng mình là Master PHP bởi tớ luôn sử dụng PHP như một thành phần phát triển theo ý thích chứ không tâm niệm mình phải làm chủ được ngôn ngữ đó :D Những dự án dưới đây là những thành phần phổ biến của một Website, tính thông dụng của nó như là một bắt buộc phải biết đối với Web Developer.
  • Gửi eMail: Đây là tính năng phổ biến nhất của mọi Website, hàm mail(); là đủ cho hầu hết các yêu cầu khác nhau của người dùng, ngoài ra PHP còn hỗ trợ một số hàm khác nếu bạn muốn đính kèm tập tin hay gửi mail của SMTP server để có thể dễ dàng tạo một chương trình gửi eMail.
  • Hỗ trợ người dùng: cho phép cá nhân hóa nội dung Website, có thể đa sở hữu, phân cấp quyền quản lý thông tin của cá nhân cũng như các nội dung khác. Tính năng chính của thành phần này hỗ trợ việc đăng nhập, truy vấn sửa đổi cơ sở dữ liệu, phiên làm việc...
  • Tạo RSS, tin rút gọn Feeds: Thời điểm hiện tại Website của bạn sẽ được đánh giá là tụt hậu nếu không hỗ trợ Feed trong việc cung cấp thông tin, lấy tin bằng Feed cho phép người dùng đơn giản hóa việc theo dõi nội dung của một Website nào đó. Tớ sử dụng Magpie RSS trong phần lớn các dự án của mình.
  • Xác định vị trí: xác định vị trí địa lý của người dùng đơn giản nhằm thống kê lượng người truy cập nội dung từ nước nào để có thể phục vụ tốt hơn, tính năng này không thật sự quan trọng nhưng đôi khi lại khá hiệu quả nếu bạn muốn biết người của nước nào hay vào Website mình nhất :D
  • Lấy thông tin từ xa: truy vấn thông tin từ nhiều nguồn khác nhau, thích hợp với một cổng thông tin tổng hợp, các nội dung này được lưu vào cơ sở dữ liệu.
  • Lưu tạm dữ liệu {Cache data}: giảm truy vấn tới cơ sở dữ liệu, tránh quá tải hệ thống do phần lớn các dự án cá nhân không được tối ưu về mã nguồn cũng như hiệu xuất làm việc, lưu tạm dữ liệu là một giải pháp đơn giản đề tối ưu hệ thống Website có thể hoạt động ổn định.
  • Hệ thống giao diện: Dễ dàng thay đổi giao diện Website, đơn giản hóa quá trình thiết kế, giảm công sức tạo lập Website mới. Một hệ thống giao diện tốt không có nghĩa là phải đầy đủ tính năng mà chỉ cần đáp ứng được đúng nhu cầu sử dụng, tốt nhất là bạn nên tự viết sẽ hoàn hảo hơn sử dụng của người khác, theo tớ thì Hệ thống giao diện gần như là nhân {core} của một hệ thống quản lý nội dung. Tiêu biểu như Smarty của PHP
  • BBcode: Tính năng thường thấy của các diễn đàn, nó đơn giản hóa việc trình bày nội dung giúp người sử dụng thông thường có thể tạo một văn bản chuyên nghiệp mà không cần biết về mã HTML, khách hàng của bạn sẽ dễ dàng sử dụng nó như một ứng dụng văn phòng mà thôi. Hãy thử StringParser_BBcode vì nó rất dễ tùy biến theo ý muốn của bạn.
  • Hệ thống truy vấn cơ sở dữ liệu: Cơ sở dữ liệu là phương án tối ưu nhất để lưu trữ dữ liệu của bạn, dữ liệu của bạn có thể lưu trong một hệ CSDL lớn như Mysql hay đơn giản như là một Text file thì hệ thống truy vấn cơ sở dữ liệu sẽ hỗ trợ việc truy vấn dữ liệu, đơn giản và giản lược mã nguồn đi rất nhiều, giảm bớt công sức viết mã nguồn. Cũng như hệ thống giao diện nó là một trong những thành phần quan trọng nhất của tớ khi viết một dự án Web. Hãy thử ezSQL để giảm bớt khai báo truy vấn cho từng query của bạn.
  • Môi trường nhập liệu văn bản: Về cơ bản nó là một dạng xử lý nội dung form được hỗ trợ bở Javascript và kết hợp BBCode nhằm phục vụ người dùng một cách tốt nhất có thể, mục đích của nó là cố gắng mô phỏng môi trường làm việc như các ứng dụng văn phòng. FCKEditor là một ví dụ đơn giản nhất :)
Mỗi người một quan điểm khác nhau nhưng ít nhiều ai cũng từng phải làm việc qua một trong những dự án trên, 10 thành phần đó không phải là toàn bộ mà chỉ là thông dụng thôi.

Huyền thoại Ruby on Rails đã sụp đổ nhờ PHP

Cách đây 3 năm Ruby on Rails bắt đầu tấn công vào cộng đồng Java nhờ những lời lẽ khoa trương về sức mạnh của nó. Dereck của CDbaby đã bị xao động và quyết định viết lại website của ông ta dựa trên Rails sau khi tuyển mộ một trong các nhân vật chủ chốt của cộng đồng Rails. Hai năm sau đó Dereck đã thấm đòn: Ruby và Rails không phải là viên đạn bạc cho các ứng dụng web.
Ông ta đã tiến hành viết lại site của mình bằng PHP trong 2 tháng và giảm số dòng code từ 90 000 dòng Ruby/Rails xuống còn 12 000 dòng PHP với những bài học rút ra được từ cách tổ chức ứng dụng theo tinh thần của Rails. Những gì ông ta có được đều rất đáng kể: tốc độ, khả năng bảo trì của ứng dụng, không còn ác mộng về Rails.

Monday, August 9, 2010

Kế hoạch tốt nhất là không có kế hoạch ?!

Cuối tuần trước, tôi trở lại ĐH Princeton, nơi tôi từng theo học hơn 20 năm về trước, để thuyết giảng. Khi đi ngang qua sân trường, tôi chợt nhớ về một nỗi băn khoăn đã ám ảnh tôi một vài tháng trước khi kết thúc quãng đời sinh viên: ra trường tôi sẽ làm gì, giờ thì sao nhỉ?
Tôi đã không nhận được câu trả lời nào. Tôi không có một công việc. Tôi không có một kế hoạch.
Nhưng, hóa ra không có kế hoạch nào lại có vẻ là kế hoạch tốt hơn cả.
Mark Zuckerberg và các bạn cùng phòng chính là những sinh viên nghiên cứu ngành khoa học máy tính không sở hữu một kế hoạch cụ thể nào. Họ phát triển mạng xã hội Facebook đơn giản vì nó rất vui nhộn, thử nghiệm tài năng của bản thân, và tạo ra một cách liên lạc mới lạ cho các sinh viên ĐH Harvard và các cựu học sinh.
Zuckerberg không bao giờ có thể ngờ rằng số lượng thành viên tham gia mạng xã hội này có thể lên đến hơn 400 triệu. Nhưng Zuckerberg cũng chưa có ý tưởng kiếm tiền từ trang mạng này. Tuy nhiên cậu vẫn duy trì trang mạng đến năm 2007, khi mà Facebook cho phép các nhà lập trình khác thiết kế các ứng dụng, và các nhà lập trình trò chơi mua các quảng cáo trên Facebook để thu hút người chơi. Khó có thể nói rằng chiến lược của Zuckerberg bắt đầu từ năm 2004, khi cậu phát triển trang mạng này.

Mini Cannon Firing and Destroying Targets (Among the world's smallest guns)

[IMG] Eye of nature

Sunday, August 8, 2010

Bermuda Triangle Mystery Solved

Computer studies of ocean floors around the world, particularly the area known as The Bermuda Triangle, reveal evidence of massive methane explosions in the past. For years, believers in the paranormal, aliens, and other outlandish theories pointed to the the disappearance of ships and aircraft as an indicator of mysterious forces at work in the “Devil’s triangle.” Scientists have finally pointed the rest of us to a more plausible cause.
The presence of methane hydrates indicates enormous eruptions of methane bubbles that would swamp a ship, and projected high into the air- take out flying airplanes, as well.
Any ships caught within the methane mega-bubble immediately lose all buoyancy and sink to the bottom of the ocean. If the bubbles are big enough and possess a high enough density they can also knock aircraft out of the sky with little or no warning. Aircraft falling victim to these methane bubbles will lose their engines-perhaps igniting the methane surrounding them-and immediately lose their lift as well, ending their flights by diving into the ocean and swiftly plummeting.

Bermuda Triangle Mystery Solved

Thursday, August 5, 2010

Corny , Phoney

Trong tiếng Anh, corn là bắp, nhưng corny không có nghĩa là “rất bắp”! Corny có nghĩa là nhàm, là nhàu nhĩ. Nếu xem American Idol, bạn sẽ để ý thấy giám khảo Simon Cowell hay dùng từ này.

Trong Catcher in the Rye (Bắt trẻ đồng xanh), có một từ rất hay là phoney. Phoney có nghĩa là giả, không chân thành.
Từ corny đến phoney, khoảng cách không quá xa.

Leanr PHP & Python

PHP For the Absolute Beginner

The Python Tutorial

Wednesday, August 4, 2010

7 Reasons Why You Are Time Poor

It is a common complaint, “I don’t have enough time.” In fact, I'd bet that you said these exact words in the last 48 hours.

“I don’t have enough time to...

...finish my work,
...get in shape,
...start a hobby,
...spend with my family.”

While we all have the same amount of time in the day, why is it that some people seem to accomplish a ton more than you? From the President to the postman, people all have the same time frame but accomplish loads more than in a single day that you seem to accomplish in a week.

Why is this? Why do some struggle and drown in their obligations, while others make the impossible seem effortless? Why are some people time poor while others are rich? Which are you?

The only difference is how you choose to spend your time. Here are some things to consider so that your days are loaded with accomplishments.
  1. You Don’t Say No
    One of the biggest mistakes people make is to take on burdens that do not belong to them. When you don’t say no, you find yourself doing other people’s work. This happens both in the workplace and in day-to-day life. Ever find yourself doing someone else’s job simply because you couldn’t say no?
  2. You Don’t Know Your Obligations
    How can you tell if you are going to overflow your bucket if you don’t know how full it is? It is common to over commit your time if you are not aware of all your obligations. You need to make a commitment list. List out and budget all of your commitments from work, life, and community. Only then can you know your remaining time balance.
  3. You Have Too Much Life Friction
    Life Friction is self-inflicted time management. In other words, you create your own crises by your own actions and disorganization. Life friction means extra re-work, increased stress, and wasted time. Ever get back from running errands and realize you have to go back out because you forgot something?
  4. You Lolly-gag
    It is amazing that some of the same people that complain they don’t have enough time are the same ones that lolly-gag and waste it. Ever see that person who arrives late to work and then spends the next hour and 15 minutes getting ready to start working? You don’t need to spend every second of the day under a stopwatch, but be aware of when you waste time whether it is gossiping, surfing the Internet, or recapping the weekend for the third time.
  5. You Don’t Put Your Priorities First
    Ever finish a busy workday only to think to yourself that you didn’t get anything important done? If you don’t put your priorities first, it won’t matter how fast you work, you may never get to what is important.

    You have to be able to say, “I am not going to do this, because something else is more important.”
  6. You Try to Do Everything Yourself
    We all have the same number of seconds in the day. At a certain point, the only way to get more done is to have someone help. But, some people have trouble letting others do work because they feel that no one can do it as well as they can.

    This can be particularly troublesome when a leader will not let their team do their duties and instead tries to take on everything themselves.
  7. You Don’t Finish Things
    When you don’t finish tasks, you are only creating more work for yourself. Tasks undone actually create more work for you. They take more time to pick back up when you return to them. They create unnecessary complications when you leave them to the last minute.

    Ever leave an expense report undone for a long period of time? It ends up taking 5X’s as long to complete compared to if you had done it right away.
What habits or behaviors do you have that keep you time poor?

Monday, August 2, 2010


  1. No shortage of things to do. We have hundreds of open tickets, with difficulty that varies from trivial fixes to substantial new systems.
  2. Extensive feedback on every contribution. You'll learn a lot about how to write better code.
  3. Thousands of unit tests, run on lots of different platforms. You'll learn how to write good tests and keep your code portable.
And of course, being an open source project we're always looking for more contributors, so we will be happy to have any help you would be inclined to give.

Saturday, July 31, 2010

Your time is limited…

Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma – which is living with the results of other people’s thinking. Don’t let the noise of other’s opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.
        -– Steve Jobs

Start each day anew

Finish each day and be done with it. You have done what you could. Some blunders and absurdities no doubt crept in; forget them as soon as you can. Tomorrow is a new day; begin it well and serenely and with too high a spirit to be encumbered with your old nonsense.
        -– Ralph Waldo Emerson

Anyone can give up…

Live each day like it’s your last