{"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_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_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},"jetpack_post_was_ever_published":false},"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":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"From not knowing Go, to contributing to it in 54 days. A story to be told.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Jude Pereira\"\/>\n\t<meta name=\"keywords\" content=\"go,gogland,oss,contributing,open,source,cl,getting,started,another snippet | code\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"@judepereira | Fleeting Thoughts\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Contributing to Go in 54 days | @judepereira\" \/>\n\t\t<meta property=\"og:description\" content=\"From not knowing Go, to contributing to it in 54 days. A story to be told.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/judepereira.com\/blog\/wp-content\/uploads\/cropped-foo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/judepereira.com\/blog\/wp-content\/uploads\/cropped-foo.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-10-08T10:49:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-10-08T10:49:03+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@judebpereira\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Contributing to Go in 54 days | @judepereira\" \/>\n\t\t<meta name=\"twitter:description\" content=\"From not knowing Go, to contributing to it in 54 days. A story to be told.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@judebpereira\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/judepereira.com\/blog\/wp-content\/uploads\/cropped-foo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#article\",\"name\":\"Contributing to Go in 54 days | @judepereira\",\"headline\":\"Contributing to Go in 54 days\",\"author\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0a1089f1857938099c95297539cf443242d71c86831e7fa280fdb2a8ff57c360?s=96&r=g\",\"width\":96,\"height\":96,\"caption\":\"Jude Pereira\"},\"datePublished\":\"2017-10-08T16:19:03+05:30\",\"dateModified\":\"2017-10-08T16:19:03+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#webpage\"},\"articleSection\":\"another snippet | code, go, cl, contributing, getting, go, gogland, open, oss, source, started\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/#listItem\",\"name\":\"another snippet | code\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/#listItem\",\"position\":2,\"name\":\"another snippet | code\",\"item\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/go\\\/#listItem\",\"name\":\"go\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/go\\\/#listItem\",\"position\":3,\"name\":\"go\",\"item\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/go\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#listItem\",\"name\":\"Contributing to Go in 54 days\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/#listItem\",\"name\":\"another snippet | code\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#listItem\",\"position\":4,\"name\":\"Contributing to Go in 54 days\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/category\\\/code\\\/go\\\/#listItem\",\"name\":\"go\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#person\",\"name\":\"Jude Pereira\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0a1089f1857938099c95297539cf443242d71c86831e7fa280fdb2a8ff57c360?s=96&r=g\",\"width\":96,\"height\":96,\"caption\":\"Jude Pereira\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Jude Pereira\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0a1089f1857938099c95297539cf443242d71c86831e7fa280fdb2a8ff57c360?s=96&r=g\",\"width\":96,\"height\":96,\"caption\":\"Jude Pereira\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#webpage\",\"url\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/\",\"name\":\"Contributing to Go in 54 days | @judepereira\",\"description\":\"From not knowing Go, to contributing to it in 54 days. A story to be told.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/contributing-to-go-in-54-days\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2017-10-08T16:19:03+05:30\",\"dateModified\":\"2017-10-08T16:19:03+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/\",\"name\":\"@judepereira\",\"description\":\"Fleeting Thoughts\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/judepereira.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Contributing to Go in 54 days | @judepereira","description":"From not knowing Go, to contributing to it in 54 days. A story to be told.","canonical_url":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/","robots":"max-image-preview:large","keywords":"go,gogland,oss,contributing,open,source,cl,getting,started,another snippet | code","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#article","name":"Contributing to Go in 54 days | @judepereira","headline":"Contributing to Go in 54 days","author":{"@id":"https:\/\/judepereira.com\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/judepereira.com\/blog\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/0a1089f1857938099c95297539cf443242d71c86831e7fa280fdb2a8ff57c360?s=96&r=g","width":96,"height":96,"caption":"Jude Pereira"},"datePublished":"2017-10-08T16:19:03+05:30","dateModified":"2017-10-08T16:19:03+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#webpage"},"isPartOf":{"@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#webpage"},"articleSection":"another snippet | code, go, cl, contributing, getting, go, gogland, open, oss, source, started"},{"@type":"BreadcrumbList","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/judepereira.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/category\/code\/#listItem","name":"another snippet | code"}},{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/category\/code\/#listItem","position":2,"name":"another snippet | code","item":"https:\/\/judepereira.com\/blog\/category\/code\/","nextItem":{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/category\/code\/go\/#listItem","name":"go"},"previousItem":{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/category\/code\/go\/#listItem","position":3,"name":"go","item":"https:\/\/judepereira.com\/blog\/category\/code\/go\/","nextItem":{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#listItem","name":"Contributing to Go in 54 days"},"previousItem":{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/category\/code\/#listItem","name":"another snippet | code"}},{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#listItem","position":4,"name":"Contributing to Go in 54 days","previousItem":{"@type":"ListItem","@id":"https:\/\/judepereira.com\/blog\/category\/code\/go\/#listItem","name":"go"}}]},{"@type":"Person","@id":"https:\/\/judepereira.com\/blog\/#person","name":"Jude Pereira","image":{"@type":"ImageObject","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/0a1089f1857938099c95297539cf443242d71c86831e7fa280fdb2a8ff57c360?s=96&r=g","width":96,"height":96,"caption":"Jude Pereira"}},{"@type":"Person","@id":"https:\/\/judepereira.com\/blog\/author\/admin\/#author","url":"https:\/\/judepereira.com\/blog\/author\/admin\/","name":"Jude Pereira","image":{"@type":"ImageObject","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0a1089f1857938099c95297539cf443242d71c86831e7fa280fdb2a8ff57c360?s=96&r=g","width":96,"height":96,"caption":"Jude Pereira"}},{"@type":"WebPage","@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#webpage","url":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/","name":"Contributing to Go in 54 days | @judepereira","description":"From not knowing Go, to contributing to it in 54 days. A story to be told.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/judepereira.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/#breadcrumblist"},"author":{"@id":"https:\/\/judepereira.com\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/judepereira.com\/blog\/author\/admin\/#author"},"datePublished":"2017-10-08T16:19:03+05:30","dateModified":"2017-10-08T16:19:03+05:30"},{"@type":"WebSite","@id":"https:\/\/judepereira.com\/blog\/#website","url":"https:\/\/judepereira.com\/blog\/","name":"@judepereira","description":"Fleeting Thoughts","inLanguage":"en-US","publisher":{"@id":"https:\/\/judepereira.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"@judepereira | Fleeting Thoughts","og:type":"article","og:title":"Contributing to Go in 54 days | @judepereira","og:description":"From not knowing Go, to contributing to it in 54 days. A story to be told.","og:url":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/","og:image":"https:\/\/judepereira.com\/blog\/wp-content\/uploads\/cropped-foo.png","og:image:secure_url":"https:\/\/judepereira.com\/blog\/wp-content\/uploads\/cropped-foo.png","og:image:width":512,"og:image:height":512,"article:published_time":"2017-10-08T10:49:03+00:00","article:modified_time":"2017-10-08T10:49:03+00:00","twitter:card":"summary","twitter:site":"@judebpereira","twitter:title":"Contributing to Go in 54 days | @judepereira","twitter:description":"From not knowing Go, to contributing to it in 54 days. A story to be told.","twitter:creator":"@judebpereira","twitter:image":"https:\/\/judepereira.com\/blog\/wp-content\/uploads\/cropped-foo.png"},"aioseo_meta_data":{"post_id":"1786","title":"Contributing to Go in 54 days | #site_title","description":"From not knowing Go, to contributing to it in 54 days. A story to be told.","keywords":[{"label":"go","value":"go"},{"label":"gogland","value":"gogland"},{"label":"oss","value":"oss"},{"label":"contributing","value":"contributing"},{"label":"open","value":"open"},{"label":"source","value":"source"},{"label":"cl","value":"cl"},{"label":"getting","value":"getting"},{"label":"started","value":"started"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-25 19:04:20","updated":"2025-06-03 20:12:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/judepereira.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/judepereira.com\/blog\/category\/code\/\" title=\"another snippet | code\">another snippet | code<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/judepereira.com\/blog\/category\/code\/go\/\" title=\"go\">go<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tContributing to Go in 54 days\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/judepereira.com\/blog\/"},{"label":"another snippet | code","link":"https:\/\/judepereira.com\/blog\/category\/code\/"},{"label":"go","link":"https:\/\/judepereira.com\/blog\/category\/code\/go\/"},{"label":"Contributing to Go in 54 days","link":"https:\/\/judepereira.com\/blog\/contributing-to-go-in-54-days\/"}],"jetpack_publicize_connections":[],"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":2157,"url":"https:\/\/judepereira.com\/blog\/building-jupiter-why-i-decided-to-build-my-own-agentic-ide\/","url_meta":{"origin":1786,"position":1},"title":"Building Jupiter: Why I Decided To Build My Own Agentic IDE","author":"Jude Pereira","date":"September 28, 2026","format":false,"excerpt":"A short story about why I decided to build Jupiter, a model agnostic, secure and self hosted agentic IDE.","rel":"","context":"In &quot;Building Jupiter&quot;","block_context":{"text":"Building Jupiter","link":"https:\/\/judepereira.com\/blog\/category\/virtual-engineering\/building-jupiter\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1685,"url":"https:\/\/judepereira.com\/blog\/compile-less-on-the-fly-for-your-exploded-war-in-intellij\/","url_meta":{"origin":1786,"position":2},"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":3},"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":2159,"url":"https:\/\/judepereira.com\/blog\/building-jupiter-security-sandboxing-ideas\/","url_meta":{"origin":1786,"position":4},"title":"Building Jupiter: Security Sandboxing Ideas","author":"Jude Pereira","date":"October 11, 2026","format":false,"excerpt":"A few ideas about security sandboxing your AI agents, so that you don't wake up to a rogue agent one fine day.","rel":"","context":"In &quot;Building Jupiter&quot;","block_context":{"text":"Building Jupiter","link":"https:\/\/judepereira.com\/blog\/category\/virtual-engineering\/building-jupiter\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screenshot-2026-10-11-at-14.33.24-2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screenshot-2026-10-11-at-14.33.24-2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screenshot-2026-10-11-at-14.33.24-2.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screenshot-2026-10-11-at-14.33.24-2.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screenshot-2026-10-11-at-14.33.24-2.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/judepereira.com\/blog\/wp-content\/uploads\/Screenshot-2026-10-11-at-14.33.24-2.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":5},"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":[]}],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_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}]}}