{"id":1721,"date":"2015-04-09T00:31:15","date_gmt":"2015-04-09T04:31:15","guid":{"rendered":"https:\/\/splice.com\/blog\/?p=1721"},"modified":"2017-12-09T12:25:45","modified_gmt":"2017-12-09T17:25:45","slug":"go-lunch-santa-monica","status":"publish","type":"post","link":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/","title":{"rendered":"1st Go Lunch"},"content":{"rendered":"<p>Today we had our first Santa Monica Go Lunch. The concept is simple, we gather a few gophers around a table to share food and discuss Go related topics.<\/p>\n<p>We had a nice group composed of folks from\u00a0<a title=\"Pivotal Labs\" href=\"http:\/\/pivotallabs.com\/\" target=\"_blank\">Pivotal Labs<\/a>, <a href=\"http:\/\/cloudfoundry.org\/\" target=\"_blank\">CloudFoundry<\/a>, <a href=\"https:\/\/hashicorp.com\/\" target=\"_blank\">HashiCorp<\/a> and of course <a href=\"https:\/\/splice.com\" target=\"_blank\">Splice<\/a>. Since today was so much fun, we are going to run this event bi-weekly and try to stream it on <a href=\"http:\/\/www.twitch.tv\/golunch\" target=\"_blank\">Twitch<\/a>.<\/p>\n<p>Here are some notes and references for the attendees and curious out there.<\/p>\n<ul>\n<li>Debugging go routines is hard\n<ul>\n<li><a href=\"http:\/\/golang.org\/pkg\/net\/http\/pprof\/\" target=\"_blank\">net\/http\/pprof<\/a>\u00a0http accessible <a href=\"https:\/\/code.google.com\/p\/gperftools\/wiki\/GooglePerformanceTools\" target=\"_blank\">pprof profiler visualization tool<\/a>, see official\u00a0<a href=\"http:\/\/blog.golang.org\/profiling-go-programs\" target=\"_blank\">blog post<\/a>\u00a0and <a href=\"https:\/\/software.intel.com\/en-us\/blogs\/2014\/05\/10\/debugging-performance-issues-in-go-programs\" target=\"_blank\">intel&#8217;s go perf post<\/a>.<\/li>\n<li><a href=\"https:\/\/docs.google.com\/document\/u\/0\/d\/1FP5apqzBgr7ahCCgFO-yoVhk4YZrNIDNf9RybngBc14\/pub\" target=\"_blank\">Go execution tracer proposal<\/a><\/li>\n<li><a href=\"http:\/\/golang.org\/pkg\/expvar\/\">expvar<\/a>\u00a0Package expvar provides a standardized interface to public variables, such as operation counters in servers. It exposes these variables via HTTP at \/debug\/vars in JSON format.<\/li>\n<li>gdb debugging <a href=\"https:\/\/golang.org\/doc\/gdb\" target=\"_blank\">doc<\/a>, <a href=\"http:\/\/cevaris.com\/2015\/03\/08\/debugging-golang-in-gdb\/\" target=\"_blank\">post 1<\/a>, <a href=\"http:\/\/thornydev.blogspot.com\/2014\/01\/debugging-go-golang-programs-with-gdb.html\" target=\"_blank\">post 2<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/armon\/go-metrics\" target=\"_blank\">go-metrics<\/a>\u00a0monitor all the things<\/li>\n<li><a href=\"http:\/\/godoc.org\/launchpad.net\/goamz\" target=\"_blank\">Goamz<\/a> vs <a href=\"https:\/\/github.com\/awslabs\/aws-sdk-go\" target=\"_blank\">aws-sdk-go<\/a>\u00a0 &#8211; consensus is to use AWS&#8217; official SDK even if not totally finished<\/li>\n<li>Writing tests, is duplication ok, how about setup\/teardown, 3rd party testing frameworks, testing go routines. (Katrina shared a cool trick\u00a0to use wait groups to be able to tests async code in a sync way)<\/li>\n<li>Writing documentation, go vet, go lint.<\/li>\n<li>Table tests are awesome, use a description field to know what test is failing.<\/li>\n<li><a href=\"https:\/\/regex101.com\/\" target=\"_blank\">regex101<\/a> is the most amazing website to understand how regex operate.<\/li>\n<li><a href=\"https:\/\/github.com\/hashicorp\/go-multierror\" target=\"_blank\">multierrors<\/a>\u00a0 (package for representing a list of errors as a single error)<\/li>\n<li><a href=\"https:\/\/github.com\/hashicorp\/errwrap\" target=\"_blank\">errwrap<\/a>\u00a0(package for wrapping and querying errors)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we had our first Santa Monica Go Lunch. The concept is simple, we gather a few gophers around a table to share food and&#8230;<\/p>\n","protected":false},"author":8,"featured_media":1723,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[61],"tags":[114],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>1st Go Lunch - Blog | Splice<\/title>\n<meta name=\"description\" content=\"Go lunch summary - go meetup in los angeles \/ santa monica\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"1st Go Lunch - Blog | Splice\" \/>\n<meta property=\"og:description\" content=\"Go lunch summary - go meetup in los angeles \/ santa monica\" \/>\n<meta property=\"og:url\" content=\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | Splice\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Splice\" \/>\n<meta property=\"article:published_time\" content=\"2015-04-09T04:31:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-12-09T17:25:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1139\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matt Aimonetti\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mattetti\" \/>\n<meta name=\"twitter:site\" content=\"@splice\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matt Aimonetti\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\"},\"author\":{\"name\":\"Matt Aimonetti\",\"@id\":\"https:\/\/splice.com\/blog\/#\/schema\/person\/05b4753d7bd02e0954948c8c21fccf30\"},\"headline\":\"1st Go Lunch\",\"datePublished\":\"2015-04-09T04:31:15+00:00\",\"dateModified\":\"2017-12-09T17:25:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\"},\"wordCount\":252,\"publisher\":{\"@id\":\"https:\/\/splice.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg\",\"keywords\":[\"golang\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\",\"url\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\",\"name\":\"1st Go Lunch - Blog | Splice\",\"isPartOf\":{\"@id\":\"https:\/\/splice.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg\",\"datePublished\":\"2015-04-09T04:31:15+00:00\",\"dateModified\":\"2017-12-09T17:25:45+00:00\",\"description\":\"Go lunch summary - go meetup in los angeles \/ santa monica\",\"breadcrumb\":{\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage\",\"url\":\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg\",\"contentUrl\":\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg\",\"width\":1600,\"height\":1139,\"caption\":\"courtesy of http:\/\/www.unemployedeater.com\/\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/splice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"1st Go Lunch\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/splice.com\/blog\/#website\",\"url\":\"https:\/\/splice.com\/blog\/\",\"name\":\"Splice Blog\",\"description\":\"An inside look at making music\",\"publisher\":{\"@id\":\"https:\/\/splice.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/splice.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/splice.com\/blog\/#organization\",\"name\":\"Splice\",\"alternateName\":\"Splice Sounds\",\"url\":\"https:\/\/splice.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/splice.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2023\/09\/Splice-logo-black-background.png\",\"contentUrl\":\"https:\/\/splice.com\/blog\/wp-content\/uploads\/2023\/09\/Splice-logo-black-background.png\",\"width\":2928,\"height\":1540,\"caption\":\"Splice\"},\"image\":{\"@id\":\"https:\/\/splice.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Splice\",\"https:\/\/x.com\/splice\",\"https:\/\/www.instagram.com\/splice\/\",\"https:\/\/www.youtube.com\/@splice\",\"https:\/\/discord.com\/invite\/splice\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/splice.com\/blog\/#\/schema\/person\/05b4753d7bd02e0954948c8c21fccf30\",\"name\":\"Matt Aimonetti\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/splice.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/60b22da14a933dd0bcd1cc829b83b48f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/60b22da14a933dd0bcd1cc829b83b48f?s=96&d=mm&r=g\",\"caption\":\"Matt Aimonetti\"},\"description\":\"Matt leads the technical teams as a co-founder of Splice.\",\"sameAs\":[\"http:\/\/matt.aimonetti.net\",\"https:\/\/x.com\/mattetti\"],\"url\":\"https:\/\/splice.com\/blog\/author\/mattetti\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"1st Go Lunch - Blog | Splice","description":"Go lunch summary - go meetup in los angeles \/ santa monica","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/","og_locale":"en_US","og_type":"article","og_title":"1st Go Lunch - Blog | Splice","og_description":"Go lunch summary - go meetup in los angeles \/ santa monica","og_url":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/","og_site_name":"Blog | Splice","article_publisher":"https:\/\/www.facebook.com\/Splice","article_published_time":"2015-04-09T04:31:15+00:00","article_modified_time":"2017-12-09T17:25:45+00:00","og_image":[{"width":1600,"height":1139,"url":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg","type":"image\/jpeg"}],"author":"Matt Aimonetti","twitter_card":"summary_large_image","twitter_creator":"@mattetti","twitter_site":"@splice","twitter_misc":{"Written by":"Matt Aimonetti","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#article","isPartOf":{"@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/"},"author":{"name":"Matt Aimonetti","@id":"https:\/\/splice.com\/blog\/#\/schema\/person\/05b4753d7bd02e0954948c8c21fccf30"},"headline":"1st Go Lunch","datePublished":"2015-04-09T04:31:15+00:00","dateModified":"2017-12-09T17:25:45+00:00","mainEntityOfPage":{"@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/"},"wordCount":252,"publisher":{"@id":"https:\/\/splice.com\/blog\/#organization"},"image":{"@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage"},"thumbnailUrl":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg","keywords":["golang"],"articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/","url":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/","name":"1st Go Lunch - Blog | Splice","isPartOf":{"@id":"https:\/\/splice.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage"},"image":{"@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage"},"thumbnailUrl":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg","datePublished":"2015-04-09T04:31:15+00:00","dateModified":"2017-12-09T17:25:45+00:00","description":"Go lunch summary - go meetup in los angeles \/ santa monica","breadcrumb":{"@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/splice.com\/blog\/go-lunch-santa-monica\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#primaryimage","url":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg","contentUrl":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2015\/04\/simplysalad.jpg","width":1600,"height":1139,"caption":"courtesy of http:\/\/www.unemployedeater.com\/"},{"@type":"BreadcrumbList","@id":"https:\/\/splice.com\/blog\/go-lunch-santa-monica\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/splice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"1st Go Lunch"}]},{"@type":"WebSite","@id":"https:\/\/splice.com\/blog\/#website","url":"https:\/\/splice.com\/blog\/","name":"Splice Blog","description":"An inside look at making music","publisher":{"@id":"https:\/\/splice.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/splice.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/splice.com\/blog\/#organization","name":"Splice","alternateName":"Splice Sounds","url":"https:\/\/splice.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/splice.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2023\/09\/Splice-logo-black-background.png","contentUrl":"https:\/\/splice.com\/blog\/wp-content\/uploads\/2023\/09\/Splice-logo-black-background.png","width":2928,"height":1540,"caption":"Splice"},"image":{"@id":"https:\/\/splice.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Splice","https:\/\/x.com\/splice","https:\/\/www.instagram.com\/splice\/","https:\/\/www.youtube.com\/@splice","https:\/\/discord.com\/invite\/splice"]},{"@type":"Person","@id":"https:\/\/splice.com\/blog\/#\/schema\/person\/05b4753d7bd02e0954948c8c21fccf30","name":"Matt Aimonetti","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/splice.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/60b22da14a933dd0bcd1cc829b83b48f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/60b22da14a933dd0bcd1cc829b83b48f?s=96&d=mm&r=g","caption":"Matt Aimonetti"},"description":"Matt leads the technical teams as a co-founder of Splice.","sameAs":["http:\/\/matt.aimonetti.net","https:\/\/x.com\/mattetti"],"url":"https:\/\/splice.com\/blog\/author\/mattetti\/"}]}},"_links":{"self":[{"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/posts\/1721"}],"collection":[{"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/comments?post=1721"}],"version-history":[{"count":0,"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/posts\/1721\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/media\/1723"}],"wp:attachment":[{"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/media?parent=1721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/categories?post=1721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/splice.com\/blog\/wp-json\/wp\/v2\/tags?post=1721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}