<?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>DEV Community: Luke Westby</title>
    <description>The latest articles on DEV Community by Luke Westby (@lukewestby).</description>
    <link>https://dev.to/lukewestby</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%2F852%2F995314df-d727-4159-b7c5-a03b9c3e0467.JPG</url>
      <title>DEV Community: Luke Westby</title>
      <link>https://dev.to/lukewestby</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lukewestby"/>
    <language>en</language>
    <item>
      <title>RedBoard: a collaborative whiteboard driven by Redis</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Sun, 28 Aug 2022 18:29:00 +0000</pubDate>
      <link>https://dev.to/lukewestby/redboard-a-collaborative-whiteboard-driven-by-redis-1f</link>
      <guid>https://dev.to/lukewestby/redboard-a-collaborative-whiteboard-driven-by-redis-1f</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TaYu46x7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9q21f393sjk7yf2oyn46.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TaYu46x7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9q21f393sjk7yf2oyn46.png" alt="Image description" width="880" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;RedBoard is a demonstration of a collaborative whiteboard app driven by Redis's real-time features.&lt;/p&gt;

&lt;p&gt;I've been fascinated by Figma's multiplayer editing technology since 2019 when they published &lt;a href="https://www.figma.com/blog/how-figmas-multiplayer-technology-works/"&gt;this article&lt;/a&gt; about how it works. I wanted to use this hackathon as an opportunity to attempt to implement a minimal reproduction of that technology using as much as I could infer from that article and some other material that Figma has shared publicly. I am grateful to their engineering team for taking the time to share what they have built and learned with all of us!&lt;/p&gt;

&lt;p&gt;The high-level design of RedBoard is based heavily on &lt;a href="https://www.figma.com/community/file/989634471195357925"&gt;this architecture diagram&lt;/a&gt; shared by the Figma team to demonstrate using FigJam to make such diagrams, but is of course greatly simplified and uses only Redis for storage and messaging. Journaling is implemented using Redis Streams, and checkpointing folds those streams into RedisJSON values. Not depicted in that diagram is presence, or the real-time broadcasting of actions taken by other users on the same board. Presence is implemented using Pub/Sub.&lt;/p&gt;

&lt;p&gt;The backend is implemented using Redis and Rust, and the frontend is implemented with React and Recoil, a.k.a. the RRRR stack 🙂. The two communicate using a two-phase protocol over a WebSocket connection, and the backend app essentially constitutes a very simple real-time document store using Figma's multiplayer change coordination strategy.&lt;/p&gt;

&lt;p&gt;This project was a great learning experience and if nothing else it helped to me truly recognize just how difficult it is to build a system like this with production quality and at large scale. Furthermore, using Redis to handle all of the data needs provided inspiration for some new ways I plan to use Redis in my professional work at &lt;a href="https://structionsite.com"&gt;StructionSite&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Wacky Wildcards&lt;/p&gt;

&lt;h3&gt;
  
  
  Language Used
&lt;/h3&gt;

