<?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: Ethan Kellogg</title>
    <description>The latest articles on DEV Community by Ethan Kellogg (@fatsackfails).</description>
    <link>https://dev.to/fatsackfails</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%2F332889%2F7c752acb-3b3b-4507-919a-aabac863bfdf.jpg</url>
      <title>DEV Community: Ethan Kellogg</title>
      <link>https://dev.to/fatsackfails</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fatsackfails"/>
    <language>en</language>
    <item>
      <title>Automate Community Led Discord Events with Autocode</title>
      <dc:creator>Ethan Kellogg</dc:creator>
      <pubDate>Fri, 16 Sep 2022 21:36:08 +0000</pubDate>
      <link>https://dev.to/fatsackfails/automate-community-led-discord-events-with-autocode-1pm9</link>
      <guid>https://dev.to/fatsackfails/automate-community-led-discord-events-with-autocode-1pm9</guid>
      <description>&lt;p&gt;Building a strong community is important for any Discord server wanting to grow. When members feel like they belong, they engage and interact more. Anything you can do as a Discord community manager to improve this aspect will be a solid investment.&lt;/p&gt;

&lt;p&gt;One place to start improving your community is hosting events on your server. It's fun to set up a date and time, make an announcement, and get everyone in voice chat for a good time. This gives opportunities for members to build relationships with each other, as well as encourages newer members to introduce themselves to the community.&lt;/p&gt;

&lt;p&gt;As your community grows, having regularly occurring events can create a sense of comfort and reliability. Members can form a habit of checking the server regularly for events to attend, or even wanting to host events of their own. This improves your server's engagement and retention stats, which is essential for Discord Partner status.&lt;/p&gt;

&lt;p&gt;Discord's process for managing events is great on its own, but you can speed up and improve the process with automation. Using &lt;a href="https://autocode.com/solutions/discord-bot/?utm_campaign=scheduledevents&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;Autocode's Discord API integration&lt;/a&gt;, you can create a bot that will automate scheduling and running events for your server using slash commands.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FvdiUyfM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2cq2lo3mgx1qbvllv3uq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FvdiUyfM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2cq2lo3mgx1qbvllv3uq.jpg" alt="example of Discord bot scheduling events using a slash command" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This has the benefit of speeding up the process for hosting similar events over and over, as well as opening up the ability for specific members to host events in the server without needing to set up extra permissions. Simply give them access to the slash commands, and anyone can manage events in the server.&lt;/p&gt;

&lt;p&gt;Using a bot allows you to customize what info you want to collect and how you want to display it. This allows consistency with your brand and voice, strengthening the connection to your community.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SO9Wb8jE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8qcc66hsjbq6gy0zozl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SO9Wb8jE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r8qcc66hsjbq6gy0zozl.jpg" alt="styled embed message of scheduled event" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to do this for yourself but coding isn’t your thing, don't worry! We've created a &lt;a href="https://autocode.com/ethanatautocode/apps/schedule-events/?utm_campaign=scheduledevents&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;prebuilt app with instructions&lt;/a&gt;. Install it to your Autocode project and start automating scheduled Discord events right now. Want to make changes? Look through the labeled sections of code and modify what you need. Feel free to &lt;a href="https://twitter.com/fatsackfails/?utm_campaign=scheduledevents&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;reach out to me&lt;/a&gt; or join the &lt;a href="https://discord.gg/autocode/?utm_campaign=scheduledevents&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;Autocode Discord server&lt;/a&gt; if you need help.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://autocode.com/ethanatautocode/apps/schedule-events/?utm_campaign=scheduledevents&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PNXp6_6L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8diw3b3z6aezwpyij2yt.jpg" alt="Discord Scheduled Events App" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Grow your community Discord server by hosting events. &lt;a href="https://fatsackfails.com/autocode/?utm_campaign=scheduledevents&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;Manage those events with Autocode&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>autocode</category>
      <category>discord</category>
      <category>community</category>
      <category>management</category>
    </item>
    <item>
      <title>How We Improved Community Feedback With Autocode and Discord</title>
      <dc:creator>Ethan Kellogg</dc:creator>
      <pubDate>Fri, 09 Sep 2022 16:50:16 +0000</pubDate>
      <link>https://dev.to/fatsackfails/how-we-improved-community-feedback-with-autocode-and-discord-389h</link>
      <guid>https://dev.to/fatsackfails/how-we-improved-community-feedback-with-autocode-and-discord-389h</guid>
      <description>&lt;p&gt;Feedback is important to any community wanting to improve. You want to make changes that are impactful for the people in your community. Feedback should be acknowledged and your community should feel heard. Here’s how we improved our community feedback system to support over 40,000 Discord members.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KAvm9jwN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w0076g9abdomdm1pi6f4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KAvm9jwN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w0076g9abdomdm1pi6f4.png" alt="Autocode's Tracked Reports channel showing the improved system" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At Autocode, we saw growing pains in our community Discord server due to hundreds of active users every day. Our most popular channels (particularly the feedback and bug report channels) were noisy. Lots of messages constantly coming in, replies to messages from days ago with little to no context, and repeated duplicate reports with no good way to track or resolve them. The worst part was hearing from community members that they felt unheard when they took the time to voice their concerns. It was clear that what we had wasn't working.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rnf1R6A9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvg6eg3eyvqwy5rpf84t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rnf1R6A9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvg6eg3eyvqwy5rpf84t.jpg" alt="old feedback process, where there are lots of messages that don’t relate" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Discord’s robust features provide community managers the freedom to run things how we like. Discord’s API also means we can build whatever else we need. When this bottleneck problem in our feedback system cropped up, we imagined what a solution could look like and used Autocode to make that solution a reality.&lt;/p&gt;

