<?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: Hannah Aubry</title>
    <description>The latest articles on DEV Community by Hannah Aubry (@haubles).</description>
    <link>https://dev.to/haubles</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%2F358549%2F374b136a-a00f-4a6f-a165-20bde776ff1c.png</url>
      <title>DEV Community: Hannah Aubry</title>
      <link>https://dev.to/haubles</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/haubles"/>
    <language>en</language>
    <item>
      <title>Fastly and the Linux kernel</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Mon, 24 Jun 2024 15:16:00 +0000</pubDate>
      <link>https://dev.to/fastly/fastly-and-the-linux-kernel-8fg</link>
      <guid>https://dev.to/fastly/fastly-and-the-linux-kernel-8fg</guid>
      <description>&lt;p&gt;Today, Fastly &lt;a href="https://www.fastly.com/blog/fast-forward-were-here-for-the-maintainers/" rel="noopener noreferrer"&gt;announced a $40M commitment of free CDN, compute, and security services to the Linux Foundation’s ecosystem of maintainers&lt;/a&gt;, furthering our shared mission of sustaining free and open source software. To celebrate, we wanted to highlight an essential component of the Fastly platform and part of the Linux Foundation’s original raison d’être: the Linux kernel.&lt;/p&gt;

&lt;p&gt;When we launched Fastly 13 years ago, our founders were fueled by a vision to create a radically different kind of platform—faster and more efficient than its predecessors, utilizing specific hardware and a foundation built on open source software. The tools they reached for? &lt;a href="https://www.youtube.com/watch?v=H7PJ1oeEyGg" rel="noopener noreferrer"&gt;SSDs&lt;/a&gt;, &lt;a href="https://www.slideshare.net/slideshow/varnish-oscon-2009/1761244" rel="noopener noreferrer"&gt;Varnish&lt;/a&gt;, and the &lt;a href="https://youtu.be/oebqlzblfyo?t=147&amp;amp;si=evu_qAG0NvfXFaLj" rel="noopener noreferrer"&gt;Linux kernel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Our founders opted for open source, like the Linux &lt;a href="https://en.wikipedia.org/wiki/Kernel_(operating_system)" rel="noopener noreferrer"&gt;kernel&lt;/a&gt;, whenever possible for the same reasons anyone does. We could quickly fix bugs without needing to call a support line or wait on a ticket. We could change the kernel’s code so that it was even better suited to our needs. Perhaps one of the most important reasons is that we could not only stand on the shoulders of giants but contribute alongside them, too. Throughout the Linux Foundation’s almost 25-year history, the organization has provided vital support and resources to the maintainers and contributors that build some of the most important and impactful technologies of our time. As of 2023, the Linux Foundation is home to over 1,000 active projects and foundations ranging in focus from cloud computing and web development to visual effects and IoT devices.&lt;/p&gt;

&lt;p&gt;The open source projects Fastly uses and the foundations we partner with are vital to Fastly’s mission and success. Here's an unscientific list of projects and organizations supported by the Linux Foundation that we use and love: &lt;a href="https://www.kernel.org/" rel="noopener noreferrer"&gt;The Linux Kernel&lt;/a&gt;, &lt;a href="https://kubernetes.io/" rel="noopener noreferrer"&gt;Kubernetes&lt;/a&gt;, &lt;a href="https://containerd.io/" rel="noopener noreferrer"&gt;containerd&lt;/a&gt;, &lt;a href="https://ebpf.io/" rel="noopener noreferrer"&gt;eBPF&lt;/a&gt;, &lt;a href="https://falco.org/" rel="noopener noreferrer"&gt;Falco&lt;/a&gt;, &lt;a href="https://www.openapis.org/" rel="noopener noreferrer"&gt;OpenAPI Initiative&lt;/a&gt;, &lt;a href="https://eslint.org/" rel="noopener noreferrer"&gt;ESLint&lt;/a&gt;, &lt;a href="https://expressjs.com/" rel="noopener noreferrer"&gt;Express&lt;/a&gt;, &lt;a href="https://fastify.dev/" rel="noopener noreferrer"&gt;Fastify&lt;/a&gt;, &lt;a href="https://lodash.com/" rel="noopener noreferrer"&gt;Lodash&lt;/a&gt;, &lt;a href="https://mochajs.org/" rel="noopener noreferrer"&gt;Mocha&lt;/a&gt;, &lt;a href="http://Node.js" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt;, &lt;a href="https://prometheus.io/" rel="noopener noreferrer"&gt;Prometheus&lt;/a&gt;, &lt;a href="https://www.jenkins.io/" rel="noopener noreferrer"&gt;Jenkins&lt;/a&gt;, &lt;a href="https://opentelemetry.io/" rel="noopener noreferrer"&gt;OpenTelemetry&lt;/a&gt;, &lt;a href="https://www.envoyproxy.io/" rel="noopener noreferrer"&gt;Envoy&lt;/a&gt;, &lt;a href="https://etcd.io/" rel="noopener noreferrer"&gt;etcd&lt;/a&gt;, &lt;a href="https://helm.sh/" rel="noopener noreferrer"&gt;Helm&lt;/a&gt;, &lt;a href="https://osquery.io/" rel="noopener noreferrer"&gt;osquery&lt;/a&gt;, &lt;a href="https://goharbor.io/" rel="noopener noreferrer"&gt;Harbor&lt;/a&gt;, &lt;a href="https://www.sigstore.dev/" rel="noopener noreferrer"&gt;sigstore&lt;/a&gt;, &lt;a href="https://cert-manager.io/" rel="noopener noreferrer"&gt;cert-manager&lt;/a&gt;, &lt;a href="https://cilium.io/" rel="noopener noreferrer"&gt;Cilium&lt;/a&gt;, &lt;a href="https://www.fluentd.org/" rel="noopener noreferrer"&gt;Fluentd&lt;/a&gt;, &lt;a href="https://www.keycloak.org/" rel="noopener noreferrer"&gt;Keycloak&lt;/a&gt;, &lt;a href="https://www.openpolicyagent.org/" rel="noopener noreferrer"&gt;Open Policy Agent&lt;/a&gt;, &lt;a href="https://c2pa.org/" rel="noopener noreferrer"&gt;Coalition for Content Provenance and Authority (C2PA)&lt;/a&gt;, &lt;a href="https://fluxcd.io/" rel="noopener noreferrer"&gt;Flux&lt;/a&gt;, &lt;a href="https://grpc.io/" rel="noopener noreferrer"&gt;gRPC&lt;/a&gt;, &lt;a href="https://strimzi.io/" rel="noopener noreferrer"&gt;Strimzi&lt;/a&gt;, &lt;a href="https://thanos.io/" rel="noopener noreferrer"&gt;Thanos&lt;/a&gt;, &lt;a href="https://linkerd.io/" rel="noopener noreferrer"&gt;Linkerd&lt;/a&gt;, &lt;a href="https://letsencrypt.org/" rel="noopener noreferrer"&gt;Let’s Encrypt&lt;/a&gt;, &lt;a href="https://tag-runtime.cncf.io/wgs/wasm/charter/" rel="noopener noreferrer"&gt;WebAssembly&lt;/a&gt;. And the list goes on! &lt;/p&gt;

&lt;p&gt;Because the Foundation is a fundamental component of Fastly’s tech stack, we are delighted to give back to the community that maintains and supports it. We do that in several ways, the chief of which is our donation of free services to various projects under the Foundation. Since 2015, Fastly has served nearly 35,000 terabytes to Linux Foundation projects, including the Linux Kernel, Kubernetes, jQuery, and Jenkins. We’ve heard that the projects we support have done &lt;a href="https://dev.to/fastly/this-is-your-sign-to-update-your-kubernetes-download-workflow-5hf2"&gt;wonders for their peace of mind and the continued sustainability&lt;/a&gt; of their projects, so we’re recommitting to our existing partners and extending our commitment to any other projects or nonprofits that can benefit from our support. &lt;/p&gt;

&lt;p&gt;We contribute back to the Linux ecosystem in other ways, too. Beyond our in-kind donation, we encourage our employees to submit bug fixes upstream and employ several engineers who contribute to various projects, including &lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/log/?qt=author&amp;amp;q=Damato" rel="noopener noreferrer"&gt;Linux kernel contributor Joe Damato&lt;/a&gt;. His contributions are focused on improving the granularity and ease of customizing and optimizing the data path, among other things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recently, Joe upstreamed &lt;a href="https://lore.kernel.org/netdev/20240213061652.6342-4-jdamato@fastly.com/T/" rel="noopener noreferrer"&gt;a major and widely anticipated new interface to the kernel&lt;/a&gt;, allowing programs to control network socket busy polling behavior more simply and closely. &lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/fs/eventpoll.c?h=v6.9&amp;amp;id=18e2bf0edf4dd88d9656ec92395aa47392e85b61" rel="noopener noreferrer"&gt;This new interface&lt;/a&gt; allows Fastly and the open source community to build and control latency-sensitive programs far more easily.&lt;/li&gt;
&lt;li&gt;Joe recently &lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f25e7b82635f59af87bd720bbb8c2ea19e8e0f67" rel="noopener noreferrer"&gt;upstreamed a change to the Mellanox mlx5 driver&lt;/a&gt;, which creates a mapping between hardware network queues on the device, their associated interrupt number, and the kernel’s internal NAPI ID. This change allows users to access this helpful information via a &lt;a href="https://lore.kernel.org/netdev/170147307026.5260.9300080745237900261.stgit@anambiarhost.jf.intel.com/T/#mf82b92c584173f9542c222429a10d2183bfc5d00" rel="noopener noreferrer"&gt;new netlink interface added to the kernel by Intel&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Another recent highlight among Joe’s many contributions is a kernel change that allows users to set &lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0212e5d915a293dcde06415f8c82d31576576a97" rel="noopener noreferrer"&gt;a custom flow hash on custom RSS contexts&lt;/a&gt; if the driver supports it. This change also allows network device driver maintainers to support this for their devices, providing users more flexibility in how network flows are mapped to device queues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And as far as Fastly’s kernel goes, it’s laser-focused on instant speed. Suresh Bhogavilli is the distinguished engineer who leads our Edge Host Networking team, which is tasked with optimizing our kernel and reducing latency by every zeptosecond possible: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To significantly reduce &lt;a href="https://en.wikipedia.org/wiki/Transmission_time#:~:text=order%20of%20milliseconds.-,Roundtrip%20time,received%20at%20the%20same%20node." rel="noopener noreferrer"&gt;round-trip time&lt;/a&gt; and improve customer connectivity to Fastly’s edge we developed our &lt;a href="https://www.fastly.com/blog/improving-network-availability-with-precision-path/" rel="noopener noreferrer"&gt;Precision Path&lt;/a&gt; and &lt;a href="https://www.fastly.com/blog/traffic-delivery-reliability-improvements/" rel="noopener noreferrer"&gt;Fast Path Failover&lt;/a&gt; technologies. We use them to tune TCP window parameters per destination, improving TCP connectivity between caches at our own PoPs [&lt;a href="https://www.fastly.com/network-map/" rel="noopener noreferrer"&gt;Points of Presence&lt;/a&gt;]. Linux also helps power our ingress traffic engineering tool, called Harmonizer, which allows us to carry traffic to the PoP that is most optimal to serve that customer request.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>linux</category>
      <category>fastly</category>
      <category>opensource</category>
      <category>fastforward</category>
    </item>
    <item>
      <title>No more montages</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Sun, 28 Jan 2024 18:43:05 +0000</pubDate>
      <link>https://dev.to/haubles/no-more-montages-3le5</link>
      <guid>https://dev.to/haubles/no-more-montages-3le5</guid>
      <description>&lt;p&gt;I’ve been a hypocrite. &lt;/p&gt;

&lt;p&gt;For years, I’ve worked hard to advocate for the open source community, to encourage others to live and work by its values: openness, transparency, and collaboration. Meanwhile, I haven’t lived those values fully. The majority of what I’ve written, &lt;a href="https://www.fastly.com/blog/hannah-aubry" rel="noopener noreferrer"&gt;here&lt;/a&gt; and &lt;a href="https://dev.to/haubles"&gt;here&lt;/a&gt;, is about finished projects, or celebrating some milestone. I haven’t shown my work. I haven’t shared how I think about my work or written about any of the messy stuff or my failures (which is where I’ve learned the most).&lt;/p&gt;

&lt;p&gt;So I made this place to change that — I’ll do my work in public and write about my own philosophical noodlings here. I hope someone out there finds it useful. Maybe you, friend.&lt;/p&gt;

&lt;h2&gt;
  
  
  This is the work
&lt;/h2&gt;

&lt;p&gt;Since Fastly launched Fast Forward (that’s our open source support program) one year ago, I’ve paid a lot of attention to those two words wherever they appear. (You can probably imagine that’s pretty often for me.) Usually, I smile to see them, but there’s one place where I’ve come to dislike seeing “fast forward.” In stories. I’m bored out of my brain of that storytelling mechanic where they lay out a nice, juicy problem… and then skip past the glorious work. &lt;/p&gt;

