<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/feed.rss.xml" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Evadne Wu</title>
    <description/>
    <link>https://speakerdeck.com/evadne</link>
    <atom:link rel="self" type="application/rss+xml" href="https://speakerdeck.com/evadne.rss"/>
    <lastBuildDate>2018-01-26 13:18:35 -0500</lastBuildDate>
    <item>
      <title>Deno + Elixir + Erlang/OTP WHY &amp; HOW</title>
      <description>Intelligent AI agents can write code that calls existing APIs in secure sandboxes, allowing higher token efficiency, better performance, and lower per-turn latency. Deno’s primitives in Rust can be integrated into such an agent harness, utilising the Elixir programming language and the Erlang/OTP runtime, which allows you to construct agentic systems that are massively concurrent and fault-tolerant.</description>
      <media:content url="https://files.speakerdeck.com/presentations/1418f3c3e9f244caa3119fe1cd57dd45/preview_slide_0.jpg?38978468" type="image/jpeg" medium="image"/>
      <content:encoded>Intelligent AI agents can write code that calls existing APIs in secure sandboxes, allowing higher token efficiency, better performance, and lower per-turn latency. Deno’s primitives in Rust can be integrated into such an agent harness, utilising the Elixir programming language and the Erlang/OTP runtime, which allows you to construct agentic systems that are massively concurrent and fault-tolerant.</content:encoded>
      <pubDate>Fri, 03 Apr 2026 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/otp-why-and-how</link>
      <guid>https://speakerdeck.com/evadne/otp-why-and-how</guid>
    </item>
    <item>
      <title>“Not Hotdog” Revisited</title>
      <description>In this session, the speaker demonstrates the power of the Elixir ecosystem by replicating the hallowed meme “Not Hotdog” with conventional technology. The session covers the following tasks commonly seen in MLOps and application development in general.

Objectives:

1. To demonstrate the power of the Elixir ecosystem and the amount of engineering leverage available today

2. To promote the art of writing useful, inter-operable programs quickly based on the Unix philosophy.

3. To improve upon an ancient meme and bring joy to the community by creating shared experiences.

Scenarios:

- Perhaps one would like to integrate and run ML models after witnessing the power of Axon?

- Perhaps one would like to know how to architecture such services end-to-end while maintaining good operational hygiene?

Prerequisites:

- It is advised that the audience should have some prior experience in MLOps, however such experience is not required to enjoy the session.

- It is advised that the audience should have at least a rudimentary level of understanding of how Deep Learning models work (both training and deployment), having such experience will make the talk more enjoyable, however such experience is not required.

The talk will utilise a pre-trained model; due to the amount of time required, training will not be done during the session.

Outline:

- Defining the problem
    - Reviewing the scope of the problem
    - Arranging the flow of control and data channels
    - Designing overall system topology
- Integrating custom ML models in an Elixir system
    - Selecting and loading the Model
        - [If using Axon.Serving] Converting the Model for Axon.Serving using axon_onnx
    - Testing the Model in batched operation
      - Building a script to submit still frames
    - Adapting the Model for interactive operation
        - [If using Axon.Serving] Building the backend node with Axon.Serving
        - [If not] Building a custom C Node for high-performance interoperation
- Building the video pipeline with Membrane
    - Creating the overall Pipeline with Membrane
    - Extracting and converting raw video frames
    - Creating the backend for request submission
        - Implementing a rate limiter with backend back-pressure
- Providing interactivity with Phoenix LiveView
    - Creating custom JavaScript hooks &amp; UI elements
    - Integrating WebRTC feedback into the viewport
    - Overlaying on-screen annotations with Phoenix LiveView
- Review / Compare &amp; Contrast
    - Testing the Solution
    - Audience Q&amp;A

As presented at ElixirConf EU 2023 on 21 April 2023</description>
      <media:content url="https://files.speakerdeck.com/presentations/d2a3e414f0184cbc890ed488ef77481e/preview_slide_0.jpg?25335398" type="image/jpeg" medium="image"/>
      <content:encoded>In this session, the speaker demonstrates the power of the Elixir ecosystem by replicating the hallowed meme “Not Hotdog” with conventional technology. The session covers the following tasks commonly seen in MLOps and application development in general.

Objectives:

1. To demonstrate the power of the Elixir ecosystem and the amount of engineering leverage available today