&lt;p&gt;The first problem: lots of messages and no way to track them. We decided not to make the feedback process too formal and keep it conversational. Giving us feedback or reporting bugs should be just as easy as leaving a message in a text channel (as it was before). We opted to use Discord's built in context menu message interaction. Staff can select specific messages to send into a dedicated channel for conversation and tracking. Autocode’s Discord API integration made setting this up quick and easy: a single event trigger copies the original message and creates the newly tracked message in less than 100 lines of code. As a bonus, our method could be used on any message in the server. Now good feedback can be tracked from any message anywhere. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Yd-P6hFK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh64dhfvu31oc1pitd9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yd-P6hFK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh64dhfvu31oc1pitd9i.png" alt="context menu with track feedback and bug reports" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our second issue: acknowledging the people giving us valuable feedback. The goal is to make sure when good feedback comes up, we’re able to track it and alert the person that we saw it. Our solution has two parts: the feedback system tags the user in the new conversation, and our message reply bot alerts the user in the original channel with a link to the newly tracked conversation. This gives us two opportunities to show we’ve seen the feedback to the user and the rest of the server. It also opens up opportunities for others to join in on the conversation, which has led to fewer duplicate requests and reports.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kDEa_GHO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j2733l7gli8x80h2l05p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kDEa_GHO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j2733l7gli8x80h2l05p.jpg" alt="reply in source channel" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With a dedicated place to track feedback and reports, these discussion threads opened one more opportunity to improve our system. We can now alert the community when feedback and bug reports are resolved. Staff can click a button on the thread to mark a tracked report as resolved. Whereas before we only announced big changes, updates, and bug fixes, Autocode now has a way to alert the community about little changes too (as well as save the community conversation that led to it).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f4Wp1-xe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oq5bt67cm00uufpcd36j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f4Wp1-xe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oq5bt67cm00uufpcd36j.png" alt="resolved report with its thread" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How the Autocode community server handles feedback is a major improvement for both our team and the community. Autocode empowers Discord community managers to make the improvements they need and get results immediately. If you want to replicate this system for your community, get started with our &lt;a href="https://autocode.com/threesided/apps/super-pins/?utm_campaign=communityfeedback&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;technical guide&lt;/a&gt; and companion &lt;a href="https://autocode.com/threesided/apps/super-pins/?utm_campaign=communityfeedback&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;example app&lt;/a&gt; and launch it today. We use Autocode to improve our Discord community. &lt;a href="https://fatsackfails.com/autocode?utm_campaign=communityfeedback&amp;amp;utm_source=solutions&amp;amp;utm_medium=devto"&gt;You can too&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>autocode</category>
      <category>discord</category>
      <category>community</category>
      <category>management</category>
    </item>
    <item>
      <title>Learning Eleventy in Windows 10</title>
      <dc:creator>Ethan Kellogg</dc:creator>
      <pubDate>Sun, 26 Jul 2020 12:19:34 +0000</pubDate>
      <link>https://dev.to/fatsackfails/learning-eleventy-in-windows-10-2o92</link>
      <guid>https://dev.to/fatsackfails/learning-eleventy-in-windows-10-2o92</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;I set up my Windows 10 PC to use WSL 2, Hyper terminal, and VS Code so I could take an online course to learn Eleventy. Here's how you can do it that too.&lt;/p&gt;

&lt;p&gt;I recently signed up for the online course &lt;a href="https://piccalil.li/course/learn-eleventy-from-scratch/"&gt;Learn Eleventy From Scratch&lt;/a&gt; by Andy Bell. It's been a great source of knowledge not only for how to use the static site generator, but also some super advanced design techniques and web developer best practices. Here's how I got my Windows 10 PC set up to be able to go through the course, and how you can do something similar for front end web development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enabling WSL 2 and Installing Linux
&lt;/h2&gt;

&lt;p&gt;I'm on PC, so to avoid issues with the course work it's suggested I look into setting up Windows Subsystem Linux (WSL 2 to be specific). This will let me use Linux in my Windows operating system and therefore let me go through the course without a hitch. The future is now, folks.&lt;/p&gt;

&lt;p&gt;Getting WSL 2 set up took way longer than it should have due to my Windows not wanting to update properly. WSL 2 requires Windows 10 to be version 2004, Build 19041 or higher. You can check your version by pressing &lt;strong&gt;Windows key + R&lt;/strong&gt; to open the Run program, typing in &lt;code&gt;winver.exe&lt;/code&gt;, and selecting &lt;strong&gt;OK&lt;/strong&gt;. If you need to update, I suggest downloading and using the &lt;a href="https://www.microsoft.com/en-us/software-download/windows10"&gt;Windows Update Assistant&lt;/a&gt;. This resolved my issues of the update not sticking.&lt;/p&gt;