&lt;p&gt;No 👏 more 👏 montages. 👏 (Sorry, &lt;a href="https://youtu.be/8I_5Bw1U4s4?si=Mwm53_4Vq-eWaIzf" rel="noopener noreferrer"&gt;Team America&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;I joined Fastly to work on their open source program almost four years ago — my start date was March 9th, 2020. I love to build things with passionate people, and I love to help others build too. I’m hard-pressed to think of a community that is more passionate and committed to building and doing than those drawn to working in open source communities. Within a month, I worked on the announcement of Fastly’s $50 million commitment to the program, and the expansion of its scope to include nonprofits, to support those fighting COVID and its effects on society. &lt;/p&gt;

&lt;p&gt;It’s been a long, difficult, and glorious road since then. &lt;/p&gt;

&lt;p&gt;The $50 million commitment to Fast Forward opened a floodgate of applications that effectively stress-tested the program’s internal infrastructure &amp;amp; resourcing. Meanwhile, managing the program was just a part of what I was doing at Fastly. I won’t get too deep into the nitty-gritty, but the basic gist of what was broken was that our processes weren’t built to scale, the program’s work wasn’t tied to Fastly’s overarching vision of what the internet can be, we weren’t active in the communities we support, and we weren’t taking credit for our work.&lt;/p&gt;

&lt;p&gt;So I created a slide deck outlining these issues and proposing fixes to them. I shared the deck with anyone who would listen. I presented it to Fastly’s leadership. It took a long time, and I began to despair that anything would change. Finally, Fastly acquired Glitch. I was moved to the newly formed Developer Experience team to focus on the program full-time. I gained the support of an industry-leading team that deeply understands this work, better than almost anyone — &lt;a href="https://glitch.com/" rel="noopener noreferrer"&gt;I mean just look at what they built&lt;/a&gt;. I began to make inroads with the teams that could help fix the broken stuff. I made new decks. I wrote design docs. I invited comments from anyone who had ideas and verve. There were missed opportunities, false starts, missteps, dead ends. Nothing about it was easy. It was fun, but it was messy, hard work. A full year passed between the time I made that first deck and the day we launched the new program, the program we built together: &lt;a href="https://www.fastly.com/fast-forward" rel="noopener noreferrer"&gt;Fast Forward&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here’s what I learned:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If you’re trying to create systemic change in any kind of organization, you have to be ready to repeat yourself. A lot. I think most people don’t understand that about communications; I’ve seen this often since my journey in tech began. Your message isn’t sinking in until you’re sick of repeating it.&lt;/li&gt;
&lt;li&gt;None of us can do this alone. I think about this proverb often: “If you want to go fast go alone, if you want to go far go together.” Building for a community means building &lt;em&gt;in community&lt;/em&gt;, so ask for help when you need it. Trust that if you put your need out in the world, help will come to you. It may not be exactly &lt;em&gt;when&lt;/em&gt; you think you need it most, or be in exactly the form you thought you needed, but help will come.&lt;/li&gt;
&lt;li&gt;Perhaps the most significant shift I’ve had in the way I think about my work is to stop thinking about it as a series of goalposts. Rather, I now take joy and a sense of accomplishment in the day-to-day moving forward. I see each little step as a win. I see the act of taking a step as a win.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A quick interlude, lamentoso
&lt;/h2&gt;

&lt;p&gt;We’ve had so many hard years: disease, layoffs, wars, relicensing, paywalls, shuttered programs, and 60-day warnings. Climate crisis. The digital spaces where we used to convene and commiserate have changed forever. Institutional Tech lost a lot of ground in building trust with not only the open source community, but the world. It will take time and effort to rebuild and repair. Some people and things are gone forever. We must give space to mourn who and what we’ve lost.&lt;/p&gt;

&lt;p&gt;Twenty-six months ago, I went through a period of significant personal loss. Every year since, the holidays have felt dimmer, and I haven’t felt much like celebrating, so instead I take that time to refocus myself. I reflect on the year that passed, record what I learned, and set goals for the coming year. &lt;/p&gt;

&lt;p&gt;The most impactful thing I’ve done as part of my holiday reflections is to write down a theme for the coming year. It’s deeply personal to me so I’ve never considered sharing it before — but this year I will.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;This is the work. Onward, we must climb. I act when I’m at my best, otherwise I rest. The pounding and lapping of waves on a beach.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(Be gentle with me, I feel vulnerable and exposed.) &lt;/p&gt;

&lt;p&gt;History cycles. Time is a wheel. We’ve fought the fights we’re facing before, albeit wearing different mustaches. In the end, we move forward. It’s the best and only way to go.&lt;/p&gt;

&lt;p&gt;I’m holding space for anyone who needs a friend. I need one too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work in public
&lt;/h2&gt;

&lt;p&gt;Just last week I broke Fastly’s Mastodon instance, Fastly.Social, while updating it to v4.2.4. I created the instance as a place for experiments, a place where Fastly employees could learn together, to demonstrate best practices of using Fastly in front of Mastodon. However, I am decidedly not an expert at this, so to be honest, it was only a matter of time before I broke it. Breaking the instance &lt;em&gt;sucked.&lt;/em&gt; It was embarrassing to admit defeat when I couldn’t troubleshoot the issue, especially to admit it in front of my colleagues who quite literally build the internet. But that wasn’t my failure. My failure was that I didn’t apply the learnings I described above until last week.&lt;/p&gt;

&lt;p&gt;When I realized I wouldn’t be able to fix the issue, I put a call for help in our interest-fediverse Slack channel. The response was overwhelming; people are wonderful. &lt;/p&gt;

&lt;p&gt;I realize now that my superpower is this — it’s not that I’m really good at some things (although, at the risk of sounding like a braggart, there is some stuff I’m really good at). It’s that I unashamedly, sometimes even gleefully, narrate what I’m bad at and I’m always willing to point at stuff that’s broken to those with the power to fix it, even if I’m part of why it’s broken.&lt;/p&gt;

&lt;p&gt;People can’t fix what they can’t see, and no person on this planet is omniscient. If we want to fix this broken and beautiful world, we have to be willing to talk about the work in progress. The messy stuff. Recently, I saw someone post, “It’s worth it to be hurt sometimes, so you don’t have to live with your guard up all the time.” Be vulnerable.&lt;/p&gt;

&lt;p&gt;And with that in mind — let’s hear what it took. What did you give, what did it cost? Tell us what you need. Work in public. Share what you learned. We can’t wait to celebrate until we reach the finish line, because, for us, there isn't one. The goal is to do the work, to strive for the cause, and to keep making the world a little more open and free, forever. I think doing &lt;em&gt;that&lt;/em&gt; is a thing worth celebrating, any and every day.&lt;/p&gt;

&lt;p&gt;There is so much work to be done, and the first and most important step is easy. It’s just to care. Be kind, be curious. Think twice. When you see something broken, fix it. If you see someone doing ridiculous amounts of stuff without complaining, help them. You have experience and passion. We need you.&lt;/p&gt;

&lt;p&gt;I’ll end this transmission with a little reminder, which is just as much for me as it is for anyone reading — &lt;em&gt;we have to heal ourselves before we can heal the world&lt;/em&gt;. Good luck out there and take it easy, friends 👋&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>community</category>
      <category>writing</category>
    </item>
    <item>
      <title>Fast Forward Rewind: it was the first year</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Thu, 21 Dec 2023 21:46:57 +0000</pubDate>
      <link>https://dev.to/fastly/fast-forward-rewind-it-was-the-first-year-156m</link>
      <guid>https://dev.to/fastly/fast-forward-rewind-it-was-the-first-year-156m</guid>
      <description>&lt;p&gt;To sum it up — wow. It’s been a fantastic first year for Fast Forward (say that five times, fast). We’ve reached 100+ program members, and since we launched Fast Forward last year, we’ve served over 5 trillion requests for open source.&lt;/p&gt;

&lt;p&gt;But for us, numbers like that aren’t the only way we measure our success. We also measure success by impact, because Fast Forward is designed to help open-source projects and nonprofits during their toughest moments and their biggest successes. Moments when maintainers question whether they can go on or keep up. Moments when they wonder if anyone sees and appreciates their toil or the sleepless nights they’ve given. If we can make a maintainer feel supported and celebrated during a moment like that, then we've won.&lt;/p&gt;

&lt;p&gt;So this one is for the builders (we always are). They worked hard. They didn’t get into open source to be people managers, coaches, fundraisers, or communicators. They may not have had any goals at all except to revel in the joy of creation. They worked weekends reviewing PRs and grew gray hairs fending off DDoS attacks. They made us happy and made the entire internet better, or easier, or safer. They deserve our gratitude for everything they do, from the public repos to the invisible labor to the private sacrifice.&lt;/p&gt;

&lt;p&gt;So here are a few thank you notes, from all of us at Fastly.&lt;/p&gt;

&lt;h4&gt;
  
  
  To the social web
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;You began 2023 in a fever dream. Social media as we knew it was crumbling around us. You were inundated. You were targeted and attacked, technically and sometimes socially. But you stepped up, buckled down, and did the work — you protected us, and you connected us all. Thank you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  To OpenTofu
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;When this year started you didn’t exist. You were born of necessity — responding to the community prompted your creation, but you rose to the occasion. You rolled up your sleeves, sent out the call, and put your fingers to your keyboard. You built a community overnight, and you’re just getting started. And hi, OpenBao, it’s nice to meet you. Thank you. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  To Rocky Linux (and all freeloaders)
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Goodness, people made Decisions™ this year. It was just a few months ago that your entire future was called into question. But you rallied the community, and adapted to the changes with grace. Thank you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  To Kubernetes
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Few projects understand what it means to operate and manage an open source project at scale the way Kubernetes does — with everything that entails. Keeping internet services up is a difficult, sometimes lonely task. But that daunting task didn’t stop you from striving every day to ensure that everyone all over the world can rely on you. Thank you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  To jquery
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Change, especially unexpected change, is hard. You faced that this year, making a seamless transition while handling enormous scale and importance to the web. And you made it look easy. Thank you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This list is far from comprehensive, but it’s a start. If you’re reading this, I hope you reach out to the maintainer of an open source project you use directly and say thank you. Or, even better yet say thanks &lt;strong&gt;and&lt;/strong&gt; how can I help? &lt;/p&gt;

&lt;h3&gt;
  
  
  What’s next for Fastly
&lt;/h3&gt;

&lt;p&gt;We’ve got big things cooking in support of open source for the coming year, and I can’t wait to start rolling them out. We’ll keep helping scale and secure the open web, of course, and we’re already exploring new ways to use our platform and resources to support and celebrate maintainers. If you have an immediate need that Fastly can help with, let us know. Even if it’s not bandwidth!&lt;/p&gt;

&lt;p&gt;In the meantime, come join our &lt;a href="https://developer.fastly.com/community/" rel="noopener noreferrer"&gt;community&lt;/a&gt;. We’re hanging out on our forum &lt;a href="https://community.fastly.com/" rel="noopener noreferrer"&gt;Fastly Connect&lt;/a&gt;, hosting &lt;a href="https://www.youtube.com/playlist?list=PL_OgLFqykPUYBHUIZ5uPklAmWOJd2zIkU" rel="noopener noreferrer"&gt;livestreams on YouTube&lt;/a&gt;, and attending &lt;a href="https://developer.fastly.com/community/#upcoming-events" rel="noopener noreferrer"&gt;events&lt;/a&gt;. Next on the calendar for us is KubeCon/ CloudNativeCon in Paris, and PyCon in Pittsburgh. Hope to see you there. :) &lt;/p&gt;

&lt;p&gt;Now let’s go build the good internet — together ⏩&lt;/p&gt;

</description>
      <category>fastforward</category>
      <category>opensource</category>
      <category>community</category>
      <category>culture</category>
    </item>
    <item>
      <title>Surprise! Here's a gift from Kubernetes and Fastly</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Wed, 01 Nov 2023 17:18:18 +0000</pubDate>
      <link>https://dev.to/fastly/this-is-your-sign-to-update-your-kubernetes-download-workflow-5hf2</link>
      <guid>https://dev.to/fastly/this-is-your-sign-to-update-your-kubernetes-download-workflow-5hf2</guid>
      <description>&lt;p&gt;Your gift: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the fastest and safest Kubernetes (k8s) download experience you can possibly imagine.&lt;/li&gt;
&lt;li&gt;warm fuzzy feelings, because you’ll be saving the &lt;a href="https://github.com/kubernetes/community/blob/master/sig-k8s-infra/README.md" rel="noopener noreferrer"&gt;k8s infra Special Interest Group&lt;/a&gt; (SIG) headaches and cash money.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And all we need is a trivial amount of your time to do update any hardcoded references of the Kubernetes soon-to-be-retired GCS bucket’s hostname to their new download endpoint: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdk6g3dp2dzrsnz2ol5ws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdk6g3dp2dzrsnz2ol5ws.png" alt="Classic WordArt, the orange shadow font, that spells out: cdn.dl.k8s.io" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's &lt;code&gt;cdn.dl.k8s.io&lt;/code&gt;, for the Ctrl+C, Ctrl+V crowd. It's me, I'm crowd. &lt;/p&gt;

&lt;h2&gt;
  
  
  Let me explain.
&lt;/h2&gt;

&lt;p&gt;I lead &lt;a href="https://www.fastly.com/fast-forward" rel="noopener noreferrer"&gt;Fast Forward&lt;/a&gt;, how &lt;a href="https://www.google.com/aclk?sa=l&amp;amp;ai=DChcSEwiq5qnhpZSCAxXV1sgKHU_oArUYABAAGgJxdQ&amp;amp;ase=2&amp;amp;gclid=CjwKCAjwnOipBhBQEiwACyGLuhr81fKwsqORMvzkQW2eIl8OC1s1GSWysX0wo-4wMCui6xdJESKBWRoCo0gQAvD_BwE&amp;amp;sig=AOD64_0Q-ix1a0Cz-o6AOzoVWyQuppL8fg&amp;amp;q&amp;amp;nis=4&amp;amp;adurl&amp;amp;ved=2ahUKEwj1iaPhpZSCAxXsFlkFHZ7wBaAQ0Qx6BAgPEAE" rel="noopener noreferrer"&gt;Fastly&lt;/a&gt; helps support and empower everyone to build the open internet together, and we proudly accepted Kubernetes to our Fast Forward program earlier this year. It was an absolute no-brainer for us. Kubernetes is an outstanding example of open source at its best, with lived &lt;a href="https://kubernetes.io/community/values/" rel="noopener noreferrer"&gt;values&lt;/a&gt; that both our organizations share like inclusivity, trustworthiness, openness, and leadership. And of course, like most globally available and distributed software deployments running at massive scale, &lt;a href="https://www.youtube.com/watch?v=eYZO7n_o0OQ" rel="noopener noreferrer"&gt;we use Kubernetes throughout our stack&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;After we accepted Kubernetes to the program, the K8s Infrastructure SIG began the process of deploying Fastly in front of the GCS bucket hosting their binaries. They &lt;a href="https://kubernetes.io/blog/2023/06/09/dl-adopt-cdn/" rel="noopener noreferrer"&gt;notified their userbase&lt;/a&gt; to prepare for the change by adding Fastly’s IP space to their allowlists, and got started working on their Fastly configurations. Then came the time to instantaneously send over &lt;strong&gt;5 PETABYTES of monthly traffic, roughly 115 gigabytes a minute,&lt;/strong&gt; to Fastly’s network. So Arnaud Meukam (a chair of the Infra SIG) and Ben Elder (a technical lead) convened with Fastly’s Mission Control team to get it done. Our Mission Control team is like Air Traffic Control for Fastly’s network. They &lt;a href="https://docs.fastly.com/products/live-event-monitoring-service" rel="noopener noreferrer"&gt;monitor the network during huge live digital events&lt;/a&gt; like the Super Bowl, merch drops, or ticket sales to make sure nothing goes sideways.&lt;/p&gt;

