2012-09-10

Learning 1 Thing Every Day

When I was 18 and a programmer in the USMC I decided the best way for me to become skilled was to learn one thing every day about programming in addition to my daily duties.   I recruited a colleague and each of us committed to learning and sharing our discoveries.

By learning I don't mean just reading about some feature or method, but instead studying it to the degree necessary to be able to easily apply it later.   Fitting this extra work into our schedules meant that most of these discoveries were fairly small.    But they accumulated and built upon one another very quickly.    Perhaps more importantly this strategy positively affected our daily outlook by helping us frame our day within an optimistic, learning context.

Decades later I'm a mid-career technologist who tends to neglect my technical skills while focusing on organization, communication, and resource issues necessary to get projects successfully deployed.  So, I've decided to resurrect this strategy to resharpen my skills and inject some more fun into my day.   I'm going to use this blog to help me track these items and summarize the impacts.



My first objective has been to improve my programming environment - and upgrade my vim skills in particular.   Vim is emerging as a reasonable IDE-alternative and frankly, my skills with it suck.   A first editor might be like a first love,  and my first editor was SPF on the mainframe.   It doesn't matter that it was primitive compared to vim, because I'll know it like the back of my hand - when I'm on my death bed.  Plus, we only had vi not vim on AIX so the sexy new stuff wasn't available anyway.   The bottom line is that I've never fully embraced vi even though I used it daily.  Instead I learned a minimal subset of commands and just used that - every day for the past ten years.   Fixing this was my first objective - since I could immediately benefit from productivity improvements.

While some days I found myself learning about other subjects, here's what I learned about vim in August:
  • More misc commands - more ways to navigate, search, etc
  • GVim - just vim with a little better desktop integration
  • Plug-in management using Pathogen - keeps all the plug-ins organized
  • Text Folding  - essential for efficient editing of large files
  • Remapping keys - all about convenience
  • Visual mode
  • Spell-checking
  • The NerdTree plug-in - provides filesystem navigation in a window
  • The SuperTabs plug-in - along with ctags & Omnicompletion provides tab completion and docstring viewing
  • The Tagbar plug-in - brings up a window with all your classes & functions
With these new features I'm also editing all my text notes in vim now.  The folding features in particular were critical to making that feel more like an outliner - my preferred note-keeping tool.   I've rejected a few plug-ins because I didn't care for their side-effects, but as I get more comfortable with what I have no I'll be adding more customizations in the future.

At this point I've still got a very long way to go before I'll consider myself truly competent with vim.   But - it's absolutely improved my productivity, I'm enjoying and having fun learning about it, and will continue to add some new skills every month.

