Tuesday, March 30, 2010

13 small things to simplify your workday

“Do the difficult things while they are easy and do the great things while they are small. A journey of a thousand miles must begin with a single step.” ~Lao Tzu
Post written by Leo Babauta.
One of the best things I did when I decided to simplify my life was to simplify my workday — first at my day job and later, by quitting my day job, in the work I do now as a writer and entrepreneur.
I’ve eliminated most of the routine, boring, administrative tasks with a few simple principles.
These days, I have eliminated the non-essentials, and can focus on what I truly love: creating.
Not everyone can make such drastic steps toward simplicity, but if you have some control over your workday, you can do a few small things that will simplify things greatly.
If you don’t have control, or if you find yourself thinking, “I can’t do these things”, I’d start to ask why not? Is it possible to change things, if not today then over the long term? I found that often I thought something wasn’t possible (working from home, for example), but in the long run they were.
You don’t need to do all of these things — pick just one, and try it. Then try another and see if it works. Experiment to find what works for you.
And enjoy the simple work life.
  1. Start early. Going into work early was one of my favorite tricks — it was quiet, before the phones and chatter and meetings started, and I could get a lot of work done in peace. By the time everyone else was getting started, I’d gotten two or three big tasks checked off.
  2. Limit your hours. It’s ironic, because so many people work long hours and think they’re getting more done and being more productive. But they’re throwing brute hours at the problem. Instead, cut back on your hours and set a limit — say 6 or 7 hours a day — and get your most essential work done within that limit. If you know you’re only working 6 hours today, you’ll be sure to get the important tasks done first and waste less time. Limits force you to be effective.
  3. Make a short list. Make a long list of all the tasks you need to do … then make a short list of 1-3 things you really want to get done. Choose so that, if you got only these tasks done, you’d be proud of what you did today. Start with the most important task, before checking email or reading online.
  4. Batch distractions. What are your common distractions? Perhaps things like email, reading blogs, Twitter or another social network? Set a time for these, preferably later in the day: say, from 3-4 p.m. Don’t do the distractions before then. By grouping them all into one time period, you allow yourself to do other work first, but still get in your distraction time. Another approach might be to do them for 10 minutes at the end of each hour — but stick to that 10-minute limit!
  5. Write shorter emails. If email takes up a lot of your day, the simple change of limiting yourself to 3-4 sentences per email will make a big difference. First, it’ll drastically shorten the time it takes to write or respond to emails. And second, it’ll shorten responses to your emails, which means you’ll spend less time reading email.
  6. Limit meetings. The fewer the better. Some top Google executives just do 5-minute meetings — anyone who attends these meetings had better be prepared, and concise. If you can get out of meetings and just get the notes, or find an alternative way to communicate, it could save you hours per week.
  7. Automate. The fewer repetitive and routine tasks you have to do, the more time you’ll free up for creating and important work. So automate wherever possible: have people fill things out electronically, or get info from your website instead of emailing or calling you, or use a service that automatically processes payments or ships your product, and so on.
  8. Eliminate paperwork. I used to deal with a lot of paperwork, and even then I knew it was a waste of my time. If businesses and organizations could have paperwork filled out electronically, it would save a lot of paper, copying, filing, and duplicate effort. Whenever possible, eliminate paperwork in favor of digital. This might be more of a long-term move.
  9. Clear your desk. This can be done in a few minutes. Clear everything off the top of your desk. Only put back a few essential items. Everything else should be: filed, given to the appropriate person, given a permanent spot in a drawer, or trashed/recycled. Make quick decisions and then get back to work.
  10. Get away. If you can get out of your office, you can find a peaceful spot where you can focus on important work. Find a spot where you can work, turn off the Internet and do your work, and then turn the Internet back on so you can email or upload it to the appropriate spot. Working from home is a good option here. The more you can do this (it might be once a week, or an hour a day, or half of every workday), the better.
  11. Take breathing breaks. Every 15-20 minutes, get up from your desk, and take a breathing break. It could be simply walking around the office, saying hi to someone, or even better, getting outside to get some fresh air. Walk around, get your blood circulating, perhaps massage your neck and shoulders if you feel tension. Do some pushups if you want to get fitter. When you get back to work, remind yourself what you want to be working on, and clear away all distractions.
  12. Practice a focus ritual. Every hour or two, do a refocus ritual. This only takes a minute or two. You might start it by closing down your browser and maybe other open applications, and maybe even take a walk for a couple of minutes to clear your head and get your blood circulating. Then return to your list of Most Important Tasks and figure out what you need to accomplish next. Before you check email again or go back online, work on that important task for as long as you can. Repeat this refocus ritual throughout the day, to bring yourself back. It’s also nice to take some nice deep breaths to focus yourself back on the present. More focus rituals.
  13. Schedule big blocks of creative time. Not everyone can do this, but when possible, put a big block of 3-4 hours in your schedule for creating or doing other important work. Make this time inviolate, and don’t allow meetings or other things to be scheduled during this time. Be ruthless about clearing distractions and doing the work you love during these blocks, taking breathing breaks as necessary. Rejoice in your creativity.

Ideal Life

How to Sharpen and Reuse Your Razor Blades for Years


This shows how to sharpen multi-blade razor blade cartridges after they have exhausted their normal usefulness... the inventor of this technique, Terry Pundiak of Easton, PA , has been using the same cartridge for over 20 months, continuing having close, smooth shaves with no facial nicks. When

Purpose Of Life

Women’s English vs Men’s English

The most useless machine ever!

Saturday, March 27, 2010

Hẹn tháng 3 năm sau....

Sẽ đi ngắm hoa sưa!

Disney’s Copy Paste

Peter MacCallum Cancer Centre: Break

Marriage vs The Ph.D :))

Need Some Help Making That iPad Decision?

While in the United States people have been able to start tossing up their options and filling out pre-orders for the latest in Apple droolware, the iPad, here in Australia (and many other countries) we are still no closer than an anticipated late April release.
So, for those geeks downunder, and others still yet to make their decision about to iPad or not to iPad here is a little flowchart that I stumbled across when trying to make my own decision.
Hope it helps.

(via Forever Geek, via BBSpot)