&lt;p&gt;Once Windows is updated to the correct version, we can &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10"&gt;enable WSL 2 as described by Microsoft's help docs&lt;/a&gt;. Make sure you open PowerShell as an Admin or the commands won't go through.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Enable Windows Subsystem for Linux&lt;/span&gt;
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

&lt;span class="c"&gt;# Enable the 'Virtual Machine Platform' component&lt;/span&gt;
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

&lt;span class="c"&gt;# Set WSL 2 as your default version&lt;/span&gt;
wsl &lt;span class="nt"&gt;--set-default-version&lt;/span&gt; 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll probably see a message after running that command: &lt;code&gt;WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel.&lt;/code&gt; &lt;a href="https://aka.ms/wsl2kernel"&gt;Follow the link&lt;/a&gt;, install the MSI and after it's finished run the command again.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Run this again after installing the kernel component.&lt;/span&gt;
wsl &lt;span class="nt"&gt;--set-default-version&lt;/span&gt; 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once that's all done, WSL 2 is enabled on your PC! Now you can install Linux. Go to the Microsoft Store and head to the &lt;a href="https://aka.ms/wslstore"&gt;WSL section&lt;/a&gt; and get whichever flavor of Linux you want to use. I picked Ubuntu as that's the one I'm most familiar with. Launch it once it's installed, and then you can &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/user-support"&gt;set up the user name and password&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If there's any issues with launching Linux at this point, make sure your CPU has Virtualization set to Enabled by opening the Task Manager and looking at the CPU in the Performance tab. If it's disabled, you'll have to enable it inside the BIOS. The BIOS can look different depending on your motherboard, processor type, chipset and OEM, so you might have to do a little research. For my set up I had to enable Intel Virtualization Technology and Intel VT-D.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Hyper and VS Code
&lt;/h2&gt;

&lt;p&gt;With WSL 2 enabled and Linux installed, we can now get our tools installed and configured properly to use our unique set up. Andy suggests Microsoft Visual Studio Code and Hyper as the code editor and terminal emulator to use for the online course. We'll be able to set them up to integrate with WSL 2, which is just peachy. Download and install &lt;a href="https://hyper.is/"&gt;Hyper&lt;/a&gt; and &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Open Hyper and navigate to Edit &amp;gt;&amp;gt; Preferences. This will open the hyper.js settings file in Notepad so you can make changes. Find the line that reads &lt;code&gt;shell: '',&lt;/code&gt; and change it to &lt;code&gt;shell: 'C:\\Windows\\System32\\bash.exe',&lt;/code&gt; You can now save and close the file. This change makes it so when you open Hyper it will use your WSL 2 instance of Linux instead of your PC's command prompt.&lt;/p&gt;

&lt;p&gt;Once you've swapped to use your Linux command line in Hyper, type in &lt;code&gt;code .&lt;/code&gt; and press enter. Hyper will then open VS Code with the path set to your virtual Linux path. VS Code should then display a notification asking you if you want to install the Remote - WSL extension. This extension makes it easier for WSL 2 and VS Code to play nice, so definitely do that. After that you're all set and ready to start!&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Touches
&lt;/h2&gt;

&lt;p&gt;From here you'll want to download all the different packages you'll need for whatever projects you're working on. Any dependencies that you may have installed on your PC will need to be installed again in your virtual Linux before they can be used.&lt;/p&gt;

&lt;p&gt;For my online course I first needed to install Node.js with &lt;code&gt;npm init -y&lt;/code&gt;, but I had to install curl and nvm before I could run that command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install curl&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;curl

&lt;span class="c"&gt;# Install nvm&lt;/span&gt;
curl &lt;span class="nt"&gt;-o-&lt;/span&gt; https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It took me some time getting WSL 2, Linux, Hyper, and VS Code up and running, but once I did I was able to jump into the course work and start learning!&lt;/p&gt;

&lt;p&gt;I highly recommend checking out &lt;a href="https://piccalil.li/course/learn-eleventy-from-scratch/"&gt;Learn Eleventy From Scratch&lt;/a&gt; if you want an in depth look at Eleventy, great design practices, and a lot of practical knowledge of creating accessible web content.&lt;/p&gt;

&lt;p&gt;If you want to get the basics of what Eleventy can do, Tatiana Mac has a great blog series: &lt;a href="https://tatianamac.com/posts/beginner-eleventy-tutorial-parti/"&gt;Beginner's Guide to Eleventy&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I hope my words here help you in getting Windows 10 ready for front end web development! Let me know if you find something that would make this setup more useful! If you want to see what I'm doing with Eleventy, you can check out &lt;a href="https://github.com/FatsackFails/fatsackfails"&gt;my site's repo&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>windows</category>
      <category>11ty</category>
      <category>wsl2</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
