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.

57 comments:

  1. 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
  2. Hi, We hope to learn that the lot of new information.I will be like that your wonderful information.

    Informatica Training in Chennai

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

    ios Training in Chennai || Cloud Computing Training in Chennai

    ReplyDelete
  4. 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
  5. This comment has been removed by the author.

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

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


    abap training in chennai

    ReplyDelete
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. Great article. Glad to find your blog. Thanks for sharing.

    php training institute in chennai

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

    digital marketing training in chennai

    ReplyDelete
  18. 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
  19. 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
  20. 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
  21. Greens Technology's. the leading software Training & placement centre Chennai & (Adyar)
    informix training in chennai

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

    ReplyDelete
  23. 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
  24. Great article. Glad to find your blog. Thanks for sharing.

    tibco training in chennai

    ReplyDelete
  25. Professional Expert level Android Training in chennai, Android App Development
    Android Training | Android App Development | 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. 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
  28. 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
  29. 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
  30. Professional Expert level Android Training in chennai, Android App Development
    Android Training | Android App Development | Training in chennai

    ReplyDelete
  31. 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
  32. 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
  33. 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
  34. This is my first visit to your blog, your post made productive reading, thank you. dot net training in chennai

    ReplyDelete
  35. 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
  36. 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