{"componentChunkName":"component---node-modules-gatsby-theme-community-src-templates-event-tsx","path":"/events/efficient-image-processing-runtime-type-validation-elixieconf-eu-highlights","result":{"data":{"siteYaml":{"siteUrl":"https://elixir.sydney","defaultImage":"https://camunda.com/img/events/meetup-example.jpg","sponsorsTitle":"Sponsors","organisersTitle":"Organisers"},"eventMdx":{"id":"aa2fefcf-a5f1-55a8-a69a-438f1bf25663","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/efficient-image-processing-runtime-type-validation-elixieconf-eu-highlights\",\n  \"date\": \"2024-05-22T00:00:00.000Z\",\n  \"time\": \"6:00 - 8:00 PM\",\n  \"title\": \"Elixir Sydney May\",\n  \"location\": \"microsoft-location\",\n  \"organisers\": [\"josh-price\", \"mike-buhot\"],\n  \"sponsors\": [\"alembic\"],\n  \"talks\": [{\n    \"speaker\": \"kip-cole\",\n    \"title\": \"Fast and efficient image processing in Elixir\",\n    \"description\": \"Images influence every aspect of an application design and UX. They comprise a significant amount of the payload for many apps. This talk looks at how the combination of libvips, vix and image can be used to: Scale, resize, transform and compose images fast and efficiently, Streaming image pipelines from the front end through to external storage services, Deliver the right image size dynamically to Plug-based apps and Vectorise raster images to SVG for fun - and for efficient image placeholders.\"\n  }, {\n    \"speaker\": \"nicholas-hammond\",\n    \"title\": \"Tools for runtime validation of types\",\n    \"description\": \"Nicholas talks about hist experiences trying out a few tools that do runtime validation of types\"\n  }, {\n    \"speaker\": \"josh-price\",\n    \"title\": \"Highlights from Elixir Conf EU and Gig City Elixir\",\n    \"description\": \"Josh shares the news, announcements and best talks to watch online from Elixir Conf EU and Gig City Elixir\"\n  }],\n  \"description\": null\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, \"Elixir Sydney is back for the May 2024 meetup! We're in-person and online, so come and join us from wherever you are.\"), mdx(\"p\", null, \"Josh and Mike\"));\n}\n;\nMDXContent.isMDXComponent = true;","path":"/events/efficient-image-processing-runtime-type-validation-elixieconf-eu-highlights","date":"22-05-2024","title":"Elixir Sydney May","description":null,"location":{"name":"Microsoft Reactor Sydney","mapUrl":"https://www.google.com/maps/embed/v1/place?q=L10%2011%20-%2013%20York%20St%2C%20Sydney%20NSW%202000&key=AIzaSyAdtV_vxQryh-ZqIHLzZs5MkzAKrm_C6OI","address":"Level 10, 11 York St, Sydney NSW 2000","instructions":"Head in through the entrance on York Street and find the lifts on level 10 look for Microsoft Reactor and there will be signs telling you which room we're in.","streetAddress":"Level 10, 11 York Street","city":"Sydney","latitude":"-33.86539","longitude":"151.2054"},"mainImage":null,"images":null,"organisers":[{"name":"Josh Price","avatarUrl":"https://secure.meetupstatic.com/photos/member/4/5/c/e/highres_12197870.jpeg"},{"name":"Mike Buhot","avatarUrl":"https://secure.meetupstatic.com/photos/member/9/3/4/d/highres_311617709.jpeg"}],"sponsors":[{"name":"Alembic","logoUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0OTcuMyAxMzAuMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDk3LjMgMTMwLjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRUYzRTI0O30KCS5zdDF7ZmlsbDojOTJDNEU5O30KPC9zdHlsZT4KPGc+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNODguOSw2NS4xYzAtMTcuOS0xNC41LTMyLjQtMzIuNC0zMi40Yy0xNy45LDAtMzIuNCwxNC42LTMyLjQsMzIuNGMwLDE3LjksMTQuNSwzMi40LDMyLjQsMzIuNGgwbDE5LjgtMC4yCgkJbDAuMS0zMy41bC0wLjEsMGMtMC41LTEwLjItOS0xOC40LTE5LjQtMTguNGMtMTAuNywwLTE5LjQsOC42LTE5LjQsMTkuM2MtMC4xLDEwLjMsOCwxOC44LDE4LjEsMTkuNWMwLjQsMCw5LjcsMCw5LjcsMAoJCWMwLTIuMSwwLjEtNC42LTIuNC01LjhjLTEuNS0wLjctNC41LTAuNC03LjctMC42Yy02LjYtMC42LTExLjYtNi42LTExLjMtMTMuNWMwLjMtNi44LDUuOC0xMi4zLDEyLjYtMTIuNgoJCWM3LjUtMC4zLDEzLjYsNS43LDEzLjYsMTMuMWgwTDcwLjEsOTFsLTEzLjYsMC4xYy0xNC40LDAtMjYuMS0xMS44LTI2LjEtMjYuMmMwLTE0LjMsMTEuNy0yNiwyNi4xLTI2YzE0LjQsMCwyNi4yLDExLjcsMjYuMiwyNi4xCgkJTDgyLjcsOTFjLTAuMiw0LjksMC45LDYuNSw2LjMsNi4zaDBMODguOSw2NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTEzNy40LDM1LjNjLTAuNC0xLjItMS43LTItMy4xLTJjLTEuMywwLTIuNiwwLjgtMy4xLDJsLTIxLjksNTguNGMtMC4zLDAuOC0wLjMsMS43LDAuMSwyLjUKCQkJYzAuMywwLjgsMSwxLjQsMS43LDEuN2wwLjIsMC4xaDAuMmMwLjEsMCwwLjIsMCwwLjMsMGMwLjIsMCwwLjQsMCwwLjUsMGMxLjMsMCwyLjUtMC44LDMtMi4xbDUuMy0xNC4ySDE0OGw1LjMsMTQuMgoJCQljMC41LDEuMiwxLjcsMi4xLDMsMi4xYzAuMiwwLDAuNCwwLDAuNS0wLjFjMC4xLDAsMC4yLDAsMC4zLDBoMC4ybDAuMi0wLjFjMS42LTAuNywyLjQtMi42LDEuNy00LjJMMTM3LjQsMzUuM3ogTTE0NS42LDc1LjNIMTIzCgkJCWwxMS4zLTMwTDE0NS42LDc1LjN6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTIwNi45LDkxLjZoLTI5LjFWMzYuMmMwLTEuNy0xLjUtMy4yLTMuMi0zLjJjLTEuNywwLTMuMiwxLjQtMy4yLDMuMnY1OC43YzAsMS43LDEuNCwzLjIsMy4yLDMuMmgzMi40CgkJCWMxLjgsMCwzLjItMS40LDMuMi0zLjJDMjEwLjEsOTMsMjA4LjcsOTEuNiwyMDYuOSw5MS42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yNTcuNiwzOS40YzEuOCwwLDMuMi0xLjQsMy4yLTMuMmMwLTEuOC0xLjQtMy4yLTMuMi0zLjJoLTMyLjRjLTEuNywwLTMuMiwxLjQtMy4yLDMuMnY1OC43CgkJCWMwLDEuNywxLjIsMywzLDMuMmgzMi42YzEuOCwwLDMuMi0xLjQsMy4yLTMuMmMwLTEuOS0xLjQtMy4yLTMuMi0zLjJoLTI5LjFWNjguOGgyNS40YzEuNywwLDMuMi0xLjQsMy4yLTMuMgoJCQljMC0xLjgtMS40LTMuMi0zLjItMy4yaC0yNS40VjM5LjRIMjU3LjZ6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTMyOS44LDM0LjhjLTAuMi0wLjQtMC41LTAuNi0wLjgtMC45bC0wLjItMC4xYy0xLjUtMS0zLjUtMC42LTQuNCwwLjhsLTIxLjUsMjkuOWwtMjEuNi0yOS45CgkJCWMtMS0xLjQtMi45LTEuNy00LjQtMC44bC0wLjEsMC4xYy0wLjEsMC4xLTAuMiwwLjItMC4zLDAuM2MtMC43LDAuNi0xLjEsMS40LTEuMSwyLjR2NTguM2MwLDEuNywxLjUsMy4yLDMuMiwzLjIKCQkJYzEuNywwLDMuMi0xLjQsMy4yLTMuMlY0Ni4ybDE4LjMsMjUuM2MwLjYsMSwxLjUsMS41LDIuNywxLjVoMC4yYzEuMSwwLDIuMS0wLjUsMi42LTEuNEwzMjQsNDYuMXY0OC43YzAsMS44LDEuNCwzLjIsMy4yLDMuMgoJCQljMS43LDAsMy4yLTEuNCwzLjItMy4yVjM2LjVjMC0wLjUtMC4yLTEtMC41LTEuNkwzMjkuOCwzNC44eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zNzQuNCw2MS43YzMuMy0zLjIsNS4xLTcuNCw1LjEtMTEuOWMwLTkuMi03LjUtMTYuNy0xNi43LTE2LjdoLTE0Yy0xLjcsMC0zLjIsMS40LTMuMiwzLjJ2NTguNwoJCQljMCwxLjcsMS40LDMuMiwzLjIsMy4yaDE4YzEwLjUsMCwxOS04LjUsMTktMTlDMzg1LjgsNzEuNSwzODEuMyw2NC43LDM3NC40LDYxLjd6IE0zNTIuMSw1OS45VjM5LjRoMTAuOAoJCQljNS43LDAsMTAuMiw0LjYsMTAuMiwxMC4zYzAsNS42LTQuNiwxMC4yLTEwLjIsMTAuMkgzNTIuMXogTTM3OS40LDc5Yy0wLjEsNy4xLTUuNiwxMi42LTEyLjYsMTIuNmgtMTQuN1Y2Ni40aDE0LjcKCQkJQzM3My43LDY2LjQsMzc5LjMsNzIuMSwzNzkuNCw3OXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDAyLDMzYy0xLjcsMC0zLjIsMS40LTMuMiwzLjJ2NTguN2MwLDEuNywxLjQsMy4yLDMuMiwzLjJjMS44LDAsMy4yLTEuNCwzLjItMy4yVjM2LjIKCQkJQzQwNS4zLDM0LjQsNDAzLjgsMzMsNDAyLDMzeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik00NzAuNSw4NS4xYy0wLjktMC4yLTEuOSwwLTIuNywwLjVsLTAuMSwwLjFjLTQuNSwzLjgtMTAuNSw1LjktMTYuOCw1LjljLTE1LjEsMC0yNy4zLTExLjgtMjcuMy0yNi40CgkJCWMwLTE0LjcsMTIuMy0yNi43LDI3LjMtMjYuN2M2LjIsMCwxMi4xLDIsMTcsNS45YzAuNywwLjUsMS42LDAuOCwyLjQsMC42YzAuOC0wLjEsMS41LTAuNiwyLTEuMmMwLjUtMC42LDAuOC0xLjMsMC43LTIuMQoJCQljMC0xLTAuNS0xLjgtMS4zLTIuNWMtNi00LjYtMTMuNC03LjEtMjEtNy4xaDBjLTE4LjksMC4xLTMzLjgsMTQuNi0zMy44LDMzLjFjMCwxOC4xLDE1LjEsMzIuOCwzMy44LDMyLjhjNy42LDAsMTUuMS0yLjUsMjAuOS03CgkJCWMwLjctMC41LDEuMi0xLjQsMS4zLTIuNGMwLTAuOC0wLjItMS42LTAuOC0yLjJDNDcxLjksODUuOCw0NzEuMyw4NS4zLDQ3MC41LDg1LjF6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==","websiteUrl":"https://alembic.com.au/"}],"talks":[{"speaker":{"name":"Kip Cole","avatarUrl":"https://secure-content.meetupstatic.com/images/classic-events/519673955/200x200.webp"},"title":"Fast and efficient image processing in Elixir","description":"Images influence every aspect of an application design and UX. They comprise a significant amount of the payload for many apps. This talk looks at how the combination of libvips, vix and image can be used to: Scale, resize, transform and compose images fast and efficiently, Streaming image pipelines from the front end through to external storage services, Deliver the right image size dynamically to Plug-based apps and Vectorise raster images to SVG for fun - and for efficient image placeholders.","photos":null,"slides":null,"video":null},{"speaker":{"name":"Nicholas Hammond","avatarUrl":"https://secure.meetupstatic.com/photos/member/2/8/9/e/highres_307150398.jpeg"},"title":"Tools for runtime validation of types","description":"Nicholas talks about hist experiences trying out a few tools that do runtime validation of types","photos":null,"slides":null,"video":null},{"speaker":{"name":"Josh Price","avatarUrl":"https://secure.meetupstatic.com/photos/member/4/5/c/e/highres_12197870.jpeg"},"title":"Highlights from Elixir Conf EU and Gig City Elixir","description":"Josh shares the news, announcements and best talks to watch online from Elixir Conf EU and Gig City Elixir","photos":null,"slides":null,"video":null}]}},"pageContext":{"id":"aa2fefcf-a5f1-55a8-a69a-438f1bf25663","previous":"/events/practical-ai-in-elixir","next":"/events/whats-in-a-name-and-easy-peg-parsers"}},"staticQueryHashes":["1060091228","1389804553","1706638457","2863593881","2905754725","3812220486","675908267","684993974"]}