&lt;p&gt;Once we were gathered, Arnaud deployed the DNS changes necessary to begin routing traffic through Fastly’s caches. Everything was going very smoothly — traffic graphs were going up, binaries were being cached — but then Arnaud and Ben noticed something:&lt;/p&gt;

&lt;p&gt;Watch 👀&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/75O2Wg8R-Vk?start=9"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Growing up in an unplanned way.
&lt;/h2&gt;

&lt;p&gt;By way of a brief history, &lt;a href="https://kubernetes.io/blog/2018/07/20/the-history-of-kubernetes-the-community-behind-it/" rel="noopener noreferrer"&gt;the Kubernetes project&lt;/a&gt; was started at Google around 10 years ago. Google engineers started building Kubernetes in 2013, and it was first released in June 2014. In 2015, Google and the Linux Foundation worked together to create the Cloud Native Computing Foundation (CNCF), with Kubernetes becoming its seminal project in 2016.&lt;/p&gt;

&lt;p&gt;In the years since Kubernetes usage has exploded. According to &lt;a href="https://www.cncf.io/reports/kubernetes-project-journey-report/" rel="noopener noreferrer"&gt;a report from the CNCF&lt;/a&gt;, Kubernetes “is the second largest open source project in the world after Linux and is the primary container orchestration tool for 71% of Fortune 100 companies.” There are more than 74,680 devs who contribute to Kubernetes, and 5.6 million developers who use it (that’s &lt;a href="https://www.cncf.io/announcements/2022/02/10/cncf-sees-record-kubernetes-and-container-adoption-in-2021-cloud-native-survey/#:~:text=SlashData%20reports%20that%20there%20are,31%25%20of%20all%20backend%20developers." rel="noopener noreferrer"&gt;31% of all backend developers&lt;/a&gt;). &lt;/p&gt;

&lt;p&gt;But as the community around the project grew, the way the project hosted and served its binaries to their global user base remained the same. The binaries stayed in a Google-owned bucket, to which few in the community had any visibility, much less access. Now, Kubernetes is planning to migrate to a new, community-owned bucket. Deploying Fastly is the first step in accomplishing that. Once as much traffic as possible is captured, they’ll spin down the old Google bucket and migrate over to the new one. With Fastly in front that transition will be invisible, &lt;em&gt;as long as you’re using the abstracted domain.&lt;/em&gt; So update your references, or your stuff just might break!&lt;/p&gt;

&lt;h2&gt;
  
  
  How we can help the internet’s plumbers.
&lt;/h2&gt;

&lt;p&gt;If you’ve spent any time working on or near the internet’s plumbing — maybe you’ve worked on building the pipes, or maybe you direct stuff through the pipes — you know how inscrutable and difficult this work can be. Especially when you’ve reached the size of Kubernetes, and even for scale and backend experts like the Infrastructure SIG working on Kubernetes. So any hindrance to accessibility or visibility? Scary. &lt;/p&gt;

&lt;p&gt;When I asked Arnaud how he and the team felt managing this crucial piece of infrastructure, on which so much of the internet relies, he (graciously) said, “Serving 5 petabytes is a measure of success, regardless of how we want to present it. We’re struggling through that success. We want to make sure we guarantee the sustainability of our infrastructure over time, and it’s really difficult to maintain it as an open source project. We don’t pay people to do that.”&lt;/p&gt;

&lt;p&gt;Elsewhere, he joked: &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fms64fwpagm2vdakdfrh6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fms64fwpagm2vdakdfrh6.png" alt="a Slack exchange in which Arnaud says " width="800" height="260"&gt;&lt;/a&gt;&lt;br&gt;
So I guess you could say it’s a mixed bag. &lt;/p&gt;

&lt;p&gt;The immediate and majorly impactful thing you can do to help the K8s Infrastructure SIG is update your CI/CD pipelines, project build workflows, or any OSS repos you have that reference Kubernetes’ GCS bucket hostname to &lt;strong&gt;cdn.dl.k8s.io&lt;/strong&gt;. If you don’t have a project that references the bucket’s hostname, maybe you could submit some PRs to a few of your favorite projects!&lt;/p&gt;

&lt;p&gt;For Arnaud and the team, “having access and the capability to use a CDN, to be able to distribute binaries, without needing to worry about what’s happening to the network… it’s a good thing.” It occurs to me that while Fastly’s gift of bandwidth to the project is a big upgrade to their downloads infrastructure in terms of speed, security, and observability, perhaps the best gift of all is merely abstracting away the workload. It's the fact that there's one less thing to worry about, and when things go wrong, there are a lot more people worrying about it along with them. Because let's be real, it's a very fine line between stuff just working and chaos.&lt;/p&gt;

&lt;p&gt;(Or less dramatically, a lot of stress and sleepless nights.)&lt;/p&gt;

&lt;p&gt;So another thing we can do to support the internet plumbers is roll up our sleeves and &lt;em&gt;help.&lt;/em&gt; Sometimes that may be code, or sometimes that may be care — in the form of a thank you, or coffee, or ko-fi. Whatever form your contribution takes, it is meaningful and important. And besides, isn’t this exactly what makes free and open source software, and this community, so special? It’s all of us, from all over the world, building together and helping each other. I think it’s a pretty unique thing, and it's a very special way to be in this world. &lt;/p&gt;

&lt;p&gt;As the Infrastructure SIG’s community outreach to get references switched over to the new &lt;strong&gt;cdn.dl.k8s.io&lt;/strong&gt; endpoint continues, you can &lt;a href="https://developer.fastly.com/#kubernetes" rel="noopener noreferrer"&gt;watch their traffic tick up in real-time&lt;/a&gt; on our Developer Hub thanks to our Edge Observer dashboard. Binaries go brr!! &lt;/p&gt;

&lt;p&gt;—&lt;/p&gt;

&lt;p&gt;Oh! And if you know (or are!) a maintainer who needs help with scale, send them our way. &lt;a href="https://www.fastly.com/fast-forward" rel="noopener noreferrer"&gt;We're here to help.&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Now let’s go build the good internet — together ⏩&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>fastforward</category>
      <category>community</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Community Spotlight: Casey Kolderup, creator of Postmarks, has joined the W3C’s Social Web Community Group!</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Mon, 25 Sep 2023 19:18:27 +0000</pubDate>
      <link>https://dev.to/fastly/community-spotlight-casey-kolderup-creator-of-postmarks-has-joined-the-w3cs-social-web-community-group-bf8</link>
      <guid>https://dev.to/fastly/community-spotlight-casey-kolderup-creator-of-postmarks-has-joined-the-w3cs-social-web-community-group-bf8</guid>
      <description>&lt;p&gt;If you regularly read my stuff, you know I have a lot to say about how we can save the web, and &lt;a href="https://dev.to/fastly/the-timing-is-ripe-to-instill-trust-in-the-open-internet-and-why-this-must-get-done-22c9"&gt;what it will take to do it&lt;/a&gt;. We’re &lt;a href="https://en.wiktionary.org/wiki/blursed#:~:text=blursed%20(comparative%20more%20blursed%2C%20superlative,image)%20Simultaneously%20comforting%20and%20unsettling." rel="noopener noreferrer"&gt;blursed&lt;/a&gt; to live in interesting times — in the midst of not only a social media revolution, but a revolution of all mass media. One powerful tool we have to affect change in media is the technological systems that underpin it. Building systems that are fundamentally safe, that protect people, especially marginalized communities, is imperative to building a better web. One of those technological systems is &lt;a href="https://www.w3.org/TR/activitypub/" rel="noopener noreferrer"&gt;ActivityPub&lt;/a&gt;, the most widely used protocol in the burgeoning social web — the &lt;a href="https://fediverse.info/" rel="noopener noreferrer"&gt;Fediverse&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.w3.org/TR/activitypub/#:~:text=The%20ActivityPub%20protocol%20is%20a,for%20delivering%20notifications%20and%20content." rel="noopener noreferrer"&gt;W3C ActivityPub Recommendation&lt;/a&gt; was finalized on January 23, 2018, but due to re-invigorated interest in decentralized social media platforms that are not owned by corporations, the &lt;a href="https://www.w3.org/community/socialcg/2023/08/" rel="noopener noreferrer"&gt;Social Web Community Group (CG)&lt;/a&gt; has started meeting again. They plan to address issues and advance solutions facing the entire community, most recently at the &lt;a href="https://www.w3.org/2023/09/TPAC/" rel="noopener noreferrer"&gt;W3C’s annual gathering, TPAC&lt;/a&gt;. A fellow Fastly employee and all-around awesome human, Casey Kolderup, joined the Community Group’s meeting — I wanted to learn more about the community group, so I cornered Casey in the office kitchen* and asked them a few questions. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;[*...No cornering was needed to get Casey to answer my questions, they did so very graciously, and we work on opposite sides of the US, so there’s no kitchen... Anyway!]&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah&lt;/strong&gt;: When did you first get involved with the social web? What excites you about it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Casey&lt;/strong&gt;: I've been finding communities online since I was joining newsgroups and IRC when I was a pre-teen, but for this modern fediverse-enabled social web I've been instance-hopping around to various degrees since 2017, sometimes public, sometimes private. The fediverse is newly energizing to me because there are a few big platforms that can draw people in with broad utility like Mastodon and Pixelfed, but they can interoperate with things that are similar (comparing something like Firefish to Mastodon, for example) or that are fairly different (like Bookwyrm). Each community can decide on its own standards and also what they want to get out of the software they're using, which is really cool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah&lt;/strong&gt;: It’s wonderful, isn’t it? I think it reflects how humans form communities in person more than any social software I’ve seen before — well, maybe forums. So why did you want to join the social web community group?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Casey&lt;/strong&gt;: I think it's great that an organization like the W3C recognizes the lasting importance of the concept of a "social web" to the internet at large, and having a standards organization that has been working in tandem with both companies and also the indie web community seems like a great alternative to the turmoil we've experienced in the last few years over closed corporate platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah&lt;/strong&gt;: Completely. What do you want to accomplish by joining, and what are some of the biggest challenges the social web faces?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Casey&lt;/strong&gt;: For now I mostly want to learn more about what the folks who have already been doing the work are thinking about and try to understand where things are headed. I've spent some time in the past 12 months reading the ActivityPub spec and its associated documents &amp;amp; protocols, but it was with the perspective of an end goal in mind (making Postmarks work and getting basic interoperation with Mastodon in place). Understanding the larger and more forward-looking perspective seems important to me right now!&lt;/p&gt;

&lt;p&gt;As for challenges the social web faces, based on what I do have vision of right now, it's all stuff that I hope is, or will become, familiar to people who have worked more in the open source world than I have: How do we bring in a wide variety of backgrounds and perspectives, while prioritizing the safety of people who have been historically excluded &amp;amp; hurt? How do we take something that is so powerful and open-ended and enable developers to refocus it as packaged software that is useful to people &amp;amp; a joy to use?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah&lt;/strong&gt;: It’s a daunting task, but with thoughtful and brilliant people like you working on these issues, I believe we can overcome those challenges! I want to ask you about Postmarks but before I do — can you tell us what happened during the Social Web Community Group meeting at TPAC? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Casey&lt;/strong&gt;: While I unfortunately didn’t get to attend in person, the vast majority of the participants did, which seemed like a good opportunity for them to move forward on some discussions that have been in progress about a few upcoming proposals, mostly very specific details of the ActivityPub spec that some people feel would improve its clarity or usefulness–but as with any controlled standard, figuring out how best to revise is difficult. Can you make the revision non-breaking to existing implementations? If so, will that diminish the usefulness of the change?&lt;/p&gt;

&lt;p&gt;The other topic that came up was somewhat related: the idea to request a separate “working group”, which is a W3C designation that has different membership requirements and powers, was floated. The proposal as it has been made is structured around incorporating the errata mentioned above (and what sounds like some previous material of a similar scope) into the ActivityPub and ActivityStream specs; from what I understand it will need to be discussed more formally at a future meeting. Since the meeting, there’s been lively discussion about it among individual members of the group and the community at large on Mastodon and &lt;a href="https://socialhub.activitypub.rocks/t/scope-for-a-possible-new-socialweb-ap-as2-w3c-working-group-charter/3581" rel="noopener noreferrer"&gt;a thread for comments&lt;/a&gt; has been opened on the ActivityPub SocialHub forum.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah&lt;/strong&gt;: Interesting — sounds like the beginning of a long and winding road. like Now Postmarks! I know you just released it a week or so ago. Tell me more about it— what does it do, and are there any hidden features people should know about?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Casey&lt;/strong&gt;: Postmarks is a social bookmarking site that runs as a single-user website. You can use it like a Pinboard account or a linkblog, but you can also interact with the fediverse while you're doing so, sharing your content out in real-time to Mastodon users or watching for cool links from any ActivityPub platform that supports sharing URLs. It's still in its early days, but I've been experimenting with different versions of it for almost a year now and I'm now hoping to get more people involved so we can try to make it useful, fun, easy, and safe for as many people as possible.&lt;/p&gt;