Thursday, March 25, 2010

OMG cat cannot unsee the horror

Bicycle storage in Japan

Coolest Card Trick Ever [Vid]

James Galea
This video of James Galea at the 2009 Melbourne International Comedy Festival Gala for Oxfam Australia doing one of the coolest, and funniest, card tricks ever is probably the best YouTube clip you’ll watch today.
If you want to go straight to the card trick, shuffle along to 1m 30 secs.

Wednesday, March 24, 2010

China vs uncensored Google

Optical illusions - the brain just sees what it expects to see

Another example of how the brain just fills in the missing blanks . Unless you are one of the 0.7% of people who suffer from schizophrenia, you are unable to instruct your brain to see the hollow side of the rotating mask.
Remember the lazy visual brain when designing slides. The brain tends to follow lines in the reading direction, and sometimes finds it hard to spot the word "not" in a sentence, just to name a few examples.

source: http://stickyslides.blogspot.com/2010/03/optical-illusions-brain-just-sees-what.html

Wealth Isn’t How Much You Earn

At age 25, Jim makes $100,000 a year. He’s constantly traveling for business. He has a large home in which he often doesn’t visit some rooms for months at a time. He eats out every single night. He drives a leased Lexus, which he updates every few years at the end of the lease. He buys a whole new wardrobe every six months, taking the leftovers to Goodwill. He spends everything he brings in.

At age 25, Bill makes $35,000 a year. He lives in a smaller home and doesn’t travel much. He makes most of his own meals at home. He drives a Toyota Corolla, which he owns free and clear. He wears clothes until they’re worn, then shops at Goodwill for replacements, often picking up Jim’s barely-worn clothes. At the end of the year, he usually has about $5,000 of his income left over, which he sticks into his stock investments which earn 8% a year.

In ten years, Jim’s net worth hasn’t grown a cent. In those same ten years, Bill has $72,000 in the bank.

At the twenty year mark, Jim’s net worth still hasn’t grown a cent. In those same twenty years, Bill has built up $228,098 in the bank.

At the thirty year mark, Jim’s still breaking even. Bill, on the other hand, has $566,416 in the bank.

At age sixty five, Jim hasn’t accumulated a cent and will be working for the man for the rest of his life. At the same age, Bill has $1.3 million in the bank and can do whatever he wants for the rest of his life – and probably already started doing that a few years earlier.

It doesn’t matter how much you earn. It matters how much you save.

When I was twenty five, my net worth was negative and heading south rapidly. I spent more than I earned and I didn’t really worry about the consequences of it. I figured if I had the money – or the credit – I certainly ought to spend it in whatever way made my life more enjoyable right now.

I’m now thirty one. My net worth is still negative (although it would be positive if I counted the value of my home towards it, which I do not), but it grows every month in a positive direction and will soon become positive even without the house value.

One might immediately think that I must have made my life less enjoyable to make that change. Actually, my life is more enjoyable now.

I have a better grasp on the things that actually make me happy and I don’t waste my money on things that don’t.

I’m not chained to a desk and a career, fearing the pink slip – I set my own career rules and goals.

I’m not afraid of getting the mail any more and I don’t wake up at night worried about how I’m possibly going to make ends meet or pay all of this off in the future.

Perhaps best of all, my financial position is improving every single month and I no longer see the long-term future as some kind of musty cloud that will “work itself out.” I know it’s getting better and I know that, if I continue on this path, I’ll be able to easily have some of the big things I actually want in life, like a beautiful house in the country with some wooded land in the back.

My life now is something I’ll happily trade having a shiny new Lexus and an iPhone and a set of high-end golf clubs and eating out every night for. In exchange, I’m not worried about the future and I have career and personal freedom I would never otherwise have.

Wealth has little to do with how much you earn. It’s how you spend – or save – it.

Notes on leadership

Những trích dẫn dưới đây lấy từ bài nói chuyện của Shelly Lazarus, Chairman và CEO của Ogilvy & Mather tháng 9/2002. Bài nói chuyện của bà chừng 10 trang giấy A4. Khi đọc lần đầu hồi nào lâu lắm rồi, tôi tôi vàng một số câu. Hôm nay đọc lại vẫn thấy hay nên chép ra đây chia sẻ với các bạn. Leadership là một đề tài hay, nhưng đôi khi một số người cứ tưởng nó chỉ là chuyện của sếp. Thật ra, nó có thể là chuyện của tất cả mọi người. Dù ở vị trí nào trong công ty hay tổ chức thì hiểu về leadership vẫn có lợi cho bạn.

* Leadership is not the just the purview of CEOs. Leadership doesn’t just happen at the top. It can happen at almost every level, in every organization, everyday. It starts right where you are now.

* For you to demonstrate leadership, it is very important to know exactly what your contribution is – what it is the company values you for – and then get better at it.

* To inspire; you must communicate. Communication is not a subset of leadership; it is at the heart of leadership.

* Your challenge is to find the partners you can succeed with. Find ways to motivate them. Find ways to build a team.

* Leadership is getting someone else to do what you want to get done because he wants to do it.


* To achieve true innovation, organizations must make it OK to fail, comfortable to fail, particularly when the initiative was brave and unprecedented.

* Being a leader – adding value to an organization – is all about being yourself. There is no blueprint to follow. Think about it; the very nature of being a leader is that you are not a follower.

Source: http://lamvuthao.blogspot.com/2010/03/notes-on-leadership.html

Saturday, March 20, 2010