2. To promote the art of writing useful, inter-operable programs quickly based on the Unix philosophy.

3. To improve upon an ancient meme and bring joy to the community by creating shared experiences.

Scenarios:

- Perhaps one would like to integrate and run ML models after witnessing the power of Axon?

- Perhaps one would like to know how to architecture such services end-to-end while maintaining good operational hygiene?

Prerequisites:

- It is advised that the audience should have some prior experience in MLOps, however such experience is not required to enjoy the session.

- It is advised that the audience should have at least a rudimentary level of understanding of how Deep Learning models work (both training and deployment), having such experience will make the talk more enjoyable, however such experience is not required.

The talk will utilise a pre-trained model; due to the amount of time required, training will not be done during the session.

Outline:

- Defining the problem
    - Reviewing the scope of the problem
    - Arranging the flow of control and data channels
    - Designing overall system topology
- Integrating custom ML models in an Elixir system
    - Selecting and loading the Model
        - [If using Axon.Serving] Converting the Model for Axon.Serving using axon_onnx
    - Testing the Model in batched operation
      - Building a script to submit still frames
    - Adapting the Model for interactive operation
        - [If using Axon.Serving] Building the backend node with Axon.Serving
        - [If not] Building a custom C Node for high-performance interoperation
- Building the video pipeline with Membrane
    - Creating the overall Pipeline with Membrane
    - Extracting and converting raw video frames
    - Creating the backend for request submission
        - Implementing a rate limiter with backend back-pressure
- Providing interactivity with Phoenix LiveView
    - Creating custom JavaScript hooks &amp; UI elements
    - Integrating WebRTC feedback into the viewport
    - Overlaying on-screen annotations with Phoenix LiveView
- Review / Compare &amp; Contrast
    - Testing the Solution
    - Audience Q&amp;A

As presented at ElixirConf EU 2023 on 21 April 2023</content:encoded>
      <pubDate>Thu, 20 Apr 2023 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/not-hotdog-revisited</link>
      <guid>https://speakerdeck.com/evadne/not-hotdog-revisited</guid>
    </item>
    <item>
      <title>Practical Elixir Streams — To Infinity and Beyond</title>
      <description>By using Elixir Streams, you can make your application more responsive and consume fewer resources. Within this session, I shall explain how Streams work, and provide a few practical uses of Streams, with a live demonstration.</description>
      <media:content url="https://files.speakerdeck.com/presentations/88e153ae4ee64b70bd81e8c3e9fad8a5/preview_slide_0.jpg?16440878" type="image/jpeg" medium="image"/>
      <content:encoded>By using Elixir Streams, you can make your application more responsive and consume fewer resources. Within this session, I shall explain how Streams work, and provide a few practical uses of Streams, with a live demonstration.</content:encoded>
      <pubDate>Thu, 08 Oct 2020 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/practical-elixir-streams-to-infinity-and-beyond</link>
      <guid>https://speakerdeck.com/evadne/practical-elixir-streams-to-infinity-and-beyond</guid>
    </item>
    <item>
      <title>The Holy Grail of Isomorphism: Packaging Elixir for Desktop Apps</title>
      <description></description>
      <media:content url="https://files.speakerdeck.com/presentations/781db56408b947539db8d64cd002df7d/preview_slide_0.jpg?16269203" type="image/jpeg" medium="image"/>
      <content:encoded></content:encoded>
      <pubDate>Thu, 03 Sep 2020 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/the-holy-grail-of-isomorphism-packaging-elixir-for-desktop-apps</link>
      <guid>https://speakerdeck.com/evadne/the-holy-grail-of-isomorphism-packaging-elixir-for-desktop-apps</guid>
    </item>
    <item>
      <title>Processes &amp; Grains — A Journey in Orleans</title>
      <description></description>
      <media:content url="https://files.speakerdeck.com/presentations/0c5fa68fa129451abe6ddcaf8cf411a5/preview_slide_0.jpg?16269170" type="image/jpeg" medium="image"/>
      <content:encoded></content:encoded>
      <pubDate>Sat, 01 Feb 2020 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/evadne/processes-and-grains-a-journey-in-orleans</link>
      <guid>https://speakerdeck.com/evadne/processes-and-grains-a-journey-in-orleans</guid>
    </item>
    <item>
      <title>Lobbying with Elixir: Real-Time LiveView &amp; OTP</title>
      <description>Learn how LiveView can supercharge your new service idea, with an example project which maintains game lobbies.

