<?xml version="1.0" encoding="UTF-8"?><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" version="2.0">
    <channel>
        <title><![CDATA[Tin Rabzelj]]></title>
        <description><![CDATA[Software engineer.]]></description>
        <link>https://rabzelj.com</link>
        <image>
            <url>https://rabzelj.com/api/images/featured</url>
            <title>Tin Rabzelj</title>
            <link>https://rabzelj.com</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Sat, 07 Mar 2026 02:41:48 GMT</lastBuildDate>
        <atom:link href="https://rabzelj.com/blog/rss.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Sat, 07 Mar 2026 02:41:46 GMT</pubDate>
        <ttl>60</ttl>
        <item>
            <title><![CDATA[Trying to Build a Serverless Platform using Firecracker]]></title>
            <description><![CDATA[Can I build my own AWS Lambda, though?]]></description>
            <link>https://rabzelj.com/blog/serverless-platform-firecracker-vm</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/serverless-platform-firecracker-vm</guid>
            <category><![CDATA[deno]]></category>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[firecracker]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building a Vector Database in Rust: LSM-VEC]]></title>
            <description><![CDATA[Combining LSM-tree storage with HNSW-like routing to provide update-friendly disk-based vector search.]]></description>
            <link>https://rabzelj.com/blog/building-vector-database-lsm-vec</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/building-vector-database-lsm-vec</guid>
            <category><![CDATA[database]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[A Result Type for TypeScript]]></title>
            <description><![CDATA[Did somebody ask for a monad?]]></description>
            <link>https://rabzelj.com/blog/typescript-result-monad-type</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/typescript-result-monad-type</guid>
            <category><![CDATA[typescript]]></category>
            <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Generating Sitemaps in TanStack Start]]></title>
            <description><![CDATA[How can we generate a sitemap in a TanStack Start app?]]></description>
            <link>https://rabzelj.com/blog/tanstack-start-sitemap-generation</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/tanstack-start-sitemap-generation</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[tanstack-start]]></category>
            <category><![CDATA[typescript]]></category>
            <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Blockwise Parallel Transformer for Large Context Models | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Blockwise Parallel Transformer for Large Context Models.]]></description>
            <link>https://rabzelj.com/blog/blockwise-parallel-transformer-for-large-context-models-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/blockwise-parallel-transformer-for-large-context-models-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Fast Inference from Transformers via Speculative Decoding | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Fast Inference from Transformers via Speculative Decoding.]]></description>
            <link>https://rabzelj.com/blog/fast-inference-from-transformers-via-speculative-decoding-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/fast-inference-from-transformers-via-speculative-decoding-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Fast Transformer Decoding: One Write-Head is All You Need | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Fast Transformer Decoding: One Write-Head is All You Need.]]></description>
            <link>https://rabzelj.com/blog/fast-transformer-decoding-one-write-head-is-all-you-need-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/fast-transformer-decoding-one-write-head-is-all-you-need-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints | Paper Notes]]></title>
            <description><![CDATA[Paper notes for GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints.]]></description>
            <link>https://rabzelj.com/blog/gqa-training-generalized-multi-query-transformer-models-from-multi-head-checkpoints-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/gqa-training-generalized-multi-query-transformer-models-from-multi-head-checkpoints-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Ring Attention with Blockwise Transformers for Near-Infinite Context | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Ring Attention with Blockwise Transformers for Near-Infinite Context.]]></description>
            <link>https://rabzelj.com/blog/ring-attention-with-blockwise-transformers-for-near-infinite-context-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/ring-attention-with-blockwise-transformers-for-near-infinite-context-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Effective Long-Context Scaling of Foundation Models | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Effective Long-Context Scaling of Foundation Models.]]></description>
            <link>https://rabzelj.com/blog/effective-long-context-scaling-of-foundation-models-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/effective-long-context-scaling-of-foundation-models-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[YaRN: Efficient Context Window Extension of Large Language Models | Paper Notes]]></title>
            <description><![CDATA[Paper notes for YaRN: Efficient Context Window Extension of Large Language Models.]]></description>
            <link>https://rabzelj.com/blog/yarn-efficient-context-window-extension-of-large-language-models-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/yarn-efficient-context-window-extension-of-large-language-models-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention.]]></description>
            <link>https://rabzelj.com/blog/leave-no-context-behind-efficient-infinite-context-transformers-with-infini-attention-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/leave-no-context-behind-efficient-infinite-context-transformers-with-infini-attention-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Fri, 29 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness | Paper Notes]]></title>
            <description><![CDATA[Paper notes for FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness.]]></description>
            <link>https://rabzelj.com/blog/flashattention-fast-and-memory-efficient-exact-attention-with-io-awareness-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/flashattention-fast-and-memory-efficient-exact-attention-with-io-awareness-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Longformer: The Long-Document Transformer | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Longformer: The Long-Document Transformer.]]></description>
            <link>https://rabzelj.com/blog/longformer-the-long-document-transformer-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/longformer-the-long-document-transformer-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ReAct: Synergizing Reasoning and Acting in Language Models | Paper Notes]]></title>
            <description><![CDATA[Paper notes for ReAct: Synergizing Reasoning and Acting in Language Models.]]></description>
            <link>https://rabzelj.com/blog/react-synergizing-reasoning-and-acting-in-language-models-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/react-synergizing-reasoning-and-acting-in-language-models-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[RoFormer: Enhanced Transformer with Rotary Position Embedding | Paper Notes]]></title>
            <description><![CDATA[Paper notes for RoFormer: Enhanced Transformer with Rotary Position Embedding.]]></description>
            <link>https://rabzelj.com/blog/roformer-enhanced-transformer-with-rotary-position-embedding-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/roformer-enhanced-transformer-with-rotary-position-embedding-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The Impact of Positional Encoding on Length Generalization in Transformers | Paper Notes]]></title>
            <description><![CDATA[Paper notes for The Impact of Positional Encoding on Length Generalization in Transformers.]]></description>
            <link>https://rabzelj.com/blog/the-impact-of-positional-encoding-on-length-generalization-in-transformers-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/the-impact-of-positional-encoding-on-length-generalization-in-transformers-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation.]]></description>
            <link>https://rabzelj.com/blog/train-short-test-long-attention-with-linear-biases-enables-input-length-extrapolation-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/train-short-test-long-attention-with-linear-biases-enables-input-length-extrapolation-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Chain-of-Thought Prompting Elicits Reasoning in Large Language Models | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.]]></description>
            <link>https://rabzelj.com/blog/chain-of-thought-prompting-elicits-reasoning-in-large-language-models-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/chain-of-thought-prompting-elicits-reasoning-in-large-language-models-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Tree of Thoughts: Deliberate Problem Solving with Large Language Models | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Tree of Thoughts: Deliberate Problem Solving with Large Language Models.]]></description>
            <link>https://rabzelj.com/blog/tree-of-thoughts-deliberate-problem-solving-with-large-language-models-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/tree-of-thoughts-deliberate-problem-solving-with-large-language-models-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.]]></description>
            <link>https://rabzelj.com/blog/exploring-the-limits-of-transfer-learning-with-a-unified-text-to-text-transformer-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/exploring-the-limits-of-transfer-learning-with-a-unified-text-to-text-transformer-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer.]]></description>
            <link>https://rabzelj.com/blog/outrageously-large-neural-networks-the-sparsely-gated-mixture-of-experts-layer-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/outrageously-large-neural-networks-the-sparsely-gated-mixture-of-experts-layer-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Language Models are Few-Shot Learners | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Language Models are Few-Shot Learners.]]></description>
            <link>https://rabzelj.com/blog/language-models-are-few-shot-learners-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/language-models-are-few-shot-learners-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Thu, 21 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Language Models are Unsupervised Multitask Learners | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Language Models are Unsupervised Multitask Learners.]]></description>
            <link>https://rabzelj.com/blog/language-models-are-unsupervised-multitask-learners-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/language-models-are-unsupervised-multitask-learners-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Wed, 20 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding | Paper Notes]]></title>
            <description><![CDATA[Paper notes for BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.]]></description>
            <link>https://rabzelj.com/blog/bert-pre-training-deep-bidirectional-transformers-for-language-understanding-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/bert-pre-training-deep-bidirectional-transformers-for-language-understanding-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Tue, 19 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Improving Language Understanding by Generative Pre-Training | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Improving Language Understanding by Generative Pre-Training.]]></description>
            <link>https://rabzelj.com/blog/improving-language-understanding-by-generative-pre-training-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/improving-language-understanding-by-generative-pre-training-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Thu, 14 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Attention Is All You Need | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Attention Is All You Need.]]></description>
            <link>https://rabzelj.com/blog/attention-is-all-you-need-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/attention-is-all-you-need-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <category><![CDATA[python]]></category>
            <pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Neural Machine Translation by Jointly Learning to Align and Translate | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Neural Machine Translation by Jointly Learning to Align and Translate.]]></description>
            <link>https://rabzelj.com/blog/neural-machine-translation-by-jointly-learning-to-align-and-translate-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/neural-machine-translation-by-jointly-learning-to-align-and-translate-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <category><![CDATA[python]]></category>
            <pubDate>Sun, 10 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Seed Diffusion: A Large-Scale Diffusion Language Model with High-Speed Inference | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Seed Diffusion: A Large-Scale Diffusion Language Model with High-Speed Inference.]]></description>
            <link>https://rabzelj.com/blog/seed-diffusion-a-large-scale-diffusion-language-model-with-high-speed-inference-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/seed-diffusion-a-large-scale-diffusion-language-model-with-high-speed-inference-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Sequence to Sequence Learning with Neural Networks | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Sequence to Sequence Learning with Neural Networks.]]></description>
            <link>https://rabzelj.com/blog/sequence-to-sequence-learning-with-neural-networks-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/sequence-to-sequence-learning-with-neural-networks-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <category><![CDATA[python]]></category>
            <pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[GloVe: Global Vectors for Word Representation | Paper Notes]]></title>
            <description><![CDATA[Paper notes for GloVe: Global Vectors for Word Representation.]]></description>
            <link>https://rabzelj.com/blog/glove-global-vectors-for-word-representation-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/glove-global-vectors-for-word-representation-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <category><![CDATA[python]]></category>
            <pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Efficient Estimation of Word Representations in Vector Space | Paper Notes]]></title>
            <description><![CDATA[Paper notes for Efficient Estimation of Word Representations in Vector Space.]]></description>
            <link>https://rabzelj.com/blog/efficient-estimation-of-word-representations-in-vector-space-paper-notes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/efficient-estimation-of-word-representations-in-vector-space-paper-notes</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[paper-notes]]></category>
            <category><![CDATA[python]]></category>
            <pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Pointers Are Not Just Integers - Provenance]]></title>
            <description><![CDATA[A pointer is just the address of a memory location, right?]]></description>
            <link>https://rabzelj.com/blog/pointer-provenance-not-just-integers</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/pointer-provenance-not-just-integers</guid>
            <category><![CDATA[rust]]></category>
            <category><![CDATA[systems-programming]]></category>
            <pubDate>Wed, 26 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building a Real-Time Bluesky Trending Hashtag System With Arroyo, NATS, and Rust]]></title>
            <description><![CDATA[Let's talk about building a real-time trending hashtag system.]]></description>
            <link>https://rabzelj.com/blog/building-bluesky-trending-hashtags</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/building-bluesky-trending-hashtags</guid>
            <category><![CDATA[arroyo]]></category>
            <category><![CDATA[nats]]></category>
            <category><![CDATA[redis]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[From a Monolith to Microservices]]></title>
            <description><![CDATA[How to go from a monolith to microservices and should you?]]></description>
            <link>https://rabzelj.com/blog/from-monoliths-to-microservices</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/from-monoliths-to-microservices</guid>
            <category><![CDATA[microservices]]></category>
            <category><![CDATA[software-architecture]]></category>
            <pubDate>Mon, 17 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How To Use Raylib in Rust With Your Own Bindings]]></title>
            <description><![CDATA[Learn how to create custom Rust bindings for Raylib and how to approach C interoperability in general.]]></description>
            <link>https://rabzelj.com/blog/rust-zig-raylib-ffi-custom-bindings</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/rust-zig-raylib-ffi-custom-bindings</guid>
            <category><![CDATA[rust]]></category>
            <pubDate>Fri, 14 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Introduction to Intelligent Agent Architectures]]></title>
            <description><![CDATA[What are intelligent agents anyway?]]></description>
            <link>https://rabzelj.com/blog/introduction-intelligent-agent-architectures</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/introduction-intelligent-agent-architectures</guid>
            <category><![CDATA[ai]]></category>
            <pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Validate Next.js Server Actions with Zod]]></title>
            <description><![CDATA[This is a simple utility I wrote to validate Next.js server actions with Zod.]]></description>
            <link>https://rabzelj.com/blog/nextjs-validate-server-action-zod</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/nextjs-validate-server-action-zod</guid>
            <category><![CDATA[nextjs]]></category>
            <category><![CDATA[typescript]]></category>
            <pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Working With CUDA in Rust - Basic FFI]]></title>
            <description><![CDATA[Let's work with CUDA in Rust without external crates.]]></description>
            <link>https://rabzelj.com/blog/how-to-rust-cuda-basic-ffi</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/how-to-rust-cuda-basic-ffi</guid>
            <category><![CDATA[cuda]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Sat, 07 Dec 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[PostgreSQL and process-per-connection]]></title>
            <description><![CDATA[Processes being units of concurrency is silly, right?]]></description>
            <link>https://rabzelj.com/blog/postgres-process-per-connection</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/postgres-process-per-connection</guid>
            <category><![CDATA[database]]></category>
            <category><![CDATA[musing]]></category>
            <category><![CDATA[postgresql]]></category>
            <pubDate>Fri, 18 Oct 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Mojo Outperforms Rust?]]></title>
            <description><![CDATA[Some thoughts about "Mojo outperforming Rust".]]></description>
            <link>https://rabzelj.com/blog/mojo-rust-ai</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/mojo-rust-ai</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Sat, 10 Feb 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How I Use Declarative Macros in Rust]]></title>
            <description><![CDATA[Showing my common use cases for declarative macros in Rust.]]></description>
            <link>https://rabzelj.com/blog/quick-tips-rust-declarative-macros</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/quick-tips-rust-declarative-macros</guid>
            <category><![CDATA[rust]]></category>
            <pubDate>Wed, 29 Nov 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Running Next.js Standalone App With Sharp Inside Docker]]></title>
            <description><![CDATA[Running Next.js standalone app with sharp inside Docker cannot be that hard, right?]]></description>
            <link>https://rabzelj.com/blog/nextjs-standalone-docker-sharp-installation</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/nextjs-standalone-docker-sharp-installation</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[nextjs]]></category>
            <category><![CDATA[nodejs]]></category>
            <pubDate>Sun, 26 Nov 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Error Handling Pattern with React and Redux-Saga]]></title>
            <description><![CDATA[This article describes an error handling pattern with React and Redux-Saga.]]></description>
            <link>https://rabzelj.com/blog/redux-saga-error-handling</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/redux-saga-error-handling</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[typescript]]></category>
            <pubDate>Wed, 06 Jan 2021 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Generating Realistic Test Traffic Using Markov Chains]]></title>
            <description><![CDATA[This article shows how to generate realistic traffic using Markov Chains.]]></description>
            <link>https://rabzelj.com/blog/markov-chains-test-traffic</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/markov-chains-test-traffic</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Wed, 28 Oct 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Why Should Microservices Be Idempotent]]></title>
            <description><![CDATA[This article gives an argument on why services in microservices architecture should always be idempotent.]]></description>
            <link>https://rabzelj.com/blog/why-idempotent-microservices</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/why-idempotent-microservices</guid>
            <category><![CDATA[microservices]]></category>
            <category><![CDATA[software-architecture]]></category>
            <pubDate>Fri, 02 Oct 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Rate Limiting in Rust Using Redis]]></title>
            <description><![CDATA[This article shows how to perform rate limiting in Rust using Redis.]]></description>
            <link>https://rabzelj.com/blog/rust-redis-rate-limiting</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/rust-redis-rate-limiting</guid>
            <category><![CDATA[redis]]></category>
            <category><![CDATA[rust]]></category>
            <pubDate>Sun, 19 Jul 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Event Versioning with Rust]]></title>
            <description><![CDATA[A simple way to version events by using enums and serde in Rust.]]></description>
            <link>https://rabzelj.com/blog/event-versioning-rust</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/event-versioning-rust</guid>
            <category><![CDATA[rust]]></category>
            <category><![CDATA[software-architecture]]></category>
            <pubDate>Tue, 23 Jun 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building a Real-time Chat App in Rust and React]]></title>
            <description><![CDATA[This article shows how to build a real-time chat app in Rust.]]></description>
            <link>https://rabzelj.com/blog/rust-react-realtime-chat</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/rust-react-realtime-chat</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[rust]]></category>
            <category><![CDATA[websocket]]></category>
            <pubDate>Wed, 20 May 2020 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[N+1 Queries in GraphQL Using PostgreSQL Window Functions]]></title>
            <description><![CDATA[This article shows how to query nested fields on GraphQL server by leveraging PostgreSQL's window functions.]]></description>
            <link>https://rabzelj.com/blog/graphql-postgresql-window-functions</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/graphql-postgresql-window-functions</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[postgresql]]></category>
            <pubDate>Mon, 23 Jul 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Dependency Injection in Go]]></title>
            <description><![CDATA[An article describing a simple dependency injection package for Go.]]></description>
            <link>https://rabzelj.com/blog/go-dependency-injection</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/go-dependency-injection</guid>
            <category><![CDATA[go]]></category>
            <pubDate>Tue, 10 Jul 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Real-time Chat with GraphQL Subscriptions in Go]]></title>
            <description><![CDATA[This article shows how to build a simple real-time chat using GraphQL and Go.]]></description>
            <link>https://rabzelj.com/blog/go-graphql-realtime-chat</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/go-graphql-realtime-chat</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[vuejs]]></category>
            <pubDate>Wed, 20 Jun 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Using GraphQL with Microservices in Go]]></title>
            <description><![CDATA[This article describes how GraphQL is implemented in "Spidey", an exemplary microservices based online store.]]></description>
            <link>https://rabzelj.com/blog/go-graphql-gateway-microservices</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/go-graphql-gateway-microservices</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[go]]></category>
            <category><![CDATA[microservices]]></category>
            <category><![CDATA[postgresql]]></category>
            <pubDate>Thu, 14 Jun 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building a Microservices Application in Go Following the CQRS Pattern]]></title>
            <description><![CDATA[This article shows how to build a scalable app with CQRS pattern.]]></description>
            <link>https://rabzelj.com/blog/go-microservices-cqrs-docker</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/go-microservices-cqrs-docker</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[go]]></category>
            <category><![CDATA[microservices]]></category>
            <category><![CDATA[nats]]></category>
            <category><![CDATA[nginx]]></category>
            <category><![CDATA[postgresql]]></category>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[websocket]]></category>
            <pubDate>Tue, 22 May 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How to Build a Search Service with Go and Elasticsearch]]></title>
            <description><![CDATA[This article shows how to build a simple search service in Go by using Elasticsearch.]]></description>
            <link>https://rabzelj.com/blog/go-elastic-search-service</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/go-elastic-search-service</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[go]]></category>
            <pubDate>Thu, 22 Mar 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building a URL Shortener with Go and AWS Lambda]]></title>
            <description><![CDATA[This article shows how to build a URL shortener in Go and deploy it to AWS Lambda.]]></description>
            <link>https://rabzelj.com/blog/go-url-shortener-lambda</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/go-url-shortener-lambda</guid>
            <category><![CDATA[aws]]></category>
            <category><![CDATA[go]]></category>
            <pubDate>Tue, 13 Mar 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How to Build a Self-hosted Leaderboard with Unreal Engine 4]]></title>
            <description><![CDATA[This article shows how to deploy a self-hosted online leaderboard and use it with Unreal Engine 4.]]></description>
            <link>https://rabzelj.com/blog/unreal-engine-selfhosted-leaderboard</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/unreal-engine-selfhosted-leaderboard</guid>
            <category><![CDATA[game-development]]></category>
            <category><![CDATA[go]]></category>
            <category><![CDATA[unreal-engine]]></category>
            <pubDate>Sun, 25 Feb 2018 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building a Real-time Collaborative Drawing App in Go]]></title>
            <description><![CDATA[Let's build a simple drawing app using Go for the back-end.]]></description>
            <link>https://rabzelj.com/blog/realtime-collaborative-drawing-go</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/realtime-collaborative-drawing-go</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[websocket]]></category>
            <pubDate>Wed, 22 Nov 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Generating Unique 64 bit IDs with Go on Kubernetes]]></title>
            <description><![CDATA[How to generate globally unique IDs on a Kubernetes cluster?]]></description>
            <link>https://rabzelj.com/blog/generating-unique-ids-kubernetes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/generating-unique-ids-kubernetes</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[kubernetes]]></category>
            <pubDate>Mon, 06 Nov 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Multi-Stage Docker Builds for Kubernetes]]></title>
            <description><![CDATA[How to use multi-stage Docker builds to reduce the size of Docker images?]]></description>
            <link>https://rabzelj.com/blog/multi-stage-docker-builds-kubernetes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/multi-stage-docker-builds-kubernetes</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[kubernetes]]></category>
            <pubDate>Tue, 31 Oct 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Getting Started with Microservices using Go, gRPC and Kubernetes]]></title>
            <description><![CDATA[How to build microservices in Go, using gRPC and Kubernetes?]]></description>
            <link>https://rabzelj.com/blog/getting-started-microservices-go-grpc-kubernetes</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/getting-started-microservices-go-grpc-kubernetes</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[go]]></category>
            <category><![CDATA[grpc]]></category>
            <category><![CDATA[kubernetes]]></category>
            <pubDate>Fri, 27 Oct 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Build an Image Recognition API with Go and TensorFlow]]></title>
            <description><![CDATA[Let's build an image recognition service in Go using pre-trained TensorFlow Inception-V3 model.]]></description>
            <link>https://rabzelj.com/blog/image-recognition-api-go-tensorflow</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/image-recognition-api-go-tensorflow</guid>
            <category><![CDATA[go]]></category>
            <pubDate>Wed, 18 Oct 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How to Keep Your Development Environment Clean]]></title>
            <description><![CDATA[This article describes how to keep your development environment clean.]]></description>
            <link>https://rabzelj.com/blog/clean-development-environment-docker</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/clean-development-environment-docker</guid>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[go]]></category>
            <pubDate>Tue, 10 Oct 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Create a GraphQL Server with Go and Google App Engine]]></title>
            <description><![CDATA[This article describes how to get GraphQL server running on Google App Engine with a "simple social network" data model.]]></description>
            <link>https://rabzelj.com/blog/graphql-server-go-google-app-engine</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/graphql-server-go-google-app-engine</guid>
            <category><![CDATA[go]]></category>
            <pubDate>Mon, 02 Oct 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Build a Todo List with Angular and Google App Engine - Part 2]]></title>
            <description><![CDATA[The world needs more todo lists. Let us deliver another one.]]></description>
            <link>https://rabzelj.com/blog/todo-list-angular-google-app-engine-part-2</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/todo-list-angular-google-app-engine-part-2</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[typescript]]></category>
            <pubDate>Fri, 01 Sep 2017 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Build a Todo List with Angular and Google App Engine - Part 1]]></title>
            <description><![CDATA[The world needs more todo lists. Let us deliver another one.]]></description>
            <link>https://rabzelj.com/blog/todo-list-angular-google-app-engine-part-1</link>
            <guid isPermaLink="true">https://rabzelj.com/blog/todo-list-angular-google-app-engine-part-1</guid>
            <category><![CDATA[go]]></category>
            <pubDate>Wed, 30 Aug 2017 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>