&lt;p&gt;Rust&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lukewestby"&gt;
        lukewestby
      &lt;/a&gt; / &lt;a href="https://github.com/lukewestby/redboard"&gt;
        redboard
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Submission for the 2022 Redis/DEV hackathon
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
RedBoard&lt;/h1&gt;
&lt;p&gt;A collaborative whiteboard driven by Redis, inspired by Figma. Please see my
&lt;a href="https://dev.to/lukewestby/redboard-a-collaborative-whiteboard-driven-by-redis-1f" rel="nofollow"&gt;submission post&lt;/a&gt;
for an explanation of my goals and inspiration for this project.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/lukewestby/redboarddocs/demo.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Csv4Kjo8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://github.com/lukewestby/redboarddocs/demo.gif" alt="Very short demo of application behavior"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
How it works&lt;/h2&gt;
&lt;p&gt;The backend application is essentially a very simple, generic real-time JSON store. It allows
multiple clients to modify a group JSON by ID such that the last write received by the server always
wins, and all clients are incrementally notified of the correct state of the objects. The visual
functionality of the end-user application is built on top of this store, but the store knows nothing
about the meaning of the objects that it stores.&lt;/p&gt;
&lt;p&gt;Some important terms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Board: a collection of viewable objects that many people can edit at once&lt;/li&gt;
&lt;li&gt;Object: an individual visual item in a board&lt;/li&gt;
&lt;li&gt;Change: a structured representation of an edit for an object
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{ type: "Insert", id: "&amp;lt;UUID&amp;gt;", "object": { "property1": "hello", ... } }&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/lukewestby/redboard"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Blog post about Figma's multiplayer technology: &lt;a href="https://www.figma.com/blog/how-figmas-multiplayer-technology-works/"&gt;https://www.figma.com/blog/how-figmas-multiplayer-technology-works/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Figma multiplayer architecture diagram: &lt;a href="https://www.figma.com/community/file/989634471195357925"&gt;https://www.figma.com/community/file/989634471195357925&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Recoil: &lt;a href="https://recoiljs.org/"&gt;https://recoiljs.org/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Check out &lt;a href="https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries"&gt;Redis OM&lt;/a&gt;, client libraries for working with Redis as a multi-model database.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Use &lt;a href="https://redis.info/redisinsight"&gt;RedisInsight&lt;/a&gt; to visualize your data in Redis.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sign up for a &lt;a href="https://redis.info/try-free-dev-to"&gt;free Redis database&lt;/a&gt;.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>redishackathon</category>
      <category>rust</category>
      <category>react</category>
      <category>eventdriven</category>
    </item>
    <item>
      <title>How much data do I need to have Big Data?</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Thu, 01 Aug 2019 04:23:02 +0000</pubDate>
      <link>https://dev.to/lukewestby/how-much-data-do-i-need-to-have-big-data-2078</link>
      <guid>https://dev.to/lukewestby/how-much-data-do-i-need-to-have-big-data-2078</guid>
      <description></description>
    </item>
    <item>
      <title>Do you have a morning routine?</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Sat, 11 Aug 2018 21:53:52 +0000</pubDate>
      <link>https://dev.to/lukewestby/do-you-have-a-morning-routine-3j39</link>
      <guid>https://dev.to/lukewestby/do-you-have-a-morning-routine-3j39</guid>
      <description>&lt;p&gt;I recently started the following morning routine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clean my room and make my bed&lt;/li&gt;
&lt;li&gt;Do a couple body-weight exercises&lt;/li&gt;
&lt;li&gt;Stretch&lt;/li&gt;
&lt;li&gt;Drink a glass of water and take vitamins&lt;/li&gt;
&lt;li&gt;Shower and get dressed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I do it the same way every single day. The difference it has made in my outlook and ability to focus for the rest of the day is noticeable. Do any of you do something similar with your mornings?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>What’s something that should be obvious that developers seem to misunderstand?</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Sun, 08 Jul 2018 20:08:07 +0000</pubDate>
      <link>https://dev.to/lukewestby/whats-something-obvious-that-developers-seem-to-misunderstand-44o6</link>
      <guid>https://dev.to/lukewestby/whats-something-obvious-that-developers-seem-to-misunderstand-44o6</guid>
      <description>&lt;p&gt;I found this on Twitter, but I don’t have a twitter account so I thought I’d bring it over here. It seems like a good fit for #discuss!&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1015086438277435392-184" src="https://platform.twitter.com/embed/Tweet.html?id=1015086438277435392"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1015086438277435392-184');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1015086438277435392&amp;amp;theme=dark"
  }



&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>How do you stay focused when everything sucks?</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Wed, 27 Jun 2018 22:42:44 +0000</pubDate>
      <link>https://dev.to/lukewestby/how-do-you-stay-focused-when-everything-sucks-5h93</link>
      <guid>https://dev.to/lukewestby/how-do-you-stay-focused-when-everything-sucks-5h93</guid>
      <description>&lt;p&gt;When the news is really bad it can feel nearly impossible to care about or do anything else. I would love some thoughts from this community on how you keep up with life in the face of all the bad stuff.&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Discuss: Why do developers equate popularity with success for OSS projects?</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Mon, 25 Jun 2018 02:09:20 +0000</pubDate>
      <link>https://dev.to/lukewestby/discuss-why-do-developers-equate-popularity-with-success-for-oss-projects-5gb3</link>
      <guid>https://dev.to/lukewestby/discuss-why-do-developers-equate-popularity-with-success-for-oss-projects-5gb3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Heads up! This post has some claims that lack citations. The power dynamic here is such that I'd rather be dismissed to generally no effect than to put the heat on some developers without a platform who write internet posts that I think are wrong. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anyway, let me frame up this discussion a bit:&lt;/p&gt;

&lt;p&gt;I am a member of the Elm core team. I made a significant outlay of personal effort to reach this level of contribution, so I think it’s reasonable to claim that I understand what it’s like to care about a project and desire for it to succeed.&lt;/p&gt;

&lt;p&gt;A lot of the online lobbying directed at us for changes in prioritization is based on the idea that Elm is not successful unless its community is growing faster now than it was some amount of time ago. This commentary rarely explains how the poster personally defines “success” for Elm, so I have to assume that adoption and success are one and the same in their mind.&lt;/p&gt;

