Showing posts with label Article. Show all posts
Showing posts with label Article. Show all posts

Friday, November 18, 2011

Pragmatic Thinking: Novice vs Expert

Recently I started reading Andy Hunt's fine book "Pragmatic Thinking And Learning." Hunt is notorious for writing books which offer practical, insightful advice in which developers can apply to their work on a daily basis.  His most famous book is "The Pragmatic Programmer", widely considered one of the top agile programmer books of all time. Even after reading the book 7 years ago, I still refer to it a few times a month. My colleagues and I bring up the "broken window" theory, or often throw out the phrase "Don't Assume, Prove it," sometimes to the chagrin of the unfamiliar. :)

The Book

Pragmatic Thinking and Learning is a different type of book, however. It explores the human mind and how it relates to learning and cognitive thought. To my surprise, it is very well researched and touches on psychology and neuroscience. Hunt brings the concepts home by relating them to the software industry and the toils and travails of an agile developer.

Friday, September 9, 2011

The Truly Educated Never Graduate

http://stoffe.deephacks.org/2011/08/09/the-truly-educated-never-graduate/

Science can be very complex in theory and people failing to think in these abstract terms probably get cold feet prematurely in their choice of education. Other people have a hard time to apply theory in practice even though they are all very smart people! Indeed, having a university degree is far from an insurance of being intelligent.
Alan Kay, the father of object-oriented programming, shares some very interesting ideas around teaching and understanding. James Bach also touches on the subject in Secrets of a Buccaneer-Scholar. Noam Chomsky and Sir Ken Robinson further acknowledge the failure of modern education in a very deep and interesting analysis.
I think this is very unfortunate, because it means that we (the people) are somewhat mislead in a system that does not encourage individuals to pursue our their inner passion.

Monday, March 28, 2011

7 Life Changing Lessons You Can Learn from Mark Twain

7 Life Changing Lessons You Can Learn from Mark Twain: "
in 1871, Mark Twain was born as Samuel Langhorne Clemens in Florida, Missouri, U.S. He was a writer, and lecturer. He was called the “greatest American humorist of his age.” He wrote the now classic novels, Adventures of Huckleberry Finn and The Adventures of Tom Sawyer.

He wrote some great stuff that is still read by millions today. He also had some great quotes that continue to live on because of the wisdom in them. Mark Twain was a funny, witty, and wise guy. I hope the below quotes will astonish, enlighten, and amuse you.


  1. 'I have been through some terrible things in my life, some of which actually happened.'


    We walk around all our lives thinking about things that will never happen. We worry, dread, and fear what hasn’t happened and what probably never will.

    Our minds are out of control. Our heads are filled with negative thoughts that have no bearing in reality, even if we think they do.

    Eliminating bad thoughts is possible, through methods such as EFT and The Work. It’s not easy, but worth it.

Saturday, March 26, 2011

You Have a Disease. Here’s the Cure.


I have a disease. No, not life threatening, luckily; but one that does hinder my ability to be both productive and well-rounded. And you know what? It’s quite possible that you have it too. Disagree with me? Well sure you do, but admitting you have a problem is the first step!


It’s not like we’re content with monthly publications any longer.

The disease I’m referring to is one that I’ve spoken about numerous times in recent years: the “always on” effect. Particularly as web developers, we’re consumed by media and gadgets. You finish up a day of coding, and how do you prop up your feet to relax? Probably with a visit to Engadget to catch up on the “news.” But who’s to blame you? It’s not like we’re content with monthly publications any longer. Heck, we’re not even content with weekly, or even daily news! You — and by “you,” I mean “I” — probably check in on the site, or one of its siblings (Mashable, TechCrunch, etc.) twice a day. It’s admittedly a waste of time, yet we don’t stop.

At first, in the late nineties, all was well. How amazing that we have access to up-to-the-minute news at all times?
Sure, we had to dial in, and pray that the phone didn’t ring, but, even so, the accessibility of endless information was well worth the effort.
But then, this developing illness became a bit more extreme with the introduction of a new generation of smart phones with non-kill-the-person-sitting-next-to-you-while-waiting-for-the-page-to-load browsers! This introduced a whole new level of availability. Not content to access the web only via a wired desktop computer, we can now do so on the go (some taking the “on the go” idea a bit too far…think Tweeting while driving).


So what’s wrong with reading gadget sites twice a day? Well certainly there’s nothing inherently wrong with doing just that, but it’s rarely “just that.” In fact, it’s a symptom of a much bigger problem: information/media/gadget overload. Combine your daily workload with web browsing, social media and RSS feeds, and you get a lot of eye strain.

