<rss
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:media="http://search.yahoo.com/mrss/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  version="2.0"
>
  <channel>
    <title>30 seconds of code</title>
    <description>Coding articles to level up your development skills</description>
    <link>https://www.30secondsofcode.org</link>
    <language>en-us</language>
    <image>
      <url>https://www.30secondsofcode.org/assets/logo.png</url>
      <title>30 seconds of code</title>
      <link>https://www.30secondsofcode.org</link>
    </image>
    <ttl>1440</ttl>
    <atom:link href="https://www.30secondsofcode.org/feed.xml" rel="self" type="application/rss+xml" />
      <item>
        <title>Cherry-pick an unreachable GitHub commit</title>
        <link>https://www.30secondsofcode.org/git/s/cherry-pick-unreachable-github-commit</link>
        <description>Have you ever needed to cherry pick a GitHub commit that does not belong to any branch on this repository? Here&#39;s an easy way to do it.</description>
        <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>A better alternative to force pushing</title>
        <link>https://www.30secondsofcode.org/git/s/force-push-better-alternative</link>
        <description>Forced pushes in shared branches are dangerous, but did you know there&#39;s a safer alternative?</description>
        <pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>List all Git aliases</title>
        <link>https://www.30secondsofcode.org/git/s/list-aliases</link>
        <description>Did you set up a lot of Git aliases and forgot what they are? List them all with this command.</description>
        <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Customize Git using aliases for common operations</title>
        <link>https://www.30secondsofcode.org/git/s/aliases</link>
        <description>Increase your productivity and reduce your cognitive load by creating aliases for many common git operations.</description>
        <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Explicit code is always better</title>
        <link>https://www.30secondsofcode.org/articles/s/explicit-code-is-always-better</link>
        <description>A thesis on why magic abstractions are harmful to codebases and teams.</description>
        <pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>What I learned from vibe coding a small web project with GitHub Copilot and GPT-5 mini</title>
        <link>https://www.30secondsofcode.org/articles/s/learnings-from-vibe-coding-a-small-web-project</link>
        <description>A short summary of your story up to 140 characters long.</description>
        <pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Best Time to Buy and Sell Stock JavaScript Solution</title>
        <link>https://www.30secondsofcode.org/js/s/best-time-to-buy-and-sell-stock</link>
        <description>Have you tried solving &quot;Best Time to Buy and Sell Stock&quot; on LeetCode? Let&#39;s take a couple of approaches to tackle it in JavaScript.</description>
        <pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How your tech stack is causing your refactoring problems</title>
        <link>https://www.30secondsofcode.org/articles/s/tech-stack-refactoring-problems</link>
        <description>Infinite flexibility in your tech stack can lead to refactoring headaches and technical debt. Here&#39;s how to avoid the trap.</description>
        <pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>A first look at the Speculation Rules API</title>
        <link>https://www.30secondsofcode.org/html/s/speculation-rules-api-first-look</link>
        <description>The new Speculation Rules API aims to deliver across the board performance optimizations with little developer effort. Let&#39;s see how!</description>
        <pubDate>Mon, 29 Sep 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>The virtues of pair programming</title>
        <link>https://www.30secondsofcode.org/articles/s/virtues-of-pair-programming</link>
        <description>Pair programming can be valuable for junior and senior developers alike, fostering collaboration and knowledge sharing.</description>
        <pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How to secure your JavaScript code from vulnerable dependencies</title>
        <link>https://www.30secondsofcode.org/js/s/how-to-secure-your-js-code-from-vulnerable-dependencies</link>
        <description>Keep your code, data, and users safe by following these simple tips to secure your JavaScript projects from vulnerable dependencies.</description>
        <pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How do I fix incorrect line endings in a git repository?</title>
        <link>https://www.30secondsofcode.org/git/s/fix-incorrect-line-endings</link>
        <description>Have you ever encountered an issue with incorrect line endings in your git repository? Let&#39;s fix it!</description>
        <pubDate>Mon, 08 Sep 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>The art of writing great code</title>
        <link>https://www.30secondsofcode.org/js/s/writing-great-code</link>
        <description>Writing great code is more than writing code that works, requiring discipline and a focus on testability, maintainability, and readability.</description>
        <pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Meditation and the art of debugging</title>
        <link>https://www.30secondsofcode.org/articles/s/art-of-debugging-meditation</link>
        <description>What&#39;s the connection between meditation and debugging? Let&#39;s find out.</description>
        <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Solving Sudoku with wave function collapse in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/sudoku-solver-wave-function-collapse</link>
        <description>Explore how to solve Sudoku puzzles in JavaScript using the wave function collapse algorithm, a constraint-propagation technique.</description>
        <pubDate>Mon, 25 Aug 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>No code is inherently evil</title>
        <link>https://www.30secondsofcode.org/articles/s/no-code-is-inherently-evil</link>
        <description>No code tools? No code at all? No code you write? Prepare for a triple entendre that cuts deep into the world of software development.</description>
        <pubDate>Thu, 21 Aug 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>The frontend trap</title>
        <link>https://www.30secondsofcode.org/articles/s/the-frontend-trap</link>
        <description>How staying on the frontend can limit your career growth and a hot take on how to escape it.</description>
        <pubDate>Tue, 19 Aug 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How does JavaScript&#39;s structuredClone() differ from other cloning methods?</title>
        <link>https://www.30secondsofcode.org/js/s/deep-clone-structured-clone</link>
        <description>Learn how to deep clone objects in JavaScript using structuredClone, and how it compares to other cloning methods.</description>
        <pubDate>Thu, 14 Aug 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How can I find the minimum height tree in an undirected tree in JavaScript?</title>
        <link>https://www.30secondsofcode.org/js/s/undirected-tree-degree-min-height-tree</link>
        <description>Using the degree of nodes, we can employ a very efficient algorithmic trick to find the minimum height tree in an undirected tree in JavaScript.</description>
        <pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How can I find the diameter of an undirected tree in JavaScript?</title>
        <link>https://www.30secondsofcode.org/js/s/undirected-tree-diameter</link>
        <description>Using a two-pass DFS approach, we can efficiently find the diameter of an undirected tree in JavaScript.</description>
        <pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How can I apply bipartite coloring to an undirected tree in JavaScript?</title>
        <link>https://www.30secondsofcode.org/js/s/undirected-tree-bipartite-coloring</link>
        <description>Learn how to apply bipartite coloring to an undirected tree in JavaScript, ensuring that no two adjacent nodes share the same color.</description>
        <pubDate>Thu, 24 Jul 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How can I traverse an undirected tree using DFS or BFS in JavaScript?</title>
        <link>https://www.30secondsofcode.org/js/s/undirected-tree-dfs-bfs</link>
        <description>Learn how to traverse an undirected tree using Depth-First Search (DFS) or Breadth-First Search (BFS) in JavaScript.</description>
        <pubDate>Thu, 17 Jul 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How can I build an undirected tree from an array of edges in JavaScript?</title>
        <link>https://www.30secondsofcode.org/js/s/undirected-tree-from-edges</link>
        <description>Learn how to build an undirected tree from an array of edges in JavaScript, with various approaches for storing node relationships.</description>
        <pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Convert between binary and decimal numbers in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/binary-number-conversion</link>
        <description>Binary numbers are a fundamental part of computer science. Learn how to convert between binary and decimal numbers in JavaScript.</description>
        <pubDate>Mon, 07 Jul 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How 30 seconds of code is deployed</title>
        <link>https://www.30secondsofcode.org/articles/s/how-30-seconds-of-code-is-deployed</link>
        <description>A historical run-through of how 30 seconds of code was deployed then and now.</description>
        <pubDate>Thu, 03 Jul 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Exploring indexes and cardinality with JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/indexed-object-collections</link>
        <description>Using indexes can speed up querying object collections significantly, but it seems like a black box for many. Let&#39;s dive in!</description>
        <pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>How can I find the longest palindromic substring in a JavaScript string?</title>
        <link>https://www.30secondsofcode.org/js/s/longest-palindrome</link>
        <description>While a brute-force longest palindrome finder is simple, it is not efficient. Let&#39;s explore a more efficient solution.</description>
        <pubDate>Mon, 23 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Using binary search to find the index to insert a number in a sorted JavaScript array</title>
        <link>https://www.30secondsofcode.org/js/s/binary-search-insert-index-sorted-number-array</link>
        <description>Combining techniques presented in the past, we can solve a more complex problem with stellar performance.</description>
        <pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Digitize a number in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/digitize-number</link>
        <description>Learn how to convert any number to an array of digits, as well as how to sum the digits and compute the digital root efficiently.</description>
        <pubDate>Sun, 15 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Design systems rarely survive contact with the real world</title>
        <link>https://www.30secondsofcode.org/articles/s/design-systems-reality</link>
        <description>Design systems are often seen as the holy grail of design and development, but there are a few issues that can arise in the real world.</description>
        <pubDate>Sat, 14 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Implementing a Sudoku validator in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/sudoku-validator</link>
        <description>Sudoku is a logic-based combinatorial number-placement puzzle. This article discusses how to implement a Sudoku validator in JavaScript.</description>
        <pubDate>Wed, 11 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Markdown Cheatsheet</title>
        <link>https://www.30secondsofcode.org/articles/s/markdown-cheatsheet</link>
        <description>Markdown is the most popular markup language for writing documentation. Here is a cheatsheet with the most common syntax.</description>
        <pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Vocal fails are better than silent fails</title>
        <link>https://www.30secondsofcode.org/js/s/vocal-fails-silencing-errors</link>
        <description>Learn why vocal errors are better than silent ones, how to handle them effectively, and improve debugging and collaboration in JavaScript.</description>
        <pubDate>Wed, 04 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Creating a Matrix data structure in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/matrix-data-structure</link>
        <description>After working with 2D arrays for a while, I decided to create a convenient wrapper for operations. Here&#39;s the gist of it.</description>
        <pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>ESLint &amp; Prettier configuration</title>
        <link>https://www.30secondsofcode.org/js/s/eslint-prettier-configuration</link>
        <description>Instead of reconfiguring ESLint and Prettier every time, I use this configuration to get started quickly.</description>
        <pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Creating tabbed content without JavaScript</title>
        <link>https://www.30secondsofcode.org/css/s/details-tabbed-content</link>
        <description>Leverage modern HTML and CSS capabilities to create a tabbed content component without JavaScript.</description>
        <pubDate>Mon, 26 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Creating accordion-style content without JavaScript</title>
        <link>https://www.30secondsofcode.org/html/s/details-accordion</link>
        <description>Did you know you don&#39;t need JavaScript to create accordion-style content? Here&#39;s how to do it with the details element.</description>
        <pubDate>Thu, 22 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Are text-align and align-items the same when it comes to text alignment in CSS?</title>
        <link>https://www.30secondsofcode.org/css/s/text-centering-line-block</link>
        <description>In the age of flexbox and grid, text alignment may seem simpler than ever, but there are a few things you should be aware of.</description>
        <pubDate>Mon, 19 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Using the inset CSS property</title>
        <link>https://www.30secondsofcode.org/css/s/inset</link>
        <description>The inset shorthand property makes element positioning in CSS easier. Learn how to use it effectively in your projects.</description>
        <pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Logical and physical CSS properties equivalents</title>
        <link>https://www.30secondsofcode.org/css/s/logical-physical-properties-map</link>
        <description>New to CSS logical properties? This article provides a handy map of logical properties to their physical counterparts.</description>
        <pubDate>Mon, 12 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>You Shouldn&#39;t Always Modularize Your Code</title>
        <link>https://www.30secondsofcode.org/articles/s/code-modularization</link>
        <description>Have you ever stopped to wonder if modularization is right for your use case? What if I told you it might not be?</description>
        <pubDate>Sat, 10 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>JavaScript Operator Cheatsheet</title>
        <link>https://www.30secondsofcode.org/js/s/operator-cheatsheet</link>
        <description>Quick reference for JavaScript operators.</description>
        <pubDate>Wed, 07 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Progressive enhancement with Web Components</title>
        <link>https://www.30secondsofcode.org/js/s/progressive-enhancement-web-components</link>
        <description>Dive into Web Components with me and learn how I used them to create modular interactive components to progressively enhance my website.</description>
        <pubDate>Sat, 03 May 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Implementing fuzzy matching in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/n-gram-fuzzy-matching</link>
        <description>Having built a search engine with TF-IDF and inverted indexes, we will now implement fuzzy matching to make searching error-tolerant.</description>
        <pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Formatting relative time in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/relative-time-formatting</link>
        <description>Did you know JavaScript has a built-in way to format relative time? It&#39;s called Intl.RelativeTimeFormat and it&#39;s awesome!</description>
        <pubDate>Thu, 24 Apr 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Detect the user&#39;s OS in the browser with JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/browser-os-detection</link>
        <description>Learn how to easily detect the user&#39;s operating system in the browser using JavaScript.</description>
        <pubDate>Sat, 19 Apr 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Implementing partial search matching in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/partial-search-matching</link>
        <description>Building on top of the TF-IDF and inverted index implementation, we will implement partial search matching to make searching more robust.</description>
        <pubDate>Mon, 14 Apr 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Implementing search in JavaScript, using TF-IDF and an inverted index</title>
        <link>https://www.30secondsofcode.org/js/s/tf-idf-inverted-index</link>
        <description>Building on top of the Porter stemmer, we&#39;ll explore how to use TF-IDF and an inverted index to implement a search algorithm in JavaScript.</description>
        <pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Implementing the Porter stemming algorithm in JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/porter-stemming-algorithm</link>
        <description>Learn how to implement the Porter stemming algorithm in JavaScript, a simple algorithm for stripping English words of common suffixes.</description>
        <pubDate>Sun, 06 Apr 2025 00:00:00 GMT</pubDate>
      </item>
      <item>
        <title>Implementing signals and reactivity with vanilla JavaScript</title>
        <link>https://www.30secondsofcode.org/js/s/event-driven-vanilla-js-signals</link>
        <description>Let&#39;s demystify signals and reactivity, one of the most popular patterns in modern JavaScript, using event-driven programming!</description>
        <pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate>
      </item>
  </channel>
</rss>