Tuesday, October 11, 2011

Speed feels good

Sitting in front of my computer typing at over 120 words-per-minute feels DAMN good.. damn good. or at least I imagine it would be if I could actually type 120wpm. Sadly, as much as I try, I can't type that fast, but.. I *can* cheat my way into working as fast as my fictional friend, let's call him Carlos, can (or faster, shhh!).

There are probably better methods of working faster out there, but in this post, I want to convince you that you should alias your already short commands to be even shorter and how doing that will make both your fingers more efficient AND your brain more efficient.

Efficient Fingers

How many times a day do you type "ls"? 100? 1000? If you
you would save 33% of the number of keystrokes used to issue that command (including the enter key). 33% is pretty damn significant. That's 100-1000 keystrokes less per day. Your fingers are already looking like body builders you type-a-holic, they don't need to be working out any harder than they need to.

What about "cd .."?
increases your productivity by 300%! That's like 200 less keystrokes a day?

Not to belabor the point, but how many times do you type "cd" and don't immediately type "ls" afterwards?

Here are some common ones I use daily.

You may have noticed that I chose "d" and "s" for these common commands. The reason is because "d" and "s" are on the home row of your qwerty keyboard. This means your fingers have a shorter distance to travel which means MORE SPEED. They are also for your left hand so that your right hand can sit on top of the enter key ready and waiting so that it can get all up on that enter key RIGHT AFTER you type your 1-letter command. 2 hands are better than 1.

You can alias all day long and find longer and longer commands that you type often. Things like "ssh -i ec2-keypair ubuntu@ec2.adku.com" or "cd /mnt/var/log/supervisor" each of which I do 100 times a day have their own aliases, saving me completely UNFATHOMABLE amounts of time. I seriously can't even comprehend the savings.

Anyway, the point is, (fictional) Carlos may type faster than me, but that doesn't mean he gets more done than me =)

Efficient Brain

In practice, after years of obsessing over aliases and reducing keystrokes, I've unexpectedly found that the productivity gain is actually quite a bit more than just the reduced mechanical overhead of hitting keys. It also allows you to work that much closer to the speed of thought, eliminating the costly context switch of deciding what to do vs executing the commands. We all know how expensive context switching is when writing code, but there is a much smaller, but more pervasive context switch that happens between the time you decide you want to look at your log files and when your actually able to see them. Sometimes you get to the right folder and forget what you were looking for. Getting to your log files in 3 seconds instead of 10 seconds turns out to be a big difference and lets you keep your mind on what your doing and less on telling your fingers what buttons to push == SPEED x 1000!

If you like working fast and getting a lot done, consider applying for a job at Adku.

17 comments:

  1. nice post! my favorite is (indent mangled):

    function u {
    DEFAULT=$USER
    TARGET=${1-$DEFAULT}
    ORIGPATH=$PWD
    while test ${PWD##*/} != $TARGET
    do
    cd ..
    done
    }

    ReplyDelete
    Replies
    1. Very good information, Sejarah tapak perjudian dalam talian menunjukkan bahawa rakyat Indonesia telah memahami cara bermain dari semua jenis perjudian. Permainan ini telah menjadi budaya pada masa lalu king4d online, kerana tidak ada hiburan lain pada masa itu. Dewasa bermain perjudian hanya untuk menghibur suasana apabila bosan bekerja sepanjang hari dan menghilangkan kesunyian malam jika togel lxtoto online sibuk dengan rakan-rakan atau rakan-rakan dan rakan sekerja - rakan sekerja. Pada masa lalu, perjudian boleh bertaruh pada apa saja untuk memenangi permainan Eyang Togel. Sebelum teknologi canggih, komuniti perjudian tidak perlu membuat akaun kerana mereka tidak tahu komputer sama sekali. Setiap orang berpartisipasi dalam perjudian loteri Toto Singapore ini, biasanya mereka memilih salah satu laman web togel totojitu online yang diperjuangkan dan kemudian memasangkan tawanya, perjudian ini biasanya dipegang dengan memeriksa tempat yang menang dan pemerolehan skor yang diperoleh. Dilantik dari populariti jenis judi loteri judi di kalangan rakyat 8togel online, kini terdapat banyak laman perjudian loteri dalam talian yang baru muncul. Maksudnya, anda tidak harus memberi tumpuan terlalu banyak pada jenis dan tapak yang sama untuk terus bermain togel king4d online, hanya jika anda sering menang di laman web dan permainan itu mungkin hanya satu kebetulan, tetapi juga tidak memaksa nasib anda terus bermain di permainan togel lotus4d online, seperti di laman poker buku sebenar jika anda bermain terlalu kerap, maka stamina dan prestasi akan dikurangkan.

      Delete
    2. The effectiveness of IEEE Project Domains depends very much on the situation in which they are applied. In order to further improve IEEE Final Year Project Domains practices we need to explicitly describe and utilise our knowledge about software domains of software engineering Final Year Project Domains for CSE technologies. This paper suggests a modelling formalism for supporting systematic reuse of software engineering technologies during planning of software projects and improvement programmes in Final Year Project Centers in Chennai.

      Software management seeks for decision support to identify technologies like JavaScript that meet best the goals and characteristics of a software project or improvement programme. JavaScript Training in Chennai Accessible experiences and repositories that effectively guide that technology selection are still lacking.

      Aim of technology domain analysis is to describe the class of context situations (e.g., kinds of JavaScript software projects) in which a software engineering technology JavaScript Training in Chennai can be applied successfully

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Jessie!

    Nice post!

    Just wanted to add that when looking to increase speed, sometimes we forget the all important time it takes to recheck the actions that we have just completed before it gets lost in a sea of data and begins to look correct.

    Such as the 2nd 'your' in the 6th line from the bottom of your post (Inclusion of the "If you like working fast and ..." line). Which in relations to coding would be a dynamic semantics error that might end up causing a big headache later.

    Lol. This post wasn't meant to be taken that seriously. Just saying 'Hey, how've you been!' in geek. Glad to see you're doing well, bro! You deserve it.

    ReplyDelete
  4. Quester is a Pakistan-based questioning answering website where people can ask questions and we try our best to provide them with the best answers. Anyone can ask any legit question in English or Roman Urdu and we provide answers in the same language format. www.quester.pk

    ReplyDelete
  5. the articles you present are very interesting and inspiring. i am very amazed good luck
    obat limpa bengkak
    obat thalasemia
    obat ginjal bengkak
    obat jantung bengkak
    obat keloid

    ReplyDelete
  6. This is a post that we all should read at least once, it's great, wish you success in the next blog. I like this post because it contains a lot of useful information to read, maybe everyone will like me.
    io game online, 360 jogos gratis, cá koi mini, Jogos grátis

    ReplyDelete
  7. Ensure that the large wooden rooms that will be dismantled and installed again will not be damaged because there are carpenters who do not know how to disassemble and install or the pieces of wood can be damaged during the process of dismantling, but carpenters who work inside a furniture transport company in Jeddah are distinguished
    شركة نقل عفش

    ReplyDelete
  8. I found your entry interesting do I’ve added a Trackback to it on my weblog.

    www.freesitemaker.net/how-to-make-a-website/how-to-choose-domain-name

    ReplyDelete