Thursday, August 11, 2011

Hardly working hard

I am lazy. I don’t remember when it began, but to the great frustration of my mother, it has yet to end. Luckily though, there are many tools available for the lazy software engineer, some of which I’d like to share today in this post.

Too lazy to type?

I like saving key strokes. Why type when you can...not type? There are a couple of bash tricks I learned from Carlos and Jesse that I really like:

  1. cd - cd to last visited directory. Everybody knows about cd ~, but this is at least as useful. Instead of taking you home, cd - takes you to the last directory you visited.

Example use case:

cd /path/to/logs

tail log1 | cut -f 3 | sort

tail log2 | cut -f 5 | sort

cd -

vim

2. ctrl + r: Reverse search bash history. Here at Adku, we run A LOT of map reduces. Most of the time, we’re calling the same few commands. ctrl + r lets us run, forget, and then run again later.

Example use case:

fab some_map_reduce_job:arg1=’ahhhh’,arg2=’wahhhhh’

cd ../

touch ‘asdf’

ctrl + r

fab

fab some_map_reduce_job:arg1=’ahhhh’,arg2=’wahhhhh’

3. !n:x-y Recall arguments x-y from the last nth command. This is another command that is a great help when running map reduces with complicated argument lists. Though, it is a lot more complicated than the other commands mentioned here, and worth reading about separately. True to the theme of this post, I redirect you to: http://www.catonmat.net/blog/the-definitive-guide-to-bash-command-line-history/ for a great resource on this, and will stick to giving a few simple examples.

Example use case(s):

>echo “foobar”

foobar

>echo “moocow”

moocow

>!-2

foobar

>!-2

moocow

--------

cat foo > impossible_to_remember_filename_akj3kj2437fvaj

nano !:3

--------

port install haskell-platform

##oh no, permission failure##

sudo !!

---------

>echo “hi” && echo “why”

hi

>!!:0-1

hi

>!-2:2-$

why

Too lazy to go to work?

Being too lazy to go to work is, of course, never a problem for me. But theoretically, I could see the following scenario occur.