How to Flirt on Facebook

  1. Send a friends request only when you have a real life connection. On Facebook, people are much less likely to accept friends requests from people they don't know. So when you send a request, add a friendly personal message, and remind the person of your connection:

    • If you've already met, mention the occasion: "Hey! We met at the office Christmas party. How are you doing?"
    • You have a mutual friend. Note that this friend should be someone you've actually spent time with in real life. "Hi there, I'm a friend of Jackie's. I'm surprised we haven't met yet!"
      • If the person came up in the "Suggestions" section (because you have mutual friends) that's worth mentioning when you send the request.
    • You're in the same class or work in the same setting. This is a bit of a stretch, and might come off a little creepy. It's better to strike up a conversation and introduce yourself in real life before becoming friends on Facebook.
    • You go to the same school, work for the same company, or have a similar interest. Don't be surprised if your request is ignored; some people simply aren't interested in meeting new people through Facebook. Pairing your request with a question is a good idea here: "Hey, I go to MHCC too. What's your major?" or "I noticed you're into foreign horror movies too. Have you seen 'A Tale of Two Sisters' yet?"
  2. 2
    Comment on some, but not all, of their updates and pictures. You don't want to give them the impression that you're eagerly reading every update, and poring over every picture. (And if you are, that's not good; read How to Stop Being Needy.) You also shouldn't always be the first person to comment. Another thing to consider is that if you comment too often, their co-workers, family, and/or friends might notice, and ask the person "What's going on with you and so-and-so?" which might make the person you're interested in feel uncomfortable about you.
  3. 3
    Keep your comments short, sweet, and appropriate. Writing a novel is bad. One or two sentences are enough. Look at how other people comment - and how the person responds - to get an idea of what's appropriate and what's not. Some people keep their Facebook profiles clean and professional; others don't really care. Generally, comments are the cyber equivalent of small talk. Save the getting-to-know-each-other for chat and private messages.
  4. 4
    Know when to back off. If this person responds to other people's comments but not yours, they never comment on your pictures or updates, and they don't respond when you say hello via IM or private messages, they're probably just not interested. Leave them alone. Being sticky is not a nice idea and it only causes low self esteem.
  5. 5
    Take the flirting off of Facebook. If you're actually interested in dating this person, and they're flirting back, see if you can move the flirting offline.

    • When you're going out with your friends, start an event (here), and invite the person you've been flirting with. This is a good approach because it's a group event, and doesn't have the pressure of a one-on-one date. It helps, of course, if you have friends who will actually RSVP and show up! Bonus points if a mutual friend will be there.
    • Post pictures of the places you go and things you do. If your prospective date comments and shows interest (e.g. "Wow! That's an awesome view" or "I've never tried that! Looks like fun!") respond saying something like "It is! You should come next time" or "I was planning on going there next weekend. Want to join me?" If they respond positively, send them a private message asking for their number, or giving them yours.
  6. 6
    Don't end every sentence with lol or rofl. Use real words you might find in a dictionary or magazine.

Nature by Numbers

Top Ten One-Liners from CommandLineFu Explained

I love working in the shell. Mastery of shell lets you get things done in seconds, rather than minutes or hours, if you chose to write a program instead.
In this article I’d like to explain the top one-liners from the commandlinefu.com. It’s a user-driven website where people get to choose the best and most useful shell one-liners.
But before I do that, I want to take the opportunity and link to a few of my articles that I wrote some time ago on working efficiently in the command line:
And now the explanation of top one-liners from commandlinefu.

#1. Run the last command as root

$ sudo !!
We all know what the sudo command does - it runs the command as another user, in this case, it runs the command as superuser because no other user was specified. But what’s really interesting is the bang-bang !! part of the command. It’s called the event designator. An event designator references a command in shell’s history. In this case the event designator references the previous command. Writing !! is the same as writing !-1. The -1 refers to the last command. You can generalize it, and write !-n to refer to the n-th previous command. To view all your previous commands, type history.
I wrote about event designators in much more detail in my article “The Definitive Guide to Bash Command Line History.” The article also comes with a printable cheat sheet for working with the history.

#2. Serve the current directory at http://localhost:8000/

$ python -m SimpleHTTPServer
This one-liner starts a web server on port 8000 with the contents of current directory on all the interfaces (address, not just localhost. If you have “index.html” or “index.htm” files, it will serve those, otherwise it will list the contents of the currently working directory.
It works because python comes with a standard module called SimpleHTTPServer. The -m argument makes python to search for a module named SimpleHTTPServer.py in all the possible system locations (listed in sys.path and $PYTHONPATH shell variable). Once found, it executes it as a script. If you look at the source code of this module, you’ll find that this module tests if it’s run as a script if __name__ == '__main__', and if it is, it runs the test() method that makes it run a web server in the current directory.
To use a different port, specify it as the next argument:
$ python -m SimpleHTTPServer 8080
This command runs a HTTP server on all local interfaces on port 8080.

#3. Save a file you edited in vim without the needed permissions

:w !sudo tee %
This happens to me way too often. I open a system config file in vim and edit it just to find out that I don’t have permissions to save it. This one-liner saves the day. Instead of writing the while to a temporary file :w /tmp/foobar and then moving the temporary file to the right destination mv /tmp/foobar /etc/service.conf, you now just type the one-liner above in vim and it will save the file.
Here is how it works, if you look at the vim documentation (by typing :he :w in vim), you’ll find the reference to the command :w !{cmd} that says that vim runs {cmd} and passes it the contents of the file as standard input. In this one-liner the {cmd} part is the sudo tee % command. It runs tee % as superuser. But wait, what is %? Well, it’s a read-only register in vim that contains the filename of the current file! Therefore the command that vim executes becomes tee current_filename, with the current directory being whatever the current_file is in. Now what does tee do? The tee command takes standard input and write it to a file! Rephrasing, it takes the contents of the file edited in vim, and writes it to the file (while being root)! All done!

#4. Change to the previous working directory

cd -
Everyone knows this, right? The dash “-” is short for “previous working directory.” The previous working directory is defined by $OLDPWD shell variable. After you use the cd command, it sets the $OLDPWD environment variable, and then, if you type the short version cd -, it effectively becomes cd $OLDPWD and changes to the previous directory.
Don’t forget that if you wish to change to directory named “-“, you have to escape the future arguments by double dashes:
cd -- -
This cds to directory named “-“.

#5. Run the previous shell command but replace string “foo” with “bar”

This is another event designator. This one is for quick substitution. It replaces foo with bar and repeats the last command. It’s actually a shortcut for !!:s/foo/bar/. This one-liner applies the s modifier to the !! event designator. As we learned from one-liner #1, the !! event designator stands for the previous command. Now the s modifier stands for substitute (greetings to sed) and it substitutes the first word with the second word.
Not that this one-liner replaces just the first word in the previous command. To replace all words, add the g modifer (g for global):
Again, see my article “The Definitive Guide to Bash Command Line History.” I explain all this stuff in great detail.

#6. Quickly backup or copy a file

cp filename{,.bak}
This one-liner copies the file named filename to a file named filename.bak. Here is how it works. It uses brace expansion to construct a list of arguments for the cp command. Brace expansion is a mechanism by which arbitrary strings may be generated. In this one-liner filename{,.bak} gets brace expanded to filename filename.bak and puts in place of the brace expression. The command becomes cp filename filename.bak and file gets copied.
Talking more about brace expansion, you can do all kinds of combinatorics with it. Here is a fun application:
echo {a,b,c}{a,b,c}{a,b,c}
It generates all the possible strings 3-letter from the set {a, b, c}:
aaa aab aac aba abb abc aca acb acc
baa bab bac bba bbb bbc bca bcb bcc
caa cab cac cba cbb cbc cca ccb ccc
And here is how to generate all the possible 2-letter strings from the set of {a, b, c}:
$ echo {{a,b,c}{a,b,c}}
It produces:
aa ab ac ba bb bc ca cb cc
If you liked this, you may also like my article where I defined a bunch of set operations (such as intersection, union, symmetry, powerset, etc) by using just shell commands. The article is called “Set Operations in the Unix Shell.” (And since I have sets in the shell, I will soon write articles on on “Combinatorics in the Shell” and “Algebra in the Shell“. Fun topics to explore. Perhaps even “Topology in the Shell” :))

#7. mtr - traceroute and ping combined

mtr google.com
MTR, bettern known as “Matt’s Traceroute” combines both traceroute and ping command. After each successful hop, it sends a ping request to the found machine, this way it produces output of both traceroute and ping to better understand the quality of link. If it finds out a packet took an alternative route, it displays it, and by default it keeps updating the statistics so you knew what was going on in real time.

#8. Find the last command that begins with “whatever,” but avoid running it

Another use of event designators. The !whatever designator searches the shell history for the most recently executed command that starts with whatever. But instead of executing it, it prints it. The :p modifier makes it print instead of executing.
Once again, see my article “The Definitive Guide to Bash Command Line History.” I explain all this stuff in great detail.

#9. Copy your public-key to remote-machine for public-key authentication

ssh-copy-id remote-machine
This one-liner copies your public-key, that you generated with ssh-keygen (either SSHv1 file identity.pub or SSHv2 file id_rsa.pub) to the remote-machine and places it in ~/.ssh/authorized_keys directory. This ensures that the next time you try to log into that machine, public-key authentication (commonly referred to as “passwordless authentication.”) will be used instead of the regular password authentication.
If you wished to do it yourself, you’d have to take the following steps:
your-machine$ scp ~/.ssh/identity.pub remote-machine
your-machine$ ssh remote-machine
remote-machine$ cat identity.pub > ~/.ssh/authorized_keys
This one-liner saves a great deal of typing.

#10. Capture video of a linux desktop

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
A pure coincidence, I have done so much video processing with ffmpeg that I know what most of this command does without looking much in the manual.
The ffmpeg generally can be descibed as a command that takes a bunch of options and the last option is the output file. In this case the options are -f x11grab -s wxga -r 25 -i :0.0 -sameq and the output file is /tmp/out.mpg.
Here is what the options mean:
  • -f x11grab makes ffmpeg to set the input video format as x11grab. The X11 framebuffer has a specific format it presents data in and it makes ffmpeg to decode it correctly.
  • -s wxga makes ffmpeg to set the size of the video to wxga which is shortcut for 1366×768. This is a strange resolution to use, I’d just write -s 800x600.
  • -r 25 sets the framerate of the video to 25fps. Also a strange thing to do because 25fps is the default.
  • -i :0.0 sets the video input file to X11 display 0.0 at localhost.
  • -sameq preserves the quality of input stream. It’s unreasonable, the file will be too big. A reasonable thing to do is to set it to 250kbit/s via -b 250kbit/s for YouTube video quality, or 500kbit/s for a better quality.
You can also specify ffmpeg to grab display from another x-server by changing the -i :0.0 to -i host:0.0.
If you’re interested in ffmpeg, here are my other articles on ffmpeg that I wrote while ago:
PS. This article was so fun to write, that I decided to write several more parts. Tune in the next time for “The Next Top Ten One-Liners from CommandLineFu Explained” :)
Have fun. See ya!

