<?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: Vivian Dai</title>
    <description>The latest articles on DEV Community by Vivian Dai (@viviandai).</description>
    <link>https://dev.to/viviandai</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%2F718016%2F7f94f950-7b26-47d1-aee2-c6b825db65e2.png</url>
      <title>DEV Community: Vivian Dai</title>
      <link>https://dev.to/viviandai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/viviandai"/>
    <language>en</language>
    <item>
      <title>Hacktoberfest Pledge 2023</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Fri, 06 Oct 2023 19:52:44 +0000</pubDate>
      <link>https://dev.to/viviandai/hacktoberfest-pledge-2023-69o</link>
      <guid>https://dev.to/viviandai/hacktoberfest-pledge-2023-69o</guid>
      <description>&lt;h3&gt;
  
  
  Intro
&lt;/h3&gt;

&lt;p&gt;Hi, I'm excited to do the 10th Hacktoberfest this year!&lt;/p&gt;

&lt;h3&gt;
  
  
  Background
&lt;/h3&gt;

&lt;p&gt;I did the past two years of Hacktoberfest but have been doing mostly low code/no code contributions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pledge
&lt;/h3&gt;

&lt;p&gt;I think it's time for me to try tackling some issues that require more coding competencies. Let me know of any fun code bases to work on!&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Hacktoberfest 2022: Resources</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Sat, 01 Oct 2022 11:47:14 +0000</pubDate>
      <link>https://dev.to/viviandai/hacktoberfest-2022-resources-1of</link>
      <guid>https://dev.to/viviandai/hacktoberfest-2022-resources-1of</guid>
      <description>&lt;h1&gt;
  
  
  Hacktoberfest 2022: Resources
&lt;/h1&gt;

&lt;p&gt;Welcome to &lt;a href="https://hacktoberfest.com/"&gt;Hacktoberfest&lt;/a&gt; 2022! Here's some stuff that's changed since last year and new information:&lt;/p&gt;

&lt;h2&gt;
  
  
  Warnings
&lt;/h2&gt;

&lt;p&gt;This year, if you make two or more pull requests that get marked as spam/invalid will be permanently disqualified (you will never be able to participate in Hacktoberfest ever again)&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;It's a bit hard to get started so here's some nice resources to look at:&lt;/p&gt;

&lt;h3&gt;
  
  
  Swags
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://hacktoberfest-swag.com/"&gt;https://hacktoberfest-swag.com/&lt;/a&gt; and &lt;a href="https://hacktoberfestswaglist.com/"&gt;https://hacktoberfestswaglist.com/&lt;/a&gt; are good resources when it comes to finding some companies that provide swag. These are also hacktoberfest accepted repositories that you can contribute to on Github.&lt;/p&gt;

&lt;h3&gt;
  
  
  Repositories
&lt;/h3&gt;

&lt;p&gt;This is where I put in a self insert of a &lt;a href="https://vivian-dai.github.io/Hacktoberfest-2022-Repos/"&gt;list of valid repositories to contribute to&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comment below if you know any other neat resources!&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Esoteric Sorting Algorithms</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Fri, 15 Apr 2022 23:40:23 +0000</pubDate>
      <link>https://dev.to/viviandai/esoteric-sorting-algorithms-j4o</link>
      <guid>https://dev.to/viviandai/esoteric-sorting-algorithms-j4o</guid>
      <description>&lt;p&gt;Sorting algorithms are a classical way to teach efficiency. As a result, they tend to be robotically efficient. Sometimes people may need a reminder that computers are still made by humans and humans have a sense of humor. As a human with a sense of humor, I decided to browse the web and see what sorts of interesting sorting algorithms exist. Let's explore the fun and creative sorting algorithms that exist:&lt;/p&gt;

&lt;h2&gt;
  
  
  Sorts That Actually Sort
&lt;/h2&gt;

&lt;p&gt;Let's start off with some normal sorts where the list actually ends up sorted in the end. These are more interesting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bogosort
&lt;/h3&gt;

&lt;p&gt;Bogosort is by far the most infamous sorting algorithm. It's probably the only sorting algorithm in this list that also gets mentioned in lessons on sorting. In fact, the name "bogosort" actually comes from the word "bogus" since this sort is complete nonsense. Bogosort takes a list, shuffles it, then checks if the list is sorted. If the list is sorted, it'll stop but if it isn't sorted, it'll shuffle it again. This gives bogosort an average runtime of of O(n!) and a worst case runtime of O(infinity)&lt;br&gt;
Bogosort is also called permutation sort since it goes and generates permutations of the list until it just happens to find the permutation that's in the right order or random sort because well, it's completely random. Another name is monkey sort, in reference to the &lt;a href="https://en.wikipedia.org/wiki/Infinite_monkey_theorem"&gt;infinite monkey theorem&lt;/a&gt; which says that an infinite number of monkeys that spend an infinite amount of time banging on a keyboard will eventually be able to rewrite all of Shakespeare's works. Given enough time, bogosort will eventually produce the correct sorted array.&lt;/p&gt;
&lt;h4&gt;
  
  
  Double Bogosort