&lt;p&gt;It's not a super "hidden" feature necessarily, but we don't really telegraph it on the site right now: every Postmarks site also publishes its own Atom feed! RSS and its related formats were things that really got me excited about the web around the time I moved from working on legacy/proprietary software to working on the open web. You can even run a Postmarks site without ever enabling its ActivityPub functionality but still make it easy to keep up with via its feed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah&lt;/strong&gt;: That is so cool! I can’t wait to play with it. &lt;em&gt;[Readers —  you can learn more about Postmarks &lt;a href="https://postmarks.glitch.me/about" rel="noopener noreferrer"&gt;here&lt;/a&gt; and find the repo &lt;a href="https://github.com/ckolderup/postmarks" rel="noopener noreferrer"&gt;here&lt;/a&gt;.]&lt;/em&gt; Last question — where should people go if they want to get involved in the Social Web CG too? What recommendations do you have for people who want to contribute?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Casey&lt;/strong&gt;: Lately I've been lurking on the &lt;a href="https://socialhub.activitypub.rocks" rel="noopener noreferrer"&gt;ActivityPub.Rocks SocialHub&lt;/a&gt;, which I did not know existed and wish I had during all this time that I was working on Postmarks! There's more general info on the &lt;a href="https://activitypub.rocks/" rel="noopener noreferrer"&gt;ActivityPub.Rocks&lt;/a&gt; site, and I cannot recommend enough Darius Kazemi's &lt;a href="https://tinysubversions.com/notes/reading-activitypub/" rel="noopener noreferrer"&gt;guide to learning about ActivityPub&lt;/a&gt; – it was this guide that helped me get from zero to working demo, and I'm slowly picking out all the code from Postmarks that I copied over from Darius's &lt;a href="https://github.com/dariusk/express-activitypub" rel="noopener noreferrer"&gt;demo server&lt;/a&gt; that he has graciously made available.&lt;/p&gt;

&lt;p&gt;—&lt;/p&gt;

&lt;p&gt;I’m excited to follow along with Casey as they help advance this important and impactful corner of the new web. If you want to follow along with them too, you can find them on their &lt;a href="https://motd.co" rel="noopener noreferrer"&gt;blog&lt;/a&gt;, &lt;a href="https://casey.kolderup.org" rel="noopener noreferrer"&gt;personal home page&lt;/a&gt;, or &lt;a href="https://sharetron.com/@casey" rel="noopener noreferrer"&gt;on Mastodon&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Now let’s go build the good internet — together ⏩&lt;/p&gt;

</description>
      <category>activitypub</category>
      <category>community</category>
      <category>fastforward</category>
      <category>writing</category>
    </item>
    <item>
      <title>Community Spotlight: Keeping open source free with Dirk Müller, openSUSE</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Mon, 18 Sep 2023 13:06:00 +0000</pubDate>
      <link>https://dev.to/fastly/community-spotlight-keeping-open-source-free-with-dirk-muller-opensuse-4io0</link>
      <guid>https://dev.to/fastly/community-spotlight-keeping-open-source-free-with-dirk-muller-opensuse-4io0</guid>
      <description>&lt;p&gt;There’s an undeniable shift happening in the open source community right now. A quick news search of &lt;code&gt;open source -AI&lt;/code&gt; returns headlines like, “licensing firestorm”, “open source vulnerability”, and “battle for the future”.  But the outlook isn’t all doom and gloom — especially when you talk to the people hacking away every day, for decades, to further the cause of free and open source software, and making the experience of using open source software more accessible for everyone. In fact, some of them might even say that the future looks bright!&lt;/p&gt;

&lt;p&gt;Recently, I had a chance to chat with just one of those people — introducing Dirk Müller, who works in &lt;a href="https://www.suse.com/" rel="noopener noreferrer"&gt;SUSE’s&lt;/a&gt; Linux group as Distinguished Engineer, and is a major contributor to &lt;a href="https://www.opensuse.org/" rel="noopener noreferrer"&gt;openSUSE&lt;/a&gt; Tumbleweed and other openSUSE or open source projects. There’s a lot of exciting things going on in the openSUSE community — they’ve augmented their mirror downloads infrastructure with Fastly, making downloads up to 20% faster in areas without reliable mirrors, and just a few weeks ago openSUSE announced they would &lt;a href="https://news.itsfoss.com/suse-rhel-fork/" rel="noopener noreferrer"&gt;fork Red Hat Enterprise Linux&lt;/a&gt; (RHEL) after Red Hat put access to the binaries for it &lt;a href="https://www.servethehome.com/ibm-red-hat-puts-rhel-source-behind-paywall/" rel="noopener noreferrer"&gt;behind a paywall&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I wanted to learn more about these two developments in the openSUSE community, and learn more about Dirk too, so that’s enough preamble. Here’s our chat! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: Thanks for chatting with me, Dirk! How did you get involved with open source and openSUSE?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dirk: I don't quite remember all of it, but I am pretty sure I got involved before the term "open source" was created in February 1998. Some time in the early 1990s I started using DKBTrace (which got superseded by &lt;a href="//https://%20en.wikipedia.org/wiki/POV-Ray"&gt;POV-Ray&lt;/a&gt; on my Amiga computer. The sources of POV-Ray were available and I started reading and modifying it for myself. I eagerly ported my changes over to newer versions of POV-Ray when they were released and followed the main developers closely. Back then it wasn't a thought of mine to start contributing any of my changes back.&lt;/p&gt;

&lt;p&gt;This changed with &lt;a href="https://en.wikipedia.org/wiki/GoldED" rel="noopener noreferrer"&gt;GoldED&lt;/a&gt;, which was a messaging application for &lt;a href="https://en.wikipedia.org/wiki/FidoNet" rel="noopener noreferrer"&gt;FidoNet&lt;/a&gt;. This was a Shareware application for MS-DOS that I enjoyed using, but it had a few bugs that annoyed me. As the source code wasn't available, I started modifying the actual executable by applying patches on the machine code level and eventually started mailing Odinn, the main author, my modifications. After a while, he started responding and asked me whether I wouldn't feel more comfortable with modifying the source code directly. So eventually he mailed me an archive of the complete sources and I contributed a few patches. He also mailed me a copy of the GNU General Public License (GPL) v2.0 and asked me to read it and think about helping with a Linux port of GoldED in order to release it in source form under GPL v2. Reading that license I got interested. I was unaware of Free Software and Linux back then; and it took me a while to find an early copy of Linux on a set of physical CDs in a local library (coincidentally those CDs, that I still own, were made by SUSE). I didn't have access to the Internet nor was there good documentation as easily searchable as it is today, so it took me forever to make progress on that effort. Also, Odinn and I made the mistake of developing it behind closed doors and only releasing it as open source when it was "ready", which took far too long, and only happened when we lost interest in the entire project. However, thanks to Odinn’s brave decision to open source it, others took over and the software is still in active use today (in a fork called GoldED+). Seeing that the project survived even though all of the original authors stopped, this "infected" and intrigued me with the principles of open source.&lt;/p&gt;

&lt;p&gt;When I started studying at university, I got in contact with a few folks that were starting to work on a free desktop environment called KDE and I became one of the very early contributors to it, for many years to follow. As a community contributor, I also sometimes helped SUSE to solve issues in KDE, as well as reported issues in the SUSE distribution, so I was eventually invited to join an "early beta tester" community of upcoming SUSE releases. Around a decade later, I joined SUSE shortly before the openSUSE project was announced. So in a way I have beencontributing to openSUSE from the very beginning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: Incredible, Linux on a CD! Okay, so let’s address it — SUSE announced they would fork RHEL. How has this affected your work? Where do you think Enterprise Linux goes from here?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It does not affect the openSUSE project in any way, also specifically not in regards to the download infrastructure or CDN rollout. There is no change in the openSUSE community mission or near term plans. We recently published a &lt;a href="https://en.opensuse.org/openSUSE:Faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I would hope that Enterprise Linux continues to open up and follow the community development models, as well as buyers updating their buying guidelines to prefer options that give you the choice rather than trying to lock you into a particular commercial offering. Customers look for reliable solutions; open source is the trustable, innovative and most sustainable approach to that need.&lt;/p&gt;

&lt;p&gt;Several years ago SUSE's Linux Enterprise Server (SLES), the flagship enterprise Linux product from SUSE, was donated to the openSUSE community. If you use openSUSE Leap today, you are running the exact identical binaries to those available to SLES customers and the sources and all updates are available publically available via the same route. We've observed an uptake of usage of both openSUSE, as well as SLES as part of that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: Should people be worried about what's going on?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whenever something surprising or worrisome happens, it is a good idea to look at what your values are and what new choices to make going forward. SUSE has added with their announcement a choice to the available options on the table. Everyone has the freedom to choose, and if in doubt, I think people should choose what gives them the most freedom. Publicly available, open source gives you a freedom that restricted or proprietary software cannot provide; and it comes with the backing of decades of experience behind it that has &lt;a href="//https://%20en.wikipedia.org/wiki/SUSE_Linux_Enterprise#Version_history"&gt;shaped "enterprise linux" since late October, 2000&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: Dirk, you’re the voice of reason! We almost always have a choice, and change is hard, but it’s always worthwhile to choose freedom. Thanks for putting my anxiety to rest.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now let’s talk about how you’re making the experience of using open source better for everyone. You previously built your own CDN to manage your download infrastructure. Can you explain how you did that? What were some benefits and drawbacks to that approach?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dirk: In the beginning, there were a few dozen (now a few hundred) mirrors of the openSUSE distribution on community sponsored mirrors (university FTP sites and similar). These are pulling new content at regular intervals via &lt;a href="https://en.wikipedia.org/wiki/Rsync" rel="noopener noreferrer"&gt;rsync&lt;/a&gt; from a staging server that the openSUSE infra team is operating. Users had a web page where they had to pick a mirror from and then hope their choice of mirror remained updated and available. That hope was not always justified.&lt;/p&gt;

&lt;p&gt;Eventually openSUSE users were loud enough so that an effort to address those issues started. We realized that these community-provided mirrors can be partial mirrors (e.g., the site admin by themselves decided to not mirror some parts of our trees), outdated or even occasionally down or overloaded, so a former colleague started a project &lt;a href="//https://%20en.opensuse.org/MirrorBrain"&gt;called MirrorBrain&lt;/a&gt; which got later revamped in a new project called &lt;a href="https://en.opensuse.org/MirrorCache" rel="noopener noreferrer"&gt;MirrorCache&lt;/a&gt;. Both are basically a two-tiers open source framework to use a few trustworthy, reliable redirector proxies to HTTP redirect to the existing, partial, and potentially outdated or unreliable mirrors all over the world. For that, it continuously keeps track of which mirrors are currently available, what part of the content they serve and how up to date they are. When a client is contacting the main redirector, it does a client IP geo-lookup and redirects the request to a nearest available mirror that has the file.&lt;/p&gt;

&lt;p&gt;This setup has served us fairly well, and even with the addition of the Fastly CDN remains in place for the foreseeable future. The addition of Fastly is going to help us in three areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We more frequently ran into a situation when a client was requesting a particularly new file, there was no mirror available (because it hasn't been mirrored yet by any of the mirrors that we do not have direct influence over) or no good mirror nearby. In both cases we ended up serving the file from the main redirector, which took away the bandwidth that was shared with the mirrors who tried to fetch the updates themselves, so that we could leverage the mirror to offload from our bandwidth use. This often caused hours-to-days-long problems when particularly large snapshots of our premier rolling openSUSE Tumbleweed distributions were released, as users jumped on it before any mirror caught up on it.&lt;/li&gt;
&lt;li&gt;We realized we have in some areas of the world an abundance of fast, reliable mirrors, while in other areas where we have emerging users we have no mirrors at all or only somewhat limited mirrors. Fastly's large and well balanced CDN network is going to help us with serving those users better.&lt;/li&gt;
&lt;li&gt;Due to the growing popularity of the project, our primary redirector proxies are about to hit scalability limits due to the number of incoming requests that they need to process. The caching features of Fastly's CDN will help us with both reducing the incoming request rate as well as cutting down their latency significantly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We're in a cautious rollout of the CDN, so both systems are currently in use in parallel. We see the benefits of the ability to offload a lot of load peaks to the CDN and will continue to refine the usage over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: What prompted you to want to switch to using Fastly? Any improvements you've seen in performance so far? Any other benefits?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We've done a set of controlled experiments with the Fastly trial program from various locations on the globe, and Fastly's CDN helped us to reduce request-handling latency in several regions by a factor of 5 and more. Due to a variety of reasons, the "redirect latency" is very visible for end users, so we are confident that this leads to a better experience for our users.&lt;/p&gt;

&lt;p&gt;Also, as it improved the availability, reliability and geo-distribution of our mirrors, for many "remote" locations Fastly provides a significantly better bandwidth for our users when files are served from the Fastly CDN cache directly, although those effects are harder to quantify, in many locations that improved transfer times by about 20%, with bigger effects in locations where we, so far, had no mirrors at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: Twenty percent improvement! That’s great. I can’t wait to hear what you build on Fastly next. Where should people go if they want to get involved with openSUSE?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="]https://www.opensuse.org/"&gt;openSUSE.org&lt;/a&gt; has links on how to get in touch with the openSUSE community. &lt;a href="https://news.opensuse.org/" rel="noopener noreferrer"&gt;news.opensuse.org&lt;/a&gt; is a good place to start with just following the news of the project. &lt;a href="https://news.opensuse.org/2023/08/09/today-os-birthday/" rel="noopener noreferrer"&gt;Coincidentally it is 18 years of openSUSE project this month :).&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;—&lt;/p&gt;

&lt;p&gt;Happy birthday, openSUSE!! Cheers to 18 more years of free as in freedom.&lt;/p&gt;

&lt;p&gt;Now let’s go build the good internet — together ⏩&lt;/p&gt;

