====== The Elixir Community of Practice: A Preliminary Characterization ====== //This is a public draft[[2019:Notes on The Elixir Community of Practice -- A Preliminary Characterization|*]].// * Adolfo Gustavo Serra Seca Neto * Federal University of Technology - Paraná * Curitiba, Brazil * adolfo (AT) utfpr.edu.br * http://www.dainf.ct.utfpr.edu.br/~adolfo/dokuwiki/doku.php?do=search&id=elixir * http://www.dainf.ct.utfpr.edu.br/~adolfo/dokuwiki/doku.php?id=2018:the_elixir_programming_language_and_its_community ===== Abstract ===== http://cbsoft2019.ufba.br/#/sblp Title: The Elixir Community of Practice - A Preliminary Characterization Context: Elixir is a functional and concurrent programming language created in 2011 that runs on top of the Erlang virtual machine. It has recently appeared in the StackOverflow Developer Survey 2019 as one of the 25 Most Popular Technologies in the "Programming, Scripting, and Markup Languages" category. Elixir was also appointed as one of the 10 Most Loved Languages in the same survey. According to Etienne Wenger, a community of practice is a group of people "who share a concern or a passion for something they do and learn how to do it better as they interact regularly". Elixir has an active community of practice. Objective: The goal of this paper is to present a preliminary characterization of the Elixir community of practice, that is, of the community of people interested in the Elixir programming language, Method: Participant observation in online community sites and in offline events for a period of one and a half years. Results: Our preliminary results show that there are six main concepts related to the community: Person, Role, Artifact, Organization and Event. For example, José Valim is a Person that plays the Role of Member of the Elixir Core Team. Regarding Artifacts, there are currently five active podcasts (a Podcast is an Artifact) in the Elixir Community. These podcasts have produced more than 200 episodes (a Podcast Episode is also an Artifact). Every episode is hosted by one or more people (Podcast Host is a Role) and may include one or more guests (Podcast Guest is also a Role). Code Sync Ltd. is an example of an Organization that organizes Events (for instance, Code Elixir London 2019) related to Elixir.. Conclusion: There is much more to explore in the Elixir community. Our preliminary results are the basis for further work on how developers engage in the community and how they exchange knowledge. Keywords: Communities of practice, Concurrent functional programming, Elixir. [[2019:How to Write a Structured Abstract]] ===== 1. Introduction ===== What is Elixir? Why Elixir is relevant? What is the relationship between Elixir and Erlang? What is a Community of Practice? The goal of this paper is to provide a preliminary characterization of the Community of Practice for the Elixir Programming language. ===== 2. Background and Related Work ===== Elixir/Erlang and Concurrent Functional Programming Software developers gather in a Community of Practice to share and extend their knowledge. Papers that are (somehow) similar: - The paper on software engineers on Twitter [[https://dl.acm.org/citation.cfm?id=2568305|(Singer et al. 2014)]]. - Many papers on Hackathons - Many papers on Open Source - Many papers on Stack Overflow - Two papers on Screencasts - Paper on the R Community [[https://dl.acm.org/citation.cfm?id=2901772|(Zagalsky et al. 2016)]] ===== 3. Method ===== ===== 4. Results ===== Concepts: - Person - Role - Artifact - Organization - Event [[2019:The People of Elixir]] The community is composed of People. Every Person plays one or more Roles?? One or more persons produce an Artifact. An Organization is composed of one or more persons. One or more persons organize an Event. Communication Channel is an Artifact??? ==== 4.1 Instances of Persons and Roles ==== **There is a difference here: Elixir Creator, for instance, does not seem to be a role. After creating Elixir, José Valim doesn't have to do anything else. He will always be the Elixir Creator. Joe Armstrong will remain Erlang co-creator, even now after his death. But Joe is not Elixir Forum Admin anymore. So, Elixir Forum admin is a Role, Elixir Creator is not???** José Valim has played several roles: * Elixir Creator [[https://en.wikipedia.org/wiki/Elixir_(programming_language)|*]] * Elixir Core Team Member [[https://elixir-lang.org/development.html|*]] * ElixirConf 2018 Keynote Speaker [[https://elixirconf.com/2018/#keynote|*]] * Elixir Outlaws Podcast episode guest [[https://elixiroutlaws.com/guests/jose|*]] Anna Neyzberg: * Elixir Outlaws podcast host [[https://elixiroutlaws.com/hosts/anna|*]] * Code Beam SF 2018 speaker [[https://www.youtube.com/watch?v=X6dmjopTrLE|*]] * Co-founder of ElixirBridge [[https://codesync.global/speaker/anna-neyzberg/|*]] Charlotte Lorelei Oliveira: * Elixir Brazil 2018 co-organizer [[https://eventos.locaweb.com.br/eventos-anteriores/elixirbrasil/|*]] * Code Beam SF 2019 speaker [[https://codesync.global/speaker/charlotte-lorelei-oliveira/|*]] ==== 4.2 Instances of Podcasts ==== ^ Name ^ Status ^Link ^ Hosts ^ Episodes ^ Date of latest episode ^ Date of first episode ^ | ElixirTalk | Active | http://elixirtalk.com/ | Desmond Bowe, Chris Bell | 41 | 2019-04-16 | 2017-10-18 | | ElixirOutlaws | Active | https://elixiroutlaws.com/ | Chris Keathley, Amos King, Anna Neyzberg | 38 | 2019-04-25 | 2018-04-15 | | Elixir Mix | Active | https://devchat.tv/elixir-mix | Not clear from site. Mark Ericksen, Josh Adams, Charles Max Wood, Justin Bean, and others have acted as part of a "Panel". | 48 | 2019-04-23 | 2018-05-01 | | The Elixir Fountain | Active | https://soundcloud.com/elixirfountain | Johnny Winn | 78 | 2019-04-23 | 2015-06-09 | | Smart Software with SmartLogic* | Active | https://podcast.smartlogic.io/episodes | Eric Oestrich and Justus Eapen | 11 | 2019-04-18 | 2019-03-28 | *It seems that "Smart Software with SmartLogic" is not a podcast dedicated only to Elixir. Only their "first season focuses on Elixir in production". Last update: 2019-04-26 ==== 4.3 Instances of Screencasts ==== "Screencasts are used to capture a developer’s screen while they narrate how a piece of software works or how the software can be extended. They have recently become a popular alternative to traditional text-based documentation." Laura MacLeod, Andreas Bergen and Margaret-Anne Storey in [[@Article{MacLeod2017, author="MacLeod, Laura and Bergen, Andreas and Storey, Margaret-Anne", title="Documenting and sharing software knowledge using screencasts", journal="Empirical Software Engineering", year="2017", month="Jun", day="01", volume="22", number="3", pages="1478--1507", abstract="Screencasts are used to capture a developer's screen while they narrate how a piece of software works or how the software can be extended. They have recently become a popular alternative to traditional text-based documentation. This paper describes our investigation into how developers produce and share developer-focused screencasts. In this study, we identified and analyzed a set of development screencasts from YouTube to explore what kinds of software knowledge are shared in video walkthroughs of code and what techniques are used for sharing software knowledge. We also interviewed YouTube screencast producers to understand their motivations for creating screencasts as well as to discover the challenges they face while producing code-focused videos. Finally, we compared YouTube screencasts to videos hosted on the professional RailsCasts website to better understand the differences and practices of this more curated ecosystem with the YouTube platform. Our three-phase study showed that video is a useful medium for communicating program knowledge between developers and that developers build their online persona and reputation by sharing videos through social channels. These findings led to a number of best practices for future screencast creators.", issn="1573-7616", doi="10.1007/s10664-017-9501-9", url="https://doi.org/10.1007/s10664-017-9501-9" }|bibtex]] Last update: //2019/03/28 16:05// Sources: * [[https://github.com/elixir-lang/elixir/wiki/Podcasts-and-Screencasts|Podcasts and Screencasts]] * [[https://elixirforum.com/c/learning-resources/screencasts|Latest Screencast Topics on Elixir Forum]] === Elixir Screencasts === * Elixir Casts * https://elixircasts.io/ * 86 episodes - Latest one published March 25, 2019 * Paid subscription needed. US$15 monthly membership. * Some episodes are free, such as https://elixircasts.io/intro-to-elixir-functions * Alchemist Camp * https://alchemist.camp/ * All episodes https://alchemist.camp/episodes * Paid subscription needed. * "Monthly memberships are discounted from $21.00 to $8.61." * "Yearly memberships are discounted from $189.00 to $77.49." * Some (most) episodes are free. * Elixir Foundation * https://www.codemy.net/sets/elixir-foundation * 26 episodes * Paid subscription to [[https://www.codemy.net/|Codemy.net]] need for some videos. $9/month. * Screencaster: Zack Siri https://github.com/zacksiri https://twitter.com/zacksiri * LearnElixir.tv * Discontinued? https://www.learnelixir.tv/upcoming * https://www.learnelixir.tv/ * 29 episodes https://www.learnelixir.tv/episodes * "A one-time purchase of $18 is required to watch." "Future episodes on special topics, such as how to build a web app with Elixir, are not included and may require an additional payment or subscription." * Screencaster: Daniel Berkompas https://github.com/danielberkompas http://www.danielberkompas.com/ * Related: LearnPhoenix.tv https://www.learnphoenix.tv/ * Elixir Sips * Discontinued??? * http://elixirsips.com/ * 286 episodes http://elixirsips.com/episodes.html * $9/month as part of DailyDrip https://www.dailydrip.com/pages/pricing * "New content will continue to be posted for legacy subscribers, but if you want to sign up you should go to dailydrip.com." * Screencaster: Josh Adams https://github.com/knewter * ExCasts * Discontinued * Last version on Wayback Machine (2018/05/26) https://web.archive.org/web/20180526085120/https://excasts.com/ * Screencasters: * Jason Harrelson (https://github.com/midas and https://medium.com/@jasonharrelson_18039/my-ecto-changeset-best-practices-3b3b444f2aef) * Josh Rieken (https://github.com/facto and http://blog.joshuarieken.com/) ===== Elixir newsletters ===== * [[http://plataformatec.com.br/elixir-radar/|Elixir Radar]] - Weekly newsletter by Plataformatec * [[https://elixirdigest.net/|Elixir Digest]] - "One email per week, 5 links." by Bonobo Press * [[https://elixirweekly.net/|Elixir Weekly]] - Weekly newsletter by [[http://elixirstatus.com/|@elixirstatus]] * [[https://www.erlang-solutions.com/home.html|Vitamin E - Vitamin E - the latest Erlang & Elixir news 😃]] - "Your monthly dose of all things Erlang & Elixir from Erlang Solutions". * Go to "Get our Newsletter" and type your email. * [[https://elixir.libhunt.com/newsletter|Awesome Elixir]] * [[https://elixir.libhunt.com/newsletter/archive|Awesome Elixir newsletter archives]] === Other artifacts === Email course: https://elixirforum.com/t/new-email-course-erlang-and-elixir-types/21270 SmartLogic Elixir live streams: https://www.twitch.tv/smartlogictv ==== Events ==== [[2019:Elixir Brasil 2019]] * Erlang & Elixir Fest 2019 (Japan) https://elixir-fest.jp/ * See also https://twitter.com/TAKASEhideki/status/1122096475247243264 === Todo? === Is this a screencast https://www.youtube.com/channel/UCnu5XnJUY22OMqvbOK27Ynw Should I post here? https://elixirforum.com/c/learning-resources/screencasts (done) Tweet https://twitter.com/adolfont/status/1111357299120107522 ===== 5. Discussion ===== ===== 6. Conclusion ===== ===== References ===== ===== ETC ===== ==== Community Tweets ==== https://twitter.com/JamesKLavin/status/1121909568622276608 https://twitter.com/bcardarella/status/1121883706942263296 ==== Community Blog Posts ==== Why I’m Co-organizing The Big Elixir https://medium.com/the-big-elixir/why-im-co-organizing-the-big-elixir-5700e63e1b06