We all know that feeling; it’s the evening, and you find that, for the last twenty minutes or so, you’ve been mindlessly browsing the web, accomplishing absolutely nothing. During the course of that twenty minutes, it’s likely that you visited more than one site multiple times! Because hey, the refresh button could reveal all sorts of new information.

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

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."

Friday, August 20, 2010

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.

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.
Narga

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.


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?

Thursday, July 22, 2010

Know Your Icons Part 1 – A Brief History of Computer Icons

As with great works of art, you must look into the past to appreciate the future. With roots as far back as the 1970′s, the humble icon has come a long way. Following is a collection of icons though history. Although there have been many other operating systems in the time between 1981 – 2010, I’ve hand picked the ones of the most significance to modern icon design. These designs show just a small fraction of the icons in the many and varied User Interfaces throughout the years. To learn more about the history of User Interface Design you can find a comprehensive article on the subject on Wikipedia.


1981 Xerox 8010 Star — The First Consumer GUI Computer

In 1973 the Xerox Alto was the world’s first GUI (Graphical User Interface) based computing system. Designed around an "office" metaphor (also a first), the Alto was built as a research computer and therefore wasn’t available for commercial release. With 2,000 machines worldwide, the Xerox Alto was so significant, it was a source of inspiration for the Apple Lisa (1983). In 1981 the Xerox Star was released, incorporating many of the design features of the Alto. The Xerox icons demonstrate a consideration for human interaction. As you can see, Calculator, Document, Folder and Trash haven’t changed in almost 30 years.
1981 – Xerox 8010 Star

1983 Apple Lisa — Popularized the GUI

Development of the Apple Lisa started in 1978 and was heavily influenced by the earlier Xerox computers. Hoping to carve a niche in the personal computing market, Apple adopted the office metaphor to make navigation easier for new users. Lisa was an advanced GUI for the time as it had movable "Desk Accessories" (early Widgets), drop-down menus and folder based directories. You can see the icons are not much different from the Xerox, except for the size and single pixel outlines, and the use of the computer as the preferences icon (it’s now common to use cogs).
1983 – Lisa Office System 1

1984 Apple Macintosh 1.0 — Artist Designed Icons

A year after Lisa the Apple Macintosh 1.0 was released. We now see drag and drop file copying, movable windows and fancy new icons! The Macintosh icons were designed by the now legendary Susan Kare. Susan Kare has to be the all time master of Icon design and was responsible for many icons including the MacPaint interface (fig 2). Kare’s philosophy on icon design is simple, "I believe that good icons are more akin to road signs rather than illustrations, and ideally should present an idea in a clear, concise, and memorable way. I try to optimize for clarity and simplicity even as palette and resolution options have increased." This philosophy is at the core of Apple’s early commercial success.
1984 – Macintosh System 1.0 (fig 1)
1984 – Macintosh System 1.0 (fig 2)

1985 Atari TOS — Isometric Icons

It’s important to note — for those a bit younger than us old sentimental computer users — that the GUI was not only for the Apple systems. The Atari ST had an OS called TOS which had a minimal interface also using the desk metaphor, which by then had become a computer standard. It’s interesting to see that the TOS has Isometric Disk icons (file drawers).
1985 – Atari TOS Version 1.0

1985 Amiga Workbench — Four Color Icons

The Amiga Workbench was made for the Amiga 1000 personal computer. Despite the crudely designed icons, Workbench was actually ahead of its time. Including features such as customizable mouse cursors, four color graphics and multi-state icons. You can see the two states of the "Workbench" icon in the example below. The Amiga broke with the desktop convention and chose to use a workbench with drawers instead of files.
1985 – Amiga Workbench 1.0

1985 Windows 1.0x — Microsoft’s First GUI OS

In 1985 Microsoft finally released its first GUI. The icons are just as crude as the Amiga but don’t include color. It’s interesting to see that the first icons for Windows Paint employ different symbols to MacPaint, in particular the Spray Painter.
1985 – Windows 1.0x

1986 GEOS for Commodore 64 — The Alternative OS

I’ve included GEOS for the Commodore 64 as, at the time, it was the second most popular GUI behind Macintosh 1.0 (based on units shipped). The icons have more character than Windows OS and share the Mac philosophy of clearly expressed metaphors.
1986 – Commodore C64 GEOS

1991 Macintosh System 7 — First Mac OS with Colors

With System 7 we saw the introduction of color to the icons. You may notice that the icons are now slightly raised to appear "clickable".
1991 – Macintosh System 7

1992 Windows 3.1 — New Designer Icons!