&lt;/h4&gt;

&lt;p&gt;Perform bogosort twice so you can compare the results and make sure it's correct, found &lt;a href="https://stackoverflow.com/questions/2609857/are-there-any-worse-sorting-algorithms-than-bogosort-a-k-a-monkey-sort#answer-16845232"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Bogobogosort
&lt;/h4&gt;

&lt;p&gt;There's a subcategory of bogosort which first bogosorts the first element of the list, then bogosorts the first two elements of the list, then the first three until eventually, it reaches the end and has to bogosort the entire list. This is bogosorts within bogosorts which is absolutely useless since a successful bogosort for a smaller list won't help bogosort the larger list. To make it even more inefficient, if the list is ever out of order, then bogobogosort will resort again starting from the first element.&lt;/p&gt;
&lt;h3&gt;
  
  
  Bozosort
&lt;/h3&gt;

&lt;p&gt;Bozosort is named similarly to bogosort and works similarly to bogosort. Bozosort is slightly faster than bogosort. Bogosort shuffles the entire list but bozosort picks two random elements of the list to swap until the list is sorted. There's also &lt;a href="https://twitter.com/hbmmaster/status/1503187961281748992"&gt;wandersort&lt;/a&gt; which is like a more efficient version of bozosort. While bozosort will swap the two random elements it picks no matter what, wandersort will choose two random elements but only swap them if they need to be swapped.&lt;/p&gt;
&lt;h3&gt;
  
  
  Miracle Sort
&lt;/h3&gt;

