<?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: Sergiy Bondaryev</title>
    <description>The latest articles on DEV Community by Sergiy Bondaryev (@sbondaryev).</description>
    <link>https://dev.to/sbondaryev</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%2F3703300%2F8eb17099-2050-4e63-a928-c0a2bc2e5521.png</url>
      <title>DEV Community: Sergiy Bondaryev</title>
      <link>https://dev.to/sbondaryev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sbondaryev"/>
    <language>en</language>
    <item>
      <title>Solving Mastermind with Maximum Entropy</title>
      <dc:creator>Sergiy Bondaryev</dc:creator>
      <pubDate>Tue, 10 Mar 2026 01:40:06 +0000</pubDate>
      <link>https://dev.to/sbondaryev/solving-mastermind-with-maximum-entropy-17d6</link>
      <guid>https://dev.to/sbondaryev/solving-mastermind-with-maximum-entropy-17d6</guid>
      <description>&lt;p&gt;An article on solving the Mastermind game using information theory.&lt;/p&gt;

&lt;p&gt;The idea is to choose guesses that give the most information and reduce the number of possible codes as fast as possible.&lt;/p&gt;

&lt;p&gt;With this method the code can be solved in about 4.42 guesses on average across all 1296 possible codes.&lt;/p&gt;

&lt;p&gt;What’s covered&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How Mastermind feedback works&lt;/li&gt;
&lt;li&gt;Why some guesses are more informative&lt;/li&gt;
&lt;li&gt;How entropy helps choose the next guess&lt;/li&gt;
&lt;li&gt;How the solver works&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://sbondaryev.dev/articles/mastermind-entropy" rel="noopener noreferrer"&gt;https://sbondaryev.dev/articles/mastermind-entropy&lt;/a&gt;&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>javascript</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Chess OCR: From Data to Deployment</title>
      <dc:creator>Sergiy Bondaryev</dc:creator>
      <pubDate>Tue, 24 Feb 2026 13:30:59 +0000</pubDate>
      <link>https://dev.to/sbondaryev/chess-ocr-from-data-to-deployment-18ca</link>
      <guid>https://dev.to/sbondaryev/chess-ocr-from-data-to-deployment-18ca</guid>
      <description>&lt;p&gt;This article shows how to recognize chess positions from images and run the entire pipeline directly in the browser.&lt;/p&gt;

&lt;p&gt;The approach is to split the board into 64 squares, classify each square independently, and then reconstruct the position for analysis.&lt;/p&gt;

&lt;p&gt;What’s covered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating a custom dataset of chess diagrams&lt;/li&gt;
&lt;li&gt;Learning representations with SimCLR and Autoencoder&lt;/li&gt;
&lt;li&gt;Training a CNN to classify chess pieces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Running preprocessing and inference client-side with Pyodide and ONNX Runtime Web&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sbondaryev.dev/articles/chess-ocr" rel="noopener noreferrer"&gt;https://sbondaryev.dev/articles/chess-ocr&lt;/a&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>deeplearning</category>
      <category>computervision</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Why Neural Networks Need He Init, Clipping, and Momentum</title>
      <dc:creator>Sergiy Bondaryev</dc:creator>
      <pubDate>Tue, 27 Jan 2026 22:12:22 +0000</pubDate>
      <link>https://dev.to/sbondaryev/why-neural-networks-need-he-init-clipping-and-momentum-4e80</link>
      <guid>https://dev.to/sbondaryev/why-neural-networks-need-he-init-clipping-and-momentum-4e80</guid>
      <description>&lt;p&gt;I built an interactive tutorial that shows why neural networks fail without proper initialization and optimization techniques. Here's what you'll find:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live code editor where you can watch networks train in real-time on x²&lt;/li&gt;
&lt;li&gt;Step-by-step progression from linear models → ReLU → deep networks&lt;/li&gt;
&lt;li&gt;Visual demonstrations of gradient explosion and dying ReLU problems&lt;/li&gt;
&lt;li&gt;Interactive examples showing how each fix (He init, clipping, momentum) solves specific issues&lt;/li&gt;
&lt;li&gt;Final section on vectorization and why frameworks use matrix operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The approach is hands-on: start with a broken 2-layer network that hits NaN, then add fixes one at a time while watching the loss curve and predictions update. You can swap x² for cos(3x) or tweak hyperparameters to see how networks behave under different conditions.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href="https://sbondaryev.dev/articles/he-init-clipping-momentum" rel="noopener noreferrer"&gt;https://sbondaryev.dev/articles/he-init-clipping-momentum&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>learning</category>
      <category>machinelearning</category>
      <category>deeplearning</category>
    </item>
    <item>
      <title>Interactive Big O Notation Guide</title>
      <dc:creator>Sergiy Bondaryev</dc:creator>
      <pubDate>Fri, 09 Jan 2026 23:28:46 +0000</pubDate>
      <link>https://dev.to/sbondaryev/interactive-big-o-notation-guide-3hfj</link>
      <guid>https://dev.to/sbondaryev/interactive-big-o-notation-guide-3hfj</guid>
      <description>&lt;p&gt;I created an interactive guide to help build intuition for recognizing time complexity from code patterns.&lt;br&gt;
What's inside:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live code editor with visual feedback as you adjust input sizes&lt;/li&gt;
&lt;li&gt;Examples ranging from O(1) to O(n!) with interactive visualizations&lt;/li&gt;
&lt;li&gt;Coverage of core principles like "constants drop out" and "nested operations multiply"&lt;/li&gt;
&lt;li&gt;Master Theorem breakdown with practical examples&lt;/li&gt;
&lt;li&gt;Real algorithm analysis (merge sort, binary search, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is simple: add &lt;em&gt;op()&lt;/em&gt; markers to your code and watch the complexity curves appear as n increases. You can experiment with loops, recursion, or drop in your own algorithms to see how they scale.&lt;br&gt;
Built with Next.js and deployed at &lt;a href="https://sbondaryev.dev/articles/big-o-notation" rel="noopener noreferrer"&gt;https://sbondaryev.dev/articles/big-o-notation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Feedback welcome!&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>programming</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