</description>
      <category>fastforward</category>
      <category>opensource</category>
      <category>community</category>
      <category>writing</category>
    </item>
    <item>
      <title>I believe we can still save the web 💞</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Thu, 14 Sep 2023 21:00:58 +0000</pubDate>
      <link>https://dev.to/fastly/the-timing-is-ripe-to-instill-trust-in-the-open-internet-and-why-this-must-get-done-22c9</link>
      <guid>https://dev.to/fastly/the-timing-is-ripe-to-instill-trust-in-the-open-internet-and-why-this-must-get-done-22c9</guid>
      <description>&lt;p&gt;In today’s digital age, trust has become a cornerstone of building a better Internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preserving privacy for a greater good
&lt;/h2&gt;

&lt;p&gt;The Internet was designed as a platform for peer research, not for the vast scale and diverse uses we see today. Over the decades, it’s grown in a way that has left it with many inherent vulnerabilities.&lt;/p&gt;

&lt;p&gt;These vulnerabilities, not borne out of malice, were the result of choices made with limited information available at the time.&lt;/p&gt;

&lt;p&gt;Fastly addresses these technological vulnerabilities by utilizing tools like &lt;a href="https://dev.to/fastly/why-we-love-rust-ferris-is-only-part-of-it-53hc"&gt;Rust&lt;/a&gt; and &lt;a href="https://docs.fastly.com/products/compute-at-edge" rel="noopener noreferrer"&gt;WebAssembly&lt;/a&gt;. Leveraging WebAssembly’s sandboxing capabilities allows us to isolate potential risks, while Rust provides the memory safety essential for our modern internet applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Taming the human side
&lt;/h2&gt;

&lt;p&gt;But the challenges facing the internet don’t just lie in its technical foundations. The societal aspects of technology, the human side, have grown equally unruly.&lt;/p&gt;

&lt;p&gt;The trust deficit we experience today is palpable. People are wary of technology and its creators. Our major platforms, tools integral to modern life, are now used as vehicles for misinformation and chaos. A disconnect exists between those building technology and its end-users, often exacerbated by financial pressures and lack of proper oversight in the tech industry.&lt;/p&gt;

&lt;p&gt;Despite this bleak landscape, there’s hope. We possess the tools to craft a better, more trustworthy internet. As we embark on a new era for the web, the foundation lies not just in what we build, but how we build.&lt;/p&gt;

&lt;p&gt;The ethos? Openness, transparency, and collaboration. These principles drive better technological outcomes, ensuring an improved experience for all web users.&lt;/p&gt;

&lt;p&gt;For many, open source stands as the embodiment of these ideals. While not all technology must be open source, perhaps it should be developed with the same spirit. Trust, after all, is foundational to the open source model. It hinges on community faith in institutions, and this trust, once broken, is painstaking to restore.&lt;/p&gt;

&lt;h2&gt;
  
  
  Transparent approach
&lt;/h2&gt;

&lt;p&gt;Sharing a couple of personal experiences from my work in the open source community illustrates this concept. When I joined Fastly, I had the chance to recommit $50 million towards supporting open-source projects during the challenging times of the pandemic.&lt;/p&gt;

&lt;p&gt;However, bureaucracy and inefficiencies had muddled our vision. The decision to pause our program in order to reimagine it was difficult and led to criticism. Yet, by taking a transparent approach, seeking feedback, and re-building collaboratively, we restored our trust within our open source community, &lt;a href="https://www.fastly.com/fast-forward" rel="noopener noreferrer"&gt;Fast Forward&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Another enlightening experience emerged from my home instance, Fosstodon, on the decentralized social web (aka &lt;a href="https://www.fastly.com/lp/fediverse/" rel="noopener noreferrer"&gt;The Fediverse&lt;/a&gt;). Recently, a controversy arose due to their English-only policy, seen by many as exclusionary.&lt;/p&gt;

&lt;p&gt;However, in response to the community’s concerns, Fosstodon’s administrators put the policy to a public vote. By opting for an open and collective decision-making process, they were able to retain the trust of their vast community, including mine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved experiences
&lt;/h2&gt;

&lt;p&gt;These stories serve as potent reminders. Trust in the technology realm is essential, and achieving it requires an open-source mindset. This approach calls for inclusion, clear communication, and cooperation. By granting all stakeholders not just a seat but a voice at the table, we create superior technology for users, preserving our communities’ vitality and improving overall web experiences.&lt;/p&gt;

&lt;p&gt;Our ultimate goal is straightforward: develop both technical and human-centric systems that are intrinsically beneficial and trustworthy. From the core programming to the communities we build, let’s champion an Internet that stands as a beacon of trust and collaboration.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>community</category>
      <category>writing</category>
      <category>fastforward</category>
    </item>
    <item>
      <title>It’s been a wild week for the open social web</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Fri, 07 Jul 2023 22:53:27 +0000</pubDate>
      <link>https://dev.to/fastly/its-been-a-wild-week-for-the-open-social-web-2c8o</link>
      <guid>https://dev.to/fastly/its-been-a-wild-week-for-the-open-social-web-2c8o</guid>
      <description>&lt;p&gt;Eight months since the &lt;a href="https://arxiv.org/abs/2302.14294" rel="noopener noreferrer"&gt;Migration&lt;/a&gt; started and this week has been one of the most eventful for the Fediverse since. In case you missed it, Threads, by Meta, &lt;a href="https://www.socialmediatoday.com/news/meta-launches-threads-provides-insights-coming-elements/685104/" rel="noopener noreferrer"&gt;was released&lt;/a&gt; in the US, &lt;a href="https://techcrunch.com/2023/07/05/adam-mosseri-says-metas-threads-app-wont-have-activitypub-support-at-launch/" rel="noopener noreferrer"&gt;without ActivityPub support&lt;/a&gt; at this time, and has already amassed over &lt;a href="https://www.engadget.com/threads-gained-10-million-new-users-in-seven-hours-090838140.html" rel="noopener noreferrer"&gt;30 million users&lt;/a&gt; in the space of a couple days. &lt;/p&gt;

&lt;p&gt;And on top of that, Twitter &lt;a href="https://www.reuters.com/technology/what-does-twitter-rate-limit-exceeded-mean-users-2023-07-03/" rel="noopener noreferrer"&gt;introduced view rate limits&lt;/a&gt; to "address extreme levels of data scraping and system manipulation". The rate limits caused a surge in new account sign ups and a huge increase in traffic to Fediverse instances over the weekend.&lt;/p&gt;

&lt;p&gt;Fastly is committed to helping the Fediverse thrive. We care deeply about the &lt;a href="https://www.fastly.com/blog/fastly-and-the-fediverse-pt-1" rel="noopener noreferrer"&gt;open web&lt;/a&gt;, and are working directly with oss projects like &lt;a href="https://dev.to/fastly/welcome-mastodon-to-fast-forward-11g4?_fsi=AZRjBqoK&amp;amp;_fsi=AZRjBqoK"&gt;Mastodon&lt;/a&gt; and &lt;a href="https://kbin.social/m/kbinMeta/t/68541" rel="noopener noreferrer"&gt;Kbin&lt;/a&gt;, instance admins, and more to help them scale. &lt;/p&gt;

&lt;p&gt;Nobody knows exactly what Threads means for the Fediverse, but we all know it means new challenges for scaling the open social web. So here’s what we know we can do right now: &lt;/p&gt;

&lt;h3&gt;
  
  
  For all Fedizens:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Don’t panic!&lt;/strong&gt; Very little is known at this time about how Threads will implement ActivityPub, or what federating with Threads will look like, so stay engaged and thoughtful, but don’t worry too much. We can focus instead on what new possibilities exist.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be kind.&lt;/strong&gt; This is a scary and exciting time for the Fediverse. It’s been almost a year with very little rest for the developers, system administrators, and community managers who keep it running. The people building this place are tired, so be nice. They’re carrying a lot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lend a hand.&lt;/strong&gt; There are so many ways you can contribute to, and help build, the social web. If you can code — &lt;a href="https://dev.to/andypiper/thoughts-around-fediverse-developer-communities-cb6"&gt;great&lt;/a&gt;! But that’s far from the only way to contribute. You can volunteer or donate your time or money to your instance admin or to a Fediverse project like Mastodon, Kbin, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  For users:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Vote with your feet and voice.&lt;/strong&gt; I love this recommendation from &lt;a href="https://www.wired.com/author/lily-hay-newman" rel="noopener noreferrer"&gt;Lily Hay Newman&lt;/a&gt; at Wired — &lt;a href="https://www.wired.com/story/meta-threads-privacy-decentralization/" rel="noopener noreferrer"&gt;Don't Join Threads—Make Threads Join You&lt;/a&gt;. If you have concerns about the way Threads is building for the Fediverse, let them know and don’t sign up. Or if you have concerns about the way your instance admin is talking about Threads, move to a new instance. That’s what’s so amazing about the Fediverse; you are in control. &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  For instance admins:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;You’re not alone.&lt;/strong&gt; If you’re an instance admin that’s worried about the firehose of traffic and new users that federating with Threads will bring, just know that you’re not alone. There’s a supportive community of server owners in the Mastodon Discord (access to the Discord is a &lt;a href="https://www.patreon.com/mastodon" rel="noopener noreferrer"&gt;perk for Patreon donors&lt;/a&gt;), a &lt;a href="https://fedidevs.org/" rel="noopener noreferrer"&gt;network for Fediverse developers&lt;/a&gt; with a Matrix chat, and millions of people across the Fediverse to help and support you. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write a federation policy and communicate it.&lt;/strong&gt; If you don’t have a repeatable policy about the kind of instances you will and won’t federate with, now is as good a time as yesterday to write one. (Hachyderm &lt;a href="https://community.hachyderm.io/blog/2023/07/07/a-minute-from-the-moderators/#how-hachyderm-handles-federating-with-other-instances" rel="noopener noreferrer"&gt;published their thoughts&lt;/a&gt; on how they choose who to federate with today, and Mastodon has their &lt;a href="https://joinmastodon.org/covenant" rel="noopener noreferrer"&gt;Server Covenant&lt;/a&gt; too. Great policies to be inspired by!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Let us know if we can help.&lt;/strong&gt; Shameless plug, but if you read this you probably know that I lead &lt;a href="https://www.fastly.com/fast-forward" rel="noopener noreferrer"&gt;Fast Forward&lt;/a&gt;, Fastly’s open source support program. Fastly is built to handle the traffic surges that come with scale! And&lt;a href="https://www.fastly.com/lp/fediverse/" rel="noopener noreferrer"&gt; we’re already helping&lt;/a&gt; some of the Fediverse’s largest instances. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Just some quick thoughts from me to close out a stressful, busy week! Get some rest this weekend, remember to drink water, and be excellent to each other. :) &lt;/p&gt;

</description>
      <category>fediverse</category>
      <category>community</category>
      <category>opensource</category>
      <category>fastforward</category>
    </item>
    <item>
      <title>Community Spotlight: Una Thompson is Making the Fediverse More Manageable with Jortage</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Thu, 11 May 2023 16:29:23 +0000</pubDate>
      <link>https://dev.to/fastly/community-spotlight-una-thompson-is-making-the-fediverse-more-manageable-with-jortage-34gk</link>
      <guid>https://dev.to/fastly/community-spotlight-una-thompson-is-making-the-fediverse-more-manageable-with-jortage-34gk</guid>
      <description>&lt;p&gt;Decentralization is what makes so many of the Fediverse’s unique features possible. And it can also make running an instance totally unmanageable. But Fast Forward program member and Jortage maintainer, Una Thompson is using Fastly to help solve one issue that arises with decentralization: content duplication. We wanted to learn more about the issue and how Una is solving it, so we sat down with her to learn more.&lt;/p&gt;




&lt;p&gt;The Fediverse is a wonderful place — it enables small but interconnected communities to moderate themselves and choose with whom they associate. It gives users the freedom to own their data and migrate between instances. But with the freedom that decentralized social networks provide, there are also tradeoffs. &lt;/p&gt;

&lt;p&gt;Federation ends up flinging a lot of content, i.e. media objects, back and forth between servers. Whenever someone posts, their instance pushes the status and objects to the instances of everyone who follows the poster, and all those instances download it. Each instance then separately uploads to its storage provider, duplicating it by the number of the poster’s followers.&lt;/p&gt;

&lt;p&gt;It’s a tough problem, and Una has solved it in a really neat way with Jortage. It's a communal project that provides object storage and hosting and deduplicates object storage for pool members, reducing everyone's overall storage costs. To ensure media stays fast despite the project being used on over 70 instances all over the world, Jortage utilizes Fastly to accelerate and cache downloads. With Fastly, Jortage has avoided investing in their own global servers, keeping costs even lower, and makes the experience of cruising #CatsOfMastodon faster and more engaging. :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: What initially inspired you to create Jortage?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Una: It's one of those things that just kind of comes to you while doing something else; at some point, I wound up thinking about the way media federation works and had a "hmm, there's no way that'd actually work" idea, prototyped it, and it worked great. So I scaled it up and got some other instance admins in on it, and the rest is history.&lt;/p&gt;

&lt;p&gt;At one point I got a DM from Gargron [Eugen Rochko, CEO of Mastodon] asking how on earth Jortage actually works, as FFmpeg and ImageMagick (used by Mastodon to process incoming media) are nondeterministic — honestly, I don't know. We shouldn't be getting results this good. :P&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: So how does it work?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Una: The basic way the storage pool works is that every uploaded file is hashed, and a MariaDB database stores a mapping of hashes to paths; new files are then uploaded to our backend storage provider, Wasabi, using the hash as a filename. Requests to pool.jortage.com​ look up the path in the DB, and if a match is found, return a redirect to blob.jortage.com​ with the relevant hash. Pool points to a server I run with poolmgr, and blob just points directly to Wasabi.&lt;/p&gt;

&lt;p&gt;The storage pool CDN connection was pretty simple. The most complex thing in my Fastly config is the song and dance involved in doing a redirect for the root path, and it's highly specific to the storage pool. I also had to enable &lt;a href="https://developer.fastly.com/reference/vcl/variables/segmented-caching/" rel="noopener noreferrer"&gt;Segmented Caching&lt;/a&gt; to make Jortage work with videos, as Mastodon’s upload limit is 40MB.   &lt;/p&gt;

