{"id":1786,"date":"2017-10-08T16:19:03","date_gmt":"2017-10-08T10:49:03","guid":{"rendered":"https:\/\/judepereira.com\/blog\/?p=1786"},"modified":"2017-10-08T16:19:03","modified_gmt":"2017-10-08T10:49:03","slug":"contributing-to-go-in-54-days","status":"publish","type":"post","link":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/","title":{"rendered":"Contributing to Go in 54 days"},"content":{"rendered":"<p>With absolutely zero knowledge of Go 54 days ago, I decided to contribute to the Go project. Why? Put simply, I was bored. The thrill of learning something new, and contributing to a massive OSS project like Go caught my attention.<\/p>\n<h2>How?<\/h2>\n<ol>\n<li>Find an issue that&#8217;s tagged as\u00a0HelpWanted.\n<ol>\n<li>There&#8217;s a &#8220;<a href=\"https:\/\/github.com\/golang\/go\/labels\/HelpWanted\"><em>HelpWanted<\/em><\/a>&#8221; tag, which is\u00a0applied to issues where the Go community is looking for somebody on the outside to fix. I found one such a issue, <a href=\"http:\/\/golang.org\/issue\/21216\">#21216<\/a> with the topic being <em>x\/build\/cmd\/cl: build broken<\/em>. This seemed a great place to start.<\/li>\n<\/ol>\n<\/li>\n<li>Go through their <a href=\"https:\/\/golang.org\/doc\/contribute.html\">Contribution Guide<\/a>.<\/li>\n<li>Although I skipped this part at first, the <a href=\"https:\/\/github.com\/golang\/go\/wiki\/CodeReviewComments\">commenting guide<\/a>.\n<ol>\n<li>I split the issue at hand into two parts, one that provided the resource, and the other to actually fix the reported issue.<\/li>\n<li>On my very first CL (change list), my commenting style varied greatly. I was asked to review the commenting guide. Read it. Seriously, read it.<\/li>\n<\/ol>\n<\/li>\n<li>A must read before starting, <a href=\"https:\/\/golang.org\/doc\/effective_go.html\">Effective Go<\/a>.<\/li>\n<li>Take a tour of it, in <a href=\"https:\/\/tour.golang.org\/welcome\/1\">A Tour of Go<\/a>.<\/li>\n<li>Use <a href=\"https:\/\/www.jetbrains.com\/go\/\">Gogland<\/a> (I love JetBrains for their outstanding IDEs).<\/li>\n<\/ol>\n<p>Learning Go from scratch was a fairly simple task. It&#8217;s just a new syntax, nothing more. Moreover, there&#8217;s always Stack Overflow to help you out. Think of SO as a passive mentor, who gives you advice when it&#8217;s asked.<\/p>\n<p>I&#8217;ve got to thank a couple of people who helped me\u00a0along the path, @kevinburke, @bradfitz and @andybons. They reviewed my code, and gave my changes a +2, and submitted them.<\/p>\n<h2>What does it feel like?<\/h2>\n<p>It feels like the first time you try to dive into a swimming pool. You don&#8217;t know whether you can do it, but you do it nevertheless. Getting my first two\u00a0CLs accepted\u00a0was a little challenging, but definitely enthralling. Talking to other like-minded people across the globe, committed to fixing issues and innovating, is a completely new experience to\u00a0me. I&#8217;m now\u00a0set on a path to contribute to Go, as\u00a0it&#8217;s a fun weekend exercise, and moreover, just because I can.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With absolutely zero knowledge of Go 54 days ago, I decided to contribute to the Go project. Why? Put simply, I was bored. The thrill of learning something new, and contributing to a massive OSS project like Go caught my attention. How? Find an issue that&#8217;s tagged as\u00a0HelpWanted. There&#8217;s a &#8220;HelpWanted&#8221; tag, which is\u00a0applied to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[52,596],"tags":[601,599,602,565,597,600,598,459,603],"class_list":["post-1786","post","type-post","status-publish","format-standard","hentry","category-code","category-go","tag-cl","tag-contributing","tag-getting","tag-go","tag-gogland","tag-open","tag-oss","tag-source","tag-started"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pqtyx-sO","jetpack-related-posts":[{"id":1665,"url":"https:\/\/judepereira.com\/blog\/openframeworks-and-appcode\/","url_meta":{"origin":1786,"position":0},"title":"openFrameworks and AppCode","author":"Jude Pereira","date":"November 8, 2015","format":false,"excerpt":"Developing an openFrameworks app with AppCode is pretty easy. However, if you just open and run the project created by the project generator, you might see the following errors: Why doesn't it just work? This is because openFrameworks doesn't support 64 bit builds yet on the Mac, due to a\u2026","rel":"","context":"In &quot;another snippet | code&quot;","block_context":{"text":"another snippet | code","link":"https:\/\/judepereira.com\/blog\/category\/code\/"},"img":{"alt_text":"Building a stock openFrameworks app results in these errors","src":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/fails_by_default-1024x407.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/fails_by_default-1024x407.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/fails_by_default-1024x407.png?resize=525%2C300 1.5x"},"classes":[]},{"id":1685,"url":"https:\/\/judepereira.com\/blog\/compile-less-on-the-fly-for-your-exploded-war-in-intellij\/","url_meta":{"origin":1786,"position":1},"title":"Compile LESS on the fly for your exploded WAR in IntelliJ","author":"Jude Pereira","date":"February 5, 2016","format":false,"excerpt":"At CleverTap, we've recently started using LESS for dynamic CSS. While it has it's upsides, the biggest downside\u00a0was that most of our developers couldn't use the hot deploy feature for their local deployments. After an hour or so, we came up with a neat solution. \u00a0 There are two parts\u2026","rel":"","context":"In &quot;another snippet | code&quot;","block_context":{"text":"another snippet | code","link":"https:\/\/judepereira.com\/blog\/category\/code\/"},"img":{"alt_text":"External Tool configuration for compiling LESS files before deployment","src":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screen-Shot-2016-02-05-at-01.32.45-1024x494.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screen-Shot-2016-02-05-at-01.32.45-1024x494.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screen-Shot-2016-02-05-at-01.32.45-1024x494.png?resize=525%2C300 1.5x"},"classes":[]},{"id":2139,"url":"https:\/\/judepereira.com\/blog\/when-to-delegate-work-to-a-virtual-engineer\/","url_meta":{"origin":1786,"position":2},"title":"When to Delegate Work to a Virtual Engineer","author":"Jude Pereira","date":"November 23, 2025","format":false,"excerpt":"With rapid advances in the field of engineering, when should you delegate work to a virtual engineer? Furthermore, what is a virtual engineer?","rel":"","context":"In &quot;Virtual Engineering&quot;","block_context":{"text":"Virtual Engineering","link":"https:\/\/judepereira.com\/blog\/category\/virtual-engineering\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/v2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/v2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/v2.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/v2.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/v2.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/v2.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1855,"url":"https:\/\/judepereira.com\/blog\/nginx-ingress-helm-k8s-rbac\/","url_meta":{"origin":1786,"position":3},"title":"Installing the Nginx Ingress Controller via Helm to a K8s cluster with RBAC enabled","author":"Jude Pereira","date":"October 1, 2018","format":false,"excerpt":"A lot of posts describe how to do this, but are fairly outdated, and do not mention the last supported K8s version. Here's a tried and tested way to do so via Helm. This has been tested on GKE, with the Kubernetes master version\u00a01.9.7-gke.6: Create the service account for Tiller\u2026","rel":"","context":"In &quot;another snippet | code&quot;","block_context":{"text":"another snippet | code","link":"https:\/\/judepereira.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":694,"url":"https:\/\/judepereira.com\/blog\/visual-basic-6-revisited-linux-wine\/","url_meta":{"origin":1786,"position":4},"title":"visual basic 6 revisited &#8211; linux &#8211; wine","author":"Jude Pereira","date":"August 5, 2010","format":false,"excerpt":"Earlier this year, I had written an article on running Visual Basic 6 on linux under wine, this is an update for it, the prior one is deprecated Getting Visual Basic 6 to work on linux is pretty easy, not much trouble, all the basic things work, as of what\u2026","rel":"","context":"In &quot;another snippet | code&quot;","block_context":{"text":"another snippet | code","link":"https:\/\/judepereira.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1794,"url":"https:\/\/judepereira.com\/blog\/letstuneup-was-on-ishqfm\/","url_meta":{"origin":1786,"position":5},"title":"LetsTuneup was on Ishq 104.8 FM today!","author":"Jude Pereira","date":"November 16, 2017","format":false,"excerpt":"Today marked a significant milestone in LetsTuneup's life - we were interviewed live by RJ Sangeeta on Ishq 104.8 FM in Mumbai! How it all came about Yesterday, the morning show producer of Ishq FM messaged me, and asked if the RJ could talk to me the very next morning\u2026","rel":"","context":"In &quot;letstuneup&quot;","block_context":{"text":"letstuneup","link":"https:\/\/judepereira.com\/blog\/category\/letstuneup\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/posts\/1786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/comments?post=1786"}],"version-history":[{"count":5,"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/posts\/1786\/revisions"}],"predecessor-version":[{"id":1792,"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/posts\/1786\/revisions\/1792"}],"wp:attachment":[{"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/media?parent=1786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/categories?post=1786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/judepereira.com\/blog\/wp-json\/wp\/v2\/tags?post=1786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}