&lt;p&gt;For Elm, we reject the idea that adoption is success or even a very good reflection of success. Elm seeks to be an exceptionally good programming language and platform for building front-end web applications. It is successful to the degree that it does that. Major, concrete steps toward this goal will not always result in community growth, especially under Elm's long release cycle. That is okay!&lt;/p&gt;

&lt;p&gt;As a final thought, here is an illustrative example of my confusion: if we grant that adoption and success are related, then what does it mean to be the most popular and thus most successful project? If Elm were the most-used front-end technology, what prize would the Elm community win?&lt;/p&gt;

&lt;p&gt;So. &lt;strong&gt;What do y'all think is the cause of this apparent linkage in the mind of The Developer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I think that if I can better understand why people feel this way then I will be better at explaining how to measure Elm's success to the Elm community.&lt;/p&gt;




&lt;p&gt;If you would like to share your thoughts anonymously you can email me at &lt;a href="mailto:hello@lukewestby.com"&gt;hello@lukewestby.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>opensource</category>
      <category>elm</category>
    </item>
    <item>
      <title>Ellie Weekly Update 2017-10-28</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Sat, 28 Oct 2017 15:26:53 +0000</pubDate>
      <link>https://dev.to/lukewestby/ellie-weekly-update-2017-10-28-11e</link>
      <guid>https://dev.to/lukewestby/ellie-weekly-update-2017-10-28-11e</guid>
      <description>&lt;p&gt;Hi friends! Not a ton of stuff happening right now since I've been traveling and attending to personal things. Here's this week's brief update:&lt;/p&gt;

&lt;h3&gt;
  
  
  New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added a section in the bottom right to view calls to &lt;code&gt;Debug.log&lt;/code&gt;.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7MNaiUqE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/7rfpzy1ll4qrsgyaaf3r.png" alt="screenshot of new debug dot log section"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Community
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Deleted Ellie's Twitter account. If enough people are interested I can write
about why I chose to do this.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  In Progress and Experiments
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Started rewriting the build manager in PureScript.&lt;/li&gt;
&lt;li&gt;Began reworking the way Ellie determines if a revision is yours in order to
prepare for GitHub auth, Gist import, and a whole bunch of other stuff.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ellie</category>
    </item>
    <item>
      <title>What do you build to learn a new language or style?</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Mon, 16 Oct 2017 15:01:59 +0000</pubDate>
      <link>https://dev.to/lukewestby/what-do-build-to-learn-a-new-language-or-style-59c</link>
      <guid>https://dev.to/lukewestby/what-do-build-to-learn-a-new-language-or-style-59c</guid>
      <description>&lt;p&gt;I like to reimplement &lt;a href="https://github.com/elm-lang/core/blob/5.1.1/src/Json/Decode.elm"&gt;Elm's Json Decoders&lt;/a&gt; in whatever language or framework I'm trying to learn. I did this when I was getting up to speed on &lt;a href="https://github.com/fantasyland/fantasy-land"&gt;fantasyland&lt;/a&gt; in JS, and when I needed to brush up on Python, and now this week with PureScript. How about you?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>languages</category>
      <category>learning</category>
    </item>
    <item>
      <title>Ellie Weekly Update 2017-10-14</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Sat, 14 Oct 2017 15:39:12 +0000</pubDate>
      <link>https://dev.to/lukewestby/ellie-weekly-update-2017-10-14-2nb</link>
      <guid>https://dev.to/lukewestby/ellie-weekly-update-2017-10-14-2nb</guid>
      <description>&lt;p&gt;Hi friends! I wanted to keep you all updated on what's happening with Ellie. I'll publish a roundup each week that I actually make changes and then archive the related cards in &lt;a href="https://trello.com/b/7cFN60SP/ellie"&gt;Trello&lt;/a&gt;. Here's this week's update:&lt;/p&gt;

&lt;h3&gt;
  
  
  New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Put some links in the header. You can find links to &lt;a href="https://twitter.com/ellie_editor"&gt;Twitter&lt;/a&gt;, &lt;a href="https://github.com/lukewestby/ellie"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://trello.com/b/7cFN60SP/ellie"&gt;Trello&lt;/a&gt; at the top right of the app.&lt;/li&gt;