1. While at work, start a ssh tunnel between your work computer and a gateway server. (For details on how we do this, checkout: http://blog.adku.com/2011/06/working-remotely.html)

2. Go home, relax.

3. Start a ssh session to your work server.

4. Start tmux

5. never go to work again.

With the exception of 4 (and 5?), this is probably a familiar process. But here’s the beauty of four:

connection closed by remote host.

Never again.

To quote the tmux man page:

Each session is persistent and will survive accidental disconnection (such as ssh(1) connection timeout) or intentional detaching (with the `C-b d' key strokes).

Aside from never losing your work due to connection problems, Tmux also makes it easy to start a job at work, go home, and continue monitoring that job remotely, or vice versa.

For example:

I start a tmux session at start tailing a random log at work:

To remember this session, I name it by typing

ctrl + b + : rename_session “foo”

Then I go home.

At home, I ssh into my work computer and type

and everything just works!

In addition to creating and naming sessions, tmux makes it easy to create and name panes within sessions. I often find myself running many jobs of the same type, which I like to organize into named panes within a single session.

The panes I have open are called “mo”, “meeny”, and “eeny”. In each screen I am running a different map reduce job. By naming the panes, I’ll remember exactly what I was running in each pane wherever I go.

Basic panel usage:

create

ctrl + b c

delete

ctrl + b x

rename

ctrl + b ,

navigate to previous panel

ctrl + b p

nagivate to next panel

ctrl + b n

navigate to panel #

ctrl + b #

Too lazy to...continue?

63 comments:

  1. Type even less:

    alias -='cd -'
    alias ..='cd ..'

    ReplyDelete
    Replies
    1. 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. Gracias por compartir sus ideas con nosotros. Friv Games Gry Friv gracias por la detallada información. Juegos Friv Gry Friv Friv Gracias por vuestras reacciones a las transmisiones que os han hecho. Friv Games Juegos Friv Acogemos con agrado los comentarios de los lectores.

    ReplyDelete
  3. I enjoyed over read your blog post. Your blog have nice information, I got good ideas from this amazing blog. I am always searching like this type blog post. I hope I will see again..

    starfall | brainpop

    ReplyDelete
  4. This is a great blog. Thanks for mentioning.
    I am also very happy to be able to show some of my work. Hope you will also visit and learn my websiteFriv.com

    ReplyDelete

  5. This is a great blog. Thanks for mentioning.
    I am also very happy to be able to show some of my work. Hope you will also visit and learn my website
    Happy Wheels

    ReplyDelete
  6. I admire the person who wrote this post, you are so talented, hope you will promote them and become more successful. I do not feel sorry for taking the time to read this post, it is really nice and useful to me, thanks for posting it.
    Jogo para menino, cá koi mini, friv at school 2019, friv Games for kids online

    ReplyDelete
  7. تريد الحصول عليه ونحن نقدم هذه الخدمات بأسعار Sibah ومن خلال فريق مدرب حتى تكون شركة التنظيف في الدمام هي اختيار أفضل العملاء لتنظيف المنازل والقصور والفيلات ، والتي تشمل تنظيف الواجهات الزجاجية وحمامات السباحة والسقوف وكذلك جميع الغرف مثل كغرف معيشة وغرف نوم كما نقدم خدمات تنظيف السجاد وتنظيف المفروشات والأرائك وكل ما تحتاجه معنا.
    شركة النجوم لخدمات التنظيف
    شركة تنظيف فلل بالطائف
    شركة تنظيف مجالس بالطائف
    شركة نقل عفش بالطائف

    ReplyDelete
  8. Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking.

    www.gumawawebsite.blogspot.com/2019/04/is-it-worth-it-to-buy-old-domain.html

    ReplyDelete
  9. Norton.com/Setup is  best  antivirus available in the market. If you want to protect your system online or locally from any unforeseen events   Norton.com/Setup   is is a must have software in your PC or Mac. 

    ReplyDelete
  10. McAfee.com/Activate Since the world is developing each day with new computerized advances, digital dangers, malware, information, and harming diseases have additionally turned out to be increasingly more progressed with every day. These digital contamination's harm a gadget or documents in different ways. McAfee.com/Activate  follows the concept of refine your system, you don’t need to worry about data loss or system failure because of the malfunctions. McAfee.com/Activate   works finely on every system including android and ios and supports device like, computer, laptops, mobile phones and tablets.

    ReplyDelete
  11. Install your office.com/Setup by downloading now. Microsoft Office applications are a complete package if multiple integrations like Microsoft Office, Microsoft Power Point, Microsoft Excel etc. All of these programs have their own features and speciality and are used in a lot of industries, small organizations and big organizations.

    ReplyDelete
  12. Hi, I Emily Johnson and I am a technical advisor and the technical blogger. I love writing and reading to spread some of the best information to the people. If you are looking for the antivirus services for your gadget like your PC, Mobile phone etc. So you can Click below to the given links. I am sure all these links are very useful for you.

    Click here:

    norton.com/setup|norton.com/setup|norton.com/setup

    ReplyDelete
  13. https://coolmathgames.com
    As mentioned before due to the increased access of the internet, the advanced technological graphics used simply make games very addictive.
    https://coolmathgamesz.com

    ReplyDelete
  14. Contact 1800customerservicesnumber to get solutions related to mcafee.com/activate issues or by directly visiting on

    www.mcafee.com/activate or You can just call on +1-888-526-0222 For technical help or any concerned query related to McAfee Product or service , activation

    .You can find easiest solutions to the issues online or offline both .Our Mcafee Antivirus Support Service
    is 24/7 available to help you.

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. This comment has been removed by the author.

    ReplyDelete
  17. This comment has been removed by the author.

    ReplyDelete
  18. This comment has been removed by the author.

    ReplyDelete
  19. The best way to locate safe and enjoyable online games now is to access them through social networking websites. The most popular games on Facebook are well known, but there are various other games which you can get through smaller social networking sites that are every bit as fun. Five of those games are presented here. Watch them up and enjoy! Cooler Math GamesCool Math GamesCool Math Games

    Cool Math Games

    Cool Math Games Unblocked Bloons Tower Defense

    Cool Math Games


    Browser Kingdom

    This game designates all players as the Lord of the own country. The goal is to go head-to-head with other Lords so as to benefit their particular country. This is a strategic game that includes fighting and some strategic thinking to push a nation ahead.

    ReplyDelete
  20. According to a report, about half of the internet users are victimized through cybercrime, and there are more than 25,000 dangerous websites on the Internet that can help them.
    webroot.com/safe   is known worldwide for the services that it provides to solve the queries of its customers. 
    Ask Me Rating  help empower consumers by offering crowd-sourced methods to react to these changes and give everyone the benefit of the best information possible

    ReplyDelete
  21. Online criminology assignment help services are very common nowadays since there are very many students seeking criminology assignment writing services and criminology essay writing services.

    ReplyDelete
  22. You have written such a interesting blog.it is worth of reading.keep updating and sharing with us

    Digit me
    Zen Watson


    ReplyDelete
  23. I never used all the features of MyGarmin Express. But still I can say that this is the best app I have ever used. Garmin Nuvi comes with some refined features. Check out Garmin Nuvi or call +1-888-309-0939 for instant help from Garmin GPS experts.

    Visit the website https://www.garminnuvimapupdate.com/mygarmin-express.php

    ReplyDelete
  24. This comment has been removed by the author.

    ReplyDelete
  25. Thanks for sharing it is important for me. I also searched for that from here. Visit our site AVG contacteren

    ReplyDelete
  26. Your Verizon Email Not performing on MacBook? Do you want to know How To Fix Verizon Email Not Performing On MacBook? Don’t worry! Our Email Expert 247 team will be help you. They will provide troubleshoot of Verizon Email Not performing on MacBook. You just call on Email Expert 24*7 customer care toll-free number and visit our official website.

    ReplyDelete
  27. This is a very nice one and gives in-depth information. I am really happy with the quality and presentation of the article. I’d really like to appreciate the efforts you get with writing this post. Thanks for sharing.
    Java Training in Chennai

    ReplyDelete
  28. Thank you very much for publishing this of article, I like your article very much. Your post is very informative and helpful. Best Software Company in Bangladesh

    ReplyDelete
  29. Your post was really good. I like it very much. I like your blog site a lot. So thank you so much for sharing this important topic with us. Hope to share more good posts with us in future. diploma in engineering

    ReplyDelete
  30. Very nice blog site. Your blog site is very informative and learnable. I think men can be learn in this blog site. Thank you so much for sharing this post with us. Thank's a lot bro, You can visit our site , web development company in Bangladesh

    ReplyDelete
  31. Your post was really pretty. I like it a lot. Your blog site is very informative and helpful. The term Internet Service Provider (ISP) refers to a company that provides Internet access to both personal and business customers. ISPs make it possible for their clients to surf the web, shop online runs a business, and connect with family and friends - in exchange for everything. ISPs can also provide other services including email services, domain registration, web hosting, and browser packages. Our blog site is related to Internet Service Provider (ISP). I believe that my blog site is more helpful than all other blog sites. We provide the best service to everyone. best isp in Dhaka

    ReplyDelete
  32. Do you know how high Ariana Grande is? All the information about celebrity heights is available for free!

    ReplyDelete

  33. I was lazy in my starting time I have to not complete my work on time so I had to contact Vertical report example service and complete my work. if you are new to college so you can do it. and complete your work

    ReplyDelete

  34. Visit the website if you're curious to learn more about what I previously saw that was unknown. I'd like to see a service that writes student essay writing help because I'll need help with a project in ten days. Visit the website if you're interested in learning more about what I previously saw but didn't know about.

    ReplyDelete
  35. your website is very nice, the article is very enlightening, I wish you continued success. ทางเข้าเล่น joker

    ReplyDelete

  36. Hello! It's a nice time coming around your blog. I have a special joy surfing through your content today. Its interesting and knowledgeable ideas shared. I really appreciate the good work here. federal cooperative college admission form this year

    ReplyDelete