<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Adolfo Neto on Medium]]></title>
        <description><![CDATA[Stories by Adolfo Neto on Medium]]></description>
        <link>https://medium.com/@adolfont?source=rss-46e994019ae5------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*IG6IxDbwYW6caQGc.jpeg</url>
            <title>Stories by Adolfo Neto on Medium</title>
            <link>https://medium.com/@adolfont?source=rss-46e994019ae5------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 25 May 2026 18:03:54 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@adolfont/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[What’s a process in Elixir?]]></title>
            <link>https://adolfont.medium.com/whats-a-process-in-elixir-28787e0eda8?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/28787e0eda8</guid>
            <category><![CDATA[elixir]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Thu, 09 Mar 2023 23:44:00 GMT</pubDate>
            <atom:updated>2023-03-09T23:45:43.442Z</atom:updated>
            <content:encoded><![CDATA[<p>To learn what a process is in Elixir, you must first know what a function is.</p><figure><img alt="Just some Elixir code." src="https://cdn-images-1.medium.com/max/1000/1*EXKo3p1t6jGlyZLq-Oj5Vw.png" /></figure><p>For example, IO.puts/1 is a function that writes something to the screen. The function is called puts, it is in the IO module (input I and output O), and it takes one argument:</p><pre>iex(1)&gt; IO.puts(&quot;Adolfo&quot;)<br>Adolfo<br>:ok</pre><p>Read more at <a href="https://dev.to/adolfont/whats-a-process-in-elixir-406h">https://dev.to/adolfont/whats-a-process-in-elixir-406h</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=28787e0eda8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Titles of all Elixir Fountain podcast episodes]]></title>
            <link>https://adolfont.medium.com/titles-of-all-elixir-fountain-podcast-episodes-ad6e2d8d0133?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/ad6e2d8d0133</guid>
            <category><![CDATA[erlang]]></category>
            <category><![CDATA[elixir]]></category>
            <category><![CDATA[podcast]]></category>
            <category><![CDATA[beam]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Fri, 06 Nov 2020 18:13:40 GMT</pubDate>
            <atom:updated>2020-11-06T18:13:40.052Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*WBkGeOVvEnip0GRi" /><figcaption>Photo by <a href="https://unsplash.com/@mattbotsford?utm_source=medium&amp;utm_medium=referral">Matt Botsford</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Elixir Fountain was the first podcast focused on the Elixir language.<br>The first episode was published on June 9, 2015 and the latest on 09 Aug 2019.</p><p>In the past, I wrote <a href="https://adolfont.medium.com/top-9-episodes-of-the-elixir-fountain-podcast-4d201c84845e">“Top 9 episodes of the Elixir Fountain podcast”</a>.<br> <br>The host and creator of Elixir Fountain is Johnny Winn (<a href="http://twitter.com/johnny_rugger">@johnny_rugger</a>) and the podcast is currently on pause. <br> <br>More information about this and other Elixir podcasts at <a href="https://github.com/adolfont/elixir_cop/blob/master/podcasts.md">https://github.com/adolfont/elixir_cop/blob/master/podcasts.md</a>.<br> <br>The source for the episode titles below is an old version of the podcast RSS <a href="https://web.archive.org/web/20200815060522/http://feeds.soundcloud.com/users/soundcloud:users:24638646/sounds.rss">https://web.archive.org/web/20200815060522/http://feeds.soundcloud.com/users/soundcloud:users:24638646/sounds.rss</a>. The current podcast RSS contains only 3 episodes today (November 6th, 2020).<br> <br>Notice that the RS contains information for 85 episodes. The last episode is #86 but there is no episode #77.<br> <br> <br>Elixir Fountain 6.5.15 — Guest José Valim<br>Elixir Fountain 2015–06–22 — Guest Josh Adams<br>Elixir Fountain 2015–07–10 — Guest Saša Jurić<br>Elixir Fountain 2015–07–20 — Guest Chris McChord<br>Elixir Fountain 2015–08–04 — Guest Samuel Tonini<br>Elixir Fountain 2015–08–26 Jim Freeze &amp;amp; Chris McCord<br>Elixir Fountain 2015–09–11 Eric Meadows-Jönsson<br>Elixir Fountain 2015–09–25 Dave Thomas<br>Elixir Fountain 2015–10–02 Robert Virding<br>Elixir Fountain 2015–10–09 Live From ElixirConf!<br>Elixir Fountain 2015–10–16 Rob Conery<br>Elixir Fountain 2015–10–23 Sonny Scroggin<br>Elixir Fountain 2015–10–30 Jessica Kerr<br>Elixir Fountain 2015–11–06 Lennart Fridén<br>Elixir Fountain 2015–11–13 Alan Gardner<br>Elixir Fountain 2015–11–20 Justin Schneck<br>Elixir Fountain 2015–12–04 Proctor<br>Elixir Fountain 2015–12–18 Steve Pallen<br>Elixir Fountain 2016–01–08 Joe Armstrong<br>Elixir Fountain 2016–01–15 Rob Conery<br>Elixir Fountain 2016–01–22 Chris McCord<br>Elixir Fountain 2016–02–01 Paul Lamb<br>Elixir Fountain 2016–02–05 José Valim<br>Elixir Fountain 2016–02–12 Fred Hebert<br>Elixir Fountain 2016–02–22 Francesco Cesarini &amp;amp; Steve Vinoski<br>Elixir Fountain 2016–02–29 Augie De Blieck<br>Elixir Fountain 2016–03–14 Peter Hamilton<br>Elixir Fountain Josh Adams 2016–03–21<br>Elixir Fountain David Padilla 2016–04–05<br>Elixir Fountain Jean — Francois Cloutier 2016–04–11<br>Elixir Fountain Bryan Joseph 2016–04–18<br>Elixir Fountain Paul Schoenfelder 2016–05–03<br>Elixir Fountain Eric Merritt 2016–05–10<br>Elixir Fountain Brian Cardarella 2016–05–16<br>Elixir Fountain Lance Halvorsen 2016–05–23<br>Elixir Fountain James Edward Gray 2016–05–31<br>Elixir Fountain René Föhring 2016–06–13<br>Elixir Fountain Jeff Weiss 2016–06–20<br>Elixir Fountain Michał Muskała 2016–06–27<br>Elixir Fountain Gary Rennie 2016–07–05<br>Elixir Fountain Evan Czaplicki 2016–07–11<br>Elixir Fountain Andrea Leopardi 2016–07–25<br>Elixir Fountain Benjamin Tan 2016–08–01<br>Elixir Fountain Lau Taarnskov 2016–08–08<br>Elixir Fountain Ben Marx 2016–08–16<br>Elixir Fountain Boyd Multerer 2016–08–24<br>Elixir Fountain Chris Keathley 2016–08–29<br>Elixir Fountain Ben Wilson 2016–09–07<br>Elixir Fountain Morgan Laco 2016–09–13<br>Elixir Fountain John Hughes 2016–09–23<br>Elixir Fountain Brian Marick 2016–09–28<br>Elixir Fountain Lauren Tan 2016–10–03<br>Elixir Fountain Sean Callan 2016–11–08<br>Elixir Fountain Tetiana Dushenkivska 2016–12–08<br>Episode 55: Machine Hacking and The Nerves Project w/ Garth Hitchens<br>Episode 56: From Elixir to Erlang w/ Martin Gausby<br>Episode <a href="http://twitter.com/057">@057</a>: Educating in Elixir with Dave Thomas<br>Episode <a href="http://twitter.com/058">@058</a>: Actors and the Internet of Things with Carl Hewitt<br>Episode <a href="http://twitter.com/059">@059</a>: Music to My Ears with Joe Armstrong<br>Episode 060: Crafting Development with Chad Fowler<br>Episode 061: Elixir ABCs &amp;amp; 123s with Jesse J. Anderson<br>Episode 062: From Erlang to Elixir In Action w/ Saša Jurić<br>Episode <a href="http://twitter.com/063">@063</a>: This Transient Life with Amos King<br>Episode 064: Don’t Forget the Database with Josh Branchaud<br>Episode 065: Under the Umbrella with Chris Bell<br>Episode 066: From OO to FP &amp;amp; All the Things in Between w/ Sandi Metz<br>Episode 067: Betting on Elixir with Eric Entin<br>Episode 068: Building Bridges with Anna Neyzberg<br>Episode 069: The Saga of Distributed Systems (and BBQ) with Mark Allen<br>Episode 070: Going Big with Elixir with Ryan Bigg<br>Episode 071: Talking Types with Matt Ludwigs<br>Episode 072: Strange Brew with Brooklyn Zelenka<br>Episode 073: Finding the Proper Form with Louis Pilfold<br>Episode 074: Property-based Testing with Mark Allen and Chris Keathley<br>Episode 075: Visiting the Actor’s Studio with Jonas Bonér<br>Episode 076: Diversifying Elixir with Love with Rachael Serur and Omid Bachari<br>Episode <a href="http://twitter.com/078">@078</a>: Software Architecture Panel with Saša Jurić &amp;amp; Lance Halvorsen<br>Episode <a href="http://twitter.com/079">@079</a> — ¡ Viva La LFE! with Robert Virding<br>Episode <a href="http://twitter.com/080">@080</a> — Elixir |&amp;gt; Erlang |&amp;gt; Elixir with Martin Gausby<br>Episode <a href="http://twitter.com/081">@081</a> Taking it to the Raxx with Peter Saxton<br>Episode <a href="http://twitter.com/082">@082</a> — Gleam on the BEAM with Louis Pilfold<br>Episode <a href="http://twitter.com/083">@083</a> Looking Back to Move Forward with Bruce Tate<br>Episode <a href="http://twitter.com/084">@084</a> — Setting the Foundation w/ Alistair Woodman &amp;amp; Miriam Pena<br>Episode <a href="http://twitter.com/085">@085</a> — Thinking in Erlang w/ Viktória Fördős<br>Episode <a href="http://twitter.com/086">@086</a> Tooling Around the BEAM w/ Tristan Sloughter &amp;amp; Fred Hebert</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ad6e2d8d0133" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Art-Education and “Creative Programming”]]></title>
            <link>https://adolfont.medium.com/art-education-and-creative-programming-72c91b5420b2?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/72c91b5420b2</guid>
            <category><![CDATA[podcast]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Wed, 08 Jul 2020 18:54:11 GMT</pubDate>
            <atom:updated>2020-07-08T18:54:11.605Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*YLR3hL-aG5aORRAg" /><figcaption>Photo by <a href="https://unsplash.com/@axmen?utm_source=medium&amp;utm_medium=referral">Axel Mencia</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I have a podcast in Portuguese. It is called “Podcast do Professor Adolfo Neto” (Professor Adolfo Neto’s Podcast). In the <a href="https://open.spotify.com/show/6WUkoemlaXJqRybGYdpEf3">most recent episode I interviewed Alexandre Villares</a>.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fopen.spotify.com%2Fembed-podcast%2Fepisode%2F11RJS0yxKwGvSjatLdnjOB&amp;display_name=Spotify&amp;url=https%3A%2F%2Fopen.spotify.com%2Fepisode%2F11RJS0yxKwGvSjatLdnjOB&amp;image=https%3A%2F%2Fi.scdn.co%2Fimage%2F700aa61a9828ed3cc75b2d012bbe417d8b9e5593&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=spotify" width="600" height="232" frameborder="0" scrolling="no"><a href="https://medium.com/media/2327ee91da458bd6b4f5c003e7c19efe/href">https://medium.com/media/2327ee91da458bd6b4f5c003e7c19efe/href</a></iframe><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fanchor.fm%2Fadolfont%2Fembed%2Fepisodes%2FArte-educao-com-Alexandre-Villares-eg7kl6&amp;display_name=Anchor+FM+Inc.&amp;url=https%3A%2F%2Fanchor.fm%2Fadolfont%2Fepisodes%2FArte-educao-com-Alexandre-Villares-eg7kl6&amp;image=https%3A%2F%2Fd3t3ozftmdmh3i.cloudfront.net%2Fproduction%2Fpodcast_uploaded_episode400%2F2743429%2F2743429-1593711785418-cc50bb83ef19c.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=anchor" width="400" height="102" frameborder="0" scrolling="no"><a href="https://medium.com/media/7bb713b5f6946425f314803c0c1a74f2/href">https://medium.com/media/7bb713b5f6946425f314803c0c1a74f2/href</a></iframe><p>Alexandre Villares is a professor, visual artist and consultant in new media. He has a major in Architecture from the University of São Paulo and is a Master in Architecture, Technology and the City from State University of Campinas. Some of the topics we covered:</p><p>1. Art Education and <a href="https://processing.org/">Processing</a> <br>2. Why do artists get their hands dirty with programming?<br>3. How did he start programming?<br>4. How to introduce programming with arts (drawing, music)?<br>5. How to teach recursion?<br>6. What was it like to have a drawing published in an academic journal?<br>7. What is the role of mathematics in programming?<br>8. Relationship between languages and programming</p><p>among other subjects.</p><p>I decided to interview Villares afters seeing the tweet below:</p><h3></h3><p></p><p>Here you can find the drawing he published in a journal:<br><a href="https://revista.internetlab.org.br/2850-interpolac%CC%A7o%CC%83es-de-tria%CC%82ngulos-v3/">2850 Triangle Interpolations v3, Internet e Sociedade</a></p><p><a href="https://revista.internetlab.org.br/2850-interpolac%CC%A7o%CC%83es-de-tria%CC%82ngulos-v3/">2850 interpolações de triângulos v3 - Internet &amp; Sociedade</a></p><p>He thinks that it is easy to teach recursion by teaching students how to draw a tree. Here is his example:</p><h3></h3><p></p><p>He doesn’t like the term “Creative Programming” because he thinks all programming is creative. He is right, isn’t he?</p><p>Throughout the conversation, we mentioned many links such as:</p><ul><li>Processing Foundation <a href="https://processing.org/"><strong>https://processing.org/</strong></a></li><li>Py5.js <a href="https://p5js.org/"><strong>https://p5js.org/</strong></a></li><li>Python Mode for Processing <a href="https://py.processing.org/"><strong>https://py.processing.org/</strong></a></li><li>Processing Brasil Google Group <a href="https://groups.google.com/forum/#!forum/processing-brasil"><strong>https://groups.google.com/forum/#!forum/processing-brasil</strong></a></li><li>Encontros Digitais (a Brazilian site about Creative Technology): <a href="https://encontrosdigitais.com.br/"><strong>https://encontrosdigitais.com.br/</strong></a></li><li>Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages <a href="https://www.nature.com/articles/s41598-020-60661-8"><strong>https://www.nature.com/articles/s41598-020-60661-8</strong></a></li><li>Sonic Pi <a href="https://sonic-pi.net/">https://sonic-pi.net/</a></li><li><a href="https://egr.vcu.edu/media/school-of-engineering/documents/cs/CodeBeatsFlyer.pdf">Code Beats</a>: Using hip hop music to teach computer programming.</li></ul><p>He recommended this book: <a href="https://www.amazon.com/Craftsman-Richard-Sennett/dp/0300151195/">The Craftsman, by Richard Sennett</a></p><p><a href="https://www.amazon.com/Craftsman-Richard-Sennett/dp/0300151195/">The Craftsman</a></p><p>It was a pleasure to talk with Alexandre. If you can understand Portuguese, the link is <a href="https://anchor.fm/adolfont/episodes/Arte-educao-com-Alexandre-Villares-eg7kl6/a-a2k0ke6">https://anchor.fm/adolfont/episodes/Arte-educao-com-Alexandre-Villares-eg7kl6/a-a2k0ke6</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=72c91b5420b2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Simple TDD in Erlang]]></title>
            <link>https://adolfont.medium.com/simple-tdd-in-erlang-6637fc6863e9?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/6637fc6863e9</guid>
            <category><![CDATA[tdd]]></category>
            <category><![CDATA[erlang]]></category>
            <category><![CDATA[test-driven-development]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Fri, 08 May 2020 22:23:30 GMT</pubDate>
            <atom:updated>2020-05-08T22:28:18.005Z</atom:updated>
            <content:encoded><![CDATA[<h3>Simple TDD in Erlang, by Brujo Benavides</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*feLDEOviyqlZzLeczCeVmA.jpeg" /></figure><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FwxF9Mkw4FEI%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DwxF9Mkw4FEI&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FwxF9Mkw4FEI%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/6addd673ead4e57d23bc01fd15f8f021/href">https://medium.com/media/6addd673ead4e57d23bc01fd15f8f021/href</a></iframe><p>In the video above I experimented with <a href="https://medium.com/u/788b9596f013">Brujo Benavides</a>’s description of TDD in Erlang.</p><p>His post is below:</p><p><a href="https://medium.com/erlang-battleground/simple-tdd-in-erlang-5c0cca886acb">Simple TDD in Erlang</a></p><p>The tweet he mentioned is this one:</p><h3>Adolfo Neto on Twitter</h3><p>Simple #TDD in #Erlang, by @elbrujohalcon Link only available for those that have joined the course. https://t.co/RyYl6z0ctM</p><p>What is the right way to say/write? Simple TDD <strong>in </strong>Erlang or Simple TDD <strong>with</strong> Erlang?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6637fc6863e9" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Elixir Brasil 2020]]></title>
            <link>https://adolfont.medium.com/elixir-brasil-2020-5cc7eba8993?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/5cc7eba8993</guid>
            <category><![CDATA[elixir]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Thu, 30 Jan 2020 13:00:44 GMT</pubDate>
            <atom:updated>2020-03-26T11:31:27.581Z</atom:updated>
            <content:encoded><![CDATA[<h3>Elixir Brasil 2020 will be postponed</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PU_Zth4ynTo81D-h4Bu6Zg.jpeg" /><figcaption>Header photo for the <a href="https://twitter.com/elixir_brasil/">@elixir_brasil Twitter</a> account.</figcaption></figure><p><em>Alert! Elixir Brasil will be postponed. Whenever we have new dates, I will publish them here.</em></p><p>So here we go again. This will be the third edition of Elixir Brasil, the only Elixir conference in Brazil. The first two editions of this event were:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplay.ht%2Fembed%2F%3Farticle_url%3Dhttps%3A%2F%2Fmedium.com%2F_p%2Felixir-brasil-2020-5cc7eba8993&amp;display_name=Play&amp;url=https%3A%2F%2Fplay.ht%2Farticles%2F5cc7eba8993&amp;image=https%3A%2F%2F0%2AIG6IxDbwYW6caQGc.jpeg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=play" width="700" height="185" frameborder="0" scrolling="no"><a href="https://medium.com/media/9f9fb596e57251cbefee7e58cf2dde27/href">https://medium.com/media/9f9fb596e57251cbefee7e58cf2dde27/href</a></iframe><ul><li><a href="https://elixirforum.com/t/elixir-brazil-2018/12235">Elixir Brasil 2018</a>, a one day event on February 3rd, 2018. All talks from that conference were recorded and are <a href="https://en.eventials.com/locaweb/events/elixir-brasil/">here</a>.</li><li><a href="https://medium.com/@adolfont/elixir-brazil-2019-4de3fc06b18f">Elixir Brasil 2019</a>, a two day event on May 25th and 26th, 2019. Talks were not recorded. I gathered some material produced by the community <a href="http://www.dainf.ct.utfpr.edu.br/~adolfo/dokuwiki/doku.php?id=2019:elixir_brazil_2019">here</a> and <a href="https://dev.to/elixirmix/emx-057-the-elixir-community-with-adolfo-neto">talked about the event on the Elixir Mix podcast</a>.</li></ul><p><a href="https://www.sympla.com.br/elixir-brasil-2020__736536">Elixir Brasil 2020</a> (May <strong>23th</strong> and <strong>24th</strong>, 2020) will be bigger than the two previous editions. It will happen at a beautiful theater that can hold 613 attendees (read <a href="https://threadreaderapp.com/thread/1222561463317016577.html">this thread with photos</a>).</p><h3>Elixir Brasil on Twitter</h3><p>The conference will be single-track, all presentations will be given at this same stage. The theater is 100% accessible, it has accessible seating, ramps and elevators. Its full capacity is 613 people: with 480 auditorium seats plus 133 balcony seats.</p><p>This year, for the first time, Elixir Brasil will be a one-track conference. I personally prefer one-track conferences as I don’t have to choose between two or more interesting talks.</p><p>Two keynote speakers were already announced:</p><ul><li><a href="https://twitter.com/redrapids">Bruce Tate</a>, from <a href="https://grox.io/">Grox.io</a>, the guy what wrote <a href="https://pragprog.com/book/btlang/seven-languages-in-seven-weeks">Seven Languages in Seven Weeks</a>, a book that was essential for the creation of Elixir (read <a href="https://www.erlang-solutions.com/blog/twenty-years-of-open-source-erlang.html?utm_source=dlvr.it&amp;utm_medium=twitter">“Twenty Years of Open Source Erlang”</a> and <a href="https://medium.com/@adolfont/why-did-jos%C3%A9-valim-create-elixir-a6e210b7f2a1">“Why did José Valim create Elixir?”</a> to learn more).</li><li><a href="https://twitter.com/expede">Brooklyn Zelenka</a>, co-founder and CTO of <a href="https://www.linkedin.com/company/fissioncodes/">Fission</a> and the author of several Elixir libraries including <a href="https://github.com/expede/exceptional">Exceptional</a>, <a href="https://github.com/witchcrafters/quark">Quark</a> and <a href="https://github.com/witchcrafters/witchcraft">Witchcraft</a>. She has been <a href="https://podcast.smartlogic.io/guests/brooklyn-zelenka">a guest on three episodes of the Elixir Wizards podcast</a>.</li></ul><p>Do you want to give a talk? The <a href="https://docs.google.com/forms/d/e/1FAIpQLSdOW0gKIC9TcQkIwttrQeIoFnO30d1LYXcH17s2iE6zwLrmCw/viewform">call for presentations</a> is open until March 30th, 2020. You can submit a talk in Portuguese or in English.</p><p>Do you just want to attend the conference? Buy your tickets <a href="http://bit.ly/ElxB2020">here</a>.</p><p>The conference will be in <a href="https://en.wikipedia.org/wiki/S%C3%A3o_Paulo">São Paulo</a>. It is a huge city (Wikipedia says it currently has more than 21 million inhabitants in its metropolitan area). You must know that there is the <a href="https://en.wikipedia.org/wiki/S%C3%A3o_Paulo_(state)">São Paulo state</a> and São Paulo city, which is the capital of the state.</p><p>Brazil is an <a href="https://www.oxfam.org/en/brazil-extreme-inequality-numbers">extremely unequal</a> country. São Paulo is not different, so be careful. Last time I went to São Paulo (I live in Curitiba, 456Km/258 miles, away), I was holding my cell phone and walking on the street. People stopped me to say that this behavior was dangerous as someone could take my phone from me. In some events, notebooks and backpacks have been stolen. So <strong>keep your possessions with you all the time </strong>and <strong>don’t carry expensive items with you</strong>! The <a href="https://travel.state.gov/content/travel/en/international-travel/International-Travel-Country-Information-Pages/Brazil.html">U.S. Department of State writes: “Exercise increased caution in Brazil due to crime. Some areas have increased risk. Read the entire Travel Advisory.”</a></p><p>Last year, <a href="https://www.latimes.com/travel/la-tr-brazil-drops-visa-requirement-for-american-citizens-20190321-story.html">Brazil dropped its visa requirement for U.S. citizens</a>. Citizens from many other countries also do not need a visa to visit Brazil. To find out if you need a visa, click <a href="http://www.portalconsular.itamaraty.gov.br/images/qgrv/QGRV-simples-ing-140120.pdf">here</a>.</p><p>Do you want to learn more? Follow <a href="https://twitter.com/elixir_brasil/">@elixir_brasil on Twitter</a>. If you have any doubt about the event or about Brazil, ask them or ask <a href="https://twitter.com/adolfont">me</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5cc7eba8993" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The problems with Academia]]></title>
            <link>https://adolfont.medium.com/the-problems-with-academia-a6166e8f5bb6?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/a6166e8f5bb6</guid>
            <category><![CDATA[nassim-nicholas-taleb]]></category>
            <category><![CDATA[taleb]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Fri, 24 Jan 2020 12:37:00 GMT</pubDate>
            <atom:updated>2020-01-24T12:37:00.474Z</atom:updated>
            <content:encoded><![CDATA[<p>Excerpts from Nassim Nicholas Taleb’s <a href="https://amzn.to/2pSPFsY">Skin in the Game</a>, which is part of <a href="https://amzn.to/2Nk2VFy">Incerto</a>. Read the book! These are just a reminder for me.</p><p>(…) one (now “resigned”) department head one day came to me and emitted the warning: “Just as, when a businessman and author you are judged by other businessmen and authors, here as an academic you are judged by other academics. Life is about peer assessment.”</p><p>No, businessmen as risk takers are not subjected to the judgment of other businessmen, only to that of their personal accountant.</p><p>You can define a free person precisely as someone whose fate is not centrally or directly dependent on<strong> peer assessment.</strong></p><p>Being reviewed or assessed by others matters if and only if one is subjected to the judgment of future — not just present — others.</p><p>Contemporary peers are valuable collaborators, not final judges.</p><p>In fact, <strong>there is something worse than peer-assessment: the bureaucratization of the activity creates a class of new judges: university administrators</strong>, who have no clue what someone is doing except via external signals, yet become the actual arbiters.</p><p><em>Academia has a tendency, when unchecked (from lack of skin in the game), to evolve into a ritualistic self-referential publishing game.</em></p><p>Now, while <strong>academia has turned into an athletic contest</strong>, Wittgenstein held the exact opposite viewpoint: if anything, knowledge is the reverse of an athletic contest. In philosophy, the winner is the one who finishes last, he said.</p><p><strong>Anything that smacks of competition destroys knowledge.</strong></p><p>One should give more weight to research that, while being rigorous, contradicts other peers, particularly if it entails costs and reputational harm for its author.</p><p>Someone with a high public presence who is controversial and takes risks for his opinion is less likely to be a bull***t vendor.</p><p><strong>The deprostitutionalization of research will eventually be done as follows. Force people who want to do “research” to do it on their own time, that is, to derive their income from other sources. Sacrifice is necessary.</strong></p><p>For their research to be genuine, <strong>they should first have a real-world day job, or at least spend ten years as: lens maker, patent clerk, Mafia operator, professional gambler, postman, prison guard, medical doctor, limo driver, militia member, social security agent, trial lawyer, farmer, restaurant chef, high-volume waiter, firefighter (my favorite), lighthouse keeper, etc., while they are building their original ideas.</strong></p><p>I have no sympathy for moaning professional researchers.</p><p>Remember, <strong>science is a minority rule: a few will run it, others are just back-office clerks.</strong></p><p>Ideas need to have skin in the game. You know an idea will fail if it is not useful, and can be therefore vulnerable to the falsification of time.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a6166e8f5bb6" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Elixir, Erlang and BEAM newsletters]]></title>
            <link>https://adolfont.medium.com/elixir-erlang-and-beam-newsletters-3ed254273032?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/3ed254273032</guid>
            <category><![CDATA[elixir]]></category>
            <category><![CDATA[beam]]></category>
            <category><![CDATA[erlang]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Fri, 01 Nov 2019 18:27:46 GMT</pubDate>
            <atom:updated>2024-02-13T20:05:18.683Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MhZe5rl4b7CrCN1rzmjswA.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/@yannikm?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Yannik Mika</a> on <a href="https://unsplash.com/s/photos/newsletter?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>As far as I know, there are currently five active newsletters related to Elixir, Erlang or the BEAM:</p><ul><li><a href="https://pages.plataformatec.com.br/elixir-radar-referral-campaign-referee?grsf=v3fg0d">Elixir Radar</a> <em>(now at </em><a href="https://elixir-radar.com/"><em>https://elixir-radar.com/</em></a><em>),</em> a weekly newsletter by <a href="http://plataformatec.com.br/">Plataformatec</a> <em>(the company was acquihired by Nubank)</em>. Latest issue, as I write, was issue 213.</li><li><a href="https://elixirdigest.net/">Elixir Digest</a> — “One email per week, 5 links.” by <a href="https://bonobopress.com/">Bonobo Press</a>. Latest issue: <a href="https://elixirdigest.net/digests/226">226</a>.</li><li><a href="https://elixir.libhunt.com/newsletter">Awesome Elixir</a>: “A weekly overview of the most popular Elixir news, articles and packages” by <a href="https://www.libhunt.com">LibHunt</a>. Latest issue: <a href="https://elixir.libhunt.com/newsletter/179">179</a>.</li><li><a href="https://elixirweekly.net/">Elixir Weekly</a> — Weekly newsletter by <a href="http://elixirstatus.com/">@elixirstatus</a>. <a href="https://elixirweekly.net/#latest-issue">Latest issue</a>: 173.</li><li><a href="https://www.erlang-solutions.com/home.html">Vitamin E — Vitamin E — the latest Erlang &amp; Elixir news 😃</a> , by <a href="https://www.erlang-solutions.com/">Erlang Solutions</a>. Latest issue: <a href="https://www2.erlang-solutions.com/webmail/23452/1470532767/b828be5aaf7b938472d55194c57ce0a6225cd070c61c5a5cf6378aeda3888bf6">Sep 19, 2019</a>. To subscribe, you must go to “Get our Newsletter” and type your email.</li><li><em>Update on April 28th, 2021: </em>Now there is a <a href="https://bit.ly/33acg8l">Nerves Newsletter</a>, maintained by <a href="https://bit.ly/3eBl9Nn">Lars Wikman</a>. <a href="https://www.nerves-project.org/">“Nerves is the open-source platform and infrastructure you need to build, deploy, and securely manage your fleet of IoT devices at speed and scale.”</a></li><li><em>Updated on Februrary 13th, 2024: </em><a href="https://elixirmerge.com/">Elixir Merge</a>: “Get the best Elixir updates in just 5 minutes with our daily newsletter delivered straight to your inbox!”</li></ul><p>Is there any other one?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3ed254273032" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Exercises on Elixir Maps, Keyword Lists, Sets, and Structs]]></title>
            <link>https://adolfont.medium.com/exercises-on-elixir-maps-keyword-lists-sets-and-structs-4cba2d00e9b3?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/4cba2d00e9b3</guid>
            <category><![CDATA[elixir]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Tue, 29 Oct 2019 13:54:41 GMT</pubDate>
            <atom:updated>2019-10-29T16:20:50.634Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*u71HV2ikXhHqCygZtKvMKg.jpeg" /><figcaption>Photo by <a href="https://unsplash.com/@drewmark?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Andrew Stutesman</a> on <a href="https://unsplash.com/s/photos/map?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>My students from the <a href="https://github.com/adolfont/introducao-a-programacao-funcional/blob/master/Introduction-to-Functional-Programming.md">“Introduction to Functional Programming”</a> course are studying Chapter 8 of <a href="https://pragprog.com/book/elixir16/programming-elixir-1-6">Dave Thomas’ Programming Elixir 1.6</a>, which is about Maps, Keyword Lists, Sets, and Structs.</p><p>These are the exercises they will have to do today:</p><p>1) Let <strong>kl</strong> be a keyword list defined as following:</p><p><a href="https://gist.github.com/adolfont/005215eb3468cfc1583909f8f700e32b"><strong>kl = [name: “Ada Lovelace”, born: 1815, died: 1852, known_for: “mathematics”, known_for: “computing” ]</strong></a></p><p>Write a command that, using data from kl, prints:</p><p><strong>Ada Lovelace was known for mathematics and computing.</strong></p><p>You must use IO.puts/1 with #{}, Keyword.get_values/2 and Enum.join/2.</p><p>2) Create a map for representing the following information:</p><p><strong>Joe Armstrong: Programming Erlang — Software for a Concurrent World (2nd edition), The Pragmatic Bookshelf, 2013.</strong></p><p>3) Create a list of maps for representing the following information:</p><p><strong>F. Cesarini and S. Thompson: Erlang Programming — A Concurrent Approach to Software Development, O’Reilly, 2009.</strong></p><p><strong>M. Logan, E. Merrit, R. Carlsson: Erlang and OTP in Action, Manning Eds, 2010.</strong></p><p><strong>F. Hébert: Learn you Some Erlang for Great Good!, No Starch Press, 2013.</strong></p><p><strong>Martin Odersky, Lex Spoon, Bill Venners: Programming in Scala, Artima Press 2010.</strong></p><p><strong>M. Fogus: Functional Javascript, O’Reilly, 2013.</strong></p><p><strong>Stuart Halloway, Aaron Bedra: Programming Clojure, The Pragmatic Bookshelf, 2012.</strong></p><p><strong>M. Bevilacqua-Linn: Functional programming Patterns in Scala and Clojure, The Pragmatic Bookshelf, 2013.</strong></p><p>4) Iterate over the list of maps from question 3so that only the titles of books published in 2010 or earlier are printed.</p><p>5) Solve question 4 again now using Structs instead of Maps.</p><p>6) Sets</p><p>a) Create a set s1 with all numbers between 10 and 100.</p><p>b) Create a set s2 with all numbers between 50 and 150.</p><p>c) Create a set s3 which is the union of s1 and s2</p><p>d) Create a set s4 which is the intersection of s1 and s3</p><p>e) Create a set s5 which is the difference of s3 and s4</p><p>f) Calculate the sum of the sizes of all sets from the items above.</p><p>What do you think? Too easy?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4cba2d00e9b3" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Classical Propositional Logic in Elixir]]></title>
            <link>https://adolfont.medium.com/classical-propositional-logic-in-elixir-bd18ceff2c93?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/bd18ceff2c93</guid>
            <category><![CDATA[elixir]]></category>
            <category><![CDATA[logic]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Thu, 11 Jul 2019 19:07:04 GMT</pubDate>
            <atom:updated>2019-07-12T13:24:48.421Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JA5LKMW4ngu2l_QukxeLMA.jpeg" /></figure><p>I am a professor and I teach Introduction to Logic for Computing. One of the subjects I teach is Classical Propositional Logic. I use a <a href="https://www.amazon.com.br/L%C3%B3gica-Computa%C3%A7%C3%A3o-Fl%C3%A1vio-Soares-Corr%C3%AAa/dp/8522127182/">Brazilian book</a> as my main reference but <a href="https://www.amazon.com/Logic-Computer-Science-Modelling-Reasoning-ebook/dp/B00AKE1QXQ/">this book</a> is also quite good.</p><p>In Classical Propositional Logic there are two truth-values: true and false. A <a href="https://en.wikipedia.org/wiki/Proposition">proposition</a> is a declarative sentence which can be either true or false.</p><p>Examples of propositions are:</p><ul><li>Elixir is a programming language.</li><li>José Valim is Brazilian.</li><li>Socrates is mortal.</li></ul><p>We use <a href="https://philosophy.lander.edu/logic/symbolic.html">symbolic logic</a> and associate each proposition to a symbol. So, we could say that:</p><ul><li>p represents “Elixir is a programming language.”</li><li>q represents “José Valim is Brazilian.”</li><li>r represents “Socrates is mortal.”</li></ul><p>And from now on we forget about real sentences and only work with symbols.</p><p>We can construct more elaborate sentences using <a href="https://en.wikipedia.org/wiki/Logical_connective">logical connectives</a>. Each connective has an arity:</p><ul><li>¬ (negation, not) is an unary connective.</li><li>∧ (conjunction, and), → (implication, implies, if..then) and ∨ (disjunction, or) are binary connectives.</li></ul><p>To the define a language for writing Classical Propositional Logic well-formed formulas, we need:</p><ul><li>P, a set of symbols to represent propositions. Each symbol is called an atomic formula or atom.</li><li>a set of connectives.</li></ul><p>In the example above P = {p, q, r}. P can be any non-empty countable set such as P={p1, p2, p3, …}.</p><p>Given a P, L(P) is a set of well-formed formulas where:</p><ul><li>For every x in P, x is a well-formed formula.</li><li>If x is in L(P), ¬x is in L(P).</li><li>If x and y are in L(P), then (x∧y), (x→y) and (x∨y) are in L(P).</li><li>Everything else is not in in L(P).</li></ul><p>Example:</p><p>Given P = {p, q, r},</p><p>L(P) = {p, q, r, ¬p, ¬q, ¬r, ¬¬p, ¬¬q, ¬¬r, …, (p∧q), …, (p∧(q∨¬¬r)), …}</p><h3>Representing Formulas in Elixir</h3><p>So, my initial idea for representing well-formed formulas, which from now on I will call only formulas, in Elixir is:</p><p>An atomic formula is represented by an atom:</p><ul><li>p is represented as :p</li><li>q is represented as :q</li></ul><p>The set of propositions is represented as a MapSet:</p><ul><li>atoms = MapSet.new([:p, :q])</li></ul><p>Connectives are represented by Elixir atoms of their names:</p><ul><li>¬ is :not</li><li>∧ is :and</li><li>→ is :implies</li><li>∨ is :or</li></ul><p>A non-atomic (complex) formula is represented as a list:</p><ul><li>¬p as [:not, :p]</li><li>(p∧q) as [:p, :and, :q]</li><li>(p∨q) as [:p, :or, :q]</li><li>(p→q) as [:p, :implies, :q]</li></ul><p>A formula such as <strong>¬(((p→q)∧r)∨s)</strong> will be represented as:</p><pre>[:not, [ [ [:p, :implies, :q], :and, :r], :or, :s]]</pre><h3>Representing a Logical System in Elixir</h3><p>So the next step is to represent a Logical System in Elixir. A Logical System for Classical Propositional Logic consists of:</p><ul><li>a set of propositions</li><li>a set of connectives. Each connective is a symbol-arity pair in Map.</li></ul><pre>lp =<br>%{<br>  atoms: MapSet.new([:p, :q, :r]),<br>  connectives: %{not: 1, and: 2, or: 2,implies: 2}<br>}</pre><p>This way we can obtain the arity of a connective with</p><p><strong>lp[connectives][connective]</strong></p><h3>Veryfing if a list represents a formula in a language</h3><p>I want to write a function such that:</p><pre>is_formula(:p, lp)<br>true</pre><pre>is_formula([:not, :q], lp)<br>true</pre><pre>is_formula([:not, :s], lp)<br>false</pre><p>That is, that answers true if and only if the first argument is a well-formed formula in the language defined by the second argument.</p><p>Easy? Let’s see.</p><p>I wrote the <strong>is_formula </strong>function with four clauses:</p><ul><li>the first for atomic formulas</li><li>the second for formulas where the main connective is unary</li><li>the second for formulas where the main connective is binary</li><li>the last to return that a formula is not well formed.</li></ul><p>I also wrote a helper function called <strong>arity</strong> that returns the arity of a connective in a logical system.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/94af1b56be7ec821de81579c6bac1555/href">https://medium.com/media/94af1b56be7ec821de81579c6bac1555/href</a></iframe><p>Below some tests for the code.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/8db5ecbe5c943925234caa6713e0e703/href">https://medium.com/media/8db5ecbe5c943925234caa6713e0e703/href</a></iframe><p>My plan is to build a Tableau SAT Solver for Classical Propositional Logic. using <a href="https://www.ime.usp.br/~adolfo/trabalhos/seme2005.pdf">strategies</a>.</p><p>I know the code above is far from perfect. What should I change?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bd18ceff2c93" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Elixir Brazil 2019]]></title>
            <link>https://adolfont.medium.com/elixir-brazil-2019-4de3fc06b18f?source=rss-46e994019ae5------2</link>
            <guid isPermaLink="false">https://medium.com/p/4de3fc06b18f</guid>
            <category><![CDATA[elixir]]></category>
            <dc:creator><![CDATA[Adolfo Neto]]></dc:creator>
            <pubDate>Tue, 11 Jun 2019 13:22:37 GMT</pubDate>
            <atom:updated>2019-06-11T18:20:05.959Z</atom:updated>
            <content:encoded><![CDATA[<p>I went to <a href="https://2019.elixirbrasil.com/">Elixir Brazil 2019</a>, an event dedicated to the <a href="https://elixir-lang.org/">Elixir programming language</a>, created by <a href="http://twitter.com/josevalim">José Valim</a>, co-founder of <a href="http://plataformatec.com.br/">Plataformatec</a>.</p><p>During the event, in addition to giving a lecture, I talked to several members of the Elixir community. It is a very inclusive community. One of the initiatives was the #diversity lot, in which companies bought tickets to the event and the organization gave the tickets to groups that encourage change and diversity in technology and community. The groups that received these entries were perifaCode, Tecnogueto, AfrotechBR, LGBTI+ in Tech and Back End Brazil.</p><p>The organization was in charge of Alda Rocha and João Britto, members of the Codamos group. Elug (São Paulo Elixir user group) has helped in the selection of themes and speakers. The event took place at the headquarters of <a href="https://www.crunchbase.com/organization/nubank">Nubank, a Brazilian Fintech</a> that, according to Crunchbase, has a market value of more than 1 billion dollars. The selection of national and international speakers was very good, exploring several themes important to the community: Gen Servers, Nerves, Broadway and so on.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IZqs5dAU3ugaFD9LyHXMUw.jpeg" /></figure><p>In the photo above, I am with Hugo Baraúna (co-founder and director of Marketing and Sales of Plataformatec), <a href="https://www.thoughtworks.com/profiles/luciano-ramalho">Luciano Ramalho</a> (author of <a href="https://www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1491946008">Fluent Python</a>) and João Britto (event co-organizer and member of Codamos) at Elixir Brasil 2019.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XbaSK8cpxHmOIJXLMLe9Rw.jpeg" /><figcaption>That’s me giving my talk on the Elixir Community. Slides in Portuguese can be found <a href="https://speakerdeck.com/adolfont/a-comunidade-de-elixir">here</a>.</figcaption></figure><p><a href="http://www.dainf.ct.utfpr.edu.br/~adolfo/dokuwiki/doku.php?id=2019:elixir_brazil_2019"><em>More info and links about Elixir Brazil 2019</em></a>.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fspeakerdeck.com%2Fplayer%2F5d72b51978f7448b979dce7389909d52&amp;url=https%3A%2F%2Fspeakerdeck.com%2Fadolfont%2Fthe-elixir-community-a-preliminary-characterization&amp;image=https%3A%2F%2Fspeakerd.s3.amazonaws.com%2Fpresentations%2F5d72b51978f7448b979dce7389909d52%2Fslide_0.jpg%3F522053&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=speakerdeck" width="710" height="532" frameborder="0" scrolling="no"><a href="https://medium.com/media/96bf2f1e8752570f57b70fc97bb93ccf/href">https://medium.com/media/96bf2f1e8752570f57b70fc97bb93ccf/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4de3fc06b18f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>