In Windows 3.0 (1990) Microsoft employed Susan Kare (who first made icons for the Macintosh 1.0) who greatly improved the designs. In 3.1 Kare further refines the colors and designs for the icons. Windows 3.1 was the first Windows platform with pre-installed True Type Fonts.
1990 – Windows 3

1995 Windows 95 — The Start Button

Windows 95 introduces more colors to the icons and a few more isometric designs. The Windows 95 design is a complete re-build and includes elements that are still part of Windows designs to this day. The elements include, the taskbar, the menu and Microsoft’s famous Start Button.
1995 – Windows 95

1997 Macintosh OS 8 — Brighter Icons for Mac

In Mac OS 8 the icons are now beginning to look brighter and rendered to show a strong light source. Macintosh also starts to implement an isometric style with a strong "drop shadow".
1997 – Macintosh OS 8

2001 Mac OS X v10.0 — Jelly Mac

Mac OS X was released around the time I was studying for my degree in Multimedia. Lovingly called the "Jelly Mac" by most of the students. We couldn’t help but notice the ultra shiny and plastic-jelly like finish of the icons. The icons in OS X are also a huge leap forward in design from the previous OS 9, which was released just two years earlier (OS 9 looks almost the same as OS 8 above.) Presumably, due to the Dock, the icons are rendered either from a straight forward point of view or slightly above. Designed around the new Aqua theme, icons show complex reflections, highlights and textures. Without the Aqua theme, I doubt that icon design would be as desirable as it is today.
2001 – Mac OS X v10.0

2001 Windows XP — Bright Soft Icons

In 2001 Microsoft introduced, yet another, completely new OS system. Adopting a saturated color palette, the icons are rendered with a soft illustrative look that uses a single light source and a semi transparent drop shadow. They continue to use the isometric style.
2001 – Windows XP

2007 Mac OS X Leopard — Reflective Dock

Mac ditches the stripes and adopts a 3D reflective doc for the icons to "sit on". The use of chrome, glass and reflections is as popular as ever. The icons don’t change much from v10.0.
2007 – Mac OS X Leopard

2009 Windows 7 — Soft and Reflective

The Windows 7 icons are completely different from Windows XP and similar to Windows Vista. The major difference between Vista and 7 is the direction the icons are facing. I haven’t been able to find any official documentation on the change, but I’m not the only one who’s asking the question. The icons in Windows 7 are also softer and more glassy than previous ones.
2009 – Windows 7

10 big ideas from GTD


Josh Kaufman wrote a succinct review of Getting Things Done on his blog, The Personal MBA.  David saw it and commented to Josh, “I’ve run across few people who have “grokked” GTD conceptually as well as you have.”  With Josh’s permission, we’re sharing his complete review here.
~~~~~~~
If you’re ready to stop stressing and start accomplishing your goals, David Allen’s Getting Things Done can help you create a simple, effective personal productivity system.

About David Allen

David Allen is the author of the Personal MBA-recommended book Getting Things Done, as well as Ready For Anything, and Making It All Work. For more information about his work, check out David Allen’s website.
Here are 10 big ideas from David Allen’s Getting Things Done

1. If your day-to-day life is out of control, it’s almost impossible to think strategically or plan effectively.

When you’re feeling overwhelmed about how much you have to do (and who isn’t, really?), it’s difficult to focus on ensuring your life and work is moving in the direction you want to go. That’s why it’s important to get control of your daily tasks before working on your big-picture life planning.
GTD is a “bottom-up” approach to productivity. The goal is to establish a sense of comfort and control over the work that’s on your plate right now, so you can free up some mental energy and space to think about the big stuff.

2. Define what being “done” looks like.

Most of the tasks people keep on their to-do lists are “amorphous blobs of undoability” – commitments without any clear vision of what being “done” looks like. That’s a huge problem – your brain is naturally designed to help you figure out how to do things, but only if you know what the end point looks like.
Everything you’re working on should have a very clear stopping point – a point where you know you’re done. If you don’t know what that point looks like, you’ll find it very difficult to make any progress at all. When you’re having trouble making progress, first clarify what being done looks like.

3. Mental work has five distinct phases: Collect, Process, Organize, Do, and Review

Not all work is the same. There are five separate phases of effective work:
  • Collecting is the act of gathering inputs: resources, knowledge, and tasks. You’ll have a much easier time making use of your available inputs if they’re all in one place before you begin.
  • Processing is the act of examining your inputs: what you can do with the resources at your disposal. This is where you start separating things according to what you’re planning to do next: tasks, projects, future plans, and reference information.
  • Organizing means taking the results of your processing and putting it in a system you trust, so you don’t have to remember it all. Tasks go on your to-do list, projects go on a projects list, future plans go into a tracking system, and reference information goes into a file or database you can access easily.
  • Doing means working through the tasks you can accomplish right now.
  • Reviewing means examining the results of your work, revising your strategy, and improving your systems for better results.