In this talk, you will learn from a constructed example how LiveView can supercharge your new service idea, with an example project which maintains online game lobbies. Follow us on a journey of Phoenix, LiveView and OTP. Walk away with weeks of your life now freed up for doing new things.

The expressive power of Phoenix LiveView has now been widely acknowledged by the community, with various teams adopting it within projects. This talk aims to provide an end-to-end view as to how it can supercharge your development process, by first constructing the design of a full-stack service with OTP, and then comparing various User Interface implementation strategies, inclusive of LiveView, Channels + Vue.js, and hand-crafted HTML/JS, among other approaches.

I will also cover various implementation strategies for integrating stateful backend services with front-end layers, which will make evident why the combination of LiveView and OTP primitives could provide you best bang for the buck.</description>
      <media:content url="https://files.speakerdeck.com/presentations/3bb3d9fbc75f4ed5b3e076b90919ae09/preview_slide_0.jpg?13846661" type="image/jpeg" medium="image"/>
      <content:encoded>Learn how LiveView can supercharge your new service idea, with an example project which maintains game lobbies.

In this talk, you will learn from a constructed example how LiveView can supercharge your new service idea, with an example project which maintains online game lobbies. Follow us on a journey of Phoenix, LiveView and OTP. Walk away with weeks of your life now freed up for doing new things.

The expressive power of Phoenix LiveView has now been widely acknowledged by the community, with various teams adopting it within projects. This talk aims to provide an end-to-end view as to how it can supercharge your development process, by first constructing the design of a full-stack service with OTP, and then comparing various User Interface implementation strategies, inclusive of LiveView, Channels + Vue.js, and hand-crafted HTML/JS, among other approaches.

I will also cover various implementation strategies for integrating stateful backend services with front-end layers, which will make evident why the combination of LiveView and OTP primitives could provide you best bang for the buck.</content:encoded>
      <pubDate>Fri, 11 Oct 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/lobbying-with-elixir-real-time-liveview-and-otp</link>
      <guid>https://speakerdeck.com/evadne/lobbying-with-elixir-real-time-liveview-and-otp</guid>
    </item>
    <item>
      <title>Connection Proxying with Phoenix</title>
      <description>In this presentation, I explain the need for a Service Mesh type solution to go with Elixir Umbrella projects, analyse existing approaches and present a new, consolidated way to achieve the same goals with much less cognitive overhead.

Presented at Code Elixir LDN 2019 as a Lightning Talk, with further revisions.</description>
      <media:content url="https://files.speakerdeck.com/presentations/274c51b26d544851bf689e8af77e1a4e/preview_slide_0.jpg?13072451" type="image/jpeg" medium="image"/>
      <content:encoded>In this presentation, I explain the need for a Service Mesh type solution to go with Elixir Umbrella projects, analyse existing approaches and present a new, consolidated way to achieve the same goals with much less cognitive overhead.

Presented at Code Elixir LDN 2019 as a Lightning Talk, with further revisions.</content:encoded>
      <pubDate>Thu, 18 Jul 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/connection-proxying-with-phoenix</link>
      <guid>https://speakerdeck.com/evadne/connection-proxying-with-phoenix</guid>
    </item>
    <item>
      <title>Leveraging ETS Effectively</title>
      <description>ETS is pervasive, yet invisible. With this talk, Evadne shall take the audience on a deep dive into ETS, look at its internals, and ways to leverage it effectively within Elixir apps.

This talk will cover: 
• ETS functions
• Forming Match Specifications
• Using ETS for ephemeral/preset data
• Integrating ETS with Ecto (Schemas, Repos)
• Moving beyond ETS

The audience should leave with knowledge on when/where to use ETS, and a few patterns that they can reuse.

Objectives:
• To elicit appreciation of Erlang/OTP subsystems that are usually taken for granted.
• To promote further usage of core Erlang/OTP technologies in the Elixir community, so as to enable better products and services.

Audience
• Developers who are curious about how the frameworks work
• Fans of the Actor Model
• People who want to see some actual code running in a demo
</description>
      <media:content url="https://files.speakerdeck.com/presentations/397112445ffb4a86acf6477415fd8b2d/preview_slide_0.jpg?12307384" type="image/jpeg" medium="image"/>
      <content:encoded>ETS is pervasive, yet invisible. With this talk, Evadne shall take the audience on a deep dive into ETS, look at its internals, and ways to leverage it effectively within Elixir apps.

