<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Brooklyn Zelenka 🏳️‍🌈</title>
    <description>The latest articles on Forem by Brooklyn Zelenka 🏳️‍🌈 (@expede).</description>
    <link>https://forem.com/expede</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F167100%2F307b757f-4c55-4ccc-b556-e50827585688.jpg</url>
      <title>Forem: Brooklyn Zelenka 🏳️‍🌈</title>
      <link>https://forem.com/expede</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/expede"/>
    <language>en</language>
    <item>
      <title>A Universal Hostless Substrate for a Post-Serverless Future at Øredev 2019</title>
      <dc:creator>Brooklyn Zelenka 🏳️‍🌈</dc:creator>
      <pubDate>Tue, 12 Nov 2019 18:22:12 +0000</pubDate>
      <link>https://forem.com/fission/a-universal-hostless-substrate-for-a-post-serverless-future-at-oredev-2019-41nm</link>
      <guid>https://forem.com/fission/a-universal-hostless-substrate-for-a-post-serverless-future-at-oredev-2019-41nm</guid>
      <description>&lt;p&gt;Brooke was at &lt;a href="https://oredev.org/"&gt;Øredev 2019&lt;/a&gt; in Malmö, Sweden and presented a talk covering the evolution of server architecture that we call "hostless". This also serves as a high level technical roadmap for what we're working on here at Fission. We've shipped IPFS support, and will move on to identity using zero-knowledge proofs and DIDs, and distributed compute with WASM and smart contracts.&lt;/p&gt;

&lt;p&gt;While those are a blizzard of next-gen technology concepts, we're integrating them in such a way as to make them usable and turnkey. The outcome is a better developer experience (DX).&lt;/p&gt;

&lt;p&gt;Key takeaways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There has been a 60-year progression of server architecture, and there is one final phase left&lt;/li&gt;
&lt;li&gt;There have been recent advances in cryptography, distributed systems, and web infrastructure&lt;/li&gt;
&lt;li&gt;It is possible to store data and run computation &lt;strong&gt;anywhere&lt;/strong&gt; , even on untrusted machines&lt;/li&gt;
&lt;li&gt;Remove the concept of “local development”, “production”, and “deployment” entirely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last 60 years has seen the rise and fall of several models of computing: mainframes, private server, shared hosting, containers, and serverless (to name a few). We have one final phase left: “hostless” or universal apps. By leveraging technologies like secure multiparty compute, the content-addressable web, blockchain, and the rise of WASM, we are seeing the beginnings of a future liberated from specialized providers, acting on a distributed substrate of store and compute.&lt;/p&gt;

&lt;p&gt;With all this in place, users fully control their own data (and it never touches your servers), deployment is as simple as setting a flag on your local environment, and developers maintain zero infrastructure.&lt;/p&gt;