Keep the phases deliberately separate, and you’ll get a lot more done.

4. Get everything out of your head.

Many people try to keep track of everything they need to do in their mind, which is a big mistake. Our brains are optimized for fast decision-making, not storage. Trying to juggle too many things in your head at the same time is a major reason we get stressed out when there’s a lot going on: we’re using the wrong tool for the job.
The best way to stop mentally thrashing and start being productive is to spend a few minutes putting everything on your mind onto paper. You can write or draw – whatever works for you, as long as you can see it when you’re done. Once the information is out of your head, it’s far easier to figure out what to do with it. Even 10 minutes of Externalization can help you feel less freaked out about your workload.
Of course, it’s better not to be freaked out in the first place, so make it easy to capture what you’re thinking on paper. I carry a wallet that has a space for 3×5 index cards and a pen – whenever I have an idea, it’s easy to capture it, even if I don’t have my notebook or computer with me at the time. If you reduce the Friction you experience when capturing ideas, you’ll naturally capture more of them.

Saturday, May 15, 2010

How to Communicate Effectively

Have they really understood the message?!Developing good communication skills is an important part of living a fulfilled life. Effectively communicating your career, personal, and everyday needs in a way that comes across clearly, persuasively, and thoughtfully is crucial; and yet, not everyone knows how. It isn't innate, and many bright, talented, and dedicated people don't get where they should, all because they fail to adequately communicate their point.
Don't let that be your fate. No matter what your age, background, or experience, effective communication is a skill you can learn (no matter how you might feel about it now). With a little self-confidence and knowledge of the basics of good communications, you will be able to effectively communicate your message in both conversations and presentations, in all walks of life.

Wednesday, May 12, 2010

Gửi Eva!

1. Sắc


Đàn ông thường bảo rằng họ yêu vẻ đẹp tâm hồn của người phụ nữ, nhưng là của 1 phụ nữ đẹp. Chẳng hạn như cái tâm hồn đẹp của một khuôn mặt đa diện lồi bất đối xứng, rỗ rá xì mụn không phải là thứ họ quan tâm, không phải là loại phụ nữ có thể chứng tỏ được đẳng cấp của họ khi đi ngoài phố.


Đàn ông đến để chúng ta chọn lựa, không phải đến để chọn lựa chúng ta. Vì vậy, hãy trở nên xinh đẹp. Đàn bà xấu vốn dĩ không có quà.


Monday, May 10, 2010

Why Ubuntu excites me more than Windows or Macintosh

After a lifetime of high-tech disappointment, Hugo Rifkind has found true love, in Ubuntu Linux. As a new version launches, he attempts to share his excitement

Hugo Rifkind

Thursday, May 6, 2010

Rules kids won’t learn in school

Rule #1. Life is not fair. Get used to it. The average teenager uses the phrase “it’s not fair” 8.6 times a day. You got it from your parents, who said it so often you decided they must be the most idealistic generation ever. When they started hearing it from their own kids, they realized Rule #1.
Rule #2. The real world won’t care as much about your self-esteem as your school does. It’ll expect you to accomplish something before you feel good about yourself. This may come as a shock. Usually, when inflated self-esteem meets reality, kids complain that it’s not fair. (See Rule No. 1)

Wednesday, May 5, 2010

10 Reasons To Delete Your Facebook Account

Mark ZuckerbergThis work is licensed under a Creative Commons License. It was originally published on the author's blog.
After some reflection, I've decided to delete my account on Facebook. I'd like to encourage you to do the same. This is part altruism and part selfish. The altruism part is that I think Facebook, as a company, is unethical. The selfish part is that I'd like my own social network to migrate away from Facebook so that I'm not missing anything. In any event, here's my "Top Ten" reasons for why you should join me and many others and delete your account.

44 Ways to Ruin Your Financial Life By Age 30

It was not until I reached 30 that I started to turn my own financial life around. Unfortunately, by then, the damage was done. In retrospect, I often knew the decisions I was making were not-so-smart, but I did them anyway because I could always “pay it off later” or “just save more money when I’m older.” One of the cruel facts of life is that it gets harder when you get older.
Hopefully, by sharing a few of these bad money moves, it will prevent others from doing the same. And don’t worry, if you are over 30 and still doing these things, it is never too late to start living frugal.