This talk will cover: 
• ETS functions
• Forming Match Specifications
• Using ETS for ephemeral/preset data
• Integrating ETS with Ecto (Schemas, Repos)
• Moving beyond ETS

The audience should leave with knowledge on when/where to use ETS, and a few patterns that they can reuse.

Objectives:
• To elicit appreciation of Erlang/OTP subsystems that are usually taken for granted.
• To promote further usage of core Erlang/OTP technologies in the Elixir community, so as to enable better products and services.

Audience
• Developers who are curious about how the frameworks work
• Fans of the Actor Model
• People who want to see some actual code running in a demo
</content:encoded>
      <pubDate>Tue, 09 Apr 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/leveraging-ets-effectively</link>
      <guid>https://speakerdeck.com/evadne/leveraging-ets-effectively</guid>
    </item>
    <item>
      <title>Fearless Concurrency with JavaScript and Beyond</title>
      <description>https://2018.webcampzg.org/talks/fearless-concurrency-with-javascript-and-beyond/
https://github.com/evadne/wczg-2018-concurrent-js</description>
      <media:content url="https://files.speakerdeck.com/presentations/90d7b10ea33b4dc8bfc5827a7f87eb7a/preview_slide_0.jpg?10915573" type="image/jpeg" medium="image"/>
      <content:encoded>https://2018.webcampzg.org/talks/fearless-concurrency-with-javascript-and-beyond/
https://github.com/evadne/wczg-2018-concurrent-js</content:encoded>
      <pubDate>Sat, 06 Oct 2018 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/fearless-concurrency-with-javascript-and-beyond</link>
      <guid>https://speakerdeck.com/evadne/fearless-concurrency-with-javascript-and-beyond</guid>
    </item>
    <item>
      <title>Managing Externalities in a Functional World</title>
      <description>The modern software developer is spoilt for choice. With the options available today, it has never been easier to build solutions, run experiments, and recover from mistakes. Cheap leverage however encourages incidental complexity, reduces the inherent need for cooperation, and obviates common standards.

Functional programming offers unprecedented leverage, which amplifies these externalities. Knowingly or not, in this way the modern software developer wields tremendous power, but at the same time walks on the knife's edge.

In this talk, Evadne will attempt to provide an overview of these externalities, the historical context, near- and long-term implications, and a few projections as to how things will play out. She will also share some ideas as to how we can mitigate these problems together as a community.

OBJECTIVES

The main objective of this talk is to provide a historic and humanistic perspective that can be used by software developers to interpret functional programming, and its meteoric re-emergence in the web development arena.

The secondary objective is to actually induct people into the world of functional programming by making its premises accessible, but at the same time ensuring that they start with a long-term positive mindset.

Evadne believes that a large number of Elixir developers initially adopted Elixir with a continuous improvement mindset. This talk aims to appropriately echo the mentality, examine the problems currently faced by the community and share potential approaches to be used in our own daily work.</description>
      <media:content url="https://files.speakerdeck.com/presentations/89570a5df4e54fec9a6fb927f0e93240/preview_slide_0.jpg?10577207" type="image/jpeg" medium="image"/>
      <content:encoded>The modern software developer is spoilt for choice. With the options available today, it has never been easier to build solutions, run experiments, and recover from mistakes. Cheap leverage however encourages incidental complexity, reduces the inherent need for cooperation, and obviates common standards.

Functional programming offers unprecedented leverage, which amplifies these externalities. Knowingly or not, in this way the modern software developer wields tremendous power, but at the same time walks on the knife's edge.

In this talk, Evadne will attempt to provide an overview of these externalities, the historical context, near- and long-term implications, and a few projections as to how things will play out. She will also share some ideas as to how we can mitigate these problems together as a community.

OBJECTIVES

The main objective of this talk is to provide a historic and humanistic perspective that can be used by software developers to interpret functional programming, and its meteoric re-emergence in the web development arena.

The secondary objective is to actually induct people into the world of functional programming by making its premises accessible, but at the same time ensuring that they start with a long-term positive mindset.