30 Habits that Will Change your Life

Developing good habits is the basic of personal development and growth. Everything we do is the result of a habit that was previously taught to us. Unfortunately, not all the habits that we have are good, that’s why we are constantly trying to improve.
The following is a list of 30 practical habits that can make a huge difference in your life.
You should treat this list as a reference, and implement just one habit per month. This way you will have the time to fully absorb each of them, while still seeing significant improvements each month.

Health habits

  1. Exercise 30 minutes every day. Especially if you don’t do much movement while working, it’s essential that you get some daily exercise. 30 minutes every day are the minimum recommended for optimal health.
  2. Eat breakfast every day. Breakfast is the more important meal of the day, yet so many people skip it. Personally, I like to eat a couple of toasts in the morning along with a fruit beverage.
  3. Sleep 8 hours. Sleep deprivation is never a good idea. You may think that you are gaining time by sleeping less, when in reality you are only gaining stress and tiredness. 8 hours are a good number of hours for most people, along with an optional 20 minutes nap after lunch.
  4. Avoid snacking between meals. Snacking between meals is the best way to gain weight. If you are hungry, eat something concrete. Otherwise don’t.
  5. Eat five portions of fruits and vegetables every day. Our body and brain loves getting vegetables and fruit, so I highly recommend eating as much of them as possible. Five portions is the dose that’s usually recommended by many health associations.
  6. Eat fish. Fish is rich of omega 3 and other healthy elements. At least one meal per week of fish should be enough for getting all these nutrients.
  7. Drink one glass of water when you wake up. When you wake up, your body is dehydrated and needs liquid. Make the habit of drinking one glass of water after you wake up in the morning. Also, drink more during the day.
  8. Avoid soda. Soda is often one of the most unhealthy beverage you can find. Limit your consumption of soda as much as possible and you’re body will be grateful for that.
  9. Keep your body clean. I don’t advise spending your day in front of the mirror, but a minimum of personal care does never hurt.
  10. If you smoke, stop it. There’s no reason to smoke anymore, and quitting is easy.
  11. If you drink, stop it. Same as above. Don’t think that alcohol will solve your problems. It never does. The only exception is one glass of wine per day during meals.
  12. Take the stairs. This is just a hack that forces you to do a minimum of exercise. Instead of taking the elevator, take the stairs.