&lt;p&gt;The software that powers Jortage is the custom &lt;a href="https://github.com/jortage/poolmgr" rel="noopener noreferrer"&gt;poolmgr&lt;/a&gt;. It’s very much a “standing on the shoulders of giants” project. Without &lt;a href="https://github.com/gaul/s3proxy" rel="noopener noreferrer"&gt;S3Proxy &lt;/a&gt; and &lt;a href="https://jclouds.apache.org/" rel="noopener noreferrer"&gt;Apache JClouds&lt;/a&gt;, it would've been a much much tougher project to pull off. So poolmgr exposes an S3-compatible API that Mastodon (as well as Pleroma, Akkoma, Misskey, etc) talks to. However, the vast majority of storage on a Mastodon instance goes to its S3 provider, so ~70 instances are feeling the benefit of Fastly regardless. (Some rough benchmarks I did while waiting for DNS propagation suggest that Fastly’s total download time is 2-5× faster than our previous vendor, including uncached requests.)&lt;/p&gt;

&lt;p&gt;The heaviest parts of Mastodon can't really be solved with a CDN; things like the job manager (Sidekiq) and federation requests are actively made worse by a CDN — just look at all the instances running behind Cloudflare that regularly have mysterious federation issues. Media is all the big files, though.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: The heaviest bits of federation — do you think there is a solution to make federation requests and Sidekiq run more efficiently?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Una: I don't think there's any web-based service you can point to today and call "efficient" without a lot of asterisks. "RESTful" services that sling JSON back and forth are not efficient by any definition of the word. I'm certainly not an expert on ActivityPub, but in general, it’s not what you would call an efficient protocol. &lt;/p&gt;

&lt;p&gt;Making a single post causes your instance to send that post to every instance that's following you. That, in turn, causes those instances to make a request back to your instance for the thread context, which then can result in more requests for posts. They'll also check for your current profile information, which will cause them to load the links in your profile looking for rel=me links to process verification. And, of course, if there's attachments, they all get downloaded. All of these create jobs in the Sidekiq queue, which in the default Mastodon config has a very low number of threads and runs in a single process. It's not even well-documented that multi-process Sidekiq is possible — a lot of people heard of for the first time via this &lt;a href="https://nora.codes/post/scaling-mastodon-in-the-face-of-an-exodus/" rel="noopener noreferrer"&gt;blog post by Nora Tindall&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Of course that itself adds overhead (Sidekiq uses dizzying amounts of memory), so I've been interested in the TruffleRuby solution to keep it all in one process and provide a better GC.&lt;/p&gt;

&lt;p&gt;If that back-and-forth request explosion could be replaced with eager data pushing in the initial federation it'd likely help. There's another Jortage project related to the link resolution issue, called &lt;a href="https://jort.link/" rel="noopener noreferrer"&gt;jort.link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Some of it has to do with the fact it runs on the Ruby interpreter, and one of my "whenever I get a chance" projects is to try running Mastodon under GraalVM via TruffleRuby. I feel this will be a major win for Sidekiq, as it introduces JIT compilation and true multithreading. A global interpreter lock makes parallelism very shaky in vanilla Ruby (also an issue with vanilla Python, and one of the main benefits of PyPy). &lt;/p&gt;

&lt;p&gt;The centralization inherent to Jortage is a negative for sustainability but running truly independent services that scale costs a fortune.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hannah: What are your tips for other devs who want to set up an instance?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Una: Think long and hard about it. Running an instance is setting up a community, and running a community is a long (essentially endless) commitment, and doing proper moderation is very hard. I run a closed instance, and you don't have to look far to see all the stories of people who went into running a public instance without being prepared for what that means.&lt;/p&gt;




&lt;p&gt;If you want to learn more about Jortage or connect with Una, visit Jortage’s &lt;a href="https://jortage.com/" rel="noopener noreferrer"&gt;homepage&lt;/a&gt; and &lt;a href="https://pub.mastodon.sleeping.town/@unascribed" rel="noopener noreferrer"&gt;reach out on Fedi&lt;/a&gt; to say hi.&lt;/p&gt;

</description>
      <category>fastforward</category>
      <category>fediverse</category>
      <category>community</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Mastodon has 10 million users! 🎉</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Tue, 28 Mar 2023 13:31:08 +0000</pubDate>
      <link>https://dev.to/fastly/mastodon-has-10-million-users-ieo</link>
      <guid>https://dev.to/fastly/mastodon-has-10-million-users-ieo</guid>
      <description>&lt;h2&gt;
  
  
  Here’s what it will take to get to 20 million.
&lt;/h2&gt;

&lt;p&gt;Let me start by saying that I’m a relative newcomer to the Fediverse, as you can see on my &lt;a href="https://fosstodon.org/@haubles" rel="noopener noreferrer"&gt;profile&lt;/a&gt;. Many people (and institutions, NGOs, governments, and more) have been thinking about the space—and the technologies underpinning it—for much longer than I have. Most of what I’ll be doing here is pointing to and surfacing their fantastic work.&lt;/p&gt;

&lt;p&gt;What I know really well is community and communal effort. Through my work managing Fastly’s open source program, &lt;a href="https://www.fastly.com/fast-forward" rel="noopener noreferrer"&gt;Fast Forward&lt;/a&gt;, I spend most of my time learning about and supporting some of the world's most successful and long-standing communities. They work together, often across time zones and languages, sometimes with no incentive besides their passion and determination to improve the world or solve problems. &lt;/p&gt;

&lt;p&gt;The Mastodon and Fediverse community is incredible. (&lt;a href="https://dev.to/fastly/welcome-mastodon-to-fast-forward-11g4"&gt;I’ve tipped my hat to Mastodon's community before.&lt;/a&gt;) I mean the people who gather in these spaces to talk, share, laugh, and learn together, and of course, those who build and run the servers, platforms, and software we use to navigate the Fediverse. &lt;/p&gt;

&lt;p&gt;But open source technologies and communities fragment. They’re supposed to. It’s the direct result of the freedom open source represents. Someone decides they don’t like the direction of a project, so they fork it and set off in a different direction. It’s wonderful, but fragmentation is a pitfall too. It can hamper progress and reduce impact. &lt;/p&gt;

&lt;h4&gt;
  
  
  The technology and protocols of the Fediverse are decentralized — our efforts to build and improve them don’t have to be.
&lt;/h4&gt;

&lt;p&gt;As the community and user base continue to grow, we must be deliberate in staying organized and working together. We need to share ideas, solutions, and resources. Not to stave off fragmentation completely but to use resources efficiently and to make our work better. There are brilliant minds in this community and many passionate people who want to fix existing technical and policy issues. If we work together, we can solve them. &lt;/p&gt;

&lt;h2&gt;
  
  
  Now to cover what needs to be improved and fixed.
&lt;/h2&gt;

&lt;p&gt;A few days ago, I posted on Mastodon asking my friends there to share what they thought needed to improve to grow the Fediverse. It was a great &lt;a href="https://fosstodon.org/@haubles/110057767563810173" rel="noopener noreferrer"&gt;thread&lt;/a&gt;; I have really smart friends! Before I get into their thoughts and share some of my own, I want to address a comment I got a couple of times because it’s a valid point, and I want to be clear about my intentions. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgff8kik7ja439fal6ap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhgff8kik7ja439fal6ap.png" alt="Ben H-R @tinlids@mefi.social: @haubles @mastodonusercount counterpoint: why do you assume growth is good and desirable in itself?" width="800" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don’t have an agenda here except to be helpful however I can. My agenda is not growth for growth’s sake. I don’t think that’s good or desirable. I’m excited by the idea of more people finding the community and kindness I've found on the Fediverse too. (I haven’t felt so at home in an online space since I got my start in community posting on the old &lt;a href="https://cad-comic.com/the-forums/" rel="noopener noreferrer"&gt;Ctrl+Alt+Del webcomic forums&lt;/a&gt;.) I think the community-first and welcoming nature of the Fediverse can be maintained, even at a greater scale, if growth occurs thoughtfully and intentionally.&lt;/p&gt;

&lt;h4&gt;
  
  
  To me, that’s why we need to make changes and improve — to build systems and spaces that are safe, trustworthy, and delightful by default, so scale isn’t scary.
&lt;/h4&gt;

&lt;p&gt;Here’s what my fellow fediversizens (let’s workshop that…) thought about growing the Fediverse, along with some of my thoughts and links to great work that is in process, and tangential or related work that could inform the Fediverse’s future. &lt;/p&gt;

&lt;h3&gt;
  
  
  Think beyond Mastodon
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9mwcavhbwnxh9q8y7611.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9mwcavhbwnxh9q8y7611.png" alt="Yodan @yodan@pleroma.yodan.ninja: @haubles @mastodonusercount We need to make the Fediverse more diverse and not centered around Mastodon. More and more services are Mastodon compatible and not ActivityPub compatible. We need to refocus the Fediverse on the common protocol and not on the Mastodon API." width="800" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rather fitting this was shared by someone posting on &lt;a href="https://pleroma.social/" rel="noopener noreferrer"&gt;Pleroma&lt;/a&gt; 😂— it’s so true! Mastodon is the most popular software for navigating the Fediverse, but it’s not the only one, and it’s not based on the only federated web protocol (&lt;a href="https://www.w3.org/TR/activitypub/" rel="noopener noreferrer"&gt;ActivityPub&lt;/a&gt;) either. You can check out some of the other software and platforms on &lt;a href="https://fediverse.party/" rel="noopener noreferrer"&gt;Fediverse.party&lt;/a&gt;. (And if you don’t know how the Fediverse works, you can learn about it on &lt;a href="https://joinfediverse.wiki/Main_Page/Fancy" rel="noopener noreferrer"&gt;JoinFediverse.wiki&lt;/a&gt;, or check out this post from our &lt;a href="https://www.fastly.com/blog/fastly-and-the-fediverse-pt-1" rel="noopener noreferrer"&gt;company blog&lt;/a&gt; (there’s info about really neat projects being forked and built on top of Mastodon itself in there, too).&lt;/p&gt;

&lt;p&gt;Actually, one of my favorite things about the Fediverse (did you know RSS &amp;amp; email are part of the Fediverse too?) is &lt;a href="https://indieweb.org/Webmention" rel="noopener noreferrer"&gt;Webmentions&lt;/a&gt;. You can see it in action over on the &lt;a href="https://opensource.org/" rel="noopener noreferrer"&gt;Open Source Initiative&lt;/a&gt;’s blog, &lt;a href="https://blog.opensource.org/" rel="noopener noreferrer"&gt;Voices of Open Source&lt;/a&gt;, &lt;a href="https://blog.opensource.org/osi-to-hold-in-person-license-clinic-workshop/#webmention-form" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Verification
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwrh3enio7qpb4zjm3fg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjwrh3enio7qpb4zjm3fg.png" alt="Jeffrey T. Davis @jtds@sandiegourbanists.com: @haubles @mastodonusercount@mastodon.social Not necessarily the most important, but most clear cut to me: better verification. The existing " width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think this is crucial for the Fediverse to become a “trusted news source” in the same way Twitter was, or for journalists, politicians, and other people in the public eye to feel safe on it. They need to be able to prove that they are who they say they are, to give their followers reassurance that they’re authentic, and to disavow impersonators. And what’s more, we all need to trust that system for it to work. &lt;/p&gt;

&lt;p&gt;I’m unaware of any work being done specifically in this space for the Fediverse (if you are, I’d love to hear about it!). My teammate &lt;a href="https://cute.is/@keith" rel="noopener noreferrer"&gt;Keith Kurson&lt;/a&gt; told me about a new project happening in California right now called the &lt;a href="https://cdt.ca.gov/digitalid/" rel="noopener noreferrer"&gt;Digital Identity Project&lt;/a&gt;. There’s a broader effort, supported by many key players in the tech space, &lt;a href="https://id2020.org/" rel="noopener noreferrer"&gt;ID2020&lt;/a&gt;, to promote the use of digital IDs too. For those who want their Fediverse identity to be tied to their IRL identity, linking their digital ID could be an option. But this option might be years out before it’s feasible to implement. What can be done now?&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04e7l24m45mxy1soyaih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04e7l24m45mxy1soyaih.png" alt="jaz @jaz@toot.wales: @haubles @mastodonusercount I'm working with a group of folks to build a moderation at scale support system, including moderation as a service. This will need some tooling to allow for federated actions." width="800" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The moderation issue is crucial to any public digital and social space. And the capacity for the community to moderate must keep pace with the size of the community. My mind immediately goes to &lt;a href="https://www.wired.com/story/facebooks-global-reach-exceeds-linguistic-grasp/" rel="noopener noreferrer"&gt;Facebook’s (now Meta’s) failure to moderate their communities at scale&lt;/a&gt;. In some countries, they don’t have enough, if any, human moderators that speak the local language or understand local customs or idioms. We can’t let that happen here. &lt;/p&gt;

&lt;p&gt;I’m really excited to learn more about what &lt;a href="https://toot.wales/@jaz" rel="noopener noreferrer"&gt;Jaz&lt;/a&gt; is working on. (Reach out if you’re interested too — and let’s support the work as we can!) Education for moderators and instance admins will be crucial. A wonderful aspect of the Fediverse is that moderation scales alongside the community because each instance admin takes on the responsibility of moderating their community. And users can switch instances if the moderation policies don’t suit them.(That being said, I know the recent explosive user growth of users has been challenging for many admins. If you can, donate to your instance or volunteer as a mod!)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqqg3vvnmw8rsw58yt4cf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqqg3vvnmw8rsw58yt4cf.png" alt="Izzie @IzzieIslandheart@me.dm: @haubles @mastodonusercount  The biggest and most important thing that comes to mind for me is finding ways to ensure that actual humans maintain, moderate, and make changes to their instances across the fediverse. There is the option for bot accounts on at least some of them now. Bots in and of themselves aren't a bad thing, but using them for EVERYTHING is a guaranteed way to send the service down the enshittification spiral social media is in. Humans have to put in the bulk of the work." width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And I wanted to mention Izzie’s comment here because it’s a key failure of Meta’s scaling too fast without intention. We can’t trust AI (yet, if ever) to do this work for us. &lt;a href="https://www.nist.gov/news-events/news/2022/03/theres-more-ai-bias-biased-data-nist-report-highlights" rel="noopener noreferrer"&gt;AI reflects the dataset it was trained on, and therefore our systemic and societal biases&lt;/a&gt;. We must have human controls for moderation that are based in local communities and have knowledge of local languages, customs, and events. &lt;/p&gt;

&lt;h4&gt;
  
  
  Trust and Community
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsc3qlmu0qcohplnzmho.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsc3qlmu0qcohplnzmho.png" alt="Boris Mann @bmann@social.coop: @haubles normalize organizations, governments, cities and more to run their own servers — just like running your own website. Tooling and systems from managed hosting and more to support many more long tail organizations to do this safely and securely." width="800" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25e2qx0mjageyii80u66.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25e2qx0mjageyii80u66.png" alt="Nacho @nacho@social.tchncs.de: @haubles @bmann Here an interesting project to provide university students with mastodon accounts from the Netherlands:" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will be interesting to see how local and national governments, educational institutions, NGOs, and companies continue to show up in the Fediverse. Many examples of those types of organizations are already spinning up Mastodon instances. I will list them here (let me know if I missed any!) &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The German federal government: &lt;a href="https://social.bund.de/about" rel="noopener noreferrer"&gt;https://social.bund.de/about&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;The European Union: &lt;a href="https://social.network.europa.eu/about" rel="noopener noreferrer"&gt;https://social.network.europa.eu/about&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;The City of Amsterdam: &lt;a href="https://social.amsterdam.nl/about" rel="noopener noreferrer"&gt;https://social.amsterdam.nl/about&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;SURF, the Dutch IT cooperative for education and research: &lt;a href="https://social.edu.nl/@SURF" rel="noopener noreferrer"&gt;https://social.edu.nl/@SURF&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Internet Archive: &lt;a href="https://mastodon.archive.org/@internetarchive" rel="noopener noreferrer"&gt;https://mastodon.archive.org/@internetarchive&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Mozilla: &lt;a href="https://mastodon.social/@mozilla" rel="noopener noreferrer"&gt;https://mastodon.social/@mozilla&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Medium: &lt;a href="https://me.dm/@medium" rel="noopener noreferrer"&gt;https://me.dm/@medium&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Flipboard: &lt;a href="https://flipboard.social/@Flipboard" rel="noopener noreferrer"&gt;https://flipboard.social/@Flipboard&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Vivaldi: &lt;a href="https://social.vivaldi.net/about" rel="noopener noreferrer"&gt;https://social.vivaldi.net/about&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The presence of governments and such organizations on Mastodon further legitimize the platform. They represent a trusted communication channel for their citizens, constituents, and fans by linking their web and social presence. And they help build trust in representatives of those institutions by tying the individual’s Mastodon presence to the organization’s instance.&lt;/p&gt;

&lt;p&gt;What’s more, these instances serve as community gathering points. I’m imagining a future where city governments (or beyond!) could offer community groups, in addition to civil services, a profile on their instance so that the instance’s local timeline becomes a gathering place for the community to share resources, events, and more — a true, digital town square. &lt;/p&gt;

&lt;h3&gt;
  
  
  Discoverability &amp;amp; Growth
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jskke98jjj6jsvczkxl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jskke98jjj6jsvczkxl.png" alt="Danilo @danilo@hachyderm.io: @haubles We need more experts and activists to join and maintain a baseline for what is real and important, building a backbone for meaningful pursuit of consensus. This was part of what gave twitter power, and made it such a productive commons for discussion and community. If only for a moment." width="800" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fze70kwjjn1gllve3kj8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fze70kwjjn1gllve3kj8p.png" alt="Eric Gilmour @erictgilmour@mstdn.ca: @haubles @mastodonusercount We need the main content creators to make the switch. I still check out Twitter because there's people on there creating unique content I can't get elsewhere. Also, discoverability needs to be improved, make it easier to find people you might like" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I heard from several people that they’re having difficulty finding people and content that interests them. And some people they’d really like to see on the Fediverse aren’t there yet. As &lt;a href="https://hachyderm.io/@danilo" rel="noopener noreferrer"&gt;Danilo&lt;/a&gt; points out further down in the thread, there are some growth-hack tactics that could be used to help bring entire communities over to the space. “If you want specialized groups to stick it helps to give them a shared onboarding experience, I think. Then they know they’re in it with other people, they can compare notes, etc.” (It’s been really cool to see some communities migrate en masse, like &lt;a href="https://infosec.exchange/about" rel="noopener noreferrer"&gt;infosec.exchange&lt;/a&gt; and &lt;a href="https://hachyderm.io/about" rel="noopener noreferrer"&gt;hachyderm.io&lt;/a&gt;.) &lt;/p&gt;

&lt;p&gt;I think one answer to getting people and communities to join is simply the passing of time. As the platform grows and stabilizes, more people will join. In the meantime, there are things we can do to make the Fediverse even more welcoming and help keep people coming back. If you see someone who’s just joined or is confused, say hi and offer your help! It only takes a moment and it just might make their day. 😊&lt;/p&gt;

&lt;p&gt;Here are resources or tips I keep suggesting when I do so: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I think &lt;a href="https://fedi.tips/" rel="noopener noreferrer"&gt;Fedi.Tips&lt;/a&gt; is the best crash course out there, and you can follow them here: &lt;a href="https://mstdn.social/@feditips" rel="noopener noreferrer"&gt;@feditips@mstdn.social&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Follow, and use, hashtags for content that’s relevant to your interests.&lt;/li&gt;
&lt;li&gt;Go check out the blogs of your friends, favorite news sources, etc. Maybe they’re already here! &lt;/li&gt;
&lt;li&gt;If your local timeline isn’t interesting to you, find a different one and migrate. There are &lt;a href="https://docs.joinmastodon.org/user/moving/" rel="noopener noreferrer"&gt;instructions&lt;/a&gt; to do so on Mastodon’s site. Joinmastodon.org has a &lt;a href="https://joinmastodon.org/servers" rel="noopener noreferrer"&gt;directory&lt;/a&gt; too, and &lt;a href="https://fedi.garden/" rel="noopener noreferrer"&gt;fedi.garden&lt;/a&gt; keeps track of well-moderated instances. &lt;/li&gt;
&lt;li&gt;Ask your friends who they follow, and boost people and content you find that you like. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a fraught issue due to privacy concerns, but search is one way we could address the discoverability issue. My colleague &lt;a href="https://me.dm/@anildash" rel="noopener noreferrer"&gt;Anil Dash&lt;/a&gt; wrote a blog post about how we could &lt;a href="https://anildash.com/2023/01/16/a-fediverse-search/" rel="noopener noreferrer"&gt;build a search that the Fediverse would welcome&lt;/a&gt;. There’s an existing opt-in search option called &lt;a href="http://tootfinder.ch/" rel="noopener noreferrer"&gt;Tootfinder.ch&lt;/a&gt; too. &lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb9ayd8gbslrfxcu2kwzq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb9ayd8gbslrfxcu2kwzq.png" alt="BatManitou @ManitouRyan@mstdn.social: @haubles I think a couple functional (Twitter-like) changes would help lure more people: 1.) Quote RT like on Twitter.  Making it easier to share an existing post, while also being able to add your perspective, would add a lot of value for people. 2.) True, secure private messaging.  The direct messaging on here isn't really true private messaging at all; it's just posting a toot with limited audience.  A lot of people use that functionality heavily on other platforms." width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are features that are missing that will make people feel more comfortable, and help give them a more delightful experience. &lt;a href="https://mstdn.social/@ManitouRyan" rel="noopener noreferrer"&gt;BatManitou&lt;/a&gt; covers two I’ve heard frequently from many people: quote posts and secure messaging. There are inelegant workarounds for now (like linking to the post you're commenting on in a new post, and moving private messages to an encrypted platform.)&lt;/p&gt;