Evadne believes that a large number of Elixir developers initially adopted Elixir with a continuous improvement mindset. This talk aims to appropriately echo the mentality, examine the problems currently faced by the community and share potential approaches to be used in our own daily work.</content:encoded>
      <pubDate>Thu, 16 Aug 2018 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/managing-externalities-in-a-functional-world</link>
      <guid>https://speakerdeck.com/evadne/managing-externalities-in-a-functional-world</guid>
    </item>
    <item>
      <title>Building a Task Queue System with GenStage, Ecto, and PostgreSQL</title>
      <description>Most applications have background jobs that require managing. While a basic queue implementation is simple to write, it could riddle your system with tight coupling, and straddle the developers with multiple nearly-duplicate implementations.

In this talk, I will explain our design constraints for such a task queue system, and present an implementation, taking into account Elixir’s strengths in concurrency, state management, and node clustering. I will also examine the performance characteristics of such an implementation.
</description>
      <media:content url="https://files.speakerdeck.com/presentations/8813b9eac13e4239932447dbc401b526/preview_slide_0.jpg?9829347" type="image/jpeg" medium="image"/>
      <content:encoded>Most applications have background jobs that require managing. While a basic queue implementation is simple to write, it could riddle your system with tight coupling, and straddle the developers with multiple nearly-duplicate implementations.

In this talk, I will explain our design constraints for such a task queue system, and present an implementation, taking into account Elixir’s strengths in concurrency, state management, and node clustering. I will also examine the performance characteristics of such an implementation.
</content:encoded>
      <pubDate>Tue, 17 Apr 2018 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/building-a-task-queue-system-with-genstage-ecto-and-postgresql</link>
      <guid>https://speakerdeck.com/evadne/building-a-task-queue-system-with-genstage-ecto-and-postgresql</guid>
    </item>
    <item>
      <title>GenStage in Practice</title>
      <description>Our GenStage use case: a Postgres based job queue</description>
      <media:content url="https://files.speakerdeck.com/presentations/6d8b1b0043534fc4825e15a13bce3d60/preview_slide_0.jpg?9298897" type="image/jpeg" medium="image"/>
      <content:encoded>Our GenStage use case: a Postgres based job queue</content:encoded>
      <pubDate>Wed, 24 Jan 2018 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/evadne/genstage-in-practice</link>
      <guid>https://speakerdeck.com/evadne/genstage-in-practice</guid>
    </item>
    <item>
      <title>Multi-AZ Clustering for Elixir+ Phoenix</title>
      <description>A quick review of clustered deployment options on AWS + conceptual framework for networking architecture</description>
      <media:content url="https://files.speakerdeck.com/presentations/c80dcc1319414fefb07a85778e73dc57/preview_slide_0.jpg?9298033" type="image/jpeg" medium="image"/>
      <content:encoded>A quick review of clustered deployment options on AWS + conceptual framework for networking architecture</content:encoded>
      <pubDate>Wed, 29 Nov 2017 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/evadne/multi-az-clustering-for-elixir-plus-phoenix</link>
      <guid>https://speakerdeck.com/evadne/multi-az-clustering-for-elixir-plus-phoenix</guid>
    </item>
    <item>
      <title>Practical &amp; Impractical File Operations (in Phoenix)</title>
      <description>A high level view of various file handling techniques that deliver high performance and smooth user experience while retaining security.</description>
      <media:content url="https://files.speakerdeck.com/presentations/be9fa54a0ba94e2689f7ed5b7a2f32fb/preview_slide_0.jpg?8666874" type="image/jpeg" medium="image"/>
      <content:encoded>A high level view of various file handling techniques that deliver high performance and smooth user experience while retaining security.</content:encoded>
      <pubDate>Tue, 26 Sep 2017 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/practical-and-impractical-file-operations-in-phoenix</link>
      <guid>https://speakerdeck.com/evadne/practical-and-impractical-file-operations-in-phoenix</guid>
    </item>
    <item>
      <title>How to Sell Elixir</title>
      <description>http://www.elixir.london/Elixir-LDN-2017/evadne-wu

* * *

Technical complexity is now a major cost of doing business and the Elixir/Erlang ecosystems offer appropriate tools to efficiently manage complexity. In its realisation we have built a product entirely based on this technology, and now have stories to share.
 
In this talk, Evadne will attempt to cover:
 