&lt;p&gt;The previous sorts seem like they require some sort of miracle to function. Miracle sort needs even more of a miracle to function. Miracle sort checks to see if the list is sorted, if not, then it waits for a bit and after a bit, it'll check to see if the list is sorted again. The only way for miracle sort to sort an unsorted array is if by some miracle the bits in the computer were to somehow rearrange themselves in a way so that the list is sorted. Here is a Python implementation of miracle sort:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;miracle_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="s"&gt;"""
    implementation of micracle sort

    Args:
        arr (list): the list to be sorted

    Returns:
        list: the finally sorted list
    """&lt;/span&gt;
    &lt;span class="n"&gt;is_sorted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]):&lt;/span&gt;
            &lt;span class="n"&gt;is_sorted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;is_sorted&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;miracle_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;I will argue that miracle sort actually will sort the list correctly, eventually, given some sort of miracle.&lt;/p&gt;
&lt;h3&gt;
  
  
  Quantum Bogosort
&lt;/h3&gt;

&lt;p&gt;Quantum bogosort is actually another variation of bogosort but it's an interesting one. Quantum bogosort relies on the multiverse theory. Essentially how quantum bogosort would work is it would create a new universe for each possible permutation of the bogosorted list to exist. In each universe, the list would be checked. Any universe where the list isn't properly sorted is destroyed immediately. Please note that quantum bogosort is still completely hypothetical and no otherworldly inhabitants have been harmed in the testing of quantum bogosort yet.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OEGdj5Jz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649903197194/eFHEaPenu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OEGdj5Jz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649903197194/eFHEaPenu.png" alt="quantum bogosort visualization" width="880" height="625"&gt;&lt;/a&gt;&lt;br&gt;
This image is a demonstration of how quantum bogosort would work: first it creates a new universe for each possible permutation of the list, then if the list isn't correctly sorted the universe is destroyed. In the end, the only universe that should remain is the universe with a correctly sorted list. This method poses no consequences as the inhabitants of the universes with incorrect permutations of the list wouldn't know they were destroyed after being destroyed. The positive side to quantum bogosort is an algorithm with a time complexity of O(1) and absolutely no barriers whatsoever in our current state of technology.&lt;/p&gt;
&lt;h3&gt;
  
  
  Worstsort
&lt;/h3&gt;

&lt;p&gt;Worstsort also generates permutations. What worst sort does is to first generate all possible permutations, then it'll sort the possible permutations of the permutations so that it can find the correctly sorted one. Worstsort will use worstsort recursively to generate the possible permutations of the list. If worstsort keeps using worstsort to sort permutations of permutations so that it can find the correct permutation of the list it wants to sort, it would actually infinitely generate more and more permutations and never be sorted. As a result, when defining worstsort, there's also a depth defined. The depth is the maximum number of times to run worstsort before resorting to some other sort like bubble sort to sort the permutation of permutations of permutations. Worstsort's paper can be found &lt;a href="https://sites.math.northwestern.edu/~mlerma/papers/inefficient_algorithms.pdf"&gt;here&lt;/a&gt;. Worstsort was inspired by other algorithms in a no longer existent internet thread called badsort. &lt;a href="https://richardhartersworld.com/badsort-2/"&gt;Badsort 2&lt;/a&gt; seems to contain the same information though.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stooge Sort
&lt;/h3&gt;

&lt;p&gt;If there are two elements in the list, stooge sort will swap them if they aren't in the right order, otherwise nothing happens. Stooge sort for lists with a size of three or more work by first sorting the first 2/3 of the list, then sort the final 2/3 of the list then go back to sorting the first 2/3 of the list and continue repeating the process until the list is sorted. Each time it sorts some part of the list, it uses stooge sort recursively. Here is a visualization for stooge sort created using &lt;a href="https://panthema.net/2013/sound-of-sorting/"&gt;The Sound of Sorting&lt;/a&gt;:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Nb9cudRAdFc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;h3&gt;
  
  
  Sleep Sort
&lt;/h3&gt;

&lt;p&gt;Sleep sort is actually a pretty smart idea if you think about it. It was originally posted on 4chan and can now be found in &lt;a href="https://archive.tinychan.net/read/prog/1295544154"&gt;archives&lt;/a&gt;. Sleep sort takes advantage of &lt;a href="https://en.wikipedia.org/wiki/Multithreading_(computer_architecture)"&gt;multithreading&lt;/a&gt;. For each element in the list, sleep sort will let the element sleep for that many seconds, then print it. For example, let's say we have a list &lt;code&gt;[4, 1, 9, 7]&lt;/code&gt;. Sleep sort would give each of the elements in the list its own thread where it would wait for that many seconds before printing itself. That means it'll first give &lt;code&gt;4&lt;/code&gt; a thread where it would wait for four seconds then print &lt;code&gt;4&lt;/code&gt;, it'll give &lt;code&gt;1&lt;/code&gt; a thread where it will wait one second and print &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;9&lt;/code&gt; gets a thread where it'll wait nine seconds before printing &lt;code&gt;9&lt;/code&gt; and &lt;code&gt;7&lt;/code&gt; gets a thread where it'll wait for seven seconds before printing &lt;code&gt;7&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_pQHYlgT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649906569199/ImiSbCjDp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_pQHYlgT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1649906569199/ImiSbCjDp.png" alt="sleep sort visualization" width="880" height="544"&gt;&lt;/a&gt;&lt;br&gt;
Assuming each new line is its own separate thread, each block represents one unit of time, sleep sort would make each element in the list sleep for that long before printing it. Sleep sort does actually work in theory but in practice, the threads could have slight differences and not necessarily print things in the right order. Fixing this would require either synchronization which would defeat the entire purpose of sleep sort or a longer delay time which means more sleep.&lt;/p&gt;
&lt;h3&gt;
  
  
  Exclusion Sort
&lt;/h3&gt;

&lt;p&gt;Exclusion sort's first mention is on &lt;a href="https://twitter.com/hbmmaster/status/1376019215359090692"&gt;Twitter&lt;/a&gt;. This excludes an element, sorts everything else, then puts the element it took out back where it was before. Exclusion sort does this until the entire list is sorted. The only way for the entire list to be sorted is if the element taken out just happens to be in the correct spot already so exclusion sort also has a O(infinity) worst case run time.&lt;/p&gt;
&lt;h2&gt;
  
  
  Sorts That Don't Always Sort Correctly
&lt;/h2&gt;

&lt;p&gt;There's also several sorting algorithms that don't always give the expected output of a normally sorted list. These are more fun. &lt;/p&gt;
&lt;h3&gt;
  
  
  Divine Sort
&lt;/h3&gt;

&lt;p&gt;Divine sort is completely based on faith. We assume the list is sorted and ignore any evidence suggesting otherwise. Because of this, divine sort is the quickest sorting algorithm. Here is a Python implementation of divine sort:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;divine_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="s"&gt;"""
    implementation of the divine sort algorithm

    Args:
        arr (list): the list given that needs to be sorted

    Returns:
        list: the clearly sorted list, don't say otherwise
    """&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The first mention of divine sort seems to be &lt;a href="https://www.reddit.com/r/ProgrammerHumor/comments/ba55q2/comment/ek9bwid/?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3"&gt;this&lt;/a&gt; Reddit comment in a thread for bad sorting algorithms.&lt;br&gt;
A more well known version of divine sort is intelligent design sort which assumes the list is already sorted because whoever wrote it designed it intelligently.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stalin Sort
&lt;/h3&gt;

&lt;p&gt;This sorting algorithm is also called dictator sort and trump sort. Stalin sort runs in O(n) time. This sorting algorithm iterates through the list and removes any element that isn't in the right order for the list until the only elements that remain are sorted. Here's a fun visualized version of the sort:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/juRL-Xn-E00"&gt;
&lt;/iframe&gt;
&lt;br&gt;
There's also a Github repository that implements the sorting algorithm in various different programming languages and has a much better explanation for the algorithm:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/gustavo-depaula"&gt;
        gustavo-depaula
      &lt;/a&gt; / &lt;a href="https://github.com/gustavo-depaula/stalin-sort"&gt;
        stalin-sort
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Add a stalin sort algorithm in any language you like ❣️ if you like give us a ⭐️
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Welcome to the Stalin Sort Repo 📋
&lt;/h1&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/gustavo-depaula/stalin-sortstalin-sort.jpeg"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0hNtzGqg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/gustavo-depaula/stalin-sortstalin-sort.jpeg" alt="poster"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
What is Stalin Sort? ❓
&lt;/h2&gt;
&lt;h3&gt;
Introduction&lt;/h3&gt;
&lt;p&gt;Stalin Sort is an efficient sorting algorithm, serving as a systematic method for placing the elements of a random access file or an array in order. Stalin Sort is also know as the best sorting algorithm of all times because of its AMAZING capacity of always ordering an array with an O(n) performance.&lt;/p&gt;
&lt;h3&gt;
How it works?&lt;/h3&gt;
&lt;p&gt;It's simple, all you need to do is iterate through the array, checking if its elements are in order. Any element that isn't in order you pull out, in other words, you send it to Gulag.&lt;/p&gt;
&lt;h3&gt;
Step-by-step example&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;(1 2 5 3 5 7) -&amp;gt; (&lt;strong&gt;1&lt;/strong&gt; 2 5 3 5 7) Here the algorithm stores the first of element of the array&lt;/li&gt;
&lt;li&gt;(&lt;strong&gt;1&lt;/strong&gt; 2 5 3 5 7) -&amp;gt; (1 &lt;strong&gt;2&lt;/strong&gt; 5 3 5 7) Now it will compare…&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/gustavo-depaula/stalin-sort"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Another name for this concept is &lt;a href="https://www.dangermouse.net/esoteric/dropsort.html"&gt;dropsort&lt;/a&gt;. Another fun sort that deletes list elements is thanos sort which randomly deletes half of the list until the list ends up being sorted.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stack Sort
&lt;/h3&gt;

&lt;p&gt;This sort has absolutely nothing to do with stacks. How it works is it scrapes &lt;a href="https://stackoverflow.com/"&gt;StackOverflow&lt;/a&gt; for posts tagged "sort" and "javascript". Stack sort can be tried &lt;a href="https://gkoberger.github.io/stacksort/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hitchhiker's Sort
&lt;/h3&gt;

&lt;p&gt;Replace the array with 42. Here's a python implementation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hitchhikers_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Conway Sort
&lt;/h3&gt;

&lt;p&gt;Here's an O(1) "sorting" algorithm that replaces the list with some random other list. Note the list it returns does not need to be sorted. Here's an example of a Conway sort implementation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;conway_sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="s"&gt;"""
    Conway sort implementation

    Args:
        arr (list): the list to be sorted

    Returns:
        return list: some static but arbitrary list
    """&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;43&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2346&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8734765&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;54&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that this isn't the only correct way to implement conway sort; there are an infinite number of random lists to hardcode.&lt;/p&gt;

&lt;h2&gt;
  
  
  Algorithmic Design Paradigms
&lt;/h2&gt;

&lt;p&gt;There's a lot of  sorting algorithms that actually sort which follow some sort of algorithmic design paradigm so rather than mentioning the sorting algorithms, I decided to mention the paradigm instead.&lt;/p&gt;

&lt;h3&gt;
  
  
  Multiply and Surrender
&lt;/h3&gt;

&lt;p&gt;There's divide and conquer where the program divides the problem into two or more smaller subproblem and keeps dividing the subproblems too until the case is easy enough to be conquered on its own. Then, there's &lt;a href="https://wiki.c2.com/?MultiplyAndSurrender"&gt;multiply and surrender&lt;/a&gt; which takes a problem, creates subproblems of the problem that are slightly simpler than the original problem and continues multiplying the number of subproblems there are until the subproblems are so simple that procrastination on finding the solution can no longer continue and the program has to surrender. An example of the difference between divide and conquer vs multiply and surrender would be the difference between quicksort and slowsort. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While it definitely is good to find good and efficient sorting algorithms, purposefully seeing how bad or how unrealistic an algorithm could be is certainly entertaining. A lot of concepts also go by different names so I'm sorry if I missed any algorithm names. Let me know in the comments if I missed any interesting sorting concepts!&lt;/p&gt;

</description>
      <category>sorting</category>
      <category>esoteric</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Hello World: Emojicode</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Sat, 02 Apr 2022 21:43:16 +0000</pubDate>
      <link>https://dev.to/viviandai/hello-world-emojicode-2egk</link>
      <guid>https://dev.to/viviandai/hello-world-emojicode-2egk</guid>
      <description>&lt;p&gt;Now let's take a look at &lt;a href="https://www.emojicode.org/"&gt;Emojicode&lt;/a&gt;. Emojicode was built on C/C++ and like its name suggests, this is a programming language that uses emojis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;Call the file &lt;code&gt;hello.🍇&lt;/code&gt; or &lt;code&gt;hello.emojic&lt;/code&gt; if your computer doesn't have emoji support.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;💭🔜
Hello World
First Emojicode program
🔚💭
🏁 🍇
  😀 🔤Hello, World!🔤❗️💭 Prints "Hello, World!"
🍉
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How Does This Work?
&lt;/h2&gt;

&lt;p&gt;Let's break this code down step by step: &lt;/p&gt;

&lt;h3&gt;
  
  
  Comments
&lt;/h3&gt;

&lt;p&gt;The first part&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;💭🔜
Hello World
First Emojicode program
🔚💭
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;is a multiline comment. Emojicode does have a &lt;a href="https://www.emojicode.org/docs/reference/documentation.html"&gt;documentation style&lt;/a&gt; for classes, protocols, etc. Multiline comments usually are put at the header of a file to give a quick description of the file.&lt;br&gt;
&lt;code&gt;💭&lt;/code&gt; is the symbol for a single line comment so &lt;code&gt;💭 Prints "Hello, World!"&lt;/code&gt; is ignored by the compiler.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Start of a Program
&lt;/h3&gt;

&lt;p&gt;Each Emojicode program has &lt;code&gt;🏁&lt;/code&gt; to mark the starting point of the program. &lt;code&gt;🍇&lt;/code&gt; is pretty much the equivalent of &lt;code&gt;{&lt;/code&gt; and &lt;code&gt;🍉&lt;/code&gt; is the equivalent of &lt;code&gt;}&lt;/code&gt;. An Emojicode program should have the format of&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🏁🍇
    💭code here
🍉
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Printing
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;😀&lt;/code&gt; indicates the start of a print&lt;br&gt;&lt;br&gt;
&lt;code&gt;❗️&lt;/code&gt; indicates the end of a print&lt;br&gt;&lt;br&gt;
&lt;code&gt;🔤&lt;/code&gt; indicates the stuff in between is a string (basically “ in common programming languages)&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Emojicode can actually be used to do a surprising amount of things. While I personally have not tried, the language does support object oriented programming, threading, potentially some functional programming as well. Hello, World! is far from reaching the full potential of Emojicode but it's somewhere to start.&lt;/p&gt;

&lt;p&gt;Comment a language you'd like to see next!&lt;/p&gt;

</description>
      <category>helloworld</category>
      <category>esolang</category>
      <category>emojicode</category>
    </item>
    <item>
      <title>Hello World: Stuck</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Sun, 06 Mar 2022 22:08:01 +0000</pubDate>
      <link>https://dev.to/viviandai/hello-world-stuck-439a</link>
      <guid>https://dev.to/viviandai/hello-world-stuck-439a</guid>
      <description>&lt;p&gt;Let's start off the series with &lt;a href="https://esolangs.org/wiki/Stuck"&gt;Stuck&lt;/a&gt;, a language where an empty file will output "Hello, World!"&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it, no code. An empty file in Stuck will print "Hello, World!".&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does This Work?
&lt;/h2&gt;

&lt;p&gt;We can take a look at the Github repository for Stuck and check out the source code.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/kade-robertson"&gt;
        kade-robertson
      &lt;/a&gt; / &lt;a href="https://github.com/kade-robertson/stuck"&gt;
        stuck
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A stack-based esoteric programming language.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Stuck&lt;/h1&gt;
&lt;p&gt;Stuck is an esoteric, stack-based programming language intended for code-golf. It was inspired by many languages, such as CJam, GolfScript and Pyth. It is interpreted in Python, and it is very easy to translate Python code to the equivalent Stuck code.&lt;/p&gt;
&lt;p&gt;There is some barebones documentation available on the &lt;a href="https://esolangs.org/wiki/Stuck" rel="nofollow"&gt;Esolangs page&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/kade-robertson/stuck"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;In the &lt;a href="https://github.com/kade-robertson/stuck/blob/master/stuck.py"&gt;&lt;code&gt;stuck.py&lt;/code&gt;&lt;/a&gt; file, we can check out the main function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;raw_input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"stuck &amp;gt; "&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'plugin'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;import_modules&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'plugins'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s"&gt;'%s - Version %s - By %s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;   %s'&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;VERSION&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;CREATOR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;DESCR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;''&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s"&gt;'Hello, World!'&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nest&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'.'&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'stk'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="s"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'plugin'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;import_modules&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'plugins'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s"&gt;'%s - Version %s - By %s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;   %s'&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;NAME&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;VERSION&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;CREATOR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;DESCR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;''&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s"&gt;'Hello, World!'&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nest&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s"&gt;'Usage: python'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;__file__&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="s"&gt;'program.stk'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do you see it?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;''&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
           &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="s"&gt;'Hello, World!'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Stuck interpreter will print "Hello, World!" when the file is empty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Esolangs are fun and help solidify an understanding of computers and programming. Stay tuned for the next language!&lt;/p&gt;

</description>
      <category>helloworld</category>
      <category>esolang</category>
      <category>stuck</category>
    </item>
    <item>
      <title>Installing Pygame</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Fri, 19 Nov 2021 01:34:27 +0000</pubDate>
      <link>https://dev.to/viviandai/installing-pygame-1188</link>
      <guid>https://dev.to/viviandai/installing-pygame-1188</guid>
      <description>&lt;p&gt;&lt;a href="https://www.pygame.org"&gt;Pygame&lt;/a&gt; can be somewhat difficult to install for a beginner so here are scripts that can install Pygame more easily (download the right file for your operating system then double click on the file):&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;It's preferable if the user has admin permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Common Problems
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Naming a File &lt;code&gt;pygame.py&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lQ3NhVXS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5bhbygu0lt3bc4tuzvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lQ3NhVXS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5bhbygu0lt3bc4tuzvy.png" alt="naming file error" width="844" height="187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;AttributeError: module 'pygame' has no attribute 'init'&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This kind of problem occurs when there is a file in the same folder as the file you're trying to run called &lt;code&gt;pygame.py&lt;/code&gt;. When importing, Python will first check the files in the folder to see if there's a module written by the user before checking elsewhere—basically don't name files &lt;code&gt;pygame.py&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Hopefully this made it easier to install Pygame, happy coding!&lt;/p&gt;

</description>
      <category>python</category>
      <category>pygame</category>
      <category>pip</category>
      <category>install</category>
    </item>
    <item>
      <title>Hacktoberfest 2021: Project Maintenance</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Thu, 28 Oct 2021 03:25:43 +0000</pubDate>
      <link>https://dev.to/viviandai/hacktoberfest-2021-project-maintenance-jfa</link>
      <guid>https://dev.to/viviandai/hacktoberfest-2021-project-maintenance-jfa</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;At the beginning of October, I made this:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/vivian-dai"&gt;
        vivian-dai
      &lt;/a&gt; / &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos"&gt;
        Hacktoberfest-2021-Repos
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A list of Hacktoberfest 2021 Repos that are valid to be contributed towards Hacktoberfest pull requests
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
At the time, I don't think I really thought about what this project would become or what kind of impact it might have, I just genuinely wanted to figure out how to win a T-shirt without too much of a hassle.

&lt;h2&gt;
  
  
  Progress
&lt;/h2&gt;

&lt;p&gt;By the end of October, this repository had over 200 commits, 30 stars, over 60 forks, over 70 merged pull requests, and over 40 different contributors. I didn't really expect it to get anywhere near this big. In a single month, this repository evolved quite a bit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Notable Benchmarks
&lt;/h3&gt;


&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/8"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        Added and repo and Changed ReadME.md
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#8&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/sanskaromar"&gt;
        &lt;img class="github-liquid-tag-img" src="https://res.cloudinary.com/practicaldev/image/fetch/s--iXorkWUV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://avatars.githubusercontent.com/u/77530596%3Fv%3D4" alt="sanskaromar avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/sanskaromar"&gt;sanskaromar&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/8"&gt;&lt;time&gt;Oct 04, 2021&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;ul&gt;
&lt;li&gt;[x] Added one Hacktoberfest accepted repo. It accepts only legit contributions. To quote them&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Please try to keep your contribution good, as we believe in Quality, and not Quantity. We'll thoroughly go through each PR, and if it doesn't have quality, it won't be accepted.&lt;/p&gt;


&lt;/blockquote&gt;
&lt;br&gt;


&lt;ul&gt;
&lt;li&gt;[x] Converted a small part of the repo in form of a table. I think it makes it look more structured.
If it's looking good enough, I would like to convert all the other sections in tabular form as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;/div&amp;gt;
&amp;lt;div class="gh-btn-container"&amp;gt;&amp;lt;a class="gh-btn" href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/8"&amp;gt;View on GitHub&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
This contribution converted the organization of the repository list from just a list to tables which look much nicer.&lt;br&gt;

&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/47"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        Add archive
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#47&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/silverwavetidaldragon"&gt;
        &lt;img class="github-liquid-tag-img" src="https://res.cloudinary.com/practicaldev/image/fetch/s--1TmGiS4U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://avatars.githubusercontent.com/u/78051214%3Fv%3D4" alt="silverwavetidaldragon avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/silverwavetidaldragon"&gt;silverwavetidaldragon&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/47"&gt;&lt;time&gt;Oct 16, 2021&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;p&gt;#38&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added an "archive" file for inactive  (empty now)&lt;/li&gt;
&lt;li&gt;Checked for links with latest change for more than 2 years ago (couldn't find any)&lt;/li&gt;
&lt;li&gt;Mentioned the archive file alongside pre-existing introductory mentioned of the blacklist file&lt;/li&gt;
&lt;li&gt;Edited some words&lt;/li&gt;
&lt;/ul&gt;

    &lt;/div&gt;
    &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/47"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Here, an archive was introduced on top of the blacklist for projects that aren't actually excluded but are inactive. I thought this was a pretty cool idea.&lt;br&gt;&lt;/p&gt;

&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/41"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        Sorted Blacklist repo alphabetically
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#41&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/akshaydhayal"&gt;
        &lt;img class="github-liquid-tag-img" src="https://res.cloudinary.com/practicaldev/image/fetch/s--9V12obUt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://avatars.githubusercontent.com/u/44504509%3Fv%3D4" alt="akshaydhayal avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/akshaydhayal"&gt;akshaydhayal&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/41"&gt;&lt;time&gt;Oct 15, 2021&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;p&gt;please review the PR.&lt;/p&gt;

    &lt;/div&gt;
    &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/vivian-dai/Hacktoberfest-2021-Repos/pull/41"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
This sorted the excluded repositories in alphabetical order which meant I didn't need to perform a linear scan to see if the repository was already listed. It reduced the time complexity of my code reviews from O(n) to O(logn).&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;In all honesty, I will probably leave next steps to next year. Sorting each individual section (topics and languages) in alphabetical order would be nice. I should also update the contributing file to specify specific things people can do (eg. add a Hacktoberfest accepted repository, add a blacklisted repository) and specify the exact guidelines they'd need to follow.&lt;/p&gt;

&lt;p&gt;Well, until next year! Happy hacking!&lt;/p&gt;
&lt;/div&gt;

</description>
      <category>hacktoberfest</category>
      <category>project</category>
      <category>maintenance</category>
      <category>github</category>
    </item>
    <item>
      <title>Hacktoberfest 2021: Finding Projects That Aren't Excluded</title>
      <dc:creator>Vivian Dai</dc:creator>
      <pubDate>Sun, 03 Oct 2021 01:35:24 +0000</pubDate>
      <link>https://dev.to/viviandai/hacktoberfest-2021-finding-projects-that-aren-t-excluded-kb5</link>
      <guid>https://dev.to/viviandai/hacktoberfest-2021-finding-projects-that-aren-t-excluded-kb5</guid>
      <description>&lt;h2&gt;
  
  
  Personal Background
&lt;/h2&gt;

&lt;p&gt;This is my first year and first day (I spent October 1st debating about whether or not I should try Hacktoberfest) doing Hacktoberfest. One of the things I noticed immediately was the lack of good beginner friendly projects. Just about every project that was somewhat beginner friendly was also excluded and anything else with a &lt;a href="https://github.com/topics/hacktoberfest" rel="noopener noreferrer"&gt;&lt;code&gt;hacktoberfest&lt;/code&gt;&lt;/a&gt; tag was some huge, insane repository of a full stack project or something that was in no way beginner friendly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;The hardest part about contributing might have been the fact there wasn't a nice list of beginner friendly projects. After that, the pull requests I made turned out to be to repositories of excluded (blacklisted) projects:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6wtm26qs80rzitxl23f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd6wtm26qs80rzitxl23f.png" alt="excluded project example"&gt;&lt;/a&gt;&lt;br&gt;
This means they were reported as a repository that's too easy to make pull requests to.&lt;/p&gt;
&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;Before I made any pull requests, I actually tried to find a nice list of resources with Hacktoberfest specific open source projects in it. I found many resources listing general open source projects but none listing &lt;em&gt;Hacktoberfest specific&lt;/em&gt; repositories. To combat that, I decided to create &lt;a href="https://vivian-dai.github.io/Hacktoberfest-2021-Repos/" rel="noopener noreferrer"&gt;my own list&lt;/a&gt;. Similarly, I couldn't find an official list for blacklisted repositories either so I decided to compile &lt;a href="https://vivian-dai.github.io/Hacktoberfest-2021-Repos/blacklist/" rel="noopener noreferrer"&gt;my own&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find any more good, beginner friendly Hacktoberfest projects or notice anything here has become excluded, feel free to contribute. This repository is also under a Hacktoberfest label so a pull request here will count towards your Hacktoberfest contributions as well!&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/vivian-dai" rel="noopener noreferrer"&gt;
        vivian-dai
      &lt;/a&gt; / &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos" rel="noopener noreferrer"&gt;
        Hacktoberfest-2022-Repos
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A list of Hacktoberfest 2022 Repos that are valid to be contributed towards Hacktoberfest pull requests
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Hacktoberfest-2022-Repos&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A compilation of all valid repos for Hacktoberfest 2022. A list of invalid repos can be found &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos./blacklist/" rel="noopener noreferrer"&gt;here&lt;/a&gt; and a list of repos that has historically been good but seem inactive can be found &lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos./archive/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;‼ Notice: This repository has been excluded from Hacktoberfest 2022 ‼&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Table of Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Topics&lt;/h3&gt;

&lt;/div&gt;

Topics
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#algorithms-and-data-structures" rel="noopener noreferrer"&gt;Algorithms and Data Structures&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#back-end" rel="noopener noreferrer"&gt;Backend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#bots" rel="noopener noreferrer"&gt;Bots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#cybersecurity" rel="noopener noreferrer"&gt;CyberSecurity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#games" rel="noopener noreferrer"&gt;Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#general" rel="noopener noreferrer"&gt;General&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#git-and-github" rel="noopener noreferrer"&gt;Git and Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#github-profile" rel="noopener noreferrer"&gt;Github Profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#hackerrank-solutions" rel="noopener noreferrer"&gt;Hackerrank Solutions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#leetcode-solutions" rel="noopener noreferrer"&gt;Leetcode Solutions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#linux" rel="noopener noreferrer"&gt;Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#themes" rel="noopener noreferrer"&gt;Themes&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#vscode" rel="noopener noreferrer"&gt;VSCode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#machine-learning" rel="noopener noreferrer"&gt;Machine Learning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#resources" rel="noopener noreferrer"&gt;Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#web-dev" rel="noopener noreferrer"&gt;Web Dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;/div&gt;

Languages
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#assembly" rel="noopener noreferrer"&gt;Assembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#c" rel="noopener noreferrer"&gt;C&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#cpp-c" rel="noopener noreferrer"&gt;C++&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#haskell" rel="noopener noreferrer"&gt;Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#html" rel="noopener noreferrer"&gt;HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#java" rel="noopener noreferrer"&gt;Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#javascript" rel="noopener noreferrer"&gt;JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#python" rel="noopener noreferrer"&gt;Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#racket" rel="noopener noreferrer"&gt;Racket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos#typescript" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Repo By Topic&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Algorithms and Data Structures&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;


&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/codedecks-in" rel="noopener noreferrer"&gt;codedecks-in&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;solutions to various problems on different different online judges and interview prep sites, most repos can count towards Hacktoberfest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/CrackerSuman/Algorithms" rel="noopener noreferrer"&gt;CrackerSuman/Algorithms&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;small algorithms repository&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/hhhrrrttt222111/Patterns" rel="noopener noreferrer"&gt;hhhrrrttt222111/Patterns&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;patterns in various languages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/Knackie/algorithmshacktoberfest2021" rel="noopener noreferrer"&gt;Knackie/algorithmshacktoberfest2021&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Repository for algorithms in various language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/mad003/Sorting-Algos" rel="noopener noreferrer"&gt;mad003/Sorting-Algos&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;sorting algorithms in various languages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/OpenGenus/cosmos" rel="noopener noreferrer"&gt;OpenGenus/cosmos&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;algorithms on AI, CP, crypto, quantum, and more in&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/vivian-dai/Hacktoberfest-2022-Repos" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>hacktoberfest</category>
    </item>
  </channel>
</rss>