&lt;p&gt;On the other hand, the fact these features aren't included, or the way they are presented (like with private messaging), are deliberate choices. And to me, they are wise ones. I don't want the Fediverse, or my home on Mastodon, to become a place where dunking on people is systemically and technically incentivized or encouraged. And the way private messaging is presented serves to remind you that your messages are not encrypted. Platforms don't need to do or be everything to everyone, which is what makes the Fediverse great. Mastodon may not have quote posts, but there is a protocol for it in ActivityPub! Which Pleroma and Misskey have implemented. &lt;/p&gt;

&lt;p&gt;Beyond functionality features like the ones above, there are so many great and fun things being built for the Fediverse. Shameless plug because I'm on the Glitch team, but there are a lot of things being built on &lt;a href="https://glitch.com/" rel="noopener noreferrer"&gt;Glitch.com&lt;/a&gt; that are very useful and delightful. You can check out a round-up &lt;a href="https://blog.glitch.com/post/glitch-communitys-guide-to-building-the-fediverse" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;




&lt;p&gt;I’ve probably missed some areas we could grow and improve here — what do you think? &lt;/p&gt;

&lt;p&gt;By the way, in this post, I’ve focused mainly on the more user-oriented priorities and growth opportunities for the Fediverse. In a future post, I’m planning to address some priorities that we need to address further down the stack, like DDoS mitigation and resource pooling with an eye towards sustainability, and reducing strain and stress for instance admins and their servers. I'd love to hear your thoughts about that!&lt;/p&gt;

&lt;p&gt;Finally, I’m really excited to be participating in &lt;a href="https://fediforum.org/" rel="noopener noreferrer"&gt;FediForum&lt;/a&gt; March 29-30, where we’ll discuss all of these topics and more. Hopefully, I’ll see you there! &lt;/p&gt;

&lt;p&gt;Chat me know in the comments here or message me on Fedi: &lt;a href="https://fosstodon.org/@haubles" rel="noopener noreferrer"&gt;fosstodon.org/@haubles&lt;/a&gt;&lt;/p&gt;

</description>
      <category>fediverse</category>
      <category>opensource</category>
      <category>mastodon</category>
      <category>community</category>
    </item>
    <item>
      <title>Welcome Mastodon to Fast Forward!</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Wed, 22 Feb 2023 21:48:41 +0000</pubDate>
      <link>https://dev.to/fastly/welcome-mastodon-to-fast-forward-11g4</link>
      <guid>https://dev.to/fastly/welcome-mastodon-to-fast-forward-11g4</guid>
      <description>&lt;p&gt;We’re thrilled to announce that &lt;a href="https://joinmastodon.org/" rel="noopener noreferrer"&gt;Mastodon&lt;/a&gt; is now a member of Fast Forward.&lt;/p&gt;

&lt;p&gt;We believe things are better when they’re a little closer to you — when you have a say over your data, your safety, and your community. If we’ve learned anything over the past few years, we’re stronger when we stay connected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Welcome Mastodon to Fast Forward
&lt;/h2&gt;

&lt;p&gt;We are super excited about this project because of what Mastodon represents — not only the power of community but also &lt;a href="https://blog.joinmastodon.org/2017/02/the-power-to-build-communities/" rel="noopener noreferrer"&gt;the power to build communities&lt;/a&gt;, to own and control your data, to leave a digital space, and take your data and your friends with you when and wherever you go. Helping a project like Mastodon is why we have a program like &lt;a href="https://www.fastly.com/blog/fast-forward-lets-build-the-good-internet-together" rel="noopener noreferrer"&gt;Fast Forward&lt;/a&gt; in the first place — it truly delivers on the promise of the open web that drew so many people to ActivityPub and the fediverse.&lt;/p&gt;

&lt;p&gt;In some ways, the motivation that led &lt;a href="https://mastodon.social/@Gargron" rel="noopener noreferrer"&gt;Eugen Rochko&lt;/a&gt; to &lt;a href="https://blog.joinmastodon.org/2018/06/why-activitypub-is-the-future/" rel="noopener noreferrer"&gt;create Mastodon&lt;/a&gt; is similar to &lt;a href="https://www.fastly.com/blog/fastly-looks-back-10-years-of-fond-memories#in-the-beginning" rel="noopener noreferrer"&gt;what led our founders to create Fastly&lt;/a&gt;. They found something about the internet that was broken, so they set out to build something that would fix it. And the community that Eugen has helped lead around Mastodon has succeeded beyond anyone’s wildest imagination.&lt;/p&gt;

&lt;p&gt;At Fastly, we can help the open web thrive by providing scale and security. And we can help an open-source project whose biggest challenge is being available for, and welcoming to, everyone around the world who wants to take advantage of this new platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we’re helping
&lt;/h2&gt;

&lt;p&gt;Mastodon was created long before the most recent news cycle, but it has certainly seen people joining at a much faster rate over the last few months. That means more people hitting the joinmastodon.org domain, more activity throughout each 24-hr cycle, and more load on the mastodon.social and mastodon.online instances. &lt;/p&gt;