108 comments:

  1. Replies
    1. JavaScript is the language future. The new JavaScript Version (Ecmascript 6) has been released.

      Javascript Online Training | Angularjs Online Training

      Delete
    2. Java Online Training Java Online Training Java Online Training Java Online Training Java Online Training Java Online Training

      Hibernate Online Training Hibernate Online Training Spring Online Training Spring Online Training Spring Batch Training Online Spring Batch Training Online

      Delete
    3. I’m really glad I have found this information. Nowadays bloggers publish just about gossips and web and this is really frustrating. A good blog with exciting content that is what I need. Thank you for keeping this site, I will be visiting it. web designing in jalandhar

      Delete
  2. Thanks for sharing this valuable post to my knowledge great pleasure to be here SAS has great scope in IT industry. It’s an application suite that can change, manage & retrieve data from the variety of origin & perform statistical analytic on it…
    Regards,
    sas training in Chennai|sas course in Chennai|sas training institute in Chennai

    ReplyDelete
  3. Hi, We hope to learn that the lot of new information.I will be like that your wonderful information.

    Informatica Training in Chennai

    ReplyDelete
  4. Learned something new . i am a newbie hope it will work for me! thanks.

    ios Training in Chennai || Cloud Computing Training in Chennai

    ReplyDelete
  5. Hello Admin, thank you for the article. It has helped me during my Java training in Chennai. Fita academy is a Java training institutes in Chennai that provides training for interested students. So feel free to contact us to join our Java J2EE training institutes in Chennai.

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

    ReplyDelete
  7. Thanks a lot for all your impressive article! We are happy about the your
    iOS Training in Chennai

    ReplyDelete
  8. I got an information about the technical points thanks for posting.


    abap training in chennai

    ReplyDelete
  9. too good piece of information, I had come to know about your site from my friend sajid, bangalore,i have read atleast 7 posts of yours by now, and let me tell you, your web-page gives the best and the most interesting information. This is just the kind of information that i had been looking for, i'm already your rss reader now and i would regularly watch out for the new post, once again hats off to you! Thanks a lot once again, Regards, informatica mdm training in hyderabad,informatica training in hyderabad

    ReplyDelete
  10. nice blog..
    SEO training in hyderabad by experts in digital markeing And by prosessional experts in seo.All the training by placement and also guide by the professionals.SEO training in hyderabad

    ReplyDelete
  11. thanku for sharing about evryday..
    SAS Institute introduced the SAS Certified Professional Program,training proper understanding of how the SAS software works. Among the five certification programs that SAS Institute has come up with, SAS training can be considered as the entry point into the big data and the data analytics industry.
    SAS online training in hyderabad

    ReplyDelete
  12. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
    salesforce training in chennai | salesforce training institute in chennai

    ReplyDelete
  13. Nice blog.Thanks admin for sharing this information.This article may useful for many individuals who are all looking for Hadoop courses.
    Big Data Training in Chennai | Big Data Courses in Chennai

    ReplyDelete
  14. learning things every day in the far of the excelent posts..

    Hadoop training in hyderabad.All the basic and get the full knowledge of hadoop.
    hadoop training in hyderabad

    ReplyDelete
  15. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
    Hadoop Training in Chennai | Hadoop Training Chennai

    ReplyDelete
  16. I have read your blog its very attractive and impressive. I like it your blog.

    Java Training in Chennai Java Training in Chennai | Core Java Training in Chennai

    Online Java Training Java Online Training | Java J2EE Online Training | JavaEE Training Institute in Chennai

    ReplyDelete
  17. Great article. Glad to find your blog. Thanks for sharing.

    php training institute in chennai

    ReplyDelete
  18. Great article. Glad to find your blog. Thanks for sharing.

    digital marketing training in chennai

    ReplyDelete
  19. inspiring article learn something new in every day ,we definitely come to know about new thing,thanks for sharing this keep blogging.for best SAP Netweaver Online Training SAP Netweaver Training in Hyderabad
    get certified and full knowledge on the course.

    ReplyDelete
  20. I have read your blog its very attractive and impressive. I like it your blog.


    JavaEE Training in Chennai JavaEE Training in Chennai

    Java Training in Chennai Core Java Training in Chennai Core Java Training in Chennai

    Java Online Training Java Online Training Core Java 8 Training in Chennai Java 8 Training in Chennai

    ReplyDelete
  21. Very interesting content which helps me to get the indepth knowledge about the technology. To know more detils about the course visit this website.
    Digital marketing course in Chennai | Digital marketing training in Chennai

    ReplyDelete
  22. Greens Technology's. the leading software Training & placement centre Chennai & (Adyar)
    informix training in chennai

    ReplyDelete
  23. Greens Technology's. the leading software Training & placement centre Chennai & (Adyar)
    datastage training in chennai

    ReplyDelete
  24. Heavenly I truly delighted in especially with this article here. Truly it’s a stunning article I had ever perused. I seek it will help a ton after all. Much obliged to you such a great amount for these astounding posts and please keeps upgrade like this fantastic article.
    Regards,
    Informatica Training Institute in Chennai | Informatica Training center Chennai

    ReplyDelete
  25. Great article. Glad to find your blog. Thanks for sharing.

    tibco training in chennai

    ReplyDelete
  26. Professional Expert level Android Training in chennai, Android App Development
    Android Training | Android App Development | Training in chennai

    ReplyDelete
  27. Professional Expert level Android Training in chennai, Android App Development
    Android Training | Android App Development | Training in chennai

    ReplyDelete
  28. Great post, I like this kind of blog information really very nice and more I can easily new skills are develop after reading that post.
    Regards,
    SEO Training | SEO Training in Chennai | SEO course Chennai

    ReplyDelete
  29. Heavenly I truly delighted in especially with this article here. Truly it’s a stunning article I had ever perused. I seek it will help a ton after all. Much obliged to you such a great amount for these astounding posts and please keeps upgrade like this fantastic article.
    Regards,
    SAS Training in Chennai | SAS Training Institute in Chennai | SAS Training Chennai

    ReplyDelete
  30. Cloud computing is a kind of processing that depends on sharing computing resources as opposed to having close-by servers or personal devices to handle applications.
    Regards,
    Cloud computing Training in chennai | Cloud Training in chennai | Cloud computing course in chennai

    ReplyDelete
  31. Professional Expert level Android Training in chennai, Android App Development
    Android Training | Android App Development | Training in chennai

    ReplyDelete
  32. Updating with the latest technology and implementing it is the only way to survive in our niche. Thanks for making me this article. You have done a great job by sharing this content in here. Keep writing article like this.
    SAS Training in Chennai | SAS Training Institute in Chennai

    ReplyDelete
  33. Thank you for taking time to provide us some of the useful and exclusive information with us.
    Regards,
    Spring Training in Chennai | Spring course in Chennai | Spring Framework Training in Chennai

    ReplyDelete
  34. Thanks for sharing the information about the SaS and keep updating us.You had done a good job by updating the content.
    SAS Training in Chennai
    SAS Training Center in Chennai

    ReplyDelete
  35. This is my first visit to your blog, your post made productive reading, thank you. dot net training in chennai

    ReplyDelete
  36. For interview tips on Software/Network/Hadoop log on to www.s4techno.com/forum/
    For additional knowledge on Software/Network/Hadoop lon on to www.s4techno.com/blog/

    ReplyDelete
  37. Excellent post!!! In this competitive market, customer relationship management plays a significant role in determining a business success. That too, cloud based CRM product offer more flexibility to business owners to main strong relationship with the consumers.
    Cloud computing course in Chennai|cloud training in chennai|cloud computing training chennai

    ReplyDelete
  38. Im no expert, but I believe you just made an excellent You certainly understand what youre speaking about, and I can truly get behind that. Salesforce Training Institutes in Chennai| Salesforce.com training in chennai|Saesforce crm Training in Chennai

    ReplyDelete
  39. Hi, you have given really informative post. Thanks for sharing this post to our vision. Learn Hadoop Online Training will helps you to reach your goal.Selenium Online Training

    ReplyDelete
  40. Thank you for this valuable information. I have got some important suggestions from it. Get your business to the next level in simple steps.
    ERP Software Solutions in Chennai.

    ReplyDelete
  41. Thank you for Sharing. I'm working in brave technologies private limited, We are the best erp software developers based in chennai. erp providers in chennai

    ReplyDelete
  42. Really Nice Blog. Thank you for Sharing. We are the best erp software providers in chennai. For more details call +91 9677025199 or email us on info@bravetechnologies.in
    erp in chennai | erp for automotive industry chennai

    ReplyDelete
  43. Excellent post. I have read your blog it's very interesting and informative. Keep sharing.
    cloud erp in chennai

    ReplyDelete
  44. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharng this information,this is useful to me...
    Android training in chennai
    Ios training in chennai

    ReplyDelete


  45. Thanks for posting useful information.You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...Really it was an awesome article...very interesting to read..please sharing like this information......
    Web Design Development Company
    Mobile App Development Company

    ReplyDelete
  46. These ways are very simple and very much useful, as a beginner level these helped me a lot thanks fore sharing these kinds of useful and knowledgeable information.
    Android App Development Company

    ReplyDelete
  47. great and nice blog thanks sharing..I just want to say that all the information you have given here is awesome...Thank you very much for this one.
    Web Design Development Company
    Web design Company in Chennai
    Web development Company in Chennai

    ReplyDelete
  48. it is really amazing...thanks for sharing....provide more useful information...
    Mobile app development company

    ReplyDelete
  49. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...
    Fitness SMS
    Salon SMS
    Investor Relation SMS

    ReplyDelete
  50. Very nice information, Thanks for sharing your post and valuable information.
    Android Training in chennai|Android Training in velachery

    ReplyDelete
  51. your post is very amazing and nice. I really happy to read this blog.It will help to lot of freshers to update their knowledge.Thanks for sharing. keep sharing more blogs. Anybody want to learn Java online Training.


    Core Java Online Training

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

    ReplyDelete
  53. your post is very amazing and nice. I really happy to read this blog.It will help to lot of freshers to update their knowledge.Thanks for sharing. keep sharing more blogs. Anybody want to learn Java online Training.


    Android Training in Chennai

    ReplyDelete
  54. Good one, i really enjoyed to read your ideas, thanks for updating, keep rocks.
    Android Training in velachery |Best Android Training in velachery

    ReplyDelete
  55. I wondered upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon.
    iOS App Development Company

    ReplyDelete
  56. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    Android Training in Chennai
    Ios Training in Chennai

    ReplyDelete
  57. Your blog provided us with valuable information to work with. I found so many interesting stuff in your blog especially it's discussion, Each & every tips of your post are awesome. I Really like this post, thanks for sharing.
    Your blog provided us with valuable information to work with. I found so many interesting stuff in your blog especially it's discussion, Each & every tips of your post are awesome. I Really like this post, thanks for sharing.

    ReplyDelete
  58. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    Android Training in Chennai
    Ios Training in Chennai

    ReplyDelete
  59. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...
    Texting API
    Text message marketing
    Digital Mobile Marketing
    Sms API
    Sms marketing

    ReplyDelete
  60. Thanks, that was very motivational and good. This was a very interesting article. To learn more about Java programming, please check the link below:
    http://www.mnptechnologies.com/Best-Java-Training-in-Bangalore.html

    ReplyDelete
  61. I would like to say thank you for the amazing details and concepts you are sharing in this.
    Webseiten Gestaltung Lüdenscheid

    ReplyDelete
  62. Informative post! I really like and appreciate your work, thank you for sharing such a useful facts and information about Programmers, hear i prefer some more information about digital marketing training institute in hyderabad


    ReplyDelete
  63. Nice it seems to be good post... It will get readers engagement on the article since readers engagement plays an vital role
    snapho

    ReplyDelete
  64. I found a lot of interesting information here. A really good post
    office 2010 professional plus key deutsch

    ReplyDelete
  65. The website is looking bit flashy and it catches the visitors eyes. A design is pretty simple .
    regionale stellenbörse

    ReplyDelete
  66. Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts, have a nice weekend!

    Data Science Training in Chennai

    ReplyDelete
  67. Thanks for your marvelous posting! It is very useful and good. Come on. I want to introduce the best aso services for you, I try it and I feel it is so good to rank app to top in app store search results, have you ever heard it?

    ReplyDelete
  68. Your website content nice nice and interesting to observe.
    jobbörse Neunkirchen

    ReplyDelete
  69. Your website content nice nice and interesting to observe.
    jobbörse Neunkirchen

    ReplyDelete