by Forrest Sheng Bao http://fsbao.net
(This blog post is NOT allowed to be republished anywhere else without the written or electronic approval from me. It is NOT licensed under any CC licenses or GNU FDL. All rights reserved.)
ok, i made a decision tonight (Friday, Jan. 28, 2011). I am not gonna think about finding a wife until 30. There is a more than 50% chance that I will remain single until 35.
You may say that I am crazy - well, you shouldn't be surprised because i've never asked a girl for a date, though I vow to find one everyday. If I am really gonna do something, I will do it rather than talking all the time.
Life is like a buffet - not a box of chocolates here. My stomach has limited volume. So I can only eat dishes to which I have the strongest appetite.
A male monkey may want to have a wife. By nature, we humans have a greater instinct, making dreams. We can scarify anything for dreams that we value. E.g., we can die for freedom. So I am gonna give up one of my animal instincts for what I want the most in my life over the next few year, as follows.
1. Do some awesome research approaching some beautiful scientific and engineering dreams.
2. Work with energized people on wonderful projects in quite a few high-tech startups.
3. Devote some time on certain missions that are nontechnical but worth doing.
Erica said to Mark, according to the movie The Social Network, "But you are gonna go through life thinking that girls don't like you because you're a nerd. And I want you to know from the bottom of my heart that that won't be true. It'll be because you are an asshole."
So Mark ran back to the dorm and blogged "I need to do something to take my mind off her." Then he started the journey to build the one and only social network website, thefacebook - please drop the "the" on your own.
Oh, The Social Network is really a great movie. You should watch it.
"Far and away the best prize that life offers is the chance to work hard at work worth doing." -Theodore Roosevelt, Labor Day address, 1903
"Being the richest man in the cemetery doesn't matter to me... Going to bed at night saying we've done something wonderful...that's what matters to me." - Steve Jobs, on Gates and Microsoft, Wall Street Journal, summer 1993
"And most important, have the courage to follow your heart and intuition. They some how already know what you truly want to become." - Steve Jobs, ``Stay hungry, Stay foolish,'' Graduation Commencement of Stanford University, 2005
"Do you want to sell sugar water for the rest of your life, or do you want to come with me and change the world?" - Steve Jobs asked John Sculley when inviting John to join Apple from Pepsi.
2011-01-31
2011-01-23
On citation numbers in Computer Science and Electrical Engineering
A fact we cannot ignore is that engineering fields have much lower citations than science fields, especially biology and medicine.
Another fact is that in two fields, computer science and electrical engineering (more computer engineering), conferences are as important as, even more than, journals. Researchers submit full papers (with results) rather than abstracts to conferences. Top conferences can be very competitive. Citations on top conferences can by more than those on top journals.
Here are some useful links.
http://portal.acm.org/citation.cfm?id=1743569&dl=ACM&coll=DL
http://www.timeshighereducation.co.uk/story.asp?storyCode=405789§ioncode=26
Another fact is that in two fields, computer science and electrical engineering (more computer engineering), conferences are as important as, even more than, journals. Researchers submit full papers (with results) rather than abstracts to conferences. Top conferences can be very competitive. Citations on top conferences can by more than those on top journals.
Here are some useful links.
http://portal.acm.org/citation.cfm?id=1743569&dl=ACM&coll=DL
http://www.timeshighereducation.co.uk/story.asp?storyCode=405789§ioncode=26
2011-01-12
Useful programming languages
by Forrest Sheng Bao http://fsbao.net
I have no interest on designing a *beautiful* programming language, but a *useful* one.
By ``beautiful'' I mean that users get bored before they can see enough benefits of a language. By ``useful'' I mean that users are growing their interest on the language in evaluating whether they should use it in the future, though sometimes they may have to spend a lot of time to learn it, e.g., LaTeX and its macros.
Therefore, I don't care how many great theoretical ideas are behind the design of a language. If more than 50% of your target programmers (those who you think that should solve their problems in your language) think your new language is not "useful," you are like MySpace now (just laid off almost half of their employees).
Please think about the reason we design a programming language. For use, right? Making programmers be happy about it, i.e., thinking that their life is easier. O/w, your language is a failure.
Designing a programing language is like designing commercial products, e.g., a blender in the kitchen. No one likes to read the manual for a whole day before they can get press the power button. Of course, a programming language takes more time to learn than a blender. But programmers are your customers and customers are always right. If they are growing frustration, confusion and impatience in learning your language, they won't ask you to refund their time but simply giving up your language at certain point.
If someone needs to read dozens of papers published in the past half century with great pains in order to use your language properly, this language shouldn't be designed from the beginning. Why do you design something that is apparently against your original goal, i.e., to make people use it?
An example. In WWII, Germans used the Tiger tanks while Americans used the Sherman Tank. Sherman tank sucks in almost all aspects. But Americans won in most of the tank-to-tank battles, because Sherman tank is easy to use. Anyone who knows how to drive a car can drive the Sherman tank. The Tiger tank is designed too sophisticated.
I have no interest on designing a *beautiful* programming language, but a *useful* one.
By ``beautiful'' I mean that users get bored before they can see enough benefits of a language. By ``useful'' I mean that users are growing their interest on the language in evaluating whether they should use it in the future, though sometimes they may have to spend a lot of time to learn it, e.g., LaTeX and its macros.
Therefore, I don't care how many great theoretical ideas are behind the design of a language. If more than 50% of your target programmers (those who you think that should solve their problems in your language) think your new language is not "useful," you are like MySpace now (just laid off almost half of their employees).
Please think about the reason we design a programming language. For use, right? Making programmers be happy about it, i.e., thinking that their life is easier. O/w, your language is a failure.
Designing a programing language is like designing commercial products, e.g., a blender in the kitchen. No one likes to read the manual for a whole day before they can get press the power button. Of course, a programming language takes more time to learn than a blender. But programmers are your customers and customers are always right. If they are growing frustration, confusion and impatience in learning your language, they won't ask you to refund their time but simply giving up your language at certain point.
If someone needs to read dozens of papers published in the past half century with great pains in order to use your language properly, this language shouldn't be designed from the beginning. Why do you design something that is apparently against your original goal, i.e., to make people use it?
An example. In WWII, Germans used the Tiger tanks while Americans used the Sherman Tank. Sherman tank sucks in almost all aspects. But Americans won in most of the tank-to-tank battles, because Sherman tank is easy to use. Anyone who knows how to drive a car can drive the Sherman tank. The Tiger tank is designed too sophisticated.
2011-01-10
Successful software and useful AI algorithms
by Forrest Sheng Bao http://fsbao.net
A successful software n.
I was thinking about this because I saw a Google Goggle video showing how fast it can solve Soduko problems. There are a lot of people working on satisfiablity problems in AI. Do Google use any of their algorithms in their Goggle Soduku solver?
If the industry do not use your algorithm for problems that your algorithm is claimed to solve, then either:
1. Your algorithm sucks.
2. You need to publicize your work - if that is your job and your collaborators do not wanna live on government welfare.
3. You should continue enjoying the beauty created by yourself - if that is not your job or the future job of your graduate students.
Artificial intelligence, is, a science to let computers act humanly with intelligence in real life, not only on toy problems. We wouldn't think a person who can only solve a bunch of toy problems as intelligent or smart. It's the same for a computer.
A successful software n.
- The one shown on top of Google search result using the software name.
- The software in Ubuntu Linux software repository, i.e., you can use apt-get install the_software_name to install.
- The software on top of Android Market or iTunes Store search result using the software name
- Something equivalent to 1-3.
I was thinking about this because I saw a Google Goggle video showing how fast it can solve Soduko problems. There are a lot of people working on satisfiablity problems in AI. Do Google use any of their algorithms in their Goggle Soduku solver?
If the industry do not use your algorithm for problems that your algorithm is claimed to solve, then either:
1. Your algorithm sucks.
2. You need to publicize your work - if that is your job and your collaborators do not wanna live on government welfare.
3. You should continue enjoying the beauty created by yourself - if that is not your job or the future job of your graduate students.
Artificial intelligence, is, a science to let computers act humanly with intelligence in real life, not only on toy problems. We wouldn't think a person who can only solve a bunch of toy problems as intelligent or smart. It's the same for a computer.
2011-01-07
Replanning matters
by Forrest Sheng Bao http://fsbao.net
There is always a big distance between what we think will happen and what we are not aware of going to happen. That's why I always advocate the communication between the industry and academia, at least for engineering fields.
Bad weather comes all the time. When it reaches an airport or a busy route, we need to be able to reschedule flights accordingly, and fast enough - otherwise, the airport will be turned into a refugee camp.
Below is a picture I shot at Shenzhen on my trip to China this summer. On that day, a large area of southern China was under thunderstorms. So, flights were delayed. Even worse, flight control couldn't let flights take off soon after the storm warning was lifted. I shot the picture at around 7 PM when the storm had gone for 4-ish hours. But you can see how many flights were still delayed. Actually, those flights didn't leave the airport until late night. The waiting lounge was in a big mess.
There is always a big distance between what we think will happen and what we are not aware of going to happen. That's why I always advocate the communication between the industry and academia, at least for engineering fields.
Bad weather comes all the time. When it reaches an airport or a busy route, we need to be able to reschedule flights accordingly, and fast enough - otherwise, the airport will be turned into a refugee camp.
Below is a picture I shot at Shenzhen on my trip to China this summer. On that day, a large area of southern China was under thunderstorms. So, flights were delayed. Even worse, flight control couldn't let flights take off soon after the storm warning was lifted. I shot the picture at around 7 PM when the storm had gone for 4-ish hours. But you can see how many flights were still delayed. Actually, those flights didn't leave the airport until late night. The waiting lounge was in a big mess.
Planning, not so well solved AI problems
by Forrest Sheng Bao http://fsbao.net
A big area in artificial intelligence is planning, e.g., finding a configuration (mostly temporal) of using different resources to achieve a goal. Maybe you feel this is sorta linear programming you learned in your college algebra class. But the thing is, AI researchers want to find a universal automated way. For decades, they have been wanted to build a planner that can automatically handle all planning problems, humanly or rationally. Therefore, you don't have to model a problem into a constraint programming manually and do the same for a different planning problem.
But this problem has been far from being solved.
Apparently, commercial applications of planning algorithms do not work well. The itinerary below is an example. United Airlines thought a good way to fly from Singapore to China is to do a U-turn in San Francisco over the Pacific Ocean via Japan. A five-year-old would even think this is very inhuman. Plus, it's very ``non-green.''
A big area in artificial intelligence is planning, e.g., finding a configuration (mostly temporal) of using different resources to achieve a goal. Maybe you feel this is sorta linear programming you learned in your college algebra class. But the thing is, AI researchers want to find a universal automated way. For decades, they have been wanted to build a planner that can automatically handle all planning problems, humanly or rationally. Therefore, you don't have to model a problem into a constraint programming manually and do the same for a different planning problem.
But this problem has been far from being solved.
Apparently, commercial applications of planning algorithms do not work well. The itinerary below is an example. United Airlines thought a good way to fly from Singapore to China is to do a U-turn in San Francisco over the Pacific Ocean via Japan. A five-year-old would even think this is very inhuman. Plus, it's very ``non-green.''
Subscribe to:
Posts (Atom)
