<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>definitepotato</title>
    <link>https://www.definitepotato.dev/</link>
    <description>Recent content on definitepotato</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 definitepotato</copyright>
    <lastBuildDate>Wed, 08 Apr 2026 00:00:00 -0400</lastBuildDate><atom:link href="https://www.definitepotato.dev/atom.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Lexing</title>
      <link>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/01-lexing/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/01-lexing/</guid>
      <description>&lt;p&gt;The lexer (also called a tokenizer or scanner) takes Monkey source code as a string and breaks it into a sequence of tokens, each being the smallest meaningful unit of the language. This step separates meaningless things from the meaningful, so the next step (the parsing) can have an easier time not needing to worry about whitespaces or other things that don&amp;rsquo;t matter in Monkey.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Parsing</title>
      <link>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/02-parsing/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/02-parsing/</guid>
      <description>&lt;p&gt;In chapter 1 we wrote a lexer to break our source code into tokens. In this chapter we&amp;rsquo;ll write the parser that&amp;rsquo;ll take the tokens and build an Abstract Syntax Tree (AST), a tree representation of your source code structure.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Evaluation</title>
      <link>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/03-evaluation/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/03-evaluation/</guid>
      <description>&lt;p&gt;In chapter 1 we turned our source into tokens. In chapter 2 we turned our tokens into a tree (AST). Now we&amp;rsquo;re going walk the AST and produce values with an evaluator. Let&amp;rsquo;s return to our running example of &lt;code&gt;&amp;quot;5 + 3 * 4&amp;quot;&lt;/code&gt;. When the evaluator sees an &lt;code&gt;InfixExpression&lt;/code&gt; node with the operator &lt;code&gt;+&lt;/code&gt;, a left child &lt;code&gt;Int(5)&lt;/code&gt; and a right child &lt;code&gt;Int(3)&lt;/code&gt;, it evaluates the children first, then adds them to product &lt;code&gt;Int(8)&lt;/code&gt;. The AST structure will naturally tell the evaluator what to do and in what order.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Extending the Interpreter</title>
      <link>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/04-extending-the-interpreter/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.definitepotato.dev/books/monkey-interpreter-in-zig/04-extending-the-interpreter/</guid>
      <description>&lt;p&gt;Almost done with part 1. This chapter completes the interpreter by adding built-in functions (&lt;code&gt;builtins.zig&lt;/code&gt;), wiring them into the evaluator, and building the REPL (&lt;code&gt;main.zig&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;REPL is a &lt;strong&gt;Read Evaluate Print&lt;/strong&gt; Loop, something similar to the Python interactive shell. The code will produce a prompt and allow the user to write a line of Monkey. It&amp;rsquo;ll read the input from the user, then lex/parse/evaluate, display the resulting object, then loop back to step 1.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>The Joy of Programming with AI</title>
      <link>https://www.definitepotato.dev/posts/20260408-the-joy-of-programming-with-ai/</link>
      <pubDate>Wed, 08 Apr 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260408-the-joy-of-programming-with-ai/</guid>
      <description>My thoughts and rambling of coding with AI and what the future holds for software engineering.</description>
      
    </item>
    
    <item>
      <title>How I Use AI</title>
      <link>https://www.definitepotato.dev/posts/20260303-how-i-use-ai/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260303-how-i-use-ai/</guid>
      <description>How I use AI in my coding process, at work, and with personal projects.</description>
      
    </item>
    
    <item>
      <title>Zig and HTTP</title>
      <link>https://www.definitepotato.dev/posts/20260208-zig-http/</link>
      <pubDate>Sun, 08 Feb 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260208-zig-http/</guid>
      <description>Making HTTP requests (GET, PUT, POST, DELETE) in Zig and why a wrapper is useful here.</description>
      
    </item>
    
    <item>
      <title>Zig and JSON</title>
      <link>https://www.definitepotato.dev/posts/20260206-zig-json/</link>
      <pubDate>Fri, 06 Feb 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260206-zig-json/</guid>
      <description>Working with JSON in Zig, the std.json.Parsed wrapper, memory management, and what breaks when your JSON doesn&amp;rsquo;t match your struct.</description>
      
    </item>
    
    <item>
      <title>Reading from files using buffers in Zig</title>
      <link>https://www.definitepotato.dev/posts/20260203-zig-read-file-with-buffer/</link>
      <pubDate>Tue, 03 Feb 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260203-zig-read-file-with-buffer/</guid>
      <description>Learn how to read from a file in zig using a buffer for temporary store of bytes.</description>
      
    </item>
    
    <item>
      <title>Writing to files using buffers in Zig</title>
      <link>https://www.definitepotato.dev/posts/20260202-zig-file-write-with-buffer/</link>
      <pubDate>Mon, 02 Feb 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260202-zig-file-write-with-buffer/</guid>
      <description>Learn how to write to a file in zig using a buffer for temporary store of bytes.</description>
      
    </item>
    
    <item>
      <title>Zig Juice Has Arrived in 0.16.0</title>
      <link>https://www.definitepotato.dev/posts/20260120-zig-juicy-merged/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20260120-zig-juicy-merged/</guid>
      <description>Zig&amp;rsquo;s new Init and Minimal structs for accessing command line arguments and environment variables in main.</description>
      
    </item>
    
    <item>
      <title>Zig Iterators</title>
      <link>https://www.definitepotato.dev/posts/20251028-zig-iterators/</link>
      <pubDate>Tue, 28 Oct 2025 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20251028-zig-iterators/</guid>
      <description>Building a custom iterator for a generic slice type in Zig.</description>
      
    </item>
    
    <item>
      <title>Error Handling in Zig</title>
      <link>https://www.definitepotato.dev/posts/20250919-zig-error-handling/</link>
      <pubDate>Fri, 19 Sep 2025 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20250919-zig-error-handling/</guid>
      <description>Zig error handling mechanisms using try, catch, switch, panic, unreachable, and C-style return codes.</description>
      
    </item>
    
    <item>
      <title>To Owned</title>
      <link>https://www.definitepotato.dev/posts/20250709-zig-to-owned/</link>
      <pubDate>Wed, 09 Jul 2025 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20250709-zig-to-owned/</guid>
      <description>Implementing a toOwned() method in Zig to copy data from managed buffers to heap-allocated memory.</description>
      
    </item>
    
    <item>
      <title>Sliding Window</title>
      <link>https://www.definitepotato.dev/posts/20250412-zig-sliding-window/</link>
      <pubDate>Sat, 12 Apr 2025 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20250412-zig-sliding-window/</guid>
      <description>Implementing a sliding window algorithm in Zig.</description>
      
    </item>
    
    <item>
      <title>Stack Data Structure using Zig</title>
      <link>https://www.definitepotato.dev/posts/20250308-zig-stack-data-structure/</link>
      <pubDate>Sat, 08 Mar 2025 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20250308-zig-stack-data-structure/</guid>
      <description>How I built a generic stack data structure in Zig using comptime.</description>
      
    </item>
    
    <item>
      <title>How To Learn Zig</title>
      <link>https://www.definitepotato.dev/posts/20250209-zig-how-to-learn/</link>
      <pubDate>Sun, 09 Feb 2025 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20250209-zig-how-to-learn/</guid>
      <description>Resources I used to learn more Zig in 2025.</description>
      
    </item>
    
    <item>
      <title>Advent of Code: Day 1</title>
      <link>https://www.definitepotato.dev/posts/20241201-advent-of-code-day-1/</link>
      <pubDate>Sun, 01 Dec 2024 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20241201-advent-of-code-day-1/</guid>
      <description>Solving Advent of Code 2024 Day 1 in Zig.</description>
      
    </item>
    
    <item>
      <title>Zig Optionals</title>
      <link>https://www.definitepotato.dev/posts/20241126-zig-optionals/</link>
      <pubDate>Tue, 26 Nov 2024 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20241126-zig-optionals/</guid>
      <description>Learning how to declare and unwrap zig optionals to access the underlying values using if, while, orelse and .? notation.</description>
      
    </item>
    
    <item>
      <title>Zig Structs</title>
      <link>https://www.definitepotato.dev/posts/20241009-zig-structs/</link>
      <pubDate>Mon, 14 Oct 2024 00:00:00 -0400</pubDate>
      
      <guid>https://www.definitepotato.dev/posts/20241009-zig-structs/</guid>
      <description>Let&amp;rsquo;s learn zig structs. How to declare them, add methods, instantiate them, and @This() super powers.</description>
      
    </item>
    
    <item>
      <title>Charts &amp; Diagrams</title>
      <link>https://www.definitepotato.dev/charts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://www.definitepotato.dev/charts/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Flowchart
    &lt;div id=&#34;flowchart&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#flowchart&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
graph TD
A[Start] --&gt; B{Is it working?}
B --&gt;|Yes| C[Great!]
B --&gt;|No| D[Debug]
D --&gt; E[Check logs]
E --&gt; F[Fix issue]
F --&gt; B
C --&gt; G[Deploy]
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Sequence Diagram
    &lt;div id=&#34;sequence-diagram&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#sequence-diagram&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
sequenceDiagram
participant Client
participant API
participant Database

Client-&gt;&gt;API: POST /login
API-&gt;&gt;Database: Query user
Database--&gt;&gt;API: User data
API--&gt;&gt;Client: JWT Token
Client-&gt;&gt;API: GET /data (with token)
API-&gt;&gt;Database: Fetch data
Database--&gt;&gt;API: Results
API--&gt;&gt;Client: JSON response
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Class Diagram
    &lt;div id=&#34;class-diagram&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#class-diagram&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
classDiagram
class User {
    +String username
    +String email
    -String password
    +login()
    +logout()
}
class Post {
    +String title
    +String content
    +Date createdAt
    +publish()
    +delete()
}
class Comment {
    +String text
    +Date createdAt
    +edit()
}
User &#34;1&#34; --&gt; &#34;*&#34; Post : writes
User &#34;1&#34; --&gt; &#34;*&#34; Comment : writes
Post &#34;1&#34; --&gt; &#34;*&#34; Comment : has
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Entity Relationship Diagram
    &lt;div id=&#34;entity-relationship-diagram&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#entity-relationship-diagram&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
erDiagram
USER ||--o{ POST : creates
USER ||--o{ COMMENT : writes
POST ||--o{ COMMENT : contains
POST ||--o{ TAG : has
CATEGORY ||--|{ POST : contains

USER {
    int id PK
    string username
    string email
}
POST {
    int id PK
    string title
    text content
    int user_id FK
}
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;State Diagram
    &lt;div id=&#34;state-diagram&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#state-diagram&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
stateDiagram-v2
[*] --&gt; Draft
Draft --&gt; Review : Submit
Review --&gt; Draft : Request changes
Review --&gt; Approved : Approve
Approved --&gt; Published : Publish
Published --&gt; Archived : Archive
Archived --&gt; [*]
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Gantt Chart
    &lt;div id=&#34;gantt-chart&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#gantt-chart&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
gantt
title Project Timeline
dateFormat YYYY-MM-DD
section Planning
Requirements :a1, 2024-01-01, 7d
Design :a2, after a1, 5d
section Development
Backend :b1, after a2, 14d
Frontend :b2, after a2, 14d
section Testing
QA Testing :c1, after b1, 7d
section Deployment
Launch :d1, after c1, 2d
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Pie Chart
    &lt;div id=&#34;pie-chart&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pie-chart&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
pie showData
title Languages Used
&#34;Go&#34; : 45
&#34;TypeScript&#34; : 30
&#34;Python&#34; : 15
&#34;Rust&#34; : 10
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Git Graph
    &lt;div id=&#34;git-graph&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#git-graph&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
gitGraph
commit id: &#34;Initial&#34;
commit id: &#34;Add feature A&#34;
branch develop
commit id: &#34;Start feature B&#34;
commit id: &#34;Continue B&#34;
checkout main
commit id: &#34;Hotfix&#34;
checkout develop
commit id: &#34;Finish B&#34;
checkout main
merge develop id: &#34;Merge develop&#34;
commit id: &#34;Release v1.0&#34;
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Mindmap
    &lt;div id=&#34;mindmap&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#mindmap&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
mindmap
root((Project))
    Backend
        API
        Database
        Auth
    Frontend
        UI Components
        State Management
        Routing
    DevOps
        CI/CD
        Monitoring
        Infrastructure
&lt;/pre&gt;


&lt;h2 class=&#34;relative group&#34;&gt;Timeline
    &lt;div id=&#34;timeline&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#timeline&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;pre class=&#34;not-prose mermaid&#34;&gt;
timeline
title Development Journey
2020 : Started learning Go
2021 : First open source contribution
     : Built first CLI tool
2022 : Joined tech company
     : Led backend team
2023 : Started Zig exploration
2024 : Building with Rust
&lt;/pre&gt;</description>
      
    </item>
    
  </channel>
</rss>