Productivity habits

  1. Use an inbox system. Make the habit of keeping track of all the ideas and things that comes to mind. You can use a notebook to do this, and then sync everything on your computer.
  2. Prioritize. If you have a list of things to do, where do you start? One way is to prioritize your list. If you are in doubt, ask yourself: “If I could only accomplish one thing today, what would it be?”
  3. Plan, but not too much. Planning is important, and you should decide in advance what you are going to do today or this week. However, planning for more than a few weeks is usually inefficient, so I would not worry too much about that.
  4. Wake up early. Waking up early in the morning is a great way to gain extra time. I personally like to wake up at 5 am, so that by 9 am I have already accomplished what otherwise would have taken me many days..
  5. Check your email only twice per day. Email can easily become an addiction, but it’s usually unnecessary to check it every 10 minutes. Make an effort and check your email only once or twice per day, see if the world will still rotate as before after you try this.
  6. Eliminate unimportant tasks. Being busy all day does not mean you are doing important stuff. Eliminate every activity that’s not important, and focus on what really matters.
  7. Clean off your desk and room. Having a clear room and desk is important to maintain focus and creativity.
  8. Automate. There are a lot of tasks that you need to perform every day or every week. Try to automate them as much as possible.
  9. Set strict deadlines. When you do something, decide in advance when you’re going to stop. There’s a rule that states that you will fulfill all the time you have available for completing a task, so make an habit of setting strict deadlines for maximizing your productivity.
  10. Take one day off per week. Instead of working every day, take one day off per week (for example sunday) where you are not going to turn on your computer. Use that time for doing recreational activities like going for a walk.

Personal Development habits

  1. Read 1 book per week. Reading is a good way to keep your brain active. With just 30 minutes per day you should be able to read one book per week, or more than 50 books per year.
  2. Solve puzzles. Quizzes, word games, etc. are all good ways to exercise your brain.
  3. Think positively. You are what you think, all the time.
  4. Make fast decisions. Instead of thinking for one hour wherever you are going to do something, make your decisions as fast as possible (usually less than 1 minute).
  5. Wait before buying. Waiting 48 hours before buying anything is a tremendous money saver, try it.
  6. Meditate 30 minutes per day. A great way to gain clearness and peace is through meditation. 30 minutes are not a lot, but enough to get you started with meditation.

Career habits

  1. Start a blog. Blogging is one of the best way to put your word out. It doesn’t have to be around a specific topic, even a personal blog will do.
  2. Build a portfolio. If your job is creating stuff, building a portfolio is a great way to show what you are capable of. You can also contribute stuff for free if that applies to your work.
What do you think? What are the habits that changed your life?

To someone...: 15 Youtube Videos that Help You Learn Guitar

To follow up our article on Youtube keyboard tutorials, here’s one for you budding guitarists. Whether you’re learning electric or acoustic guitar, many of the skills are the same, and you should find something here to help. Here are 15 Youtube videos that will give you something to practice.

Again, the videos start pretty basic. If you’re new to guitar, start at the top. But the tutorials get more difficult and interesting from there. Jump to the end if you want to learn some advanced tips from the experts. Let us know in the comments which videos you found most helpful. And if you know of a better guitar tutorial video, leave the link in the comments.

1. Learning Guitar Beginners Lesson #1

“First in a series of video lessons, designed to teach even the most inexperienced guitar player the basics and eventually more advanced techniques. “

2. Learning Guitar Beginners Lesson #2

“In this lesson we will take a further look at the staff and begin learning what notes go where, and we will learn our 1st songs.”

3. Beginner Guitar Lesson: Beginning Scales

“This lesson will cover the first set of scales I teach students regardless of what type of music they are interested in playing.”

4. Learn Guitar Strumming Patterns – Part 1: The Basics

“Those just learning guitar will benefit most from this easy to apply video lesson on strumming patterns. Check out more helpful tips, lessons, and resources at: www.guitarfriendly.net.”

5. Acoustic Blues Guitar Lesson Spice Up that Bluesy Playing

“In this lesson we teach an acoustic blues lesson on how to spice up some blues progressions and move around the guitar neck. Works with electric guitars also.”

6. Tommy Emmanuel Hammer On / Pull Off Lesson

“Tommy giving us another little lesson.”

7. Tommy Emmanuel Guitar Lesson

“Joking on the alternating bass practice.” This is a great video, but has very low volume.

8. Guitar Lesson Tommy Emmanuel Harmonics Lesson

“Tommy Emmanuel Harmonics Lesson. This guy is so good. It’s a gift.”

9. Learn Guitar Lesson Lynyrd Skynyrd Les Paul Southern Rock

“Learn guitar lesson Lynyrd Skynyrd inspired Southern Rock guitar lesson

Les Paul.”

10. Learn How to Play Like Metallica – Guitar Tuning

“How to play like Metallica does it! This is the different tunings they use. From the the Metallica Guitar Licks 1988-1997 DVD.”

11. Stevie Ray Vaughan Guitar Lesson

“Stevie gives a lesson.”

12. Speed Kills – Metal Method Guitar Lesson DVD

“Speed Kills is the original neoclassical shred guitar lesson. It’s now available on DVD. This video guitar lesson is the ultimate in shred technique featuring sweep arpeggios, alternate picking, and alternative picking. This is a demonstration from the Speed Kills DVD available at www.metalmethod.com. Please remember, this is a demonstration from the guitar lesson. It is not a lesson.”

13. Joe Satriani’s Guitar Tips

“Joe Satriani’s tips to become a better player.”

14. Dave Mustaine – Guitar Lesson

“Dave Mustaine gives a guitar lesson.”

15. Steve Vai Demonstration – Freak Show Excess