1. Their economic case for adopting this particular ecosystem, from both a development velocity point of view and a maintenance/cost point of view.
2. Problems they have faced and solutions they have come up with, both on an organisational level and a technical level, in realising the project.
3. Some ideas for technical leaders wishing to adopt Elixir for their next greenfield or brownfield project.
 
Talk objectives:
To provide the audience with an appropriate evaluation framework for candidate technologies (i.e. boss persuasion)
To provide a collection of anecdotes on our adoption of the Erlang/OTP and Elixir ecosystems for the benefit of the community (i.e. war stories)
To identify areas for further enhancement both within the technology stack, and around how the stack is enhanced. (i.e. work suggestions)
Target audience:
This talk is intended for technical team leaders and senior software engineers wishing to transition into a role with some more management responsibilities; it is also best suited for relatively small teams (5-25 developers) that have prior experience in developing web applications, since that is the audience who shall find the views most relatable.
Evadne is a London-based technologist with a passion for data visualisation and experience in technical management. She has experience in software architecture, application prototyping, and system operations management. Evadne presently serves as the Head of Exam Systems for Faria Education Group, which is an international education SaaS company with staff in UK, EU and USA.</description>
      <media:content url="https://files.speakerdeck.com/presentations/c72cd3e2ce0c426094093aa89bd924b8/preview_slide_0.jpg?8430445" type="image/jpeg" medium="image"/>
      <content:encoded>http://www.elixir.london/Elixir-LDN-2017/evadne-wu

* * *

Technical complexity is now a major cost of doing business and the Elixir/Erlang ecosystems offer appropriate tools to efficiently manage complexity. In its realisation we have built a product entirely based on this technology, and now have stories to share.
 
In this talk, Evadne will attempt to cover:
 
1. Their economic case for adopting this particular ecosystem, from both a development velocity point of view and a maintenance/cost point of view.
2. Problems they have faced and solutions they have come up with, both on an organisational level and a technical level, in realising the project.
3. Some ideas for technical leaders wishing to adopt Elixir for their next greenfield or brownfield project.
 
Talk objectives:
To provide the audience with an appropriate evaluation framework for candidate technologies (i.e. boss persuasion)
To provide a collection of anecdotes on our adoption of the Erlang/OTP and Elixir ecosystems for the benefit of the community (i.e. war stories)
To identify areas for further enhancement both within the technology stack, and around how the stack is enhanced. (i.e. work suggestions)
Target audience:
This talk is intended for technical team leaders and senior software engineers wishing to transition into a role with some more management responsibilities; it is also best suited for relatively small teams (5-25 developers) that have prior experience in developing web applications, since that is the audience who shall find the views most relatable.
Evadne is a London-based technologist with a passion for data visualisation and experience in technical management. She has experience in software architecture, application prototyping, and system operations management. Evadne presently serves as the Head of Exam Systems for Faria Education Group, which is an international education SaaS company with staff in UK, EU and USA.</content:encoded>
      <pubDate>Thu, 17 Aug 2017 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/how-to-sell-elixir</link>
      <guid>https://speakerdeck.com/evadne/how-to-sell-elixir</guid>
    </item>
    <item>
      <title>The Many Faces of Elixir Deployment</title>
      <description>A quick look into deploying your Elixir/Phoenix application on Amazon AWS with its EC2 Container Service</description>
      <media:content url="https://files.speakerdeck.com/presentations/73f40e07d38e4107940bb71cc7c49fca/preview_slide_0.jpg?8074886" type="image/jpeg" medium="image"/>
      <content:encoded>A quick look into deploying your Elixir/Phoenix application on Amazon AWS with its EC2 Container Service</content:encoded>
      <pubDate>Wed, 31 May 2017 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/the-many-faces-of-elixir-deployment</link>
      <guid>https://speakerdeck.com/evadne/the-many-faces-of-elixir-deployment</guid>
    </item>
    <item>
      <title>C/Elixir Interop</title>
      <description>libVIPS/Phoenix Case Study</description>
      <media:content url="https://files.speakerdeck.com/presentations/043d48f297b04d81a5504c8466a940e5/preview_slide_0.jpg?9307916" type="image/jpeg" medium="image"/>
      <content:encoded>libVIPS/Phoenix Case Study</content:encoded>
      <pubDate>Wed, 26 Oct 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/evadne/elixir-interop</link>
      <guid>https://speakerdeck.com/evadne/elixir-interop</guid>
    </item>
  </channel>
</rss>
