{"id":4792,"date":"2010-11-25T17:52:07","date_gmt":"2010-11-25T09:52:07","guid":{"rendered":"http:\/\/nick.onetwenty.org\/?p=4792"},"modified":"2010-11-25T19:40:41","modified_gmt":"2010-11-25T11:40:41","slug":"excel-to-python-with-revision-control","status":"publish","type":"post","link":"https:\/\/nick.onetwenty.org\/index.php\/2010\/11\/25\/excel-to-python-with-revision-control\/","title":{"rendered":"Excel to Python (with revision control)"},"content":{"rendered":"<p>My brother recently started programming in <a href=\"http:\/\/python.org\/\">Python<\/a>.<\/p>\n<p>He&#8217;s been working as an economist for a number of years, and has spent a fair amount of time in Excel. So he&#8217;s familiar with functions and macros. Going back a bit further, he has some programming experience (albeit in BASIC on a Commodore 64) and an appreciation of programming concepts (acquired via his love of video games and fascination with how they work).<\/p>\n<p>Since he lives on the other side of the country, I suggested that we setup a shared code repository so that I can take a look at what he&#8217;s working on if he gets stuck, has some questions, or wants some help. He seemed interested in working on something together, especially since he was having trouble deciding what to code.<\/p>\n<p>Ha! As if I have any interesting ideas! \ud83d\ude1b<\/p>\n<p>Onto setting up the repository. Personally, I feel that <a href=\"http:\/\/en.wikipedia.org\/wiki\/Revision_control\">revision control<\/a> is essential for programming even at the earliest stages. However, learning about it at the same time as learning about programming (and a new language) can be daunting. So I decided to use something that would be easy to understand and use.<\/p>\n<p>I considered using <a href=\"http:\/\/git-scm.com\/\">git<\/a> (which I use for other projects), but there aren&#8217;t any good graphical clients for it yet (IMHO). He&#8217;s an Ubuntu user and I remembered that <a href=\"http:\/\/rabbitvcs.org\/\">RabbitVCS<\/a> (formerly <a href=\"http:\/\/nick.onetwenty.org\/index.php\/2009\/04\/09\/its-like-tortoisesvn-for-linux\/\">NautilusSVN<\/a>) provides a nice GUI frontend to <a href=\"http:\/\/subversion.apache.org\/\">Subversion<\/a>, so I figured that would be a fine option and a soft introduction to version control.<\/p>\n<p>RabbitVCS isn&#8217;t yet included in the Ubuntu package repositories, but there is a .deb package that works well in the latest version of Ubuntu (10.10). Just download the <a href=\"http:\/\/live.gnome.org\/Nautilus\">Nautilus<\/a> plugin from the <a href=\"http:\/\/wiki.rabbitvcs.org\/wiki\/install\/ubuntu\">RabbitVCS Ubuntu installation page<\/a>. It should load in the Ubuntu Software Centre and install without any problems. (There&#8217;s also a <a href=\"http:\/\/thunar.xfce.org\/\">Thunar<\/a> plugin for those <a href=\"http:\/\/www.xfce.org\/\">Xfce<\/a> types).<\/p>\n<p>I created the standard basic directory structure and added a few files. So now my brother can check stuff out by right-clicking within a folder window in Nautilus and selecting &#8220;Checkout&#8230;&#8221;. That should bring up a dialog similar to this one:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png\"><\/a><a href=\"https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png\"><img data-attachment-id=\"4806\" data-permalink=\"https:\/\/nick.onetwenty.org\/index.php\/2010\/11\/25\/excel-to-python-with-revision-control\/rabbitvcs_checkout\/\" data-orig-file=\"https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png?fit=552%2C356&amp;ssl=1\" data-orig-size=\"552,356\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"RabbitVCS_checkout\" data-image-description=\"\" data-medium-file=\"https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png?fit=300%2C193&amp;ssl=1\" data-large-file=\"https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png?fit=552%2C356&amp;ssl=1\" class=\"aligncenter size-medium wp-image-4806\" title=\"RabbitVCS_checkout\" src=\"https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png?resize=300%2C193\" alt=\"\" width=\"300\" height=\"193\" srcset=\"https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png?w=300&amp;ssl=1 300w, https:\/\/i2.wp.com\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png?w=552&amp;ssl=1 552w\" sizes=\"(max-width: 300px) 85vw, 300px\" data-recalc-dims=\"1\" \/><\/a><br \/>\n(<a href=\"http:\/\/nick.onetwenty.org\/wp-content\/uploads\/2010\/11\/RabbitVCS_checkout.png\">click for larger image<\/a>)<\/p>\n<p>I won&#8217;t got into the ins-and-outs of version control here, since I can just direct him to <a href=\"http:\/\/svnbook.red-bean.com\/\">Version Control with Subversion<\/a> and the <a href=\"http:\/\/subversion.apache.org\/faq.html\">Subversion FAQ<\/a>. Although I will have to email him the repository login details&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My brother recently started programming in Python. He&#8217;s been working as an economist for a number of years, and has spent a fair amount of time in Excel. So he&#8217;s familiar with functions and macros. Going back a bit further, he has some programming experience (albeit in BASIC on a Commodore 64) and an appreciation &hellip; <a href=\"https:\/\/nick.onetwenty.org\/index.php\/2010\/11\/25\/excel-to-python-with-revision-control\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Excel to Python (with revision control)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":67,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paLsRH-1fi","_links":{"self":[{"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/posts\/4792"}],"collection":[{"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/users\/67"}],"replies":[{"embeddable":true,"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/comments?post=4792"}],"version-history":[{"count":15,"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/posts\/4792\/revisions"}],"predecessor-version":[{"id":4812,"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/posts\/4792\/revisions\/4812"}],"wp:attachment":[{"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/media?parent=4792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/categories?post=4792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nick.onetwenty.org\/index.php\/wp-json\/wp\/v2\/tags?post=4792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}