{"id":1110,"date":"2016-03-07T17:15:19","date_gmt":"2016-03-07T17:15:19","guid":{"rendered":"https:\/\/gosqeng.test\/?p=1110"},"modified":"2019-11-28T11:36:04","modified_gmt":"2019-11-28T11:36:04","slug":"february-hack-day","status":"publish","type":"post","link":"https:\/\/www.gosquared.com\/blog\/february-hack-day","title":{"rendered":"February Hack Day"},"content":{"rendered":"<p>It&#8217;s been a while since our <a target=\"_blank\" href=\"https:\/\/www.gosquared.com\/blog\/november-hack-day\" rel=\"noopener noreferrer\">last hack day<\/a>, and this time round the team was eager to experiment with some new technology. Some of our work is still under wraps, though, so we&#8217;ve had to censor some of the secret stuff.<\/p>\n<p>So without further ado, here&#8217;s what we got up to:<\/p>\n<h2>Smart Group Display Board<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png\" alt=\"Big screen showing people in smart groups\"><\/p>\n<p>Hugh took a project that Ben and JT quickly built for GoSquared&#8217;s <a target=\"_blank\" href=\"https:\/\/www.gosquared.com\/blog\/gosquared-turns-10\" rel=\"noopener noreferrer\">10th Birthday Party<\/a> and ran with it. Hugh updated it so that you could see users enter and exit multiple Smart Groups in real-time using the <a target=\"_blank\" href=\"https:\/\/www.gosquared.com\/docs\/api\/people\" rel=\"noopener noreferrer\">People API<\/a>. The profiles then orbit round in a clockwise manner and if you&#8217;re wondering about the font choices, Hugh was trying to annoy James.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_02.png\" alt=\"Big screen showing person entering smart group\"><\/p>\n<h2>Big Code Refactors and Super-Secret Stuff<\/h2>\n<p>JT and Ben spent the day working on some new ideas we can&#8217;t talk about yet.<\/p>\n<p>Most of JT&#8217;s day was spent completely refactoring a lot of the code that powers our front-end JavaScript. Our front-end codebase has grown pretty huge over the years so this was no small task. There was a lot of swearing when things didn&#8217;t work, but it involved getting to play with some new tools like <a target=\"_blank\" href=\"\/\/github.com\/rollup\/rollup\" rel=\"noopener noreferrer\">rollup<\/a>, and deleting \/ rearranging a lot of code.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_hackday_delete.png\" alt=\"JT deletes a lot of Ben's code\"><\/p>\n<p>For the time being you won&#8217;t see any changes from JT&#8217;s work, but it enables us to develop our applications more efficiently, and means our code is neater and more reusable. The great thing about these changes, though, is that it enabled what Ben worked on for hack day, a \u2588\u2588\u2588\u2588\u2588\u2588\u2588 version of \u2588\u2588\u2588\u2588, built using \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 and \u2588\u2588\u2588\u2588\u2588 (which, as we all know, is Ben&#8217;s favourite \u2588\u2588\u2588\u2588\u2588). The workflow improvements also mean it will be very easy to build a \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 for both \u2588\u2588\u2588 and \u2588\u2588\u2588\u2588\u2588\u2588\u2588, with \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588.<\/p>\n<p>Stay tuned to our engineering blog for declassified updates on what we&#8217;re up to.<\/p>\n<h2>More \u2588\u2588\u2588\u2588\u2588 for iOS<\/h2>\n<p>Ed continued to add more functionality to the People iOS app he&#8217;s been working on <a target=\"_blank\" href=\"https:\/\/www.gosquared.com\/blog\/october-hack-day\" rel=\"noopener noreferrer\">in previous hack days<\/a>. This hack day saw \u2588\u2588\u2588\u2588 being added to the app alongside improvements to the client side \u2588\u2588\u2588 library. Ben also added support for \u2588\u2588\u2588\u2588\u2588 which Ed plans to make use of very soon.<\/p>\n<h2>Planning Some Big Data Migrations<\/h2>\n<p>Geoff spent his hack day devising a new and ingenious method of migrating to new Elasticsearch index mappings with zero downtime. It&#8217;s something that will allow us to change our index data model more regularly, allowing for quicker rollout of improvements, without the effort of pausing writes while data migrates which spoils the fun for our users as well as us.<\/p>\n<p>He&#8217;s now got a really cool solution formed conceptually, and has brewed up a blog post giving a high-level view of the solution&#8217;s <em>raison d&#8217;&ecirc;tre<\/em>, with a high-level view of how it&#8217;ll work and the decisions in the process. Watch this space for further details as the project progresses!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been a while since our last hack day, and this time round the team was eager to experiment with&#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1452],"tags":[],"class_list":["post-1110","post","type-post","status-publish","format-standard","hentry","category-engineering"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.6 (Yoast SEO v19.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>February Hack Day - GoSquared Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.gosquared.com\/blog\/february-hack-day\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"February Hack Day\" \/>\n<meta property=\"og:description\" content=\"It&#8217;s been a while since our last hack day, and this time round the team was eager to experiment with...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.gosquared.com\/blog\/february-hack-day\" \/>\n<meta property=\"og:site_name\" content=\"GoSquared Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GoSquared\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-07T17:15:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-11-28T11:36:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@floopily\" \/>\n<meta name=\"twitter:site\" content=\"@GoSquared\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"JT\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\",\"name\":\"GoSquared\",\"url\":\"https:\/\/www.gosquared.com\/blog\/\",\"sameAs\":[\"https:\/\/instagram.com\/gosquaredteam\",\"https:\/\/www.linkedin.com\/company\/go-squared-ltd.\",\"https:\/\/www.facebook.com\/GoSquared\",\"https:\/\/twitter.com\/GoSquared\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png\",\"contentUrl\":\"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png\",\"width\":1270,\"height\":250,\"caption\":\"GoSquared\"},\"image\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#website\",\"url\":\"https:\/\/www.gosquared.com\/blog\/\",\"name\":\"GoSquared Blog\",\"description\":\"Turn visitors into customers.\",\"publisher\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.gosquared.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#primaryimage\",\"url\":\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png\",\"contentUrl\":\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#webpage\",\"url\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day\",\"name\":\"February Hack Day - GoSquared Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#primaryimage\"},\"datePublished\":\"2016-03-07T17:15:19+00:00\",\"dateModified\":\"2019-11-28T11:36:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.gosquared.com\/blog\/february-hack-day\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.gosquared.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"February Hack Day\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#webpage\"},\"author\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/bfcd35bf2eba92ecbeea67937cd23eef\"},\"headline\":\"February Hack Day\",\"datePublished\":\"2016-03-07T17:15:19+00:00\",\"dateModified\":\"2019-11-28T11:36:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#webpage\"},\"wordCount\":470,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/february-hack-day#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png\",\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.gosquared.com\/blog\/february-hack-day#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/bfcd35bf2eba92ecbeea67937cd23eef\",\"name\":\"JT\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/772e026206b900a5ba17ebbe63e34a4c8a9103524cf0ba3accfa38b14d7d03ba?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/772e026206b900a5ba17ebbe63e34a4c8a9103524cf0ba3accfa38b14d7d03ba?s=96&d=mm&r=g\",\"caption\":\"JT\"},\"description\":\"JT is a co-founder and the lead front-end engineer at GoSquared. He's responsible for the shiniest of the shiny projects we work on.\",\"sameAs\":[\"https:\/\/twitter.com\/floopily\"],\"url\":\"https:\/\/www.gosquared.com\/blog\/author\/jt\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"February Hack Day - GoSquared Blog","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:\/\/www.gosquared.com\/blog\/february-hack-day","og_locale":"en_US","og_type":"article","og_title":"February Hack Day","og_description":"It&#8217;s been a while since our last hack day, and this time round the team was eager to experiment with...","og_url":"https:\/\/www.gosquared.com\/blog\/february-hack-day","og_site_name":"GoSquared Blog","article_publisher":"https:\/\/www.facebook.com\/GoSquared","article_published_time":"2016-03-07T17:15:19+00:00","article_modified_time":"2019-11-28T11:36:04+00:00","og_image":[{"url":"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png"}],"twitter_card":"summary_large_image","twitter_creator":"@floopily","twitter_site":"@GoSquared","twitter_misc":{"Written by":"JT","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.gosquared.com\/blog\/#organization","name":"GoSquared","url":"https:\/\/www.gosquared.com\/blog\/","sameAs":["https:\/\/instagram.com\/gosquaredteam","https:\/\/www.linkedin.com\/company\/go-squared-ltd.","https:\/\/www.facebook.com\/GoSquared","https:\/\/twitter.com\/GoSquared"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png","contentUrl":"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png","width":1270,"height":250,"caption":"GoSquared"},"image":{"@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.gosquared.com\/blog\/#website","url":"https:\/\/www.gosquared.com\/blog\/","name":"GoSquared Blog","description":"Turn visitors into customers.","publisher":{"@id":"https:\/\/www.gosquared.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.gosquared.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#primaryimage","url":"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png","contentUrl":"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png"},{"@type":"WebPage","@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#webpage","url":"https:\/\/www.gosquared.com\/blog\/february-hack-day","name":"February Hack Day - GoSquared Blog","isPartOf":{"@id":"https:\/\/www.gosquared.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#primaryimage"},"datePublished":"2016-03-07T17:15:19+00:00","dateModified":"2019-11-28T11:36:04+00:00","breadcrumb":{"@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.gosquared.com\/blog\/february-hack-day"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.gosquared.com\/blog"},{"@type":"ListItem","position":2,"name":"February Hack Day"}]},{"@type":"Article","@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#article","isPartOf":{"@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#webpage"},"author":{"@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/bfcd35bf2eba92ecbeea67937cd23eef"},"headline":"February Hack Day","datePublished":"2016-03-07T17:15:19+00:00","dateModified":"2019-11-28T11:36:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#webpage"},"wordCount":470,"commentCount":0,"publisher":{"@id":"https:\/\/www.gosquared.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.gosquared.com\/blog\/february-hack-day#primaryimage"},"thumbnailUrl":"https:\/\/static.gosquared.com\/images\/liquidicity\/16_03_04_smart_group_board_01.png","articleSection":["Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.gosquared.com\/blog\/february-hack-day#respond"]}]},{"@type":"Person","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/bfcd35bf2eba92ecbeea67937cd23eef","name":"JT","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/772e026206b900a5ba17ebbe63e34a4c8a9103524cf0ba3accfa38b14d7d03ba?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/772e026206b900a5ba17ebbe63e34a4c8a9103524cf0ba3accfa38b14d7d03ba?s=96&d=mm&r=g","caption":"JT"},"description":"JT is a co-founder and the lead front-end engineer at GoSquared. He's responsible for the shiniest of the shiny projects we work on.","sameAs":["https:\/\/twitter.com\/floopily"],"url":"https:\/\/www.gosquared.com\/blog\/author\/jt"}]}},"wps_subtitle":"Hacking with the People API, \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588, and ingenious Elasticsearch plans","_links":{"self":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts\/1110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/comments?post=1110"}],"version-history":[{"count":0,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts\/1110\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/media?parent=1110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/categories?post=1110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/tags?post=1110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}