{"id":1834,"date":"2009-03-24T22:32:49","date_gmt":"2009-03-24T22:32:49","guid":{"rendered":"http:\/\/justthesam.com\/2009\/03\/read-some-code-today\/"},"modified":"2009-03-24T22:32:49","modified_gmt":"2009-03-24T22:32:49","slug":"read-some-code-today","status":"publish","type":"post","link":"https:\/\/justthesam.com\/?p=1834","title":{"rendered":"Read some code today!"},"content":{"rendered":"<p>I advise every programmer out there to read lots of other people&#8217;s code. Pick an open source project that you&#8217;re a fan of (and perhaps use every day), download the source and then sit and try and figure out how it works. You may find the following things:<\/p>\n<div>\n<ul>\n<li>It&#8217;s interesting to see how other people write code, from their specific syntactic style to the level of commenting, overall design and code layout, common idioms etc. You&#8217;ll probably learn something &#8211; either good things that you can copy, or bad things that are tough to read and warn you off doing the same.<\/li>\n<li><span>You may find the code frustrating and difficult to figure out, not only initially but no matter who long you work through it, though if that&#8217;s the case then it&#8217;s probably poor code. Hopefully that will influence how you write your own code, for the better.<\/span>&nbsp;<\/li>\n<li>If it is a product that you use regularly, you may gain insights into what it&#8217;s really doing and how, that empower you to use it more effectively. You may even be able to modify it to make some improvement that matters to you.<\/li>\n<li>Once you&#8217;ve got past the initial difficulty and started to understand things, you acquire a sense of power. No longer are these complicated pieces of software opaque and mysterious. They can be broken down, understood and messed with. A whole world of possibilities opens up and you no longer need to be afraid.&nbsp;<\/li>\n<\/ul>\n<p><span>I&#8217;ve recently been reading the <a href=\"http:\/\/github.com\/manveru\/innate\/tree\/master\" target=\"_blank\" rel=\"noopener\">Ruby source code of Innate<\/a> &#8211; the new underpinnings of next generation <a href=\"http:\/\/ramaze.net\" target=\"_blank\" rel=\"noopener\">Ramaze<\/a>,&nbsp;a Ruby web app framework that I particularly enjoy using. Innate is built on top of <a href=\"http:\/\/rack.rubyforge.org\/\" target=\"_blank\" rel=\"noopener\">Rack<\/a>, so I&#8217;ve been reading that too. The mystery is ebbing away and it&#8217;s making me more powerful. Stand back! \ud83d\ude42<\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I advise every programmer out there to read lots of other people&#8217;s code. Pick an open source project that you&#8217;re a fan of (and perhaps use every day), download the source and then sit and try and figure out how it works. You may find the following things: It&#8217;s interesting to see how other people [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,23,33],"tags":[],"class_list":["post-1834","post","type-post","status-publish","format-standard","hentry","category-programming","category-ruby","category-webtech"],"_links":{"self":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/posts\/1834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1834"}],"version-history":[{"count":0,"href":"https:\/\/justthesam.com\/index.php?rest_route=\/wp\/v2\/posts\/1834\/revisions"}],"wp:attachment":[{"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/justthesam.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}