&lt;p&gt;The increased attention has been both positive and negative. On January 31st, Mastodon and its flagship instances were hit by a significant &lt;a href="https://www.fastly.com/learning/what-is-a-ddos-attack" rel="noopener noreferrer"&gt;DDoS attack&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffr299hp7w6j167xbttgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffr299hp7w6j167xbttgg.png" alt="a toot: Eugen Rochko&amp;lt;br&amp;gt;
@Gargron@mastodon.social, " width="582" height="247"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To understand the magnitude of such an attack, we generated a graph representing the relative trend between average traffic to joinmastodon.org and the requests per second (RPS) during the attack. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgptojl0esb8xg49j3tc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgptojl0esb8xg49j3tc.png" alt="A graph representing the traffic differential between normal operations and during the DDoS attack." width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s more, application-layer (&lt;a href="https://en.wikipedia.org/wiki/Application_layer" rel="noopener noreferrer"&gt;Layer 7&lt;/a&gt; of the &lt;a href="https://en.wikipedia.org/wiki/OSI_model#:~:text=Medium%20access%20control%20(MAC)%20layer,error%20checking%20and%20frame%20synchronization." rel="noopener noreferrer"&gt;OSI Model&lt;/a&gt;) DDoS attacks like those directed at Mastodon are typically very short-lived, meaning it was difficult for the Mastodon team to react in the moment. Right now, the team administering the mastodon.social and mastodon.online instances, as well as the rest of Mastodon’s infrastructure, such as joinmastodon.org, consists of Eugen, &lt;a href="https://oisaur.com/@renchap" rel="noopener noreferrer"&gt;Renaud Chaput&lt;/a&gt;, and the excellent community of contributors, sponsors, and instance admins that support the nonprofit. (By the way — Mastodon is hiring a full-time &lt;a href="https://jobs.ashbyhq.com/mastodon/290fd40f-125e-41fc-942d-f4ce59e6bda2" rel="noopener noreferrer"&gt;DevOps Engineer&lt;/a&gt;.) &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59x6m8bow7kkoouc4ksx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59x6m8bow7kkoouc4ksx.png" alt="Discord conversation between Mastodon maintainers. Elfurbe: anything you could map into a fail2ban filter? Might be good enough if it's not a sophisticated attack. Gargron: yeah, I am adding some IPs to a firewall filter manually. rrgeorge@raphus.social: seems possible." width="800" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And while that might work for one-off attacks or uninspired hackers, anyone persistent enough can easily switch tactics to get by those quick fixes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fecqpejdgvpzhlpcjof57.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fecqpejdgvpzhlpcjof57.png" alt="discord conversation between maintainers. Gargron: oh no, it's started again. chendo@mastodon.social: If it's just the one IP, I'd just add a firewall rule to drop that IP. Gargron: this time, hitting  raw `get /explore` endraw  11 times from the same IP, but it's many different IPs. No it's not just one IP sadly." width="800" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fastly absorbed the attack on joinmastodon.org — we’ve got automation to respond to such attacks. Given our place as a frontline operator sitting between systems and the people that use them, we’re constantly &lt;a href="https://www.fastly.com/blog/evolving-ddos-landscape" rel="noopener noreferrer"&gt;monitoring the threat landscape&lt;/a&gt;, &lt;a href="https://www.fastly.com/blog/ddos-attacks-how-protect-mitigate" rel="noopener noreferrer"&gt;evolving our defense and mitigation stance&lt;/a&gt;, and, what’s more, &lt;a href="https://www.fastly.com/blog/5-emotional-stages-ddos-attack" rel="noopener noreferrer"&gt;empathizing with victims&lt;/a&gt;. While DDoS attacks continue to grow larger and faster, the &lt;a href="https://www.fastly.com/blog/ddos-attacks-grow-bigger-but-so-do-responses" rel="noopener noreferrer"&gt;industry’s ability to respond is growing&lt;/a&gt; even faster still.&lt;/p&gt;

&lt;p&gt;We’re glad to be able to protect Mastodon and to be an option for anyone else who wants to scale and protect their community with integrity (see our &lt;a href="https://www.fastly.com/trust" rel="noopener noreferrer"&gt;trust&lt;/a&gt; and &lt;a href="https://www.fastly.com/fast-forward#customer-community-policy" rel="noopener noreferrer"&gt;community&lt;/a&gt; policies).&lt;/p&gt;

&lt;p&gt;We’re also mindful of not wanting to centralize the infrastructure of a social network that is &lt;strong&gt;decentralized by design&lt;/strong&gt;. Mastodon can easily migrate to another CDN or a multi-CDN approach. Put simply, we’re handling the network — delivering and securing content — so Mastodon can handle the stuff that matters most to them — encouraging healthy communities with effective community management and brilliantly creative participants. Because we believe…&lt;/p&gt;

&lt;h2&gt;
  
  
  The future is federated
&lt;/h2&gt;

&lt;p&gt;Mastodon is a growing project and community, and they need help. We already mentioned that they’re hiring a &lt;a href="https://jobs.ashbyhq.com/mastodon/290fd40f-125e-41fc-942d-f4ce59e6bda2" rel="noopener noreferrer"&gt;DevOps Engineer&lt;/a&gt;. They’re hiring a &lt;a href="https://jobs.ashbyhq.com/mastodon/c2397ccf-025a-47fc-b03e-9f728d6c2522" rel="noopener noreferrer"&gt;Software Engineer&lt;/a&gt; and a &lt;a href="https://jobs.ashbyhq.com/mastodon/95f7d19d-bd20-470c-ab56-fb2c8816442f" rel="noopener noreferrer"&gt;Product Designer&lt;/a&gt; too. You can also join the &lt;a href="https://github.com/mastodon/mastodon/discussions" rel="noopener noreferrer"&gt;community discussion&lt;/a&gt;, &lt;a href="https://joinmastodon.org/roadmap" rel="noopener noreferrer"&gt;suggest a feature&lt;/a&gt; for their roadmap, and &lt;a href="https://docs.joinmastodon.org/dev/overview/" rel="noopener noreferrer"&gt;get set up to contribute&lt;/a&gt; to the codebase. &lt;/p&gt;

&lt;p&gt;And Mastodon is one platform within a world — a fediverse? — of projects, platforms, clients, and apps built to intercommunicate. It’s a whole &lt;a href="//fediverse.party"&gt;fediverse.party&lt;/a&gt;! We can’t wait to see all the new and innovative stuff that’s yet to come.&lt;/p&gt;

&lt;p&gt;Speaking of, are you building for the fediverse? We want to support you! We’re already supporting some incredible projects building for the new web (I can’t wait to tell you about them in the coming weeks!), and we want to support you too. If you need help scaling your project, apply to Fast Forward &lt;a href="https://fastly.com/forward" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Or if you want us to signal boost your project, need advice, or want to show us what you’re building, reach out to us on fedi! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fosstodon.org/@haubles" rel="noopener noreferrer"&gt;@haubles@fosstodon.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@glitchdotcom" rel="noopener noreferrer"&gt;@glitchdotcom@mastodon.social&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can’t wait to see what you’re working on! Now let’s go build the good internet — together. ⏩&lt;/p&gt;

</description>
      <category>community</category>
      <category>fediverse</category>
      <category>mastodon</category>
      <category>fastforward</category>
    </item>
    <item>
      <title>Why We Love Rust: Ferris Is Only Part Of It</title>
      <dc:creator>Hannah Aubry</dc:creator>
      <pubDate>Fri, 17 Feb 2023 03:36:53 +0000</pubDate>
      <link>https://dev.to/fastly/why-we-love-rust-ferris-is-only-part-of-it-53hc</link>
      <guid>https://dev.to/fastly/why-we-love-rust-ferris-is-only-part-of-it-53hc</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;a href="https://danilocampos.com/" rel="noopener noreferrer"&gt;Danilo Campos&lt;/a&gt; and I co-wrote this post!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;While you’ve probably heard plenty about Rust—its benefits for correctness and memory safety, perhaps, or its adorable unofficial mascot, Ferris the crab—what you may not know is that the project has set a high bar for its onboarding developer experience. There are lessons any project can take, and we wanted to walk through them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzapncxnfuk4urbcxryv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzapncxnfuk4urbcxryv0.png" alt="Ferris, an adorable red/rust color crab, gestures with one claw" width="460" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Automate the knucklehead stuff
&lt;/h2&gt;

&lt;p&gt;Computers are our friends! Whenever possible, it’s great to use that to make it easier to get moving with a new technology. In Rust’s case, the &lt;a href="https://www.rust-lang.org/learn/get-started" rel="noopener noreferrer"&gt;getting started&lt;/a&gt; page detects the visitor’s operating system, then uses that information to provide relevant setup instructions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvt3dlxp3g27mvghv1gl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzvt3dlxp3g27mvghv1gl.png" alt="A screenshot of Rust's getting started page reads: " width="800" height="200"&gt;&lt;/a&gt;
It looks like you're running macos, Linux, or another Unix-like OS. To download Rustup and install Rust, run the following in your terminal, then follow the on-screen instructions. See "Other Installation Methods" if vou are on Windows." Followed by the curl to install rustup"/&amp;gt;&lt;/p&gt;

&lt;p&gt;From there, an installation script sets up the Rust tools with just one line of input. Instead of a long sequence of instructions, a tidy piece of automation handles setup.&lt;/p&gt;

&lt;p&gt;Finally, there’s even a one-click &lt;a href="https://play.rust-lang.org/?version=stable&amp;amp;mode=debug&amp;amp;edition=2021" rel="noopener noreferrer"&gt;Rust sandbox&lt;/a&gt; where you can skip setup altogether and dive into a pre-built environment to start playing around with the language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fast time-to-hello-world
&lt;/h2&gt;

&lt;p&gt;Rust knows many of its practitioners have existing experience with tools they love. Integrations between Rust and popular IDEs get prominent notice, so you can quickly get moving in a familiar environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw6xweum0vy603fps0wgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw6xweum0vy603fps0wgb.png" alt="A screenshot of Rust's getting started page reads: " width="800" height="553"&gt;&lt;/a&gt;
Whether you prefer working with code from the command line, or using rich graphical editors, there's a Rust integration available for your editor of choice. Or you can build your own using rust-analyzer.VS CODE. SUBLIME TEXT. ATOM. INTELLI IDEA. ECLIPSE. VIM. EMACS. GEANY."/&amp;gt;&lt;/p&gt;

&lt;p&gt;Once you’re set up, Rust walks you through the mechanics of &lt;a href="https://www.rust-lang.org/learn/get-started#generating-new-project" rel="noopener noreferrer"&gt;setting up your first project&lt;/a&gt;, explaining context along the way. With just a few commands, you’ve got running code that prints “hello world!”&lt;/p&gt;

&lt;p&gt;Streamlining the process to get to working code, even when it’s just a simple program to print a friendly message, is essential to developer success. It makes it clear that the whole toolchain is working correctly, setting the table for productive exploration of the new technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connection to the larger ecosystem
&lt;/h2&gt;

&lt;p&gt;Rust has a lot of power, but like any ecosystem, it has specific details you’ll need to understand to make the most of it.&lt;/p&gt;

&lt;p&gt;While Rust has abundant docs, the &lt;a href="https://www.rust-lang.org/learn/get-started" rel="noopener noreferrer"&gt;Getting Started&lt;/a&gt; page elevates essentials like package and dependency management front and center, since they’re a topic every developer will need to understand to be productive. Thus introduced, Rust then walks you through how to use these dependencies in your own code. This unlocks the larger universe of existing Rust code, letting you build what you want without having to reinvent the wheel.&lt;/p&gt;

&lt;h2&gt;
  
  
  So how’d they do that?
&lt;/h2&gt;

&lt;p&gt;We wanted to know! So we asked, and Carol Nichols, author of &lt;a href="https://nostarch.com/rust-programming-language-2nd-edition" rel="noopener noreferrer"&gt;The Rust Programming Language&lt;/a&gt;, answered our questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rust's developer experience is optimized for rapidly getting developers up and running — how did the culture develop? How do you prioritize, emphasize, incentivize, or invest in it?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Many people come to Rust with experience in other languages and ecosystems, and they’ve used that experience to improve upon the status quo. For example, many people wanted a systems language like C++ but with the package management and build tools from Ruby that make sharing libraries easier. There have been cases when developers start using Rust and find friction or confusion. Caring folks in the community try their best to not get defensive, but to take that as an opportunity to improve sharp edges that we’ve gotten used to. Another is Esteban Kuber, who actively solicits error messages that the compiler gives that people have found confusing then improves them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What advice do you have for others looking to improve their developer experience?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do some usability testing! Create a task like following a tutorial, give it to someone in your target audience who you’d like to improve the developer experience for, and watch them (in person or remotely) try to accomplish this task. Write down every spot they have trouble, and only help if they’re truly stuck. Then turn those problems into improvements to tooling, documentation, or features and repeat!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Where should people who want to get involved in Rust's developer experience go?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It depends on the part of the experience you’re particularly interested in! Here are some I can think of — The &lt;a href="https://www.rust-lang.org/governance/teams/dev-tools" rel="noopener noreferrer"&gt;Dev Tools&lt;/a&gt; team, for work on:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Cargo&lt;/li&gt;
&lt;li&gt;IDE and editor support&lt;/li&gt;
&lt;li&gt;Clippy (Rust’s linter)&lt;/li&gt;
&lt;li&gt;Rustfmt (code formatting)&lt;/li&gt;
&lt;li&gt;Rustdoc (the tool that generates Rust documentation)&lt;/li&gt;
&lt;li&gt;Docs.rs (crate documentation hosting)&lt;/li&gt;
&lt;li&gt;Rustup (Rust version manager)&lt;/li&gt;
&lt;li&gt;Bindgen (tools for generating FFI bindings)&lt;/li&gt;
&lt;li&gt;Rustfix (a tool that can automatically fix some warnings)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The &lt;a href="https://www.rust-lang.org/governance/teams/compiler" rel="noopener noreferrer"&gt;Compiler Team&lt;/a&gt;, especially the &lt;a href="https://rust-lang.github.io/compiler-team/working-groups/diagnostics/" rel="noopener noreferrer"&gt;Diagnostics Working Group&lt;/a&gt; that improves compiler error messages. The &lt;a href="https://github.com/rust-lang/libs-team/" rel="noopener noreferrer"&gt;Libs Team&lt;/a&gt;, for work on the contents of the standard library documentation&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  But you don’t have to take our word for it!
&lt;/h2&gt;

&lt;p&gt;Hit the &lt;a href="https://www.rust-lang.org/learn/get-started" rel="noopener noreferrer"&gt;Rust Getting Started&lt;/a&gt; page and try it for yourself. It’s a tidy example of how to set up developers for success. Maybe you can use these lessons for your own open source project!&lt;/p&gt;

</description>
      <category>ui</category>
      <category>frontend</category>
      <category>webdev</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