“Steve Vai demonstrating Freak Show Excess from his album Real Illusions: Reflections. Steve explains how he was inspired by the insanity of Bulgarian wedding music. “

Friday, March 19, 2010

15 Youtube Videos that Will Improve Your Vocal Technique

The voice is the one instrument we take with us everywhere we go – even into the shower. Yet many of us spend less time working on vocal techniques than we do learning other instruments. Whether you are a lead vocalist, background vocalist, or just record your voice for “special effects”, these videos will teach you to warm up your voice, help you achieve a better vocal sound, and also protect your voice by teaching you to sing with a proper technique.

1. Singing Lessons: Part 1- Vocal Warm Up Exercises

“This 4 part Singing Lesson video series is a gift from me to all the other singers out there who have shown me such great luv and support. It contains a full vocal warmup with voice exercises that will improve tone, expand your range, and increasing diaphragm control.”

2. Singing Lessons: Part 2 – Freeing Your Voice Range

“This second singing lesson video, we talk about expanding the voice range. These voice exercises will help you sing high notes & have more power and clarity in your singing.”

3. Vocal Training- Warm up Part 3 – Improving Tone Exercises

“By relaxing the throat open, we can improve the resonance and freedom of the voice. These vocal training exercises exercises will bring richness to your tone, and can help to free your vibrato.”

4. Vocal Training: Warm up Part 4 – Throat Exercises

“The combination of an effortless low breath and a fully relaxed throat allows the vocal folds to vibrate freely. The exercises mentioned on this part of the vocal training video aid in training the tongue to remain gently arched upward and forward, while relaxing the back of the throat.”

5. Top 3 Tips To Help You Sing Better

“In this video, I share 3 tips to help you sing better. This is a response to the large number of vocal coach questions I get about the voice. I hope it helps. “

6. Learn to Sing like a Pro! Haley Mcguire

“Hi there, would you like to learn to sing like Taylor Swift, Demi Lovato, Miley Cyrus or me. Fulfil your dreams.”

7. How to Sing Better like Paramore!

“Do YOU want to Learn How To Sing Better instantly, like Hayley Williams or Sing High Notes, Vibrato, Sing Better Instantly?”

8. Vocal Technique: Lecture 1 – Respiration

“This is a series of Lectures designed to give the viewer an insight into the technical side of vocal training. Don’t hesitate to ask any questions here in the comments section or visit my website at www.nicholastamagna.com.”

9. Vocal Technique: Lecture 2a – Phonation

“This is a series of Lectures designed to give the viewer an insight into the technical side of vocal training. Don’t hesitate to ask any questions here in the comments section or visit my website at www.nicholastamagna.com.”

10. Lesley Findlay Intro 1

“Singing Teacher from Montreal, Canada describes some basic points about Vocal Pedagogy or Singing. Vocal Support, Phonation, Vocal Attack, Resonance and Anchoring.”

11. Lesley Findlay Intro 2

“Singing Teacher from Montreal, Canada describes some basic points about Vocal Pedagogy or Singing. Vocal Support, Phonation, Vocal Attack, Resonance and Anchoring.”

12. Lesley Findlay Intro 3

“Singing Teacher from Montreal, Canada describes some basic points about Vocal Pedagogy or Singing. Vocal Support, Phonation, Vocal Attack, Resonance and Anchoring.”

13. Lesson #1 Overview of Pitch Speaking

“Pitch speaking is a very effective way of improving your singing voice. This is an introduction to this method.”

14. Lesson #4 Resonance

“What is resonance and how pitch speaking will help you attain it. Humming is a great exercise.”

15. Vocal Techniques, Exercises, and Tips

“My video that teaches a few things I know, hopefully it’ll help others as well. Teaches scale exercises, proper diaphragm use and how to strengthen it, and also a vocal relaxation exercise.”


So, there you are – 15 different videos all aiming to improve your vocals. Which did you find more helpful? What did you learn? Do you have any vocal tips you would like to add? Let us know in the comments.

Wednesday, March 17, 2010

15 Noteworthy Websites That Changed the Internet

There are millions of websites out there. Many of them are unique, either in small ways or in large ones. But the individual impact of any particular site on the overall Internet is generally negligible, if there’s any impact at all.

Not so with the fifteen sites here. These sites changed the Internet, mostly for good, in substantial ways. Included here is everything from Geocities (which could probably be blamed entirely, either directly or indirectly, for every ugly web design “trend” that’s ever been) to Wikipedia (which has made information almost universally accessible) to Google (which has changed or influenced virtually everything online).

1. Wikipedia

Changed the way we find information. Before Wikipedia, most online encyclopedias were either sorely lacking in information, or required you to have a paid subscription to access their content. Wikipedia changed all that by not only allowing anyone to view the content for free, but also by allowing individual users to review and update content, making it more complete and accurate overall. Wikipedia also brought crowdsourcing and user-generated content to the mainstream online, making both much more viable and valuable.

2. Amazon.com

Changed the way we shop. Prior to Amazon.com, online shopping wasn’t much different than shopping out of a mail-order catalog, except it wasn’t nearly as popular. While Amazon started out selling just books and related items, it has expanded to sell virtually anything you can think of, either directly or through partner sites large and small. Amazon also made free shipping a standard on orders over a certain dollar value, which has impacted the shipping rates and policies of many other online retailers.

3. Hotmail

Changed the way we use email. Before Hotmail came along, email was basically tethered to a single computer. When you checked your email, it was pulled and deleted from the remote server, meaning the only place you could view it was at your computer. Need an email at home that you received at work? Too bad. There was no way to access it unless you went back to the office. Hotmail changed all that by providing webmail that could be accessed from any computer with an Internet connection. Now, web-based email is widely used and provided by a huge variety of providers. Even though Hotmail is no longer the primary provider of webmail (and is now owned by Microsoft), they were still pioneers in the technology.

4. Facebook

Changed the way friends connected. While Facebook wasn’t the first social network, it has definitely become the most popular and has really changed the way friends interact with one another. Sure, people use FB to talk online, but they’re also increasingly using it as a way to plan get-togethers offline. They’re using it to follow and interact with their favorite bands, actors, and other personalities. People use it to keep in touch with business contacts, friends, family, and acquaintances. Facebook has made social networking mainstream, across a variety of demographics and virtually worldwide.