&lt;li&gt;The open section in the sidebar can be closed.&lt;/li&gt;
&lt;li&gt;Replaced the message in the &lt;code&gt;Ready&lt;/code&gt; screen with a button to start compiling.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Community
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added a README in the &lt;a href="https://github.com/lukewestby/ellie"&gt;repo&lt;/a&gt; that contains info about how to develop Ellie locally.&lt;/li&gt;
&lt;li&gt;Created a contributor license agreement and linked it to the repo with &lt;a href="https://cla-assistant.io/"&gt;CLA Assistant&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Got the live stream going again, check out Friday's stream &lt;a href="https://www.youtube.com/watch?v=0OaYBzJpDgM"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Finance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Applied to &lt;a href="https://opencollective.com/ellie"&gt;Open Collective&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  In Progress and Experiments
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Adding a section to view calls to &lt;code&gt;Debug.log&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Learning PureScript to see if it's worthwhile to use it to rewrite the build manager.&lt;/li&gt;
&lt;li&gt;Considering options to abstract the S3 dependency so people don't have to set up a bucket in order to do local development.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ellie</category>
    </item>
    <item>
      <title>Why Ellie Will Not Support Multiple Files</title>
      <dc:creator>Luke Westby</dc:creator>
      <pubDate>Wed, 11 Oct 2017 16:07:29 +0000</pubDate>
      <link>https://dev.to/lukewestby/why-ellie-will-not-support-multiple-files-39i</link>
      <guid>https://dev.to/lukewestby/why-ellie-will-not-support-multiple-files-39i</guid>
      <description>&lt;p&gt;&lt;a href="http://ellie-app.com"&gt;Ellie&lt;/a&gt;, the Elm Live Editor, lets you use the Elm platform in your browser. I released it in February of 2017 as a way to make it easier for the Elm community to share code. Despite it's popularity within the still small and growing Elm community it remains a side project so I need to be judicious about how I spend my time working on it. Its popularity also portends its importance to the community and I believe that comes with a responsibility to develop it in a way that meets the needs of the community.&lt;/p&gt;

&lt;p&gt;Ellie isn't just a tool for sharing Elm code; it's becoming a centerpiece for online, interactive discussion of Elm. I get a push notification whenever someone shares an Ellie link in the &lt;a href="http://elmlang.herokuapp.com"&gt;Elm Slack&lt;/a&gt;. A typical weekday includes at least one conversation where participants share Ellie links back-and-forth to help someone arrive at a better understanding of an Elm concept. &lt;a href="https://www.youtube.com/watch?v=GwmVELtQnOI&amp;amp;t=1689s"&gt;At Oslo Elm Day&lt;/a&gt; this year I claimed that in order to write good software we need to understand how people use it. Several months later &lt;a href="https://www.youtube.com/watch?v=gNWx-zWxUd4"&gt;at Elm Conf US&lt;/a&gt; I shared that conclusion about Ellie specifically: Ellie enables conversations about Elm.&lt;/p&gt;

&lt;p&gt;This discovered identity guides Ellie's mission and will inform all of my decisions about features and UX going forward. This led to the planned addition of real-time collaboration. It may also lead to the addition of more ways to personalize the Ellie UI, including the addition of more familiar editor keymaps like Emacs and a light color theme. Beyond positive additions, though, it also informs the decision not to include certain features even in the face of user requests.&lt;/p&gt;

&lt;p&gt;Of course I'm talking about including multiple files in an Ellie project. This is among the most requested features. But, like Elm itself, the development of Ellie is not driven by direct democracy. I don't believe that allowing the inclusion of multiple files meets the criterion of enabling better conversations about Elm online.&lt;/p&gt;

&lt;p&gt;Here's why: if you ask me a question about a specific concept under a broad topic, you probably won't appreciate it if I send you a link to a 4000 word Medium post. That would end the conversation! I want to respond with brevity so that you can consider what I said and build on it so we can keep moving. A chat application is a much better analogy for understanding Ellie's primary use case. In both cases you can type as much as you want, but the medium encourages you to be brief because you are in a dialogue.&lt;/p&gt;

&lt;p&gt;I've heard a counterpoint that some concepts can't even be explained briefly in Ellie because they depend on having multiple files. Examples include the Elm module system itself and opaque types. My response to this is is just that the number of concepts in this category is pretty small and I'd rather Ellie be unusable in this small set of cases than split the focus of Ellie between concise conversation and large projects, making it worse at both.&lt;/p&gt;

&lt;p&gt;Perhaps someone else will build software that allows people to build and run large Elm examples online. It may even one day be a project related to Ellie, just as CodePen introduced CodePen Projects. However, the core focus of Ellie is conversation and optimizing for that is more important to me than making it a catchall for every code-sharing need.&lt;/p&gt;

</description>
      <category>elm</category>
      <category>ellie</category>
    </item>
  </channel>
</rss>
