<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bardt.dev - Blog</title>
    <link>https://bardt.dev/blog</link>
    <description>Personal blog about web development, algorithms, and photography</description>
    <language>en-us</language>
    <lastBuildDate>Sun, 25 Jan 2026 18:53:32 GMT</lastBuildDate>
    <atom:link href="https://bardt.dev/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>Binary Search Mastery - Beyond Simple Arrays</title>
    <link>https://bardt.dev/blog/binary_search_mastery</link>
    <description>Binary search isn&apos;t just about finding elements in sorted arrays—it&apos;s a fundamental optimization technique that can solve complex problems by systemat...</description>
    <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/binary_search_mastery</guid>
    <category>binary search</category>
    <category>algorithms</category>
    <category>optimization techniques</category>
    <category>coding interviews</category>
    <category>leetcode solutions</category>
    <category>algorithm patterns</category>
    <category>divide and conquer</category>
    <category>search algorithms</category>
    <category>data structures</category>
    <category>performance optimization</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Camera Autofocus - Binary Search in Real Time</title>
    <link>https://bardt.dev/blog/camera_autofocus_binary_search</link>
    <description>You know that feeling when you&apos;re trying to capture the perfect moment and your camera just... hunts?  Back and forth, back and forth. Like it&apos;s havin...</description>
    <pubDate>Mon, 29 Sep 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/camera_autofocus_binary_search</guid>
    <category>autofocus</category>
    <category>binary search</category>
    <category>real-time algorithms</category>
    <category>camera technology</category>
    <category>phase detection</category>
    <category>contrast detection</category>
    <category>photography algorithms</category>
    <category>computer vision</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Container With Most Water. Two Pointer Solution That Actually Makes Sense</title>
    <link>https://bardt.dev/blog/container_with_most_water</link>
    <description>**Move the shorter line&apos;s pointer inward—keeping it guarantees you&apos;ll never find a larger area.**  I spent an embarrassing amount of time trying to br...</description>
    <pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/container_with_most_water</guid>
    <category>leetcode solutions</category>
    <category>two pointer technique</category>
    <category>array algorithms</category>
    <category>coding interviews</category>
    <category>algorithm optimization</category>
    <category>greedy algorithms</category>
    <category>problem solving</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Principles Divide and Conquer Algorithms</title>
    <link>https://bardt.dev/blog/divide_and_conquer</link>
    <description>Let&apos;s start our description with a great example. How do you wake up every morning? I guess it&apos;s similar for all people:  1. The alarm clock is ringin...</description>
    <pubDate>Sat, 24 Jul 2021 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/divide_and_conquer</guid>
    <category>algorithms</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Dynamic Programming - From Recursion to Optimization</title>
    <link>https://bardt.dev/blog/dynamic_programming_mastery</link>
    <description>Dynamic programming transforms exponential-time recursive solutions into polynomial-time algorithms by recognizing that the same subproblems appear re...</description>
    <pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/dynamic_programming_mastery</guid>
    <category>dynamic programming</category>
    <category>recursion optimization</category>
    <category>memoization</category>
    <category>tabulation</category>
    <category>algorithm optimization</category>
    <category>coding interviews</category>
    <category>system design</category>
    <category>machine learning algorithms</category>
    <category>financial modeling</category>
    <category>space optimization</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>The Hidden Algorithms Behind Perfect Focus Stacking</title>
    <link>https://bardt.dev/blog/focus_stacking_algorithms</link>
    <description>You know that moment when you&apos;re trying to capture a macro shot and... well, physics just won&apos;t cooperate?  I was there last month, crouched over this...</description>
    <pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/focus_stacking_algorithms</guid>
    <category>focus stacking</category>
    <category>computer vision</category>
    <category>edge detection</category>
    <category>image processing</category>
    <category>photography algorithms</category>
    <category>image alignment</category>
    <category>blend algorithms</category>
    <category>computational photography</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Hash Maps - The Swiss Army Knife of Data Structures</title>
    <link>https://bardt.dev/blog/hashmap</link>
    <description>Hash maps provide O(1) average-case lookup, insertion, and deletion by using hash functions to map keys directly to array indices.  I remember the exa...</description>
    <pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/hashmap</guid>
    <category>hash map</category>
    <category>hash table</category>
    <category>data structures</category>
    <category>algorithms</category>
    <category>collision resolution</category>
    <category>hashing</category>
    <category>dictionary</category>
    <category>key-value pairs</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>How to improve your algorithms and data structures skills</title>
    <link>https://bardt.dev/blog/how_to_learn</link>
    <description>It&apos;s my first question when I started learning algorithms except for the central question: for what. This article helps you with how, not for what.  A...</description>
    <pubDate>Fri, 09 Jul 2021 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/how_to_learn</guid>
    <category>algorithms</category>
    <category>howto</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>How to solve problems on Leetcode/HackerRank to prepare for a tech interview</title>
    <link>https://bardt.dev/blog/how_to_solve_problems</link>
    <description>Have you ever asked yourself this question? I think so; that&apos;s the first question at the start of your journey. Although the process often looks like ...</description>
    <pubDate>Wed, 01 Sep 2021 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/how_to_solve_problems</guid>
    <category>algorithms</category>
    <category>howto</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Sliding Window Technique - Transform for Subarray Problems</title>
    <link>https://bardt.dev/blog/sliding_window_mastery</link>
    <description>**The sliding window technique eliminates redundant recalculation by maintaining a moving subset of elements—expand right to add, contract left to rem...</description>
    <pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/sliding_window_mastery</guid>
    <category>sliding window</category>
    <category>algorithm patterns</category>
    <category>two pointer technique</category>
    <category>coding interviews</category>
    <category>leetcode solutions</category>
    <category>array algorithms</category>
    <category>string algorithms</category>
    <category>optimization techniques</category>
    <category>performance optimization</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Ternary Search - When Binary Search Isn&apos;t Enough</title>
    <link>https://bardt.dev/blog/ternary_search_advanced</link>
    <description>Ternary search solves optimization problems that binary search cannot handle—finding maxima and minima in unimodal functions where traditional search ...</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/ternary_search_advanced</guid>
    <category>ternary search</category>
    <category>optimization algorithms</category>
    <category>unimodal functions</category>
    <category>mathematical optimization</category>
    <category>machine learning</category>
    <category>algorithm patterns</category>
    <category>extrema finding</category>
    <category>search algorithms</category>
    <category>performance optimization</category>
    <category>numerical methods</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>The Art of Technical Debt - When to Pay It Down vs. Ship Fast</title>
    <link>https://bardt.dev/blog/the_art_of_technical_debt</link>
    <description>Technical debt is a strategic tool, not a failure—the key is intentionally accumulating debt you can afford and paying it down before it compounds int...</description>
    <pubDate>Sun, 31 Aug 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/the_art_of_technical_debt</guid>
    <category>technical debt</category>
    <category>software engineering</category>
    <category>code quality</category>
    <category>development strategy</category>
    <category>refactoring</category>
    <category>engineering management</category>
    <category>software architecture</category>
    <category>product development</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>When Hash Maps Aren&apos;t Enough use Trie Data Structure</title>
    <link>https://bardt.dev/blog/trie_data_structure</link>
    <description>Tries excel at prefix-based operations that hash maps struggle with, offering efficient autocomplete, spell checking, and word validation through shar...</description>
    <pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/trie_data_structure</guid>
    <category>trie data structure</category>
    <category>prefix tree</category>
    <category>autocomplete</category>
    <category>spell checker</category>
    <category>string algorithms</category>
    <category>tree data structure</category>
    <category>prefix matching</category>
    <category>dictionary implementation</category>    <author>contact@bardt.dev</author>
  </item>
  <item>
    <title>Two Pointer Technique. Master This Essential Algorithm Pattern</title>
    <link>https://bardt.dev/blog/two_pointer_technique</link>
    <description>The two pointer technique reduces O(n²) brute force solutions to O(n) by using strategic pointer movement through sorted data.\*\*  You&apos;re staring at ...</description>
    <pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate>
    <guid isPermaLink="true">https://bardt.dev/blog/two_pointer_technique</guid>
    <category>two pointer technique</category>
    <category>algorithm patterns</category>
    <category>coding interviews</category>
    <category>leetcode solutions</category>
    <category>array algorithms</category>
    <category>string algorithms</category>
    <category>optimization techniques</category>
    <category>data structures</category>    <author>contact@bardt.dev</author>
  </item>
  </channel>
</rss>