&lt;p&gt;Come learn about what is being built today for the next wave of computing, how we evolve past the serverless paradigm, and how it can make life simpler for developers and end users!&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://player.vimeo.com/video/372223208" width="710" height="399"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The slides are &lt;a href="https://noti.st/expede/I79QlQ/a-universal-hostless-substrate-for-a-post-serverless-future"&gt;available on Notist&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>øredev</category>
      <category>serverless</category>
      <category>webassembly</category>
      <category>ipfs</category>
    </item>
    <item>
      <title>Open Collective Interview with Brooke</title>
      <dc:creator>Brooklyn Zelenka 🏳️‍🌈</dc:creator>
      <pubDate>Fri, 21 Jun 2019 19:10:47 +0000</pubDate>
      <link>https://forem.com/fission/open-collective-interview-with-brooke-33de</link>
      <guid>https://forem.com/fission/open-collective-interview-with-brooke-33de</guid>
      <description>&lt;p&gt;Alanna Irving from the Open Collective team &lt;a href="https://medium.com/open-collective/witchcraft-the-magic-of-math-functional-programming-and-community-b45bc7213ff8" rel="noopener noreferrer"&gt;interviewed m on Witchcraft: the magic of math, functional programming, and community&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Did you know she started in music composition?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Programming absolutely scratches the same part of my brain as music composition. Instead of writing instructions for an instrumentalist, you’re writing it for a computer, but the parallels are very clear. All but one person in my composition cohort (who became a professor of music) are now programmers, because it was a crash course in that way of thinking.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's a great overview of Brooke's background, her love of functional programming and math, and the Witchcraft library for Elixir:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/witchcrafters" rel="noopener noreferrer"&gt;
        witchcrafters
      &lt;/a&gt; / &lt;a href="https://github.com/witchcrafters/witchcraft" rel="noopener noreferrer"&gt;
        witchcraft
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Monads and other dark magic for Elixir
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/expede/witchcraft/raw/main/brand/Wordmark/PNG/WC-wordmark-lrg@2x.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fexpede%2Fwitchcraft%2Fraw%2Fmain%2Fbrand%2FWordmark%2FPNG%2FWC-wordmark-lrg%402x.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Witchcraft&lt;/code&gt; is a library providing common algebraic and categorical abstractions to Elixir
Monoids, functors, monads, arrows, categories, and other dark magic right at your fingertips.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://travis-ci.org/expede/witchcraft" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f20df06df78c96dd59dd8b91d6bac74f610e7c2b5f08465b5e64af54bd012a23/68747470733a2f2f7472617669732d63692e6f72672f6578706564652f776974636863726166742e7376673f6272616e63683d6d6173746572" alt="Build Status"&gt;&lt;/a&gt;
&lt;a href="http://inch-ci.org/github/expede/witchcraft" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/725a3e0e9f5f7b37d43d17b43edf3c8f4b1d100c3ac9021ca3c82d9ea89a2083/687474703a2f2f696e63682d63692e6f72672f6769746875622f6578706564652f776974636863726166742e7376673f6272616e63683d6d6173746572" alt="Inline docs"&gt;&lt;/a&gt;
&lt;a href="http://hexdocs.pm/witchcraft/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6d0c88f35b507b389a7b26ec02248bd28bebcb98ec2da6a087ec1e717116bf08/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6170692d646f63732d4d656469756d507572706c652e7376673f7374796c653d666c6174" alt="API Docs"&gt;&lt;/a&gt;
&lt;a href="https://github.com/expede/witchcraft/blob/master/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1dc537fd7902352466e6d028cb07fb244f9ec24da556c4d8a3b0cb50319f01c0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6173686170652f6170697374617475732e7376673f6d61784167653d32353932303030" alt="license"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://opencollective.com/witchcraft/contribute/tier/8074-backer" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0e0cb39d0b62f7d0f7f4a537f91cc958053e4b4e946ece6179850a4d49ae5e14/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f776974636863726166742f74696572732f6261636b65722e7376673f6176617461724865696768743d3530" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://opencollective.com/witchcraft/contribute/tier/8075-sponsor" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/54d066b35849260c8e561ef7b400e83440182abeb5a67945356c53b8b8a20575/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f776974636863726166742f74696572732f73706f6e736f722e7376673f6176617461724865696768743d3530" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;README&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Table of Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#quick-start" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#library-family" rel="noopener noreferrer"&gt;Library Family&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#values" rel="noopener noreferrer"&gt;Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#type-class-hierarchy" rel="noopener noreferrer"&gt;Type Class Hierarchy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#writing-class-instances" rel="noopener noreferrer"&gt;Writing Class Instances&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#operators" rel="noopener noreferrer"&gt;Operators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#haskell-translation-table" rel="noopener noreferrer"&gt;Haskell Translation Table&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#prior-art-and-further-reading" rel="noopener noreferrer"&gt;Prior Art and Further Reading&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/witchcrafters/witchcraft#credits" rel="noopener noreferrer"&gt;Credits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-elixir notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;def&lt;/span&gt; &lt;span class="pl-en"&gt;deps&lt;/span&gt; &lt;span class="pl-k"&gt;do&lt;/span&gt;
  &lt;span class="pl-kos"&gt;[&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-pds"&gt;:witchcraft&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-s"&gt;"~&amp;gt; 1.0"&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;]&lt;/span&gt;
&lt;span class="pl-k"&gt;end&lt;/span&gt;

&lt;span class="pl-c"&gt;# ...&lt;/span&gt;

&lt;span class="pl-k"&gt;use&lt;/span&gt; &lt;span class="pl-v"&gt;Witchcraft&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Library Family&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;Quark    TypeClass
    ↘    ↙
   Witchcraft
       ↓
     Algae
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hex.pm/packages/quark" rel="nofollow noopener noreferrer"&gt;&lt;code&gt;Quark&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Standard combinators (&lt;code&gt;id&lt;/code&gt;, &lt;code&gt;compose&lt;/code&gt;, &amp;amp;c)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hex.pm/packages/type_class" rel="nofollow noopener noreferrer"&gt;&lt;code&gt;TypeClass&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Used internally to generate type classes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hex.pm/packages/algae" rel="nofollow noopener noreferrer"&gt;&lt;code&gt;Algae&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Algebraic data types that implement &lt;code&gt;Witchcraft&lt;/code&gt; type classes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Values&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Beginner Friendliness&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;You shouldn't have to learn another language just to understand powerful abstractions
By enabling people to use a language that they already know, and is already in the
same ballpark in terms of values (emphasis on immutability, &amp;amp;c), we can teach and
learn…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/witchcrafters/witchcraft" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;You can follow Brooke here on DevTO as &lt;a class="mentioned-user" href="https://dev.to/expede"&gt;@expede&lt;/a&gt;:&lt;/p&gt;


&lt;div class="ltag__user ltag__user__id__167100"&gt;
    &lt;a href="/expede" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F167100%2F307b757f-4c55-4ccc-b556-e50827585688.jpg" alt="expede image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/expede"&gt;Brooklyn Zelenka 🏳️‍🌈&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/expede"&gt;&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Edit: Is third person weird when you're talking about yourself???&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opencollective</category>
      <category>interview</category>
      <category>witchcraft</category>
      <category>elixir</category>
    </item>
  </channel>
</rss>
