{"componentChunkName":"component---node-modules-gatsby-theme-community-src-templates-event-tsx","path":"/events/real-world-elixir-hot-deployment-tracking-and-tools","result":{"data":{"siteYaml":{"siteUrl":"https://elixir.sydney","defaultImage":"https://camunda.com/img/events/meetup-example.jpg","sponsorsTitle":"Sponsors","organisersTitle":"Organisers"},"eventMdx":{"id":"9a9174e6-26c3-5b75-84dd-41a6299a013a","body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"path\": \"/events/real-world-elixir-hot-deployment-tracking-and-tools\",\n  \"title\": \"🌎 Real World Elixir 2: Hot Deploys, Tracking and Tools\",\n  \"date\": \"2017-11-01T00:00:00.000Z\",\n  \"time\": \"6:00 - 8:30pm\",\n  \"startDate\": \"2017-11-01T08:00+11:00\",\n  \"endDate\": \"2017-11-01T08:00+11:00\",\n  \"location\": \"pivotal-labs-location\",\n  \"organisers\": [\"josh-price\", \"james-sadler\", \"paul-fioravanti\"],\n  \"sponsors\": [\"alembic\", \"expert360\"],\n  \"talks\": [{\n    \"speaker\": \"luke-swithenbank\",\n    \"title\": \"Elixir Tooling: The Good and the Bad\",\n    \"description\": \"Luke will cover the myriad of amazing tools at our disposal in the Elixir and Erlang ecosystem.\\nWe personally can't wait for the new code formatter to arrive in Elixir 1.6, but he'll also cover Dialyzer and Dialyxir for type checking your code.\\nCredo for checking and ensuring consistent code style, HiPE, iEx and more.\\nHe'll also look at what opportunities there are for improvement in tooling and what you can do about it!\\n\",\n    \"slides\": null,\n    \"video\": null\n  }, {\n    \"speaker\": \"martin-stannard\",\n    \"title\": \"Session Tracking with GenServers\",\n    \"description\": \"Martin will deep dive into how Blake Education uses GenServers to track and analyse the interactions of high volumes of users on Reading Eggs and other products.\\nWe've looked at GenServers before and we know that they are used for managing state in your Elixir applications, but this will be a great introduction into a very practical use case for them.\\n\",\n    \"slides\": null,\n    \"video\": null\n  }, {\n    \"speaker\": \"jeffrey-chan\",\n    \"title\": \"Hot Deploying with Distillery and Docker\",\n    \"description\": \"Jeffrey will take us through the process of taking your Elixir or Phoenix application and deploying it with Distillery and maybe even a little bit of Docker.\\nHe'll also cover hot deployments which are some of the best kept secrets of the BEAM!\\n\",\n    \"slides\": null,\n    \"video\": null\n  }],\n  \"mainImage\": null,\n  \"images\": null,\n  \"description\": \"Another exciting lineup of Real World Elixir from expert practitioners this month. Also we have the privilege of welcoming not one but **two new speakers**!\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Another exciting lineup of Real World Elixir from expert practitioners this month. Also we have the privilege of welcoming not one but \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"two new speakers\"), \"!\"), mdx(\"p\", null, \"Jeffrey will cover Hot Deployment with Distillery, a little Docker. Martin will show us how Blake use GenServers to track user interactions.\\nFinally Luke will cover the gamut of great tools in the Elixir and Erlang ecosystem and constrast to other languages and toolchains.\"), mdx(\"p\", null, \"Elixir and Erlang developers of all levels are more than welcome, and if you're a complete beginner or just curious, then this a great chance to get started and get help from more experienced Elixir developers.\"), mdx(\"p\", null, \"See you there,\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Josh, James and Andrew\")));\n}\n;\nMDXContent.isMDXComponent = true;","path":"/events/real-world-elixir-hot-deployment-tracking-and-tools","date":"01-11-2017","title":"🌎 Real World Elixir 2: Hot Deploys, Tracking and Tools","description":"Another exciting lineup of Real World Elixir from expert practitioners this month. Also we have the privilege of welcoming not one but **two new speakers**!","location":{"name":"Pivotal Labs","mapUrl":"https://www.google.com/maps/embed/v1/place?q=Level%2011%2C%20155%20Clarence%20Street%2C%20Sydney%2C%202000&key=AIzaSyD7OXXbf-H8ho7dJuChVGkAhY-ib2vMafc","address":"Level 11, 155 Clarence Street, Sydney, 2000","instructions":"Ring or Text Josh on 0415 366 251, if you're late, lost or can't get in. We'll send someone down to get you.","streetAddress":"Level 11, 155 Clarence Street","city":"Sydney","latitude":"-33.868015","longitude":"151.204998"},"mainImage":null,"images":null,"organisers":[{"name":"Josh Price","avatarUrl":"https://secure.meetupstatic.com/photos/member/4/5/c/e/highres_12197870.jpeg"},{"name":"James Sadler","avatarUrl":"https://a248.e.akamai.net/secure.meetupstatic.com/photos/member/2/8/f/b/member_258850491.jpeg"},{"name":"Paul Fioravanti","avatarUrl":"https://secure.meetupstatic.com/photos/member/7/1/6/8/highres_67829032.jpeg"}],"sponsors":[{"name":"Alembic","logoUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0OTcuMyAxMzAuMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDk3LjMgMTMwLjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRUYzRTI0O30KCS5zdDF7ZmlsbDojOTJDNEU5O30KPC9zdHlsZT4KPGc+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNODguOSw2NS4xYzAtMTcuOS0xNC41LTMyLjQtMzIuNC0zMi40Yy0xNy45LDAtMzIuNCwxNC42LTMyLjQsMzIuNGMwLDE3LjksMTQuNSwzMi40LDMyLjQsMzIuNGgwbDE5LjgtMC4yCgkJbDAuMS0zMy41bC0wLjEsMGMtMC41LTEwLjItOS0xOC40LTE5LjQtMTguNGMtMTAuNywwLTE5LjQsOC42LTE5LjQsMTkuM2MtMC4xLDEwLjMsOCwxOC44LDE4LjEsMTkuNWMwLjQsMCw5LjcsMCw5LjcsMAoJCWMwLTIuMSwwLjEtNC42LTIuNC01LjhjLTEuNS0wLjctNC41LTAuNC03LjctMC42Yy02LjYtMC42LTExLjYtNi42LTExLjMtMTMuNWMwLjMtNi44LDUuOC0xMi4zLDEyLjYtMTIuNgoJCWM3LjUtMC4zLDEzLjYsNS43LDEzLjYsMTMuMWgwTDcwLjEsOTFsLTEzLjYsMC4xYy0xNC40LDAtMjYuMS0xMS44LTI2LjEtMjYuMmMwLTE0LjMsMTEuNy0yNiwyNi4xLTI2YzE0LjQsMCwyNi4yLDExLjcsMjYuMiwyNi4xCgkJTDgyLjcsOTFjLTAuMiw0LjksMC45LDYuNSw2LjMsNi4zaDBMODguOSw2NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTEzNy40LDM1LjNjLTAuNC0xLjItMS43LTItMy4xLTJjLTEuMywwLTIuNiwwLjgtMy4xLDJsLTIxLjksNTguNGMtMC4zLDAuOC0wLjMsMS43LDAuMSwyLjUKCQkJYzAuMywwLjgsMSwxLjQsMS43LDEuN2wwLjIsMC4xaDAuMmMwLjEsMCwwLjIsMCwwLjMsMGMwLjIsMCwwLjQsMCwwLjUsMGMxLjMsMCwyLjUtMC44LDMtMi4xbDUuMy0xNC4ySDE0OGw1LjMsMTQuMgoJCQljMC41LDEuMiwxLjcsMi4xLDMsMi4xYzAuMiwwLDAuNCwwLDAuNS0wLjFjMC4xLDAsMC4yLDAsMC4zLDBoMC4ybDAuMi0wLjFjMS42LTAuNywyLjQtMi42LDEuNy00LjJMMTM3LjQsMzUuM3ogTTE0NS42LDc1LjNIMTIzCgkJCWwxMS4zLTMwTDE0NS42LDc1LjN6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTIwNi45LDkxLjZoLTI5LjFWMzYuMmMwLTEuNy0xLjUtMy4yLTMuMi0zLjJjLTEuNywwLTMuMiwxLjQtMy4yLDMuMnY1OC43YzAsMS43LDEuNCwzLjIsMy4yLDMuMmgzMi40CgkJCWMxLjgsMCwzLjItMS40LDMuMi0zLjJDMjEwLjEsOTMsMjA4LjcsOTEuNiwyMDYuOSw5MS42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yNTcuNiwzOS40YzEuOCwwLDMuMi0xLjQsMy4yLTMuMmMwLTEuOC0xLjQtMy4yLTMuMi0zLjJoLTMyLjRjLTEuNywwLTMuMiwxLjQtMy4yLDMuMnY1OC43CgkJCWMwLDEuNywxLjIsMywzLDMuMmgzMi42YzEuOCwwLDMuMi0xLjQsMy4yLTMuMmMwLTEuOS0xLjQtMy4yLTMuMi0zLjJoLTI5LjFWNjguOGgyNS40YzEuNywwLDMuMi0xLjQsMy4yLTMuMgoJCQljMC0xLjgtMS40LTMuMi0zLjItMy4yaC0yNS40VjM5LjRIMjU3LjZ6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTMyOS44LDM0LjhjLTAuMi0wLjQtMC41LTAuNi0wLjgtMC45bC0wLjItMC4xYy0xLjUtMS0zLjUtMC42LTQuNCwwLjhsLTIxLjUsMjkuOWwtMjEuNi0yOS45CgkJCWMtMS0xLjQtMi45LTEuNy00LjQtMC44bC0wLjEsMC4xYy0wLjEsMC4xLTAuMiwwLjItMC4zLDAuM2MtMC43LDAuNi0xLjEsMS40LTEuMSwyLjR2NTguM2MwLDEuNywxLjUsMy4yLDMuMiwzLjIKCQkJYzEuNywwLDMuMi0xLjQsMy4yLTMuMlY0Ni4ybDE4LjMsMjUuM2MwLjYsMSwxLjUsMS41LDIuNywxLjVoMC4yYzEuMSwwLDIuMS0wLjUsMi42LTEuNEwzMjQsNDYuMXY0OC43YzAsMS44LDEuNCwzLjIsMy4yLDMuMgoJCQljMS43LDAsMy4yLTEuNCwzLjItMy4yVjM2LjVjMC0wLjUtMC4yLTEtMC41LTEuNkwzMjkuOCwzNC44eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zNzQuNCw2MS43YzMuMy0zLjIsNS4xLTcuNCw1LjEtMTEuOWMwLTkuMi03LjUtMTYuNy0xNi43LTE2LjdoLTE0Yy0xLjcsMC0zLjIsMS40LTMuMiwzLjJ2NTguNwoJCQljMCwxLjcsMS40LDMuMiwzLjIsMy4yaDE4YzEwLjUsMCwxOS04LjUsMTktMTlDMzg1LjgsNzEuNSwzODEuMyw2NC43LDM3NC40LDYxLjd6IE0zNTIuMSw1OS45VjM5LjRoMTAuOAoJCQljNS43LDAsMTAuMiw0LjYsMTAuMiwxMC4zYzAsNS42LTQuNiwxMC4yLTEwLjIsMTAuMkgzNTIuMXogTTM3OS40LDc5Yy0wLjEsNy4xLTUuNiwxMi42LTEyLjYsMTIuNmgtMTQuN1Y2Ni40aDE0LjcKCQkJQzM3My43LDY2LjQsMzc5LjMsNzIuMSwzNzkuNCw3OXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDAyLDMzYy0xLjcsMC0zLjIsMS40LTMuMiwzLjJ2NTguN2MwLDEuNywxLjQsMy4yLDMuMiwzLjJjMS44LDAsMy4yLTEuNCwzLjItMy4yVjM2LjIKCQkJQzQwNS4zLDM0LjQsNDAzLjgsMzMsNDAyLDMzeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik00NzAuNSw4NS4xYy0wLjktMC4yLTEuOSwwLTIuNywwLjVsLTAuMSwwLjFjLTQuNSwzLjgtMTAuNSw1LjktMTYuOCw1LjljLTE1LjEsMC0yNy4zLTExLjgtMjcuMy0yNi40CgkJCWMwLTE0LjcsMTIuMy0yNi43LDI3LjMtMjYuN2M2LjIsMCwxMi4xLDIsMTcsNS45YzAuNywwLjUsMS42LDAuOCwyLjQsMC42YzAuOC0wLjEsMS41LTAuNiwyLTEuMmMwLjUtMC42LDAuOC0xLjMsMC43LTIuMQoJCQljMC0xLTAuNS0xLjgtMS4zLTIuNWMtNi00LjYtMTMuNC03LjEtMjEtNy4xaDBjLTE4LjksMC4xLTMzLjgsMTQuNi0zMy44LDMzLjFjMCwxOC4xLDE1LjEsMzIuOCwzMy44LDMyLjhjNy42LDAsMTUuMS0yLjUsMjAuOS03CgkJCWMwLjctMC41LDEuMi0xLjQsMS4zLTIuNGMwLTAuOC0wLjItMS42LTAuOC0yLjJDNDcxLjksODUuOCw0NzEuMyw4NS4zLDQ3MC41LDg1LjF6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==","websiteUrl":"https://alembic.com.au/"},{"name":"Expert360","logoUrl":"https://expert360.com/themes/custom/expert360/logo.svg","websiteUrl":"https://expert360.com.au/"}],"talks":[{"speaker":{"name":"Luke Swithenbank","avatarUrl":"https://secure.meetupstatic.com/photos/member/5/9/b/2/member_109342962.jpeg"},"title":"Elixir Tooling: The Good and the Bad","description":"Luke will cover the myriad of amazing tools at our disposal in the Elixir and Erlang ecosystem.\nWe personally can't wait for the new code formatter to arrive in Elixir 1.6, but he'll also cover Dialyzer and Dialyxir for type checking your code.\nCredo for checking and ensuring consistent code style, HiPE, iEx and more.\nHe'll also look at what opportunities there are for improvement in tooling and what you can do about it!\n","photos":null,"slides":null,"video":null},{"speaker":{"name":"Martin Stannard","avatarUrl":"https://a248.e.akamai.net/secure.meetupstatic.com/photos/member/1/7/c/c/member_251766092.jpeg"},"title":"Session Tracking with GenServers","description":"Martin will deep dive into how Blake Education uses GenServers to track and analyse the interactions of high volumes of users on Reading Eggs and other products.\nWe've looked at GenServers before and we know that they are used for managing state in your Elixir applications, but this will be a great introduction into a very practical use case for them.\n","photos":null,"slides":null,"video":null},{"speaker":{"name":"Jeffrey Chan","avatarUrl":"https://pbs.twimg.com/profile_images/3747677814/e399d57ad977e8afd4367459034c5d22_400x400.jpeg"},"title":"Hot Deploying with Distillery and Docker","description":"Jeffrey will take us through the process of taking your Elixir or Phoenix application and deploying it with Distillery and maybe even a little bit of Docker.\nHe'll also cover hot deployments which are some of the best kept secrets of the BEAM!\n","photos":null,"slides":null,"video":null}]}},"pageContext":{"id":"9a9174e6-26c3-5b75-84dd-41a6299a013a","previous":"/events/bitcoin-and-languages-boundaries","next":"/events/real-world-elixir"}},"staticQueryHashes":["1060091228","1389804553","1706638457","2863593881","2905754725","3812220486","675908267","684993974"]}