5. Project Gutenberg

Changed the way we read. Project Gutenberg has a much longer history than most people realize. They created the first ebooks, and gave them away for free. You can now read virtually every major book in the public domain, sometimes in multiple languages on their site. Without the pioneering steps the founders of Project Gutenberg took, ebooks would not be where they are today.

6. Twitter

Changed the way we communicate. Twitter has made one of the biggest impacts on the Internet in recent memory. The idea that 140-character messages, broadcast publicly (for the most part), would change the way people communicate with one another would have been hard to believe ten years ago. But Twitter has become not just a powerhouse in the way individual communicate with one another, but also in the way businesses communicate with their customers. Complaining about poor customer service on Twitter can often result in almost instant messages from the company in question, and often results in a satisfactory resolution. Twitter has also made celebrities more accessible, with hundreds of celebs now using the service to interact with their fans.

7. Pandora

Changed the way we find new music. Before Pandora, if you wanted to listen to music online, you usually turned to a streaming radio station with pre-programmed content. Sure, you might get lucky and find a station that had mostly music you liked, but maybe it wasn’t diverse enough, or it still kept playing that one song you HATED. Pandora changed all that. Now, you can program your own radio station by just entering the name or a song or artist and then giving the thumbs up or down to music played. With a minimal amount of user input, Pandora has gotten surprisingly good at creating playlists that reflect one’s musical taste. The bonus is that songs or artists you might not have heard of are often thrown into the mix, based on what you already like.

8. Apple

Made minimalist web design cool. Apple had one of the first corporate websites designed with a minimalist aesthetic. As far back as the late 90s, Apple was starting to show a more minimalist take on web design than many other corporate sites, and by early 2000, they’d adopted the white and gray color scheme and top navigation they still employ today.

9. YouTube

Changed entertainment. Before YouTube, there weren’t many options if you wanted to watch a video online. You could sometimes find a video here or there, but with bandwidth costs, they were few and far between. Website owners just didn’t want to pay the extra costs associated with video content. Then YouTube came along and made it free to post any video you wanted (as long as it wasn’t copyrighted or over ten minutes long). Web users now had a centralized place to go to watch video online. And because of YouTube’s pioneering effort, online video is now enjoyed by millions every day.

10. Craigslist

Changed classifieds. Online classified sites used to be nearly unusable. Between the huge number of spam postings and the fact there were few if any local listings in most areas, there wasn’t much point in using them. But then Craigslist caught on and suddenly there was an online classifieds site that rivaled most local newspaper classifieds. Now you can use Craigslist to find almost anything, no matter where you live.

11. The Drudge Report

Changed the stature of online news. When the Monica Lewinsky/President Clinton story broke in 1998, it wasn’t a mainstream news source that first reported it. Instead, The Drudge Report held those honors, forever changing the standing of online news sources. Now, online news sources break stories on a regular basis, and are considered by most to be just as reliable as television or print news sources.

12. GeoCities

Made the web more accessible. In the early days of the Internet, the only people online (for the most part) were scientists, academics, and those involved in technology. It wasn’t a very exciting place. Then came GeoCities, and suddenly anyone could set up their own webpage for free. Sure, GeoCities spawned a legion of horrifically ugly websites, but it also got a lot of regular people involved in the Internet for the first time and was likely the first design experience of many early web designers.

13. Digg

Changed the way we find and share news. Digg was originally set up as an experiment, but it has completely changed the way many people find news online. The idea of users determining which news was important, relevant, and interesting rather than editors or executives at big news organizations was revolutionary. Now, user-generated news sites are all over the place, both for mainstream news and for individual industries and niches.

14. LiveJournal

Hooked millions on blogging. Blogging wasn’t invented by LiveJournal, but they were the first site to offer free blogs to their members. Millions now use LiveJournal, and tens of millions more blog elsewhere, either through other blog hosts or on their own websites. If it weren’t for LiveJournal and similar free blogs hosts that came later, blogging might not have caught on as the global phenomenon it has become.

15. Google

Changed everything. This one might seem a bit dramatic, but it really is true. Google has invaded virtually every aspect of the Internet. No matter what you do online, you probably interact with one Google service or another multiple times every day. And most people use at least one Google product or service one a regular basis personally. Whether it’s a Blogger blog, a Picasa photo album, a Google search, or even a YouTube video (or any of the dozens of other services Google owns), Google-controlled sites are everywhere.

About AuthorCameron Chapman is a professional Web and graphic designer with over 7 years of experience. She writes for a number of blogs, including her own, Cameron Chapman On Writing. She’s also the author of Internet Famous: A Practical Guide to Becoming an Online Celebrity.

What’s the difference between all those browsers?

What’s the difference between all those browsers? Take a look at CollegeHumor interpretation:

The Difference Between Internet Explorer, Firefox, Google Chrome, Opera and Safari
The Difference Between Internet Explorer, Firefox, Google Chrome, Opera and Safari
The Difference Between Internet Explorer, Firefox, Google Chrome, Opera and Safari
The Difference Between Internet Explorer, Firefox, Google Chrome, Opera and Safari
Thanks to Daniel Hendrycks for link.

Top 10 Things That Annoy Programmers

Programmers all have their pet peeves. Whether it’s scope creep, Hungarian notation, or smelly coworkers, we’ve come to accept that there are certain nuisances that come with our line of work. The following is a list of the top 10 things that annoy programmers, compiled from the results of my recent question on StackOverflow along with some of my own experiences:

10. Comments that explain the “how” but not the “why”

Introductory-level programming courses teach students to comment early and comment often. The idea is that it’s better to have too many comments than to have too few. Unfortunately, many programmers seem to take this as a personal challenge to comment every single line of code. This is why you will often see something like this code snippit taken from Jeff Atwood’s post on Coding Without Comments:
1r = n / 2; // Set r to n divided by 2
3// Loop while r - (n/r) is greater than t
4while ( abs( r - (n/r) ) > t ) {
5    r = 0.5 * ( r + (n/r) ); // Set r to half of r + (n/r)
Do you have any idea what this code does? Me neither. The problem is that while there are plenty of comments describing what the code is doing, there are none describing why it’s doing it.
Now, consider the same code with a different commenting methodology:
1// square root of n with Newton-Raphson approximation
2r = n / 2;
4while ( abs( r - (n/r) ) > t ) {
5    r = 0.5 * ( r + (n/r) );
Much better! We still might not understand exactly what’s going on here, but at least we have a starting point.
Comments are supposed to help the reader understand the code, not the syntax. It’s a fair assumption that the reader has a basic understanding of how a for loop works; there’s no need to add comments such as “// iterate over a list of customers”. What the reader is not going to be familiar with is why your code works and why you chose to write it the way you did.

9. Interruptions

Very few programmers can go from 0 to code at the drop of a hat. In general, we tend to be more akin to locomotives than ferraris; it may take us awhile to get started, but once we hit our stride we can get an impressive amount of work done. Unfortunately, it’s very hard to get into a programming zone when your train of thought is constantly being derailed by clients, managers, and fellow programmers.
There is simply too much information we need to keep in mind while we’re working on a task to be able to drop the task, handle another issue, then pick up the task without missing a beat. Interruptions kill our train of thought and getting it back is often a time-consuming, frustrating, and worst of all, error-prone process.

8. Scope creep

From Wikipedia:
Scope creep (also called focus creep, requirement creep, feature creep, and sometimes kitchen sink syndrome) in project management refers to uncontrolled changes in a project’s scope. This phenomenon can occur when the scope of a project is not properly defined, documented, or controlled. It is generally considered a negative occurrence that is to be avoided.
Scope creep turns relatively simple requests into horribly complex and time consuming monsters. It only takes a few innocent keystrokes by the requirements guy for scope creep to happen:
  • Version 1: Show a map of the location
  • Version 2: Show a 3D map of the location
  • Version 3: Show a 3D map of the location that the user can fly through
Argh! What used to be a 30 minute task just turned into a massively complex system that could take hundreds of man hours. Even worse, most of the time scope creep happens during development, which requires rewriting, refactoring, and sometimes throwing out code that was developed just days prior.

7. Management that doesn’t understand programming

Ok, so maybe there are some perks.
Management is not an easy job. People suck; we’re fickle and fragile and we’re all out for #1. Keeping a large group of us content and cohesive is a mountain of a task. However, that doesn’t mean that managers should be able to get away without having some basic understanding of what their subordinates are doing. When management cannot grasp the basic concepts of our jobs, we end up with scope creep, unrealistic deadlines, and general frustration on both sides of the table. This is a pretty common complaint amongst programmers and the source of a lot of angst (as well as one hilarious cartoon).

6. Documenting our applications

Let me preface this by saying that yes, I know that there are a lot of documentation-generating applications out there, but in my experience those are usually only good for generating API documentation for other programmers to read. If you are working with an application that normal everyday people are using, you’re going to have to write some documentation that the average layman can understand (e.g. how your application works, troubleshooting guides, etc.).
It’s not hard to see that this is something programmers dread doing. Take a quick look at all the open-source projects out there. What’s the one thing that all of them are constantly asking for help with? Documentation.
I think I can safely speak on behalf of all programmers everywhere when I say, “can’t someone else do it?“.

5. Applications without documentation

I never said that we weren’t hypocrites. :-) Programmers are constantly asked to incorporate 3rd party libraries and applications into their work. In order to do that, we need documentation. Unfortunately, as mentioned in item 6, programmers hate writing documentation. No, the irony is not lost on us.
There is nothing more frustrating than trying to utilize a 3rd party library while having absolutely no fricken idea what half the functions in the API do. What’s the difference between poorlyNamedFunctionA() and poorlyButSimilarlyNamedFunctionB()? Do I need to perform a null check before accessing PropertyX? I guess I’ll just have to find out through trial and error! Ugh.

4. Hardware

Any programmer who has ever been called upon to debug a strange crash on the database server or why the RAID drives aren’t working properly knows that hardware problems are a pain. There seems to be a common misconception that since programmers work with computers, we must know how to fix them. Granted, this may be true for some programmers, but I reckon the vast majority of us don’t know or really care about what’s going on after the code gets translated into assembly. We just want the stuff to work like it’s supposed to so we can focus on higher level tasks.

3. Vagueness

“The website is broken”. “Feature X isn’t working properly”. Vague requests are a pain to deal with. It’s always surprising to me how exasperated non-programmers tend to get when they are asked to reproduce a problem for a programmer. They don’t seem to understand that “it’s broken, fix it!” is not enough information for us to work off of.
Software is (for the most part) deterministic. We like it that way. Humor us by letting us figure out which step of the process is broken instead of asking us to simply “fix it”.

2. Other programmers

Programmers don’t always get along with other programmers. Shocking, but true. This could easily be its own top 10 list, so I’m just going to list some of the common traits programmers have that annoy their fellow programmers and save going into detail for a separate post:
  • Being grumpy to the point of being hostile.
  • Failing to understand that there is a time to debate system architecture and a time to get things done.
  • Inability to communicate effectively and confusing terminology.
  • Failure to pull ones own weight.
  • Being apathetic towards the code base and project
And last, but not least, the number 1 thing that annoys programmers…

1. Their own code, 6 months later

Don’t sneeze, I think I see a bug.
Ever look back at some of your old code and grimace in pain? How stupid you were! How could you, who know so much now, have written that? Burn it! Burn it with fire!
Well, good news. You’re not alone.
The truth is, the programming world is one that is constantly changing. What we regard as a best practice today can be obsolete tomorrow. It’s simply not possible to write perfect code because the standards upon which our code is judged is evolving every day. It’s tough to cope with the fact that your work, as beautiful as it may be now, is probably going to be ridiculed later. It’s frustrating because no matter how much research we do into the latest and greatest tools, designs, frameworks, and best practices, there’s always the sense that what we’re truly after is slightly out of reach. For me, this is the most annoying thing about being a programmer. The fragility of what we do is necessary to facilitate improvement, but I can’t help feeling like I’m one of those sand-painting monks.
Well, there you have it. The top 10 things that annoy programmers. Again, if you feel that I missed anything please be sure to let me know in the comments!