<?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: Aaron Brown</title>
    <description>The latest articles on DEV Community by Aaron Brown (@aaron_brown).</description>
    <link>https://dev.to/aaron_brown</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2083011%2F8568a128-4232-4d09-9497-3a6256123eab.jpg</url>
      <title>DEV Community: Aaron Brown</title>
      <link>https://dev.to/aaron_brown</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aaron_brown"/>
    <language>en</language>
    <item>
      <title>What Nobody Told Me About Learning JavaScript</title>
      <dc:creator>Aaron Brown</dc:creator>
      <pubDate>Tue, 02 Jun 2026 06:36:57 +0000</pubDate>
      <link>https://dev.to/aaron_brown/what-nobody-told-me-about-learning-javascript-11k</link>
      <guid>https://dev.to/aaron_brown/what-nobody-told-me-about-learning-javascript-11k</guid>
      <description>&lt;p&gt;When I started learning JavaScript, I thought the hardest part would be understanding syntax.&lt;br&gt;
It wasn’t.&lt;br&gt;
The hardest part was going from tutorials to actually building something on my own.&lt;/p&gt;

&lt;p&gt;You watch a few videos, learn &lt;code&gt;map&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, and &lt;code&gt;reduce&lt;/code&gt;, and everything feels manageable. Then you try to build even a simple project and suddenly nothing works anymore. Errors everywhere. Logic breaking for no reason. You spend 40 minutes debugging something only to realize you misspelled a variable name.&lt;/p&gt;

&lt;p&gt;That phase is frustrating, but it’s also normal.&lt;/p&gt;

&lt;p&gt;Here are a few things that genuinely helped me get past it.&lt;/p&gt;
&lt;h2&gt;
  
  
  Stop Trying to Memorize Everything
&lt;/h2&gt;

&lt;p&gt;Early on, I wasted a lot of time trying to memorize array methods and syntax.&lt;/p&gt;

&lt;p&gt;That was a mistake.&lt;/p&gt;

&lt;p&gt;You do not need to remember everything. You just need to know what exists and roughly when to use it. The rest can be searched in seconds.&lt;/p&gt;

&lt;p&gt;The basics matter more than memorization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variables (&lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Conditions (&lt;code&gt;if&lt;/code&gt; / &lt;code&gt;else&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Arrays and objects&lt;/li&gt;
&lt;li&gt;Basic DOM selection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That foundation carries you much further than trying to memorize every method on MDN.&lt;/p&gt;

&lt;p&gt;Even experienced developers still look things up constantly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Arrays Started Making Sense When I Stopped Overcomplicating Them
&lt;/h2&gt;

&lt;p&gt;For a long time, I thought my code had to look “advanced.”&lt;/p&gt;

&lt;p&gt;It doesn’t.&lt;/p&gt;

&lt;p&gt;Sometimes a simple loop is enough.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&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;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&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;5&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

&lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&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="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Is it the shortest solution? No.&lt;/p&gt;

&lt;p&gt;Does it work? Yes.&lt;/p&gt;

&lt;p&gt;You can always refactor later after your logic makes sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objects Are Just Organized Data
&lt;/h2&gt;

&lt;p&gt;Objects confused me at first because people explained them in complicated ways.&lt;/p&gt;

&lt;p&gt;In reality, they’re just containers with labels.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Alex&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;29&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;hobbies&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;coding&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;coffee&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s most of what you need to understand at the beginning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Functions Became Easier Once I Thought About Input and Output
&lt;/h2&gt;

&lt;p&gt;This clicked much later than it should have.&lt;/p&gt;

&lt;p&gt;A function takes something in, does something to it, and gives something back.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;doubleIt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;doubleIt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That simple mindset made functions much easier to understand.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Debugging Phase Is Part of Learning
&lt;/h2&gt;

&lt;p&gt;At some point, you’ll write code that makes absolutely no sense.&lt;/p&gt;

&lt;p&gt;You’ll add &lt;code&gt;console.log()&lt;/code&gt; everywhere.&lt;br&gt;
You’ll stare at the screen for an hour.&lt;br&gt;
You’ll think you’re terrible at programming.&lt;/p&gt;

&lt;p&gt;That’s part of the process.&lt;/p&gt;

&lt;p&gt;A lot of programming is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Breaking things&lt;/li&gt;
&lt;li&gt;Figuring out why they broke&lt;/li&gt;
&lt;li&gt;Fixing them&lt;/li&gt;
&lt;li&gt;Repeating the cycle&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every bug you solve builds experience that tutorials can’t really teach.&lt;/p&gt;
&lt;h2&gt;
  
  
  Small Projects Help More Than Big Courses
&lt;/h2&gt;

&lt;p&gt;The projects that helped me most were simple.&lt;/p&gt;
&lt;h3&gt;
  
  
  A Todo List
&lt;/h3&gt;

&lt;p&gt;Everyone builds one for a reason.&lt;/p&gt;

&lt;p&gt;You learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DOM manipulation&lt;/li&gt;
&lt;li&gt;Event listeners&lt;/li&gt;
&lt;li&gt;Storing and updating data&lt;/li&gt;
&lt;li&gt;Rendering information on the page&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  A Counter App
&lt;/h3&gt;

&lt;p&gt;A number with increment and decrement buttons sounds basic, but it teaches state management naturally.&lt;/p&gt;
&lt;h3&gt;
  
  
  Keyboard Input Project
&lt;/h3&gt;

&lt;p&gt;Press a key and display it on screen.&lt;/p&gt;

&lt;p&gt;This helps you understand events and user interaction.&lt;/p&gt;
&lt;h3&gt;
  
  
  Background Color Changer
&lt;/h3&gt;

&lt;p&gt;Simple project, but great for learning DOM updates and styling through JavaScript.&lt;/p&gt;

&lt;p&gt;None of these projects are impressive.&lt;/p&gt;

&lt;p&gt;But they teach the mechanics behind larger applications.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I’d Tell Myself Earlier
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Start with the Console
&lt;/h3&gt;

&lt;p&gt;Before touching the DOM, make your logic work in the console first.&lt;/p&gt;

&lt;p&gt;It’s much easier to debug small pieces of logic than a full UI.&lt;/p&gt;
&lt;h3&gt;
  
  
  Break Problems Into Smaller Parts
&lt;/h3&gt;

&lt;p&gt;Large functions become difficult to reason about quickly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Hard to maintain&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;doEverything&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// 50 lines&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Smaller functions are easier to debug and reuse.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getData&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;processData&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;displayData&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Read Error Messages
&lt;/h3&gt;

&lt;p&gt;I ignored error messages for way too long.&lt;/p&gt;

&lt;p&gt;Most of the time, JavaScript is literally telling you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what broke&lt;/li&gt;
&lt;li&gt;where it broke&lt;/li&gt;
&lt;li&gt;and sometimes even why&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Line numbers save a lot of time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Take Breaks
&lt;/h3&gt;

&lt;p&gt;Sometimes the fastest way to solve a bug is to stop looking at it for 20 minutes.&lt;/p&gt;

&lt;p&gt;A surprising number of solutions appear once your brain resets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;Learning JavaScript can feel overwhelming at first because there’s always more to learn.&lt;/p&gt;

&lt;p&gt;But nobody starts out confident.&lt;/p&gt;

&lt;p&gt;Every developer you look up to spent time being confused, stuck, and frustrated too.&lt;/p&gt;

&lt;p&gt;The difference is that they kept building anyway.&lt;/p&gt;

&lt;p&gt;So build small things.&lt;br&gt;
Break things often.&lt;br&gt;
Debug patiently.&lt;br&gt;
Keep going.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Nobody Warns You That Real Software Engineering Feels Chaotic</title>
      <dc:creator>Aaron Brown</dc:creator>
      <pubDate>Mon, 25 May 2026 12:25:05 +0000</pubDate>
      <link>https://dev.to/aaron_brown/nobody-warns-you-that-real-software-engineering-feels-chaotic-12ln</link>
      <guid>https://dev.to/aaron_brown/nobody-warns-you-that-real-software-engineering-feels-chaotic-12ln</guid>
      <description>&lt;p&gt;I used to think good developers were people who wrote perfect code quickly. Now, i think good engineers are people who can survive complexity long enough to make systems work because once you leave tutorials behind, everything becomes messy.&lt;/p&gt;

&lt;p&gt;-Your AI model works…&lt;br&gt;
until real time video streams enter the picture.&lt;br&gt;
-Your backend scales…&lt;br&gt;
until voice calls, sockets, and concurrency hit at once.&lt;br&gt;
-Your Docker container builds…&lt;br&gt;
except OpenCV suddenly refuses to link correctly.&lt;br&gt;
-Your architecture looks clean…&lt;br&gt;
until latency, memory, GPUs, and networking start fighting each other.&lt;/p&gt;

&lt;p&gt;That’s the part I’ve started enjoying most.&lt;/p&gt;

&lt;p&gt;The chaos.&lt;/p&gt;

&lt;p&gt;Lately I’ve been building systems involving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go backends&lt;/li&gt;
&lt;li&gt;AI detection pipelines&lt;/li&gt;
&lt;li&gt;Computer vision&lt;/li&gt;
&lt;li&gt;Real-time communication&lt;/li&gt;
&lt;li&gt;Edge-device optimization&lt;/li&gt;
&lt;li&gt;Gaming infrastructure&lt;/li&gt;
&lt;li&gt;Local network systems&lt;/li&gt;
&lt;li&gt;Multi-service architectures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly,&lt;br&gt;
Half the work is debugging interactions between technologies that were never designed to cooperate nicely.&lt;/p&gt;

&lt;p&gt;But that’s also where real growth happens.&lt;/p&gt;

&lt;p&gt;Not while watching tutorials.&lt;br&gt;
Not while copying boilerplate.&lt;/p&gt;

&lt;p&gt;Growth happens when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nothing works,&lt;/li&gt;
&lt;li&gt;logs make no sense,&lt;/li&gt;
&lt;li&gt;dependencies break,&lt;/li&gt;
&lt;li&gt;performance collapses,&lt;/li&gt;
&lt;li&gt;and you still keep digging until the system stabilizes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing I’ve learned:&lt;br&gt;
Complex projects force you to become resourceful.&lt;/p&gt;

&lt;p&gt;You stop asking:&lt;br&gt;
“What’s the correct answer?”&lt;/p&gt;

&lt;p&gt;And start asking:&lt;br&gt;
“How do engineers figure things out when there is no guide?”&lt;/p&gt;

&lt;p&gt;That shift changed how I approach software completely.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What Building an AI Surveillance System Taught Me About Software Engineering</title>
      <dc:creator>Aaron Brown</dc:creator>
      <pubDate>Fri, 15 May 2026 05:59:25 +0000</pubDate>
      <link>https://dev.to/aaron_brown/building-systems-ckj</link>
      <guid>https://dev.to/aaron_brown/building-systems-ckj</guid>
      <description>&lt;p&gt;Most beginner developers build projects.&lt;br&gt;
I spent the last months building systems.&lt;br&gt;
Not “a todo app.”&lt;br&gt;
Not “a weather app.”&lt;br&gt;
Designing actual systems with moving parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI surveillance pipelines in Go + Python&lt;/li&gt;
&lt;li&gt;Real-time gaming infrastructure&lt;/li&gt;
&lt;li&gt;Edge-device computer vision&lt;/li&gt;
&lt;li&gt;Voice/video communication stacks&lt;/li&gt;
&lt;li&gt;Competition platforms&lt;/li&gt;
&lt;li&gt;Detection models&lt;/li&gt;
&lt;li&gt;Local networking&lt;/li&gt;
&lt;li&gt;High performance backend services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At some point I realized:&lt;br&gt;
The hard part of software isn’t writing features.&lt;br&gt;
It’s making multiple technologies cooperate under real constraints.&lt;br&gt;
Memory limits,&lt;br&gt;
Latency,&lt;br&gt;
Concurrency,&lt;br&gt;
GPU bottlenecks,&lt;br&gt;
Networking,&lt;br&gt;
Streaming,&lt;br&gt;
Containers,&lt;br&gt;
Architecture decisions.&lt;/p&gt;

&lt;p&gt;That changed how I learn.&lt;br&gt;
Now when I pick up a tool, I don’t ask:&lt;br&gt;
“What tutorial can I follow?”&lt;br&gt;
I ask:&lt;br&gt;
“What can this become when connected to 5 other systems?”&lt;br&gt;
That mindset forced me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn Go beyond syntax&lt;/li&gt;
&lt;li&gt;Understand CGO and native bindings&lt;/li&gt;
&lt;li&gt;Work with OpenCV and AI inference pipelines&lt;/li&gt;
&lt;li&gt;Think about edge deployment&lt;/li&gt;
&lt;li&gt;Design scalable communication systems&lt;/li&gt;
&lt;li&gt;Care about performance instead of aesthetics alone
One thing nobody tells beginners:
Building ambitious things teaches faster than endlessly preparing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You will fail often.&lt;br&gt;
Your architecture will break.&lt;br&gt;
Your Docker setup will explode.&lt;br&gt;
Your model pipeline will desync.&lt;br&gt;
Nothing compiles the first time.&lt;/p&gt;

&lt;p&gt;But eventually you stop being intimidated by the complexity.&lt;br&gt;
And that changes everything.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Recreating Math.floor without the Math object? Here is my manual approach.</title>
      <dc:creator>Aaron Brown</dc:creator>
      <pubDate>Sun, 10 May 2026 10:15:47 +0000</pubDate>
      <link>https://dev.to/aaron_brown/recreating-mathfloor-without-the-math-object-here-is-my-manual-approach-3fhi</link>
      <guid>https://dev.to/aaron_brown/recreating-mathfloor-without-the-math-object-here-is-my-manual-approach-3fhi</guid>
      <description>&lt;p&gt;Ever tried to solve a problem while someone tied your hands behind your back? I recently took on a challenge to rebuild JavaScript's rounding methods without using any of the built in Math functions, no bitwise operators, and not even the % operator.It sounds easy until you realize how many shortcuts we take for granted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Logic:&lt;/strong&gt; &lt;br&gt;
Finding the Floor, the biggest hurdle was performance. If you just loop 1 by 1 from zero, you'll crash the browser on large numbers. I decided to use a "fast-forward" while loop to jump by 100,000 at a time before using a for loop to find the exact integer.Here is the full implementation I came up with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;100000&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;100000&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&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="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;
    &lt;span class="p"&gt;}&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;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&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="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;ceil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;f&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="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;trunc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;ceil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nf"&gt;ceil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&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;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nf"&gt;ceil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Breakdown of the approach:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The "Big Jump":&lt;/strong&gt; &lt;br&gt;
In the floor function, I used while(num &amp;gt; i+100000) to skip through huge ranges. This keeps the execution time low even for values in the millions.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Infinite Loops for recision: *&lt;/em&gt;&lt;br&gt;
I used for(i; ; i++) without a middle condition. Since I know I’ll eventually hit a number larger than num, the if statement handles the return and breaks the loop safely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reusability:&lt;/strong&gt; &lt;br&gt;
Once floor was solid, ceil and trunc became easy extensions. They just lean on the core logic of finding that base integer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do this?&lt;/strong&gt;&lt;br&gt;
It’s easy to call Math.round() and move on. But building it manually makes you think about how numbers are actually stored and compared. It's a great exercise in control flow and manual optimization.How would you have handled the jump logic? Would you go bigger than 10,000? Comment below! 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  javascript #coding #webdev #algorithms
&lt;/h1&gt;

</description>
      <category>algorithms</category>
      <category>javascript</category>
      <category>performance</category>
      <category>showdev</category>
    </item>
    <item>
      <title>The Hidden Beauty of JavaScript’s findExpression Problem</title>
      <dc:creator>Aaron Brown</dc:creator>
      <pubDate>Sun, 10 May 2026 09:09:24 +0000</pubDate>
      <link>https://dev.to/aaron_brown/title-the-hidden-beauty-of-javascripts-findexpression-problem-5b8n</link>
      <guid>https://dev.to/aaron_brown/title-the-hidden-beauty-of-javascripts-findexpression-problem-5b8n</guid>
      <description>&lt;p&gt;In programming, we often look for the shortest path between two points. But sometimes, the journey itself is the logic.I recently worked on a puzzle: Start at 1, and reach a target number using only two operations: +4 and *2. This isn’t just a math game; it’s a perfect introduction to Recursive Backtracking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Approach&lt;/strong&gt;&lt;br&gt;
When you use recursion to solve a path finding problem, the code behaves like an explorer in a cave. It tries every left turn until it hits a dead end, then it walks back and tries every right turn.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; +4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; 
         &lt;span class="nf"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; *2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why it matters&lt;/strong&gt;&lt;br&gt;
This logic is the foundation of AI pathfinding, game development, and even how some search engines crawl the web. It teaches us that "failing" a recursive branch isn't an error it's just a way to narrow down the truth.&lt;/p&gt;

&lt;p&gt;Next time you're stuck on a complex nested loop, ask yourself: Could recursion make this a more elegant journey?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Aaron Brown</dc:creator>
      <pubDate>Fri, 08 May 2026 10:06:25 +0000</pubDate>
      <link>https://dev.to/aaron_brown/-48md</link>
      <guid>https://dev.to/aaron_brown/-48md</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/erhaneth/what-are-fat-arrow-functions-354p" class="crayons-story__hidden-navigation-link"&gt;Understanding the Role of Arrow Functions in JavaScript&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/erhaneth" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F991063%2Faebf469b-3e8e-4197-b84f-e69c388b2eb8.png" alt="erhaneth profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/erhaneth" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Huseyin Gumus
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Huseyin Gumus
                
              
              &lt;div id="story-author-preview-content-1305294" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/erhaneth" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F991063%2Faebf469b-3e8e-4197-b84f-e69c388b2eb8.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Huseyin Gumus&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/erhaneth/what-are-fat-arrow-functions-354p" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Dec 21 '22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/erhaneth/what-are-fat-arrow-functions-354p" id="article-link-1305294"&gt;
          Understanding the Role of Arrow Functions in JavaScript
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/discuss"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;discuss&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/erhaneth/what-are-fat-arrow-functions-354p" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;9&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/erhaneth/what-are-fat-arrow-functions-354p#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
  </channel>
</rss>
