<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Foxipa</title>
    <link>https://foxipa.com/en/</link>
    <description>Learn technology through practical learning resources, quizzes, and hands-on practice.</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <atom:link href="https://foxipa.com/en/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CSS Foundations</title>
      <link>https://foxipa.com/en/css/learn/css-foundations/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/css-foundations/</guid>
      <description>Understand CSS as a stylesheet language and keep selectors, declarations, values, at-rules, and the cascade in their proper roles.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Declarations</title>
      <link>https://foxipa.com/en/css/exercise/quiz/css-declarations/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/css-declarations/</guid>
      <description>A short assessment covering declaration anatomy, semicolons, and what property values will accept.</description>
    </item>
    <item>
      <title>How to Link CSS to HTML</title>
      <link>https://foxipa.com/en/css/how-to/link-css-to-html/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/how-to/link-css-to-html/</guid>
      <description>Learn how to link an external CSS stylesheet to HTML with the link element, use correct file paths, load multiple stylesheets, and troubleshoot common problems.</description>
    </item>
    <item>
      <title>CSS Syntax, Parsing, and Error Recovery</title>
      <link>https://foxipa.com/en/css/learn/css-syntax-parsing/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/css-syntax-parsing/</guid>
      <description>Learn how CSS source becomes tokens and parsed constructs, and how conforming parsers recover from malformed input without turning the lesson into a catalog of property grammars.</description>
    </item>
    <item>
      <title>Git Foundations Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-foundations/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-foundations/</guid>
      <description>Check your understanding of the working tree, index, first commit, and basic Git history inspection.</description>
    </item>
    <item>
      <title>Git Foundations: Working Tree, Index, and Commits</title>
      <link>https://foxipa.com/en/git/learn/git-foundations/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-foundations/</guid>
      <description>Build the core Git mental model by creating a repository and observing the real state transitions from working tree to index to commit and history.</description>
    </item>
    <item>
      <title>Test your knowledge: Paragraphs</title>
      <link>https://foxipa.com/en/html/exercise/quiz/paragraphs/</link>
      <pubDate>Fri, 11 Sep 2026 01:44:05 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/paragraphs/</guid>
      <description>A short assessment covering whitespace collapsing, paragraph content rules, and common mistakes with the HTML p element.</description>
    </item>
    <item>
      <title>HTML Foundations: Building a Semantic Document</title>
      <link>https://foxipa.com/en/html/learn/html-foundations/</link>
      <pubDate>Fri, 11 Sep 2026 13:21:38 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/learn/html-foundations/</guid>
      <description>Learn how HTML gives a document structure and meaning by building a small, semantic page from headings, paragraphs, lists, links, code, images, tables, and supporting elements.</description>
    </item>
    <item>
      <title>Complete the variable bindings</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/variables/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/variables/</guid>
      <description>Complete each JavaScript snippet by supplying the missing declaration, assignment, or template substitution. Check every challenge as you go.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Variables, Bindings, and Scope</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/variables/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/variables/</guid>
      <description>Practice let and const, initialization and reassignment, lexical scope, and template-literal substitutions.</description>
    </item>
    <item>
      <title>JavaScript Variables, Bindings, and Scope</title>
      <link>https://foxipa.com/en/javascript/learn/variables/</link>
      <pubDate>Sun, 27 Sep 2026 00:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/variables/</guid>
      <description>Learn how let and const create bindings, how reassignment works, where lexical bindings are scoped, and how values move through runnable JavaScript examples.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Foundations</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/foundation/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/foundation/</guid>
      <description>Fill in the missing pieces of worker architecture, signals, and installation commands.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Foundations</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/foundation/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/foundation/</guid>
      <description>The NGINX process model, the C10K problem, installation anatomy, and zero-downtime reloads.</description>
    </item>
    <item>
      <title>1.1 The Web Server Landscape: Where NGINX Fits</title>
      <link>https://foxipa.com/en/nginx/learn/web-server-landscape/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/web-server-landscape/</guid>
      <description>Concept-heavy, hands-light. The hands arrive in 1.2 — this lesson builds the vocabulary.</description>
    </item>
    <item>
      <title>How to Create a Professional PowerPoint Presentation</title>
      <link>https://foxipa.com/en/powerpoint/how-to/create-professional-powerpoint-presentation/</link>
      <pubDate>Tue, 15 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/powerpoint/how-to/create-professional-powerpoint-presentation/</guid>
      <description>Build a presentation from a clear story to a polished, accessible final deck without letting decoration overwhelm the message.</description>
    </item>
    <item>
      <title>How Is Python Used in Finance?</title>
      <link>https://foxipa.com/en/python/articles/how-python-is-used-in-finance/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/articles/how-python-is-used-in-finance/</guid>
      <description>Learn how Python is used in finance for financial data analysis, numerical computing, automation, portfolio and risk analysis, machine learning, and reproducible workflows.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Variables and Values</title>
      <link>https://foxipa.com/en/python/exercise/quiz/variables/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/variables/</guid>
      <description>A short assessment covering assignment as binding, updating in place, and f-string interpolation.</description>
    </item>
    <item>
      <title>Python Variables and Values</title>
      <link>https://foxipa.com/en/python/learn/variables/</link>
      <pubDate>Mon, 14 Sep 2026 17:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/variables/</guid>
      <description>Learn how Python names values and see the program output from an editable example running in your browser.</description>
    </item>
    <item>
      <title>Complete the code: The Beacon API Landscape</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-landscape/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-landscape/</guid>
      <description>Fill in the missing pieces of feature detection and the fire-and-forget contract.</description>
    </item>
    <item>
      <title>Test your knowledge: The Beacon API Landscape</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-landscape/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-landscape/</guid>
      <description>Why sendBeacon exists, what the spec actually says, how it maps onto fetch, and where browsers stand in 2026.</description>
    </item>
    <item>
      <title>1.1 The fire-and-forget problem, and the API that solves it</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/fire-and-forget/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/fire-and-forget/</guid>
      <description>Why teardown-time telemetry is hard, what navigator.sendBeacon() promises (queueing, not delivery), and the fixed fetch recipe every beacon request carries.</description>
    </item>
    <item>
      <title>The Clipboard API: what it is, and why it replaced document.execCommand</title>
      <link>https://foxipa.com/en/web-apis/learn/clipboard/overview/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/clipboard/overview/</guid>
      <description>A placeholder overview of the async Clipboard API: the two-method surface, the permission model, and the security rules every series built on this site will follow.</description>
    </item>
    <item>
      <title>What Is WordPress?</title>
      <link>https://foxipa.com/en/wordpress/learn/what-is-wordpress/</link>
      <pubDate>Tue, 15 Sep 2026 03:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/wordpress/learn/what-is-wordpress/</guid>
      <description>Learn what WordPress is, what it is used for, what you can build with it, and how its main pieces fit together.</description>
    </item>
    <item>
      <title>Complete the Python Objects, Values, Types, and Identity Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/objects-values-types-and-identity/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/objects-values-types-and-identity/</guid>
      <description>Practice reasoning about identity, mutation, equality, and hashability with small Python programs.</description>
    </item>
    <item>
      <title>Quick Check: Python Objects, Values, Types, and Identity</title>
      <link>https://foxipa.com/en/python/exercise/quiz/objects-values-types-and-identity/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/objects-values-types-and-identity/</guid>
      <description>Check your understanding of objects, identity, equality, mutability, and hashability.</description>
    </item>
    <item>
      <title>Python Objects, Values, Types, and Identity</title>
      <link>https://foxipa.com/en/python/learn/objects-values-types-and-identity/</link>
      <pubDate>Wed, 07 Oct 2026 12:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/objects-values-types-and-identity/</guid>
      <description>Build the core Python data-model mental model: every value is an object with a type and identity, and learn how equality, mutability, and hashability fit together.</description>
    </item>
    <item>
      <title>Complete the Python None code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/none/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/none/</guid>
      <description>Practice returning None, checking for None, and distinguishing None from other false values.</description>
    </item>
    <item>
      <title>Quick Check: Python None</title>
      <link>https://foxipa.com/en/python/exercise/quiz/none/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/none/</guid>
      <description>Check your understanding of None, NoneType, function results, identity checks, and false values.</description>
    </item>
    <item>
      <title>Python None and NoneType</title>
      <link>https://foxipa.com/en/python/learn/none/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/none/</guid>
      <description>Understand Python&#39;s None value, what NoneType means, how functions produce None, and how to test for the absence of a value.</description>
    </item>
    <item>
      <title>CSS Declarations</title>
      <link>https://foxipa.com/en/css/learn/css-declarations/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/css-declarations/</guid>
      <description>Learn how CSS declarations define the presentation applied by a style rule and how property values form the rule&#39;s effect.</description>
    </item>
    <item>
      <title>Build a paragraph section</title>
      <link>https://foxipa.com/en/html/exercise/code-challenge/paragraphs/</link>
      <guid>https://foxipa.com/en/html/exercise/code-challenge/paragraphs/</guid>
      <description>Create a small semantic text section using paragraphs and give it the structure a real HTML page needs.</description>
    </item>
    <item>
      <title>Complete the paragraph</title>
      <link>https://foxipa.com/en/html/exercise/code-completion/paragraphs/</link>
      <guid>https://foxipa.com/en/html/exercise/code-completion/paragraphs/</guid>
      <description>Type the missing HTML directly into each code example. Complete all four challenges, then check your answers.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Selectors</title>
      <link>https://foxipa.com/en/css/exercise/quiz/css-selectors/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/css-selectors/</guid>
      <description>Assess core CSS selector matching, namespace selection, logical pseudo-classes, relational matching, sibling filtering, and specificity-aware selector reasoning.</description>
    </item>
    <item>
      <title>CSS Selectors</title>
      <link>https://foxipa.com/en/css/learn/css-selectors/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/css-selectors/</guid>
      <description>Learn how CSS selectors match elements, express relationships, compose logical conditions, target filtered sibling positions, and reason about specificity without duplicating the cascade or value models.</description>
    </item>
    <item>
      <title>Git Repository Creation and Cloning Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-repository-creation-and-cloning/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-repository-creation-and-cloning/</guid>
      <description>Check your understanding of repository initialization, bare repositories, cloning, and clone-state verification.</description>
    </item>
    <item>
      <title>Git Tag Verification Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-tag-verification/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-tag-verification/</guid>
      <description>Check whether you can verify signed tags and interpret verification results without overclaiming what cryptographic verification proves.</description>
    </item>
    <item>
      <title>Git Version, Help, and Configuration Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-version-help-configuration/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-version-help-configuration/</guid>
      <description>Check your understanding of Git version reporting, built-in help, configuration scope, and safe repository-local setup.</description>
    </item>
    <item>
      <title>Git Repository Creation and Cloning</title>
      <link>https://foxipa.com/en/git/learn/git-repository-creation-and-cloning/</link>
      <pubDate>Thu, 01 Oct 2026 01:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-repository-creation-and-cloning/</guid>
      <description>Create repositories in the intended directory, understand an empty versus bare repository, and verify the state produced by cloning an existing repository.</description>
    </item>
    <item>
      <title>Git Version, Help, and Configuration</title>
      <link>https://foxipa.com/en/git/learn/git-version-help-configuration/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-version-help-configuration/</guid>
      <description>Verify Git, use Git’s built-in help, and configure repository-local identity without changing global settings.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Headings</title>
      <link>https://foxipa.com/en/html/exercise/quiz/headings/</link>
      <pubDate>Fri, 11 Sep 2026 12:10:01 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/headings/</guid>
      <description>A short assessment covering heading levels, hierarchy, and semantic structure in HTML.</description>
    </item>
    <item>
      <title>How to Add a Favicon in HTML</title>
      <link>https://foxipa.com/en/html/how-to/add-favicon-html/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/how-to/add-favicon-html/</guid>
      <description>Learn how to add a favicon to an HTML page with link rel=&#34;icon&#34;, choose favicon formats and paths, provide touch icons, and troubleshoot browser and Google Search issues.</description>
    </item>
    <item>
      <title>HTML Headings</title>
      <link>https://foxipa.com/en/html/learn/headings/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/headings/</guid>
      <description>Learn how to structure document headings with HTML heading elements from h1 through h6.</description>
    </item>
    <item>
      <title>Complete the number calculations</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/numbers/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/numbers/</guid>
      <description>Complete each JavaScript snippet by supplying the missing numeric expression or type-aware operation.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Numbers</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/numbers/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/numbers/</guid>
      <description>Check your understanding of Number, arithmetic, floating-point values, special values, and BigInt.</description>
    </item>
    <item>
      <title>JavaScript Numbers</title>
      <link>https://foxipa.com/en/javascript/learn/numbers/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/numbers/</guid>
      <description>Learn Number, BigInt, arithmetic, floating-point behavior, special values, and how to choose the right numeric model.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Config Mechanics</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/config-mechanics/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/config-mechanics/</guid>
      <description>Fill in server blocks, location matching, maps, and includes.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Config Mechanics</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/config-mechanics/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/config-mechanics/</guid>
      <description>The configuration language, server blocks, location matching, variables, maps, and includes.</description>
    </item>
    <item>
      <title>1.2 Installing NGINX: Every Path That Matters</title>
      <link>https://foxipa.com/en/nginx/learn/installing-nginx/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/installing-nginx/</guid>
      <description>Hands-on: you will install (or at least deeply understand) four different installation paths and know when each is right.</description>
    </item>
    <item>
      <title>Complete the Python Numbers code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/numbers/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/numbers/</guid>
      <description>Practice constructing complex numbers, reading their components, combining them with arithmetic, and promoting a real value to complex.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Numbers</title>
      <link>https://foxipa.com/en/python/exercise/quiz/numbers/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/numbers/</guid>
      <description>Check division, unbounded integers, money-safe counting, and the real and imaginary parts of complex numbers.</description>
    </item>
    <item>
      <title>How to Convert Uppercase to Lowercase and Lowercase to Uppercase in Python</title>
      <link>https://foxipa.com/en/python/how-to/uppercase-lowercase/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/how-to/uppercase-lowercase/</guid>
      <description>Learn how to convert Python strings to lowercase, uppercase, or swap their existing letter case with lower(), upper(), and swapcase().</description>
    </item>
    <item>
      <title>Python Numbers</title>
      <link>https://foxipa.com/en/python/learn/numbers/</link>
      <pubDate>Thu, 15 Oct 2026 15:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/numbers/</guid>
      <description>Learn Python&#39;s built-in number types, everyday arithmetic, and complex numbers, from division and remainders to exponentiation and rounding.</description>
    </item>
    <item>
      <title>Complete the code: The Core API</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/sendbeacon-core/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/sendbeacon-core/</guid>
      <description>Fill in the missing pieces of the sendBeacon signature, boolean contract, and realm checks.</description>
    </item>
    <item>
      <title>Test your knowledge: The Core API</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/sendbeacon-core/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/sendbeacon-core/</guid>
      <description>The sendBeacon signature: POST-only, the queueing boolean, silent CORS drops, and the Window-only rule.</description>
    </item>
    <item>
      <title>1.2 Where sendBeacon lives: Window only</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/where-it-runs/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/where-it-runs/</guid>
      <description>Navigator versus WorkerNavigator, the two-step feature detection that covers every runtime, and an honest separation of spec maturity from shipping folklore.</description>
    </item>
    <item>
      <title>Writing to the clipboard: writeText, ClipboardItem, and the activation window</title>
      <link>https://foxipa.com/en/web-apis/learn/clipboard/writing-to-the-clipboard/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/clipboard/writing-to-the-clipboard/</guid>
      <description>A placeholder lesson on writing to the clipboard: the writeText fast path, the ClipboardItem envelope for richer data, and why writes require a recent user gesture.</description>
    </item>
    <item>
      <title>Git Archive Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-archive/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-archive/</guid>
      <description>Check whether you can create and reason about Git release archives without confusing archives with Git history.</description>
    </item>
    <item>
      <title>Complete the expressions</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/expressions-and-operators/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/expressions-and-operators/</guid>
      <description>Practice operators, short-circuiting, nullish coalescing, conditional expressions, and grouping by completing real JavaScript code.</description>
    </item>
    <item>
      <title>Test your knowledge: Expressions and Operators</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/expressions-and-operators/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/expressions-and-operators/</guid>
      <description>Check your understanding of expressions, operators, short-circuiting, nullish coalescing, conditional expressions, and precedence.</description>
    </item>
    <item>
      <title>Git Stashing Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-stashing/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-stashing/</guid>
      <description>Check whether you can predict and control the state saved by Git stash creation.</description>
    </item>
    <item>
      <title>Git Stash Inspection, Application, and Recovery Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-stash-inspection-application-recovery/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-stash-inspection-application-recovery/</guid>
      <description>Check understanding of stash inspection, restoration, removal, and branch-based recovery.</description>
    </item>
    <item>
      <title>CSS Values and Units</title>
      <link>https://foxipa.com/en/css/learn/values-units/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/values-units/</guid>
      <description>Understand the typed values, units, keywords, functions, and value-resolution stages that CSS properties use across the language.</description>
    </item>
    <item>
      <title>The Cascade, Specificity, Inheritance, and Defaulting</title>
      <link>https://foxipa.com/en/css/learn/the-cascade/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/the-cascade/</guid>
      <description>Learn how CSS resolves competing declarations, how specificity and source order participate, and how inheritance and CSS-wide keywords supply values when declarations do not.</description>
    </item>
    <item>
      <title>Git Removing and Moving Tracked Files Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-removing-and-moving-tracked-files/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-removing-and-moving-tracked-files/</guid>
      <description>Check your understanding of removing, untracking, moving, and renaming tracked paths.</description>
    </item>
    <item>
      <title>Git Removing and Moving Tracked Files</title>
      <link>https://foxipa.com/en/git/learn/git-removing-and-moving-tracked-files/</link>
      <pubDate>Thu, 01 Oct 2026 02:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-removing-and-moving-tracked-files/</guid>
      <description>Remove tracked paths, remove paths from the index without deleting the working-tree file, and move or rename tracked paths while understanding exactly what changes before a commit.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Foundations</title>
      <link>https://foxipa.com/en/html/exercise/quiz/html-foundations/</link>
      <pubDate>Fri, 11 Sep 2026 12:10:01 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/html-foundations/</guid>
      <description>A short assessment covering semantic document structure, paragraphs, lists, images, tables, and the separation of content from presentation.</description>
    </item>
    <item>
      <title>The HTML &lt;p&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/paragraphs/</link>
      <pubDate>Wed, 23 Sep 2026 19:35:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/paragraphs/</guid>
      <description>Learn what HTML paragraphs mean, how to use the &lt;p&gt; element correctly, and how its content model, parsing rules, and semantic boundaries work.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Strings</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/strings/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/strings/</guid>
      <description>A short assessment covering quoting, slicing, immutability, and the methods worth memorizing.</description>
    </item>
    <item>
      <title>JavaScript Strings</title>
      <link>https://foxipa.com/en/javascript/learn/strings/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/strings/</guid>
      <description>Learn JavaScript text: template literals, indexing and slicing with substring, the methods worth knowing, and the immutability that shapes them all.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Static Content</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/static-content/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/static-content/</guid>
      <description>Fill in root, alias, try_files, MIME, and error-page directives.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Static Content</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/static-content/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/static-content/</guid>
      <description>root versus alias, try_files fallbacks, MIME types, sendfile, and custom error pages.</description>
    </item>
    <item>
      <title>1.3 Anatomy of an Installation</title>
      <link>https://foxipa.com/en/nginx/learn/anatomy-of-an-installation/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/anatomy-of-an-installation/</guid>
      <description>You will learn to read nginx -V like a radiologist reads an X-ray, and to locate every file an NGINX owns on any machine in 60 seconds.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Strings</title>
      <link>https://foxipa.com/en/python/exercise/quiz/strings/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/strings/</guid>
      <description>A short assessment covering f-strings, slicing from either end, immutability, and join.</description>
    </item>
    <item>
      <title>How to Run a Python Script on Linux</title>
      <link>https://foxipa.com/en/python/how-to/run-python-script-linux/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/how-to/run-python-script-linux/</guid>
      <description>Learn how to run Python scripts on Linux with python3, pass command-line arguments, make scripts executable, use virtual environments, and handle Ubuntu, Debian, Fedora, and Arch Linux differences.</description>
    </item>
    <item>
      <title>Python Strings</title>
      <link>https://foxipa.com/en/python/learn/strings/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/strings/</guid>
      <description>Learn Python text: quoting, f-strings, indexing and slicing, the methods worth memorizing, and the immutability that explains all the rest.</description>
    </item>
    <item>
      <title>Complete the code: Data Types &amp; the CORS Trap</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-data-types/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-data-types/</guid>
      <description>Fill in the missing payload types that keep the derived Content-Type on the safelist.</description>
    </item>
    <item>
      <title>Test your knowledge: Data Types &amp; the CORS Trap</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-data-types/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-data-types/</guid>
      <description>BodyInit types, Content-Type auto-derivation, and the no-cors/cors mode switch behind the JSON-Blob trap.</description>
    </item>
    <item>
      <title>2.1 The signature: two arguments, two TypeErrors, one boolean</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/signature-and-boolean/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/signature-and-boolean/</guid>
      <description>The real sendBeacon IDL with no third parameter, the only two conditions that throw, and what false actually means — demonstrated live.</description>
    </item>
    <item>
      <title>Reading from the clipboard: readText, the permission prompt, and the focus rule</title>
      <link>https://foxipa.com/en/web-apis/learn/clipboard/reading-from-the-clipboard/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/clipboard/reading-from-the-clipboard/</guid>
      <description>A placeholder lesson on clipboard reads: why readText is gated behind a permission, what the focus rule prevents, and how reads differ from writes in the security model.</description>
    </item>
    <item>
      <title>Cascade Layers, Nesting, and Scoping</title>
      <link>https://foxipa.com/en/css/learn/cascade-layers-nesting-scoping/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/cascade-layers-nesting-scoping/</guid>
      <description>Learn how cascade layers organize declaration precedence, how CSS nesting builds related selectors, and how scoped styles limit matching and participate in the cascade.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Text Semantics</title>
      <link>https://foxipa.com/en/html/exercise/quiz/text-semantics/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/text-semantics/</guid>
      <description>Check your understanding of HTML text semantics, including emphasis, quotations, code, dates, annotations, and meaningful line breaks.</description>
    </item>
    <item>
      <title>HTML Text Semantics</title>
      <link>https://foxipa.com/en/html/learn/text-semantics/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/text-semantics/</guid>
      <description>Learn how HTML elements communicate the meaning of emphasis, importance, quotations, code, annotations, dates, bidirectional text, and other textual content.</description>
    </item>
    <item>
      <title>Test your knowledge: The Cascade, Specificity, and Inheritance</title>
      <link>https://foxipa.com/en/css/exercise/quiz/the-cascade/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/the-cascade/</guid>
      <description>A short assessment covering specificity arithmetic, source order, inheritance, and where inline styles rank.</description>
    </item>
    <item>
      <title>CSS Custom Properties and var()</title>
      <link>https://foxipa.com/en/css/learn/custom-properties/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/custom-properties/</guid>
      <description>Understand author-defined custom properties, inheritance, cascade participation, var() substitution, fallbacks, guaranteed-invalid values, dependency cycles, and the boundary to typed property registration.</description>
    </item>
    <item>
      <title>Git Ignore Files and Check Ignore Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-ignore-files-and-check-ignore/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-ignore-files-and-check-ignore/</guid>
      <description>Check your understanding of Git ignore patterns and git check-ignore diagnostics.</description>
    </item>
    <item>
      <title>Git Ignore Files and Check Ignore</title>
      <link>https://foxipa.com/en/git/learn/git-ignore-files-and-check-ignore/</link>
      <pubDate>Thu, 01 Oct 2026 03:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-ignore-files-and-check-ignore/</guid>
      <description>Define ignore patterns for intentionally untracked paths and diagnose ignore decisions precisely with git check-ignore.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Links</title>
      <link>https://foxipa.com/en/html/exercise/quiz/links/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/links/</guid>
      <description>A short assessment covering href forms, link text, fragments, and new-tab links.</description>
    </item>
    <item>
      <title>HTML Links</title>
      <link>https://foxipa.com/en/html/learn/links/</link>
      <pubDate>Wed, 23 Sep 2026 18:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/links/</guid>
      <description>Learn how anchors connect documents: href forms, useful link text, in-page fragments, new tabs, downloads, and the mistakes that make links hard to use.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Booleans and Conditionals</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/booleans-and-conditionals/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/booleans-and-conditionals/</guid>
      <description>A short assessment covering strict equality, the falsy seven, nullish coalescing, and short-circuit logic.</description>
    </item>
    <item>
      <title>JavaScript Booleans and Conditionals</title>
      <link>https://foxipa.com/en/javascript/learn/booleans-and-conditionals/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/booleans-and-conditionals/</guid>
      <description>Learn how JavaScript decides: === versus ==, the short-circuit logic operators, truthiness and its falsy list, and the if and switch statements.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Proxy &amp; Gateway</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/proxy-gateway/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/proxy-gateway/</guid>
      <description>Fill in proxy_pass, forwarding headers, WebSocket upgrades, and FastCGI wiring.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Proxy &amp; Gateway</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/proxy-gateway/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/proxy-gateway/</guid>
      <description>proxy_pass semantics, header hygiene, FastCGI, WebSockets, and gRPC proxying.</description>
    </item>
    <item>
      <title>1.4 The Architecture: Master, Workers, and the Event Loop</title>
      <link>https://foxipa.com/en/nginx/learn/architecture-master-workers-event-loop/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/architecture-master-workers-event-loop/</guid>
      <description>The most important conceptual lesson in the series. Everything from reload semantics to load-balancer behavior traces back to what you learn here.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Booleans and Conditionals</title>
      <link>https://foxipa.com/en/python/exercise/quiz/booleans-and-conditionals/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/booleans-and-conditionals/</guid>
      <description>Assess comparisons, truthiness, short-circuit behavior, operand-returning Boolean operators, and conditional branches.</description>
    </item>
    <item>
      <title>Python Booleans and Conditionals</title>
      <link>https://foxipa.com/en/python/learn/booleans-and-conditionals/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/booleans-and-conditionals/</guid>
      <description>Learn how Python decides: comparisons, the and/or/not trio, truthiness, and if, elif, and else branches that read like sentences.</description>
    </item>
    <item>
      <title>Complete the code: The 64 KiB Quota</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-quota/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-quota/</guid>
      <description>Fill in the missing quota constants and the in-flight accounting.</description>
    </item>
    <item>
      <title>Test your knowledge: The 64 KiB Quota</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-quota/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-quota/</guid>
      <description>One shared in-flight pool, what the quota actually charges, in-flight vs lifetime, and the false return.</description>
    </item>
    <item>
      <title>3.1 Payloads: the BodyInit union and the Content-Type map</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/payloads-and-content-type/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/payloads-and-content-type/</guid>
      <description>Every type sendBeacon&#39;s data parameter accepts, the Web IDL stringify truth for odd values, and the fixed Content-Type mapping observed live through Request.</description>
    </item>
    <item>
      <title>CSS Display and Box Generation</title>
      <link>https://foxipa.com/en/css/learn/display-box-generation/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/display-box-generation/</guid>
      <description>Understand how CSS generates formatting boxes and how the display property determines outer and inner display roles without duplicating the algorithms of flow, Flexbox, Grid, or other layout systems.</description>
    </item>
    <item>
      <title>Test your knowledge: The CSS Box Model</title>
      <link>https://foxipa.com/en/css/exercise/quiz/box-model/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/box-model/</guid>
      <description>A short assessment covering the box edges, padding, margin, margin collapsing, and the boundary between Box Model and other CSS layout modules.</description>
    </item>
    <item>
      <title>CSS Flow Layout: Block, Inline, and Normal Flow</title>
      <link>https://foxipa.com/en/css/learn/flow-layout/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/flow-layout/</guid>
      <description>Understand how block and inline boxes participate in normal flow, how available space and block formatting contexts shape that flow, and where Flow Layout stops and other CSS modules take ownership.</description>
    </item>
    <item>
      <title>Git Diff: Comparing Repository States Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-diff-state-comparisons/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-diff-state-comparisons/</guid>
      <description>Check your understanding of Git diff boundaries, staged and unstaged changes, commit comparisons, and diff output.</description>
    </item>
    <item>
      <title>Git Diff: Comparing Repository States</title>
      <link>https://foxipa.com/en/git/learn/git-diff-state-comparisons/</link>
      <pubDate>Thu, 01 Oct 2026 04:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-diff-state-comparisons/</guid>
      <description>Use git diff to inspect differences between the working tree, index, and committed snapshots without confusing observation with mutation.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Lists</title>
      <link>https://foxipa.com/en/html/exercise/quiz/lists/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/lists/</guid>
      <description>A short assessment covering unordered, ordered, and description lists, nesting, and list markup for navigation.</description>
    </item>
    <item>
      <title>HTML Lists</title>
      <link>https://foxipa.com/en/html/learn/lists/</link>
      <pubDate>Wed, 23 Sep 2026 18:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/lists/</guid>
      <description>Learn unordered, ordered, and description lists, how nesting works, and how to choose the list that matches what your content means.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Functions</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/functions/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/functions/</guid>
      <description>A short assessment covering the three syntaxes, defaults and rest, implicit returns, and scope.</description>
    </item>
    <item>
      <title>JavaScript Functions</title>
      <link>https://foxipa.com/en/javascript/learn/functions/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/functions/</guid>
      <description>Learn JavaScript&#39;s three function syntaxes, parameters and returns, default and rest parameters, arrow functions, and the scope rules behind them.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Load Balancing</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/load-balancing/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/load-balancing/</guid>
      <description>Fill in upstream pools, scheduling algorithms, failure handling, and keepalive.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Load Balancing</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/load-balancing/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/load-balancing/</guid>
      <description>Upstream pools, scheduling algorithms, failure handling, keepalive, and health checks.</description>
    </item>
    <item>
      <title>1.5 Signals, Reloads, and Zero-Downtime</title>
      <link>https://foxipa.com/en/nginx/learn/signals-reloads-zero-downtime/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/signals-reloads-zero-downtime/</guid>
      <description>The operational climax of Module 1: how to command a live NGINX, and the exact anatomy of a zero-downtime reload — verified line by line against a running server.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Lists</title>
      <link>https://foxipa.com/en/python/exercise/quiz/lists/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/lists/</guid>
      <description>A short assessment covering in-place mutation, aliasing, honest copies, and queue moves.</description>
    </item>
    <item>
      <title>Python Lists</title>
      <link>https://foxipa.com/en/python/learn/lists/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/lists/</guid>
      <description>Learn the workhorse container: creating lists, indexing and slicing them, growing and shrinking them in place, and reading them with a for loop.</description>
    </item>
    <item>
      <title>Complete the code: Page Lifecycle &amp; Delivery</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/page-lifecycle/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/page-lifecycle/</guid>
      <description>Fill in the missing lifecycle states, events, and the flusher&#39;s guards.</description>
    </item>
    <item>
      <title>Test your knowledge: Page Lifecycle &amp; Delivery</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/page-lifecycle/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/page-lifecycle/</guid>
      <description>The hidden state transition, event ordering, unload deprecation, bfcache, and the mobile reality.</description>
    </item>
    <item>
      <title>3.2 The CORS trap: no-cors by default, silent drops always</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/the-cors-trap/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/the-cors-trap/</guid>
      <description>The safelist rule that decides a beacon&#39;s CORS mode, what opaque responses cost, why refused preflights are invisible, and the JSON-Blob story sorted from folklore.</description>
    </item>
    <item>
      <title>The CSS Box Model</title>
      <link>https://foxipa.com/en/css/learn/box-model/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/box-model/</guid>
      <description>Understand content, padding, border, and margin, including padding and margin behavior and collapsing margins, while keeping sizing and border-decoration algorithms in their proper CSS owners.</description>
    </item>
    <item>
      <title>CSS Sizing</title>
      <link>https://foxipa.com/en/css/learn/sizing/</link>
      <pubDate>Sat, 03 Oct 2026 01:05:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/sizing/</guid>
      <description>Learn preferred and constrained sizes, intrinsic sizing, box-sizing, definite and indefinite sizes, and current developing controls such as calc-size() and interpolate-size, with clear ownership boundaries.</description>
    </item>
    <item>
      <title>Git Show: Reading Committed Snapshots Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-show-reading-committed-snapshots/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-show-reading-committed-snapshots/</guid>
      <description>Check your understanding of git show, committed snapshots, commit metadata, introduced changes, and its boundary with git diff.</description>
    </item>
    <item>
      <title>Git Show: Reading Committed Snapshots</title>
      <link>https://foxipa.com/en/git/learn/git-show-reading-committed-snapshots/</link>
      <pubDate>Thu, 01 Oct 2026 05:05:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-show-reading-committed-snapshots/</guid>
      <description>Use git show to inspect committed objects, commit metadata, and the changes introduced by a commit without confusing object inspection with state comparison.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Images</title>
      <link>https://foxipa.com/en/html/exercise/quiz/images/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/images/</guid>
      <description>A short assessment covering alt text judgment, width and height, captions, and responsive images.</description>
    </item>
    <item>
      <title>HTML Images</title>
      <link>https://foxipa.com/en/html/learn/images/</link>
      <pubDate>Wed, 23 Sep 2026 18:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/images/</guid>
      <description>Learn the img element and its required attributes, the craft of writing alt text, layout-saving width and height, figures with captions, and responsive images.</description>
    </item>
    <item>
      <title>Complete the config: Nginx TLS &amp; Security</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/tls-security/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/tls-security/</guid>
      <description>Fill in modern protocols, mTLS verification, session caching, and stapling.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx TLS &amp; Security</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/tls-security/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/tls-security/</guid>
      <description>TLS termination, protocol hardening, mutual TLS, session resumption, and access control.</description>
    </item>
    <item>
      <title>2.1 The Configuration Language</title>
      <link>https://foxipa.com/en/nginx/learn/configuration-language/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/configuration-language/</guid>
      <description>The grammar of everything that follows. Short lesson, permanent payoff.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Dictionaries</title>
      <link>https://foxipa.com/en/python/exercise/quiz/dictionaries/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/dictionaries/</guid>
      <description>A short assessment covering get versus brackets, items(), what in asks, and insertion order.</description>
    </item>
    <item>
      <title>Python Dictionaries</title>
      <link>https://foxipa.com/en/python/learn/dictionaries/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/dictionaries/</guid>
      <description>Learn the labeled container: storing values under keys, safe lookup with get, adding and removing entries, and walking keys, values, and pairs.</description>
    </item>
    <item>
      <title>Complete the code: CORS Server-Side</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-cors/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/beacon-cors/</guid>
      <description>Fill in the missing response headers a credentialed beacon collector must send.</description>
    </item>
    <item>
      <title>Test your knowledge: CORS Server-Side</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-cors/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/beacon-cors/</guid>
      <description>Credentialed beacons, the three response headers, Safari ITP, and preflight failures you never hear about.</description>
    </item>
    <item>
      <title>3.3 CORS-safe payloads: recipes that need no server setup</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/cors-safe-payloads/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/cors-safe-payloads/</guid>
      <description>The JSON-as-text/plain envelope, form encoding for flat events, and a unified payload builder that measures what it sends in real bytes.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Sizing</title>
      <link>https://foxipa.com/en/css/exercise/quiz/sizing/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/sizing/</guid>
      <description>A short assessment covering preferred sizes, constraints, intrinsic sizing, box-sizing, percentages, and definite versus indefinite sizes.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Overflow, Scrolling, and Clipping</title>
      <link>https://foxipa.com/en/css/exercise/quiz/overflow-scrolling-clipping/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/overflow-scrolling-clipping/</guid>
      <description>A short assessment covering clipping, scrollable overflow, overflow axes, ownership boundaries, and practical debugging.</description>
    </item>
    <item>
      <title>Color and Color Spaces in CSS</title>
      <link>https://foxipa.com/en/css/learn/color/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/color/</guid>
      <description>Learn CSS color values and color spaces, from named and sRGB colors through wide-gamut spaces, alpha, currentColor, interpolation, gamut mapping, and developing Color 5 features without duplicating other CSS owners.</description>
    </item>
    <item>
      <title>Python Comprehensions</title>
      <link>https://foxipa.com/en/python/learn/comprehensions/</link>
      <pubDate>Tue, 06 Oct 2026 20:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/comprehensions/</guid>
      <description>Learn how list, set, and dictionary comprehensions build collections from iterables with concise, readable expressions.</description>
    </item>
    <item>
      <title>Test your knowledge: Color and Color Spaces in CSS</title>
      <link>https://foxipa.com/en/css/exercise/quiz/color/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/color/</guid>
      <description>Assess color values, color spaces, alpha, currentColor, interpolation, gamut mapping, and specification boundaries.</description>
    </item>
    <item>
      <title>Typography and Font Selection in CSS</title>
      <link>https://foxipa.com/en/css/learn/typography/</link>
      <pubDate>Sat, 03 Oct 2026 04:58:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/typography/</guid>
      <description>CSS font families, font matching, web fonts, descriptors, features, variations, synthesis, and font palettes, with explicit boundaries to CSS Text and Writing Modes.</description>
    </item>
    <item>
      <title>Git Revision Selection and Ancestry Queries Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-revision-names-and-ranges/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-revision-names-and-ranges/</guid>
      <description>Check advanced revision selectors, merge-parent shorthands, range algebra, object and message selection, and ancestry-focused history traversal.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Tables</title>
      <link>https://foxipa.com/en/html/exercise/quiz/tables/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/tables/</guid>
      <description>A short assessment covering captions, scope, row groups, and the judgment calls tabular data asks for.</description>
    </item>
    <item>
      <title>HTML Tables</title>
      <link>https://foxipa.com/en/html/learn/tables/</link>
      <pubDate>Wed, 23 Sep 2026 20:20:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/tables/</guid>
      <description>Learn to build readable, accessible data tables: captions, headers with scope, row grouping, spanning cells, and advanced column grouping with colgroup and col.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Objects</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/objects/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/objects/</guid>
      <description>A short assessment covering destructuring, spread copies, optional chaining, and methods.</description>
    </item>
    <item>
      <title>JavaScript Objects</title>
      <link>https://foxipa.com/en/javascript/learn/objects/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/objects/</guid>
      <description>Learn the labeled container: property access and destructuring, methods, spread and shorthand, and the optional chaining that survives missing data.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Traffic Control</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/traffic-control/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/traffic-control/</guid>
      <description>Fill in rate limiting, bursts, connection caps, and traffic splitting.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Traffic Control</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/traffic-control/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/traffic-control/</guid>
      <description>Rate limiting with bursts, connection caps, geo decisions, traffic splitting, and WAF-style blocking.</description>
    </item>
    <item>
      <title>2.2 Server Blocks &amp; Virtual Hosts</title>
      <link>https://foxipa.com/en/nginx/learn/server-blocks-virtual-hosts/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/server-blocks-virtual-hosts/</guid>
      <description>One IP, one port, many sites: the exact algorithm NGINX uses to pick a server{}, with every claim verified against a running server.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Loops</title>
      <link>https://foxipa.com/en/python/exercise/quiz/loops/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/loops/</guid>
      <description>A short assessment covering for versus while, the exits, and numbering with enumerate.</description>
    </item>
    <item>
      <title>Python Loops</title>
      <link>https://foxipa.com/en/python/learn/loops/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/loops/</guid>
      <description>Learn repetition the Python way: for loops over sequences and range, while loops over conditions, break and continue, and enumerate for the times position matters.</description>
    </item>
    <item>
      <title>Complete the code: Workers &amp; Interception</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/worker-context/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/worker-context/</guid>
      <description>Fill in the missing realm checks and Service Worker interception patterns.</description>
    </item>
    <item>
      <title>Test your knowledge: Workers &amp; Interception</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/worker-context/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/worker-context/</guid>
      <description>Why sendBeacon is Window-only, how Service Workers intercept beacons, and the worker-safe substitute.</description>
    </item>
    <item>
      <title>4.1 The 64 KiB quota: one shared pool, body bytes only</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/the-64kib-quota/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/the-64kib-quota/</guid>
      <description>The Fetch §4.6 algorithm verbatim, what it counts (bodies only), when slots release, and the myths — simulated live at the byte level.</description>
    </item>
    <item>
      <title>Python Function Parameter Kinds</title>
      <link>https://foxipa.com/en/python/learn/function-parameters/</link>
      <pubDate>Tue, 06 Oct 2026 20:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/function-parameters/</guid>
      <description>Learn positional-only, keyword-only, variable positional, and variable keyword parameters and how they shape a function calling contract.</description>
    </item>
    <item>
      <title>Python Lambda Expressions</title>
      <link>https://foxipa.com/en/python/learn/lambda-expressions/</link>
      <pubDate>Tue, 06 Oct 2026 21:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/lambda-expressions/</guid>
      <description>Learn how Python lambda expressions create small anonymous functions, where they fit, and when def is clearer.</description>
    </item>
    <item>
      <title>Python Decorators</title>
      <link>https://foxipa.com/en/python/learn/decorators/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/decorators/</guid>
      <description>Learn function decorators, wrapper behavior, functools.wraps, decorator factories and application order, plus how class decorators transform class bindings.</description>
    </item>
    <item>
      <title>Python Structural Pattern Matching</title>
      <link>https://foxipa.com/en/python/learn/structural-pattern-matching/</link>
      <pubDate>Thu, 15 Oct 2026 08:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/structural-pattern-matching/</guid>
      <description>Learn Python match statements through literal, capture, sequence, mapping, class, value, wildcard, guard, OR, and AS patterns.</description>
    </item>
    <item>
      <title>Python Annotations</title>
      <link>https://foxipa.com/en/python/learn/annotations/</link>
      <pubDate>Fri, 09 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/annotations/</guid>
      <description>Learn annotation syntax, annotated assignment statements, Python 3.14&#39;s deferred annotation model, and the basics of runtime annotation introspection.</description>
    </item>
    <item>
      <title>Python Conditional Expressions</title>
      <link>https://foxipa.com/en/python/learn/conditional-expressions/</link>
      <pubDate>Tue, 06 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/conditional-expressions/</guid>
      <description>Learn how to choose between two values with Python’s conditional expression, while keeping the expression readable and distinct from a full if statement.</description>
    </item>
    <item>
      <title>Python With Statements and Context Managers</title>
      <link>https://foxipa.com/en/python/learn/context-managers/</link>
      <pubDate>Thu, 15 Oct 2026 15:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/context-managers/</guid>
      <description>Learn Python context managers, entry and cleanup, exception propagation, multiple resources, and contextlib.suppress(), nullcontext(), and closing().</description>
    </item>
    <item>
      <title>Python Assert Statements</title>
      <link>https://foxipa.com/en/python/learn/assert-statements/</link>
      <pubDate>Tue, 06 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/assert-statements/</guid>
      <description>Learn how Python&#39;s assert statement checks assumptions and raises AssertionError when an expected condition is false, including when assert is appropriate and when explicit error handling is required.</description>
    </item>
    <item>
      <title>CSS Writing Modes and Logical Properties</title>
      <link>https://foxipa.com/en/css/learn/writing-modes-logical-properties/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/writing-modes-logical-properties/</guid>
      <description>Learn how CSS establishes writing modes, inline and block axes, directionality, vertical writing, and flow-relative logical properties without duplicating CSS Text, Fonts, Box Model, or Sizing ownership.</description>
    </item>
    <item>
      <title>Python Assignment Expressions</title>
      <link>https://foxipa.com/en/python/learn/assignment-expressions/</link>
      <pubDate>Wed, 07 Oct 2026 13:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/assignment-expressions/</guid>
      <description>Learn how Python assignment expressions use := to bind a name inside a larger expression, when that improves clarity, and where ordinary assignment is the better choice.</description>
    </item>
    <item>
      <title>Python Bytes and Bytearray</title>
      <link>https://foxipa.com/en/python/learn/bytes-and-bytearray/</link>
      <pubDate>Wed, 07 Oct 2026 12:25:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/bytes-and-bytearray/</guid>
      <description>Learn how Python represents binary data with immutable bytes and mutable bytearray objects, including indexing, slicing, construction, encoding boundaries, and common binary operations.</description>
    </item>
    <item>
      <title>Python Type Alias Statements</title>
      <link>https://foxipa.com/en/python/learn/type-alias-statements/</link>
      <pubDate>Tue, 06 Oct 2026 20:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/type-alias-statements/</guid>
      <description>Learn Python&#39;s type statement for creating type aliases, using aliases in annotations, and understanding their lazy evaluation without confusing them with the type() function.</description>
    </item>
    <item>
      <title>Python Augmented Assignment</title>
      <link>https://foxipa.com/en/python/learn/augmented-assignment/</link>
      <pubDate>Wed, 07 Oct 2026 12:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/augmented-assignment/</guid>
      <description>Learn how +=, -=, *=, and the other augmented-assignment operators combine an operation with assignment, including their target-evaluation and in-place behavior.</description>
    </item>
    <item>
      <title>Python del Statements</title>
      <link>https://foxipa.com/en/python/learn/del-statements/</link>
      <pubDate>Tue, 06 Oct 2026 21:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/del-statements/</guid>
      <description>Learn how Python&#39;s del statement removes name bindings, items, slices, and attributes, and why deleting a binding is not the same as destroying an object.</description>
    </item>
    <item>
      <title>Python Generic Type Parameters</title>
      <link>https://foxipa.com/en/python/learn/generic-type-parameters/</link>
      <pubDate>Tue, 06 Oct 2026 22:50:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/generic-type-parameters/</guid>
      <description>Learn Python type parameter syntax for generic functions, classes, and type aliases, including type-parameter scope, bounds, defaults, and the roles of TypeVarTuple and ParamSpec.</description>
    </item>
    <item>
      <title>Python yield from</title>
      <link>https://foxipa.com/en/python/learn/yield-from/</link>
      <pubDate>Tue, 06 Oct 2026 22:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/yield-from/</guid>
      <description>Learn how Python&#39;s yield from delegates iteration to another iterable, how a delegated generator can return a value, and when delegation makes generator code clearer.</description>
    </item>
    <item>
      <title>Python Argument Unpacking</title>
      <link>https://foxipa.com/en/python/learn/argument-unpacking/</link>
      <pubDate>Tue, 06 Oct 2026 21:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/argument-unpacking/</guid>
      <description>Learn how to unpack iterables and mappings into function calls with * and **, how unpacking differs from collecting arguments, and how Python handles multiple unpackings.</description>
    </item>
    <item>
      <title>Test your knowledge: Fonts and Font Selection in CSS</title>
      <link>https://foxipa.com/en/css/exercise/quiz/typography/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/typography/</guid>
      <description>An assessment covering font families, matching, web fonts, descriptors, features, variations, synthesis, and ownership boundaries.</description>
    </item>
    <item>
      <title>CSS Text Layout and Formatting</title>
      <link>https://foxipa.com/en/css/learn/text-layout-formatting/</link>
      <pubDate>Sat, 03 Oct 2026 02:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/text-layout-formatting/</guid>
      <description>Learn CSS Text processing, white-space, wrapping, line breaking, alignment, justification, spacing, transformation, and current Level 4 controls with explicit ownership and maturity boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Forms</title>
      <link>https://foxipa.com/en/html/exercise/quiz/forms/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/forms/</guid>
      <description>A short assessment covering labels, input types, radio groups, and validation attributes.</description>
    </item>
    <item>
      <title>HTML Forms</title>
      <link>https://foxipa.com/en/html/learn/forms/</link>
      <pubDate>Wed, 23 Sep 2026 18:15:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/forms/</guid>
      <description>Learn to build forms people can actually use: labels tied to controls, the right input types, radio groups under fieldsets, and the validation attributes that do real work.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Loops</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/loops/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/loops/</guid>
      <description>A short assessment covering for...of versus for...in, the exits, and when not to loop at all.</description>
    </item>
    <item>
      <title>JavaScript Loops</title>
      <link>https://foxipa.com/en/javascript/learn/loops/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/loops/</guid>
      <description>Learn repetition in JavaScript: for and while, for...of over values and for...in over keys, break and continue, and when the array methods replace the loop entirely.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Caching</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/caching/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/caching/</guid>
      <description>Fill in cache paths, TTLs by status, stale serving, and request collapsing.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Caching</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/caching/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/caching/</guid>
      <description>Cache mindset and keys, TTLs by status, stale-while-revalidate, request collapsing, and slicing.</description>
    </item>
    <item>
      <title>2.3 The Location-Matching Algorithm</title>
      <link>https://foxipa.com/en/nginx/learn/location-matching-algorithm/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/location-matching-algorithm/</guid>
      <description>The most quizzed, most misquoted mechanism in NGINX. After this lesson you will never guess again — you will trace.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Functions</title>
      <link>https://foxipa.com/en/python/exercise/quiz/functions/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/functions/</guid>
      <description>A short assessment covering None returns, mutable defaults, scope, and keyword arguments.</description>
    </item>
    <item>
      <title>Python Functions</title>
      <link>https://foxipa.com/en/python/learn/functions/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/functions/</guid>
      <description>Learn to give code a name: def, parameters and returns, default and keyword arguments, and the scope rules that keep functions honest.</description>
    </item>
    <item>
      <title>Complete the code: fetch(keepalive)</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/fetch-keepalive/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/fetch-keepalive/</guid>
      <description>Fill in the missing superset flags — and the guarantee it still cannot give you.</description>
    </item>
    <item>
      <title>Test your knowledge: fetch(keepalive)</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/fetch-keepalive/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/fetch-keepalive/</guid>
      <description>The functional superset: what it adds, what it lacks, the shared quota, and promise vs boolean.</description>
    </item>
    <item>
      <title>4.2 Streams, queues, and the quota-aware sender</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/quota-aware-queue/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/quota-aware-queue/</guid>
      <description>Why ReadableStream bodies always throw under keepalive, and the batching queue recipe that moves many events through one pool slot.</description>
    </item>
    <item>
      <title>Git Restore Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-restore-state-recovery/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-restore-state-recovery/</guid>
      <description>Check restore destinations, default sources, explicit sources, and the boundary between local state correction and history operations.</description>
    </item>
    <item>
      <title>Python Operator Precedence and Evaluation Order</title>
      <link>https://foxipa.com/en/python/learn/operator-precedence/</link>
      <pubDate>Tue, 06 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/operator-precedence/</guid>
      <description>Learn how Python groups operators and evaluates expressions, so you can read complex expressions confidently and add parentheses when they make the meaning clearer.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Text Layout and Formatting</title>
      <link>https://foxipa.com/en/css/exercise/quiz/text-layout-formatting/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/text-layout-formatting/</guid>
      <description>Assess CSS Text processing, white-space, wrapping, line breaking, alignment, spacing, transformation, and ownership boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;form&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/form/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/form/</guid>
      <description>A focused assessment of the HTML &lt;form&gt; element, its ownership model, and its core attributes.</description>
    </item>
    <item>
      <title>The HTML &lt;form&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/form/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/form/</guid>
      <description>Learn what the &lt;form&gt; element represents, how it owns controls, and how its submission, autofill, and validation attributes shape native form behavior.</description>
    </item>
    <item>
      <title>Complete the Python Special Methods Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/special-methods/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/special-methods/</guid>
      <description>Practice connecting built-in operations and formatted output to special methods on your own classes.</description>
    </item>
    <item>
      <title>Python Special Methods and Object Behavior</title>
      <link>https://foxipa.com/en/python/learn/special-methods/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/special-methods/</guid>
      <description>Learn how Python classes customize built-in operations with special methods such as __repr__, __str__, __format__, __len__, __bool__, __contains__, __eq__, and __add__.</description>
    </item>
    <item>
      <title>Quick Check: Python Special Methods and Object Behavior</title>
      <link>https://foxipa.com/en/python/exercise/quiz/special-methods/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/special-methods/</guid>
      <description>Check your understanding of Python special methods and how built-in operations and formatting customize objects.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Writing Modes and Logical Properties</title>
      <link>https://foxipa.com/en/css/exercise/quiz/writing-modes-logical-properties/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/writing-modes-logical-properties/</guid>
      <description>Assess writing modes, axes, directionality, vertical writing, logical properties, bidi boundaries, and ownership relationships.</description>
    </item>
    <item>
      <title>CSS Text Decoration</title>
      <link>https://foxipa.com/en/css/learn/text-decoration/</link>
      <pubDate>Sat, 03 Oct 2026 02:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/text-decoration/</guid>
      <description>Learn text decorations, emphasis marks, text shadows, underline positioning, decoration skipping, and the current CSS Text Decoration specification boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;button&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/button/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/button/</guid>
      <description>A focused assessment of the HTML &lt;button&gt; element, its types, form behavior, and accessibility.</description>
    </item>
    <item>
      <title>The HTML &lt;button&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/button/</link>
      <pubDate>Wed, 23 Sep 2026 18:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/button/</guid>
      <description>Learn how the &lt;button&gt; element creates native actions, how its types and form behavior work, and how to author accessible buttons.</description>
    </item>
    <item>
      <title>Complete the Python Properties Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/properties-and-managed-attributes/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/properties-and-managed-attributes/</guid>
      <description>Practice building managed attributes and using functools.cached_property for reusable per-instance values.</description>
    </item>
    <item>
      <title>Python Properties and Managed Attributes</title>
      <link>https://foxipa.com/en/python/learn/properties-and-managed-attributes/</link>
      <pubDate>Thu, 15 Oct 2026 12:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/properties-and-managed-attributes/</guid>
      <description>Learn how Python properties manage attributes and when functools.cached_property is useful for reusable per-instance computed values.</description>
    </item>
    <item>
      <title>Quick Check: Python Properties and Managed Attributes</title>
      <link>https://foxipa.com/en/python/exercise/quiz/properties-and-managed-attributes/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/properties-and-managed-attributes/</guid>
      <description>Check your understanding of Python properties, managed attributes, and cached computed values.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Lists, Counters, and Generated Content</title>
      <link>https://foxipa.com/en/css/exercise/quiz/lists-counters-generated-content/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/lists-counters-generated-content/</guid>
      <description>Assess list-marker styling, counters, generated content, and ownership boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;input&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/input/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/input/</guid>
      <description>A comprehensive checkpoint on the HTML &lt;input&gt; element, its states, attributes, form association, accessibility, and value model.</description>
    </item>
    <item>
      <title>The HTML &lt;input&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/input/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/input/</guid>
      <description>Learn the HTML &lt;input&gt; element from first principles through its input states, attributes, form behavior, accessibility, validation boundary, and advanced value model.</description>
    </item>
    <item>
      <title>Complete the Python Class and Static Methods Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/class-and-static-methods/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/class-and-static-methods/</guid>
      <description>Practice creating class methods, static methods, and subclass-aware class methods.</description>
    </item>
    <item>
      <title>Python Class Methods and Static Methods</title>
      <link>https://foxipa.com/en/python/learn/class-and-static-methods/</link>
      <pubDate>Wed, 07 Oct 2026 03:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/class-and-static-methods/</guid>
      <description>Learn how Python class methods receive the class, how static methods receive no implicit object, and how to choose between method styles.</description>
    </item>
    <item>
      <title>Quick Check: Python Class Methods and Static Methods</title>
      <link>https://foxipa.com/en/python/exercise/quiz/class-and-static-methods/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/class-and-static-methods/</guid>
      <description>Check your understanding of instance, class, and static methods.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Basic User Interface</title>
      <link>https://foxipa.com/en/css/exercise/quiz/basic-ui/</link>
      <pubDate>Sat, 03 Oct 2026 04:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/basic-ui/</guid>
      <description>Assess CSS UI affordances, state styling, and the boundary between presentation, behavior, and semantics.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;textarea&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/textarea/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/textarea/</guid>
      <description>A comprehensive checkpoint on the HTML &lt;textarea&gt; element, multiline editing, attributes, accessibility, form behavior, and advanced value model.</description>
    </item>
    <item>
      <title>The HTML &lt;textarea&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/textarea/</link>
      <pubDate>Wed, 23 Sep 2026 18:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/textarea/</guid>
      <description>Learn the HTML &lt;textarea&gt; element from first principles through multiline text editing, attributes, form behavior, accessibility, validation hooks, and its advanced value model.</description>
    </item>
    <item>
      <title>Complete the Python __slots__ Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/slots-and-instance-storage/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/slots-and-instance-storage/</guid>
      <description>Practice declaring slots, restricting attributes, allowing a dictionary explicitly, and using slots across inheritance.</description>
    </item>
    <item>
      <title>Python __slots__ and Instance Storage</title>
      <link>https://foxipa.com/en/python/learn/slots-and-instance-storage/</link>
      <pubDate>Wed, 07 Oct 2026 02:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/slots-and-instance-storage/</guid>
      <description>Learn how Python __slots__ declares instance attributes, controls dynamic attributes, and changes instance storage.</description>
    </item>
    <item>
      <title>Quick Check: Python __slots__ and Instance Storage</title>
      <link>https://foxipa.com/en/python/exercise/quiz/slots-and-instance-storage/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/slots-and-instance-storage/</guid>
      <description>Check your understanding of Python __slots__, instance dictionaries, reassignment, and inheritance.</description>
    </item>
    <item>
      <title>CSS Lists, Counters, and Generated Content</title>
      <link>https://foxipa.com/en/css/learn/lists-counters-generated-content/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/lists-counters-generated-content/</guid>
      <description>Learn how CSS generates list markers, counters, and pseudo-element content while keeping image values, text processing, writing modes, and HTML semantics in their proper owners.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;select&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/select/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/select/</guid>
      <description>A comprehensive checkpoint on HTML select semantics, options, grouping, selection state, accessibility, form behavior, DOM APIs, and customizable selects.</description>
    </item>
    <item>
      <title>The &lt;select&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/select/</link>
      <pubDate>Tue, 22 Sep 2026 21:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/select/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;select&gt; element, options, grouping, selection state, form behavior, accessibility, DOM APIs, and customizable select controls.</description>
    </item>
    <item>
      <title>JavaScript Expressions and Operators</title>
      <link>https://foxipa.com/en/javascript/learn/expressions-and-operators/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/expressions-and-operators/</guid>
      <description>Learn how JavaScript expressions produce values, how operators combine and transform them, and how precedence and short-circuiting affect evaluation.</description>
    </item>
    <item>
      <title>Complete the Python Custom Attribute Access Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/custom-attribute-access/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/custom-attribute-access/</guid>
      <description>Practice customizing attribute reads, fallback lookup, assignment, and deletion safely.</description>
    </item>
    <item>
      <title>Python Custom Attribute Access</title>
      <link>https://foxipa.com/en/python/learn/custom-attribute-access/</link>
      <pubDate>Tue, 06 Oct 2026 23:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/custom-attribute-access/</guid>
      <description>Learn how Python customizes instance attribute reads, fallback lookup, assignment, and deletion with __getattribute__, __getattr__, __setattr__, and __delattr__.</description>
    </item>
    <item>
      <title>Quick Check: Python Custom Attribute Access</title>
      <link>https://foxipa.com/en/python/exercise/quiz/custom-attribute-access/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/custom-attribute-access/</guid>
      <description>Check your understanding of Python attribute-access hooks and their boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;option&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/option/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/option/</guid>
      <description>An advanced checkpoint on HTML option labels, values, selection state, disabledness, select and datalist relationships, DOM APIs, and customizable selects.</description>
    </item>
    <item>
      <title>The &lt;option&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/option/</link>
      <pubDate>Wed, 23 Sep 2026 18:45:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/option/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;option&gt; element, labels, values, default and live selection state, disabled options, select and datalist relationships, DOM APIs, customizable selects, accessibility, and form data contracts.</description>
    </item>
    <item>
      <title>Complete the Python Multiple Inheritance and MRO Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/multiple-inheritance-and-mro/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/multiple-inheritance-and-mro/</guid>
      <description>Practice multiple base classes, inspect the MRO, and build a cooperative super() chain.</description>
    </item>
    <item>
      <title>Python Multiple Inheritance and Method Resolution Order</title>
      <link>https://foxipa.com/en/python/learn/multiple-inheritance-and-mro/</link>
      <pubDate>Wed, 07 Oct 2026 06:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/multiple-inheritance-and-mro/</guid>
      <description>Learn how Python combines multiple base classes, resolves inherited attributes with the method resolution order, and uses super() cooperatively across a multiple-inheritance hierarchy.</description>
    </item>
    <item>
      <title>Quick Check: Python Multiple Inheritance and Method Resolution Order</title>
      <link>https://foxipa.com/en/python/exercise/quiz/multiple-inheritance-and-mro/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/multiple-inheritance-and-mro/</guid>
      <description>Check your understanding of multiple inheritance, MRO, and cooperative super().</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;datalist&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/datalist/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/datalist/</guid>
      <description>An advanced checkpoint on HTML datalist associations, suggestion semantics, option data, DOM APIs, accessibility, validation boundaries, and progressive enhancement.</description>
    </item>
    <item>
      <title>The &lt;datalist&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/datalist/</link>
      <pubDate>Tue, 22 Sep 2026 23:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/datalist/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;datalist&gt; element, native suggestions, list associations, option data, browser behavior, accessibility, validation boundaries, DOM APIs, progressive enhancement, and resilient production patterns.</description>
    </item>
    <item>
      <title>Complete the Python __init_subclass__ Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/init-subclass/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/init-subclass/</guid>
      <description>Practice configuring, validating, and registering subclasses with __init_subclass__.</description>
    </item>
    <item>
      <title>Python __init_subclass__ and Class Creation Hooks</title>
      <link>https://foxipa.com/en/python/learn/init-subclass/</link>
      <pubDate>Wed, 07 Oct 2026 23:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/init-subclass/</guid>
      <description>Learn how Python bases can configure, validate, and register subclasses with __init_subclass__.</description>
    </item>
    <item>
      <title>Quick Check: Python __init_subclass__ and Class Creation Hooks</title>
      <link>https://foxipa.com/en/python/exercise/quiz/init-subclass/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/init-subclass/</guid>
      <description>Check your understanding of subclass creation hooks and cooperative class customization.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;output&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/output/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/output/</guid>
      <description>An advanced checkpoint on HTML output semantics, form association, value modes, reset behavior, accessibility, submission boundaries, security, and related elements.</description>
    </item>
    <item>
      <title>The &lt;output&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/output/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/output/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;output&gt; element, calculation results, form association, for/name/form relationships, value and defaultValue modes, reset behavior, accessibility, DOM APIs, submission boundaries, security, localization, testing, and resilient production patterns.</description>
    </item>
    <item>
      <title>Complete the Python Descriptor Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/descriptors-and-set-name/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/descriptors-and-set-name/</guid>
      <description>Practice implementing __get__, __set_name__, __set__, and __delete__ in reusable descriptors.</description>
    </item>
    <item>
      <title>Python Descriptors and __set_name__</title>
      <link>https://foxipa.com/en/python/learn/descriptors-and-set-name/</link>
      <pubDate>Tue, 06 Oct 2026 23:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/descriptors-and-set-name/</guid>
      <description>Learn how Python descriptors customize attribute access, assignment, deletion, and class-created attribute metadata.</description>
    </item>
    <item>
      <title>Quick Check: Python Descriptors and __set_name__</title>
      <link>https://foxipa.com/en/python/exercise/quiz/descriptors-and-set-name/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/descriptors-and-set-name/</guid>
      <description>Check your understanding of descriptor lookup, binding, precedence, and class-created descriptor names.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;progress&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/progress/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/progress/</guid>
      <description>An advanced checkpoint on progress semantics, determinate and indeterminate states, accessibility, DOM APIs, styling boundaries, and production task-progress architecture.</description>
    </item>
    <item>
      <title>The &lt;progress&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/progress/</link>
      <pubDate>Wed, 23 Sep 2026 17:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/progress/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;progress&gt; element, determinate and indeterminate task progress, value and max, accessibility, DOM APIs, styling boundaries, asynchronous workflows, testing, and resilient production patterns.</description>
    </item>
    <item>
      <title>Complete the Python Callable Object Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/callable-objects/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/callable-objects/</guid>
      <description>Practice making instances callable with __call__ and using callable-object behavior.</description>
    </item>
    <item>
      <title>Python Callable Objects and __call__</title>
      <link>https://foxipa.com/en/python/learn/callable-objects/</link>
      <pubDate>Wed, 07 Oct 2026 06:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/callable-objects/</guid>
      <description>Learn how Python instances become callable with __call__, including state, arguments, return values, and inheritance.</description>
    </item>
    <item>
      <title>Quick Check: Python Callable Objects and __call__</title>
      <link>https://foxipa.com/en/python/exercise/quiz/callable-objects/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/callable-objects/</guid>
      <description>Check your understanding of callable instances, __call__, state, and call behavior.</description>
    </item>
    <item>
      <title>Test your knowledge: Backgrounds, Borders, and Box Decorations</title>
      <link>https://foxipa.com/en/css/exercise/quiz/backgrounds-borders/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/backgrounds-borders/</guid>
      <description>Assess background layer order, fitting and clipping, borders, rounded corners, border images, shadows, and ownership boundaries.</description>
    </item>
    <item>
      <title>CSS Basic User Interface</title>
      <link>https://foxipa.com/en/css/learn/basic-ui/</link>
      <pubDate>Mon, 05 Oct 2026 01:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/basic-ui/</guid>
      <description>Learn how CSS styles common UI affordances such as cursors, focus outlines, carets, selection, resizing, native appearance, and accent colors without confusing presentation with behavior or semantics.</description>
    </item>
    <item>
      <title>Test your knowledge: Semantic Page Structure</title>
      <link>https://foxipa.com/en/html/exercise/quiz/semantic-page-structure/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/exercise/quiz/semantic-page-structure/</guid>
      <description>A short assessment covering landmark elements, main, sections and articles, and honest use of divs.</description>
    </item>
    <item>
      <title>Semantic Page Structure</title>
      <link>https://foxipa.com/en/html/learn/semantic-page-structure/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/html/learn/semantic-page-structure/</guid>
      <description>Learn the landmark elements that give a page its skeleton: header, nav, main, article, section, aside, and footer, and when a div is the honest choice.</description>
    </item>
    <item>
      <title>Complete the values, types, and equality expressions</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/values-types-coercion-equality/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/values-types-coercion-equality/</guid>
      <description>Practice explicit conversion, strict equality, NaN checks, nullish fallback, BigInt, SameValue, and numeric comparison by completing real JavaScript code.</description>
    </item>
    <item>
      <title>Test your knowledge: JavaScript Values, Types, Coercion, and Equality</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/values-types-coercion-equality/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/values-types-coercion-equality/</guid>
      <description>Practice JavaScript language types, truthiness, explicit conversion, equality, relational comparison, BigInt boundaries, and SameValue behavior.</description>
    </item>
    <item>
      <title>JavaScript Values, Types, Coercion, and Equality</title>
      <link>https://foxipa.com/en/javascript/learn/values-types-coercion-equality/</link>
      <pubDate>Sun, 27 Sep 2026 03:22:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/values-types-coercion-equality/</guid>
      <description>Build a reliable mental model for JavaScript language types, primitive values, objects, truthiness, explicit conversion, coercion, equality, and comparison edge cases.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Performance</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/performance/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/performance/</guid>
      <description>Fill in gzip types, static compression, HTTP/3 listeners, and buffering.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Performance</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/performance/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/performance/</guid>
      <description>Workers and limits, buffers, gzip and Brotli compression, and HTTP/3 over QUIC.</description>
    </item>
    <item>
      <title>2.4 Variables and map</title>
      <link>https://foxipa.com/en/nginx/learn/variables-and-map/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/variables-and-map/</guid>
      <description>Configuration that computes. NGINX has no if you should love (Lesson 11.2 explains why), but it has something better: variables with per-request values and map, the cleanest dispatch in town.</description>
    </item>
    <item>
      <title>Python Tuples and Sets</title>
      <link>https://foxipa.com/en/python/learn/tuples-and-sets/</link>
      <pubDate>Tue, 06 Oct 2026 13:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/tuples-and-sets/</guid>
      <description>Learn when to use immutable tuples and unique-value sets, how packing and unpacking work, and how set operations answer membership and collection questions.</description>
    </item>
    <item>
      <title>Complete the code: Decision Tree &amp; Hybrid Transport</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/hybrid-transport/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/hybrid-transport/</guid>
      <description>Fill in the missing routing logic of the hybrid sender.</description>
    </item>
    <item>
      <title>Test your knowledge: Decision Tree &amp; Hybrid Transport</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/hybrid-transport/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/hybrid-transport/</guid>
      <description>Choosing between sendBeacon and fetch(keepalive), the hybrid pattern, and the shared-quota trap.</description>
    </item>
    <item>
      <title>5.1 Page lifecycle: the hidden transition is the contract</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/page-lifecycle/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/page-lifecycle/</guid>
      <description>The spec&#39;s MUST-flush-on-hidden guarantee parsed clause by clause, state-versus-event reasoning, ordering, and mobile reality.</description>
    </item>
    <item>
      <title>Git Reset Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-reset-state-transitions/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-reset-state-transitions/</guid>
      <description>Check reset path form, HEAD movement, reset modes, ORIG_HEAD, and the boundary between reset, restore, and revert.</description>
    </item>
    <item>
      <title>Python Custom Subscription and Container Behavior</title>
      <link>https://foxipa.com/en/python/learn/custom-subscription/</link>
      <pubDate>Thu, 15 Oct 2026 12:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/custom-subscription/</guid>
      <description>Learn how Python classes customize square-bracket subscription, item assignment, item deletion, reverse iteration, and formal sequence, set, and mapping interfaces.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;meter&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/meter/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/meter/</guid>
      <description>An advanced checkpoint on meter semantics, ranges, thresholds, optimum values, accessibility, DOM APIs, styling boundaries, and resilient measurement architecture.</description>
    </item>
    <item>
      <title>The &lt;meter&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/meter/</link>
      <pubDate>Wed, 23 Sep 2026 03:10:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/meter/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;meter&gt; element, bounded measurements, thresholds, optimum values, accessibility, DOM APIs, native rendering, dynamic data, and resilient production patterns.</description>
    </item>
    <item>
      <title>Complete the Python range code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/range/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/range/</guid>
      <description>Practice constructing ascending and descending ranges, testing membership, and slicing range sequences.</description>
    </item>
    <item>
      <title>Test your knowledge: Python range</title>
      <link>https://foxipa.com/en/python/exercise/quiz/range/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/range/</guid>
      <description>A short assessment covering range arguments, stop exclusion, negative steps, sequence behavior, and membership.</description>
    </item>
    <item>
      <title>Python range</title>
      <link>https://foxipa.com/en/python/learn/range/</link>
      <pubDate>Wed, 07 Oct 2026 13:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/range/</guid>
      <description>Learn Python&#39;s range type: half-open numeric sequences, start/stop/step, negative steps, indexing, slicing, membership, and why ranges do not materialize a list.</description>
    </item>
    <item>
      <title>Python Class Subscription and __class_getitem__</title>
      <link>https://foxipa.com/en/python/learn/class-subscription/</link>
      <pubDate>Wed, 07 Oct 2026 09:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/class-subscription/</guid>
      <description>Learn how Python classes customize square-bracket subscription with __class_getitem__, including generic-style parameterization and the boundary with instance subscription.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;selectedcontent&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/selectedcontent/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/selectedcontent/</guid>
      <description>An advanced checkpoint on customizable select structure, selectedcontent reflection, accessibility, browser support, dynamic content, and component architecture.</description>
    </item>
    <item>
      <title>The &lt;selectedcontent&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/selectedcontent/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/selectedcontent/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;selectedcontent&gt; element, customizable selects, reflected option content, accessibility, browser support, dynamic DOM behavior, progressive enhancement, and resilient component architecture.</description>
    </item>
    <item>
      <title>Complete the Python zip code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/zip/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/zip/</guid>
      <description>Practice pairing iterables, enforcing equal lengths, combining several inputs, and unzipping paired data.</description>
    </item>
    <item>
      <title>Test your knowledge: Python zip</title>
      <link>https://foxipa.com/en/python/exercise/quiz/zip/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/zip/</guid>
      <description>A short assessment covering parallel iteration, shortest-input behavior, strict length checking, edge cases, and unzipping.</description>
    </item>
    <item>
      <title>Python zip</title>
      <link>https://foxipa.com/en/python/learn/zip/</link>
      <pubDate>Wed, 07 Oct 2026 16:50:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/zip/</guid>
      <description>Learn Python&#39;s zip function: parallel iteration, shortest-input behavior, strict length checking, multiple iterables, and unzipping paired data.</description>
    </item>
    <item>
      <title>Python Custom isinstance() and issubclass() Checks</title>
      <link>https://foxipa.com/en/python/learn/custom-instance-subclass-checks/</link>
      <pubDate>Wed, 07 Oct 2026 05:42:57 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/custom-instance-subclass-checks/</guid>
      <description>Learn how Python customizes isinstance() and issubclass() through __instancecheck__() and __subclasscheck__() on a metaclass, including virtual relationships and preserving normal inheritance checks.</description>
    </item>
    <item>
      <title>Test your knowledge: The &lt;optgroup&gt; Element</title>
      <link>https://foxipa.com/en/html/exercise/quiz/optgroup/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/optgroup/</guid>
      <description>An advanced checkpoint on HTML option grouping, labels, disabledness, customizable selects, DOM APIs, accessibility, form boundaries, security, and testing.</description>
    </item>
    <item>
      <title>The &lt;optgroup&gt; Element</title>
      <link>https://foxipa.com/en/html/learn/optgroup/</link>
      <pubDate>Wed, 23 Sep 2026 04:30:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/optgroup/</guid>
      <description>A comprehensive beginner-to-guru lesson on the HTML &lt;optgroup&gt; element, semantic option grouping, labels, disabled groups, customizable selects, accessibility, DOM APIs, form boundaries, security, testing, and resilient component architecture.</description>
    </item>
    <item>
      <title>Complete the Python Iterable Unpacking code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/iterable-unpacking/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/iterable-unpacking/</guid>
      <description>Practice exact unpacking, starred targets, nested targets, and value swapping.</description>
    </item>
    <item>
      <title>Complete the Python map and filter code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/map-and-filter/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/map-and-filter/</guid>
      <description>Practice transforming, selecting, combining iterables, and composing map with filter.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Iterable Unpacking</title>
      <link>https://foxipa.com/en/python/exercise/quiz/iterable-unpacking/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/iterable-unpacking/</guid>
      <description>Check your understanding of assignment-side iterable unpacking, starred targets, nested targets, and value swapping.</description>
    </item>
    <item>
      <title>Test your knowledge: Python map and filter</title>
      <link>https://foxipa.com/en/python/exercise/quiz/map-and-filter/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/map-and-filter/</guid>
      <description>Check your understanding of map transformation, filter selection, lazy iterator results, and multiple inputs.</description>
    </item>
    <item>
      <title>Python Iterable Unpacking</title>
      <link>https://foxipa.com/en/python/learn/iterable-unpacking/</link>
      <pubDate>Wed, 07 Oct 2026 14:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/iterable-unpacking/</guid>
      <description>Learn how Python assigns items from an iterable to multiple targets, including starred targets, nested patterns, and clean value swapping.</description>
    </item>
    <item>
      <title>Python map and filter</title>
      <link>https://foxipa.com/en/python/learn/map-and-filter/</link>
      <pubDate>Wed, 07 Oct 2026 17:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/map-and-filter/</guid>
      <description>Learn Python&#39;s map and filter built-ins for lazy transformation and selection of iterable values.</description>
    </item>
    <item>
      <title>Complete the Python sorting code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/sorting-with-sorted/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/sorting-with-sorted/</guid>
      <description>Practice sorting iterables, using key functions, ordering multiple fields, and choosing list.sort().</description>
    </item>
    <item>
      <title>Test your knowledge: Python Sorting with sorted()</title>
      <link>https://foxipa.com/en/python/exercise/quiz/sorting-with-sorted/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/sorting-with-sorted/</guid>
      <description>Check your understanding of sorted(), key functions, reverse ordering, stable sorting, and list.sort().</description>
    </item>
    <item>
      <title>Python Sorting with sorted()</title>
      <link>https://foxipa.com/en/python/learn/sorting-with-sorted/</link>
      <pubDate>Wed, 07 Oct 2026 14:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/sorting-with-sorted/</guid>
      <description>Learn Python&#39;s sorted() function, key functions, reverse ordering, stable sorting, and when to use list.sort() instead.</description>
    </item>
    <item>
      <title>Test your knowledge: Images, Gradients, and Replaced-Content Sizing</title>
      <link>https://foxipa.com/en/css/exercise/quiz/images-gradients-replaced-content/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/images-gradients-replaced-content/</guid>
      <description>Assess CSS image values, intrinsic dimensions, replaced-content sizing, object fitting, object positioning, image-set(), and curriculum ownership boundaries.</description>
    </item>
    <item>
      <title>Backgrounds, Borders, and Box Decorations</title>
      <link>https://foxipa.com/en/css/learn/backgrounds-borders/</link>
      <pubDate>Mon, 05 Oct 2026 01:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/backgrounds-borders/</guid>
      <description>Learn how CSS paints background layers, gradients, borders, rounded corners, border images, and box shadows without confusing decoration with box geometry or color values.</description>
    </item>
    <item>
      <title>HTML Global Attributes and Common Infrastructure</title>
      <link>https://foxipa.com/en/html/learn/global-attributes/</link>
      <pubDate>Sun, 27 Sep 2026 15:50:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/global-attributes/</guid>
      <description>Learn the cross-element HTML attributes that control language, direction, visibility, focus, editing, input behavior, popovers, custom data, and other document-wide behavior without duplicating element-specific semantics.</description>
    </item>
    <item>
      <title>Complete the control-flow and declaration code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/control-flow-and-declarations/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/control-flow-and-declarations/</guid>
      <description>Practice branching, switch control, loop control, returns, exceptions, cleanup, and safe return syntax by completing real JavaScript code.</description>
    </item>
    <item>
      <title>JavaScript Control Flow and Declarations Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/control-flow-and-declarations/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/control-flow-and-declarations/</guid>
      <description>Check your understanding of blocks, declarations, branching, control transfer, exceptions, and automatic semicolon insertion.</description>
    </item>
    <item>
      <title>JavaScript Control Flow and Declarations</title>
      <link>https://foxipa.com/en/javascript/learn/control-flow-and-declarations/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/control-flow-and-declarations/</guid>
      <description>Learn how JavaScript chooses execution paths, creates block-scoped bindings, exits functions, handles exceptions, and applies automatic semicolon insertion.</description>
    </item>
    <item>
      <title>Complete the Python aggregation code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/aggregate-builtins/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/aggregate-builtins/</guid>
      <description>Practice all(), any(), min(), max(), and sum().</description>
    </item>
    <item>
      <title>Complete the Python numeric built-ins code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/numeric-builtins/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/numeric-builtins/</guid>
      <description>Practice abs(), divmod(), and pow().</description>
    </item>
    <item>
      <title>Python aggregation built-ins: Quick Check</title>
      <link>https://foxipa.com/en/python/exercise/quiz/aggregate-builtins/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/aggregate-builtins/</guid>
      <description>Check your understanding of all(), any(), min(), max(), and sum().</description>
    </item>
    <item>
      <title>Python numeric built-ins: Quick Check</title>
      <link>https://foxipa.com/en/python/exercise/quiz/numeric-builtins/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/numeric-builtins/</guid>
      <description>Check your understanding of abs(), divmod(), and pow().</description>
    </item>
    <item>
      <title>Python all(), any(), min(), max(), and sum()</title>
      <link>https://foxipa.com/en/python/learn/aggregate-builtins/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/aggregate-builtins/</guid>
      <description>Learn Python built-in aggregation functions for truth checks, extremes, and totals: all(), any(), min(), max(), and sum().</description>
    </item>
    <item>
      <title>Python abs(), divmod(), and pow()</title>
      <link>https://foxipa.com/en/python/learn/numeric-builtins/</link>
      <pubDate>Thu, 08 Oct 2026 02:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/numeric-builtins/</guid>
      <description>Learn three core numeric built-ins: abs() for magnitude, divmod() for quotient and remainder together, and pow() for exponentiation and modular arithmetic.</description>
    </item>
    <item>
      <title>HTML Syntax, Parsing, and Conformance</title>
      <link>https://foxipa.com/en/html/learn/html-syntax-parsing-conformance/</link>
      <pubDate>Sun, 27 Sep 2026 16:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/html-syntax-parsing-conformance/</guid>
      <description>Understand the normative text/html syntax, tokenizer, tree-construction algorithm, parse-error recovery, and the distinction between authoring conformance and user-agent parsing.</description>
    </item>
    <item>
      <title>Complete the Python recursion code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/recursion/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/recursion/</guid>
      <description>Practice base cases, recursive steps, and recursive traversal.</description>
    </item>
    <item>
      <title>Python Recursion: Quick Check</title>
      <link>https://foxipa.com/en/python/exercise/quiz/recursion/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/recursion/</guid>
      <description>Check your understanding of recursive calls, stopping conditions, returned values, local state, and recursion depth.</description>
    </item>
    <item>
      <title>Python Recursion</title>
      <link>https://foxipa.com/en/python/learn/recursion/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/recursion/</guid>
      <description>Learn how Python functions can call themselves, how base and recursive cases work, how values return through nested calls, and when recursion is a good fit.</description>
    </item>
    <item>
      <title>HTML Microdata and Machine-Readable Semantics</title>
      <link>https://foxipa.com/en/html/learn/html-microdata/</link>
      <pubDate>Sun, 27 Sep 2026 16:10:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/html-microdata/</guid>
      <description>Learn the HTML Standard’s microdata model, item and property structure, value extraction rules, vocabulary typing, global identifiers, itemref, and conformance boundaries without confusing HTML mechanics with third-party vocabulary semantics.</description>
    </item>
    <item>
      <title>Complete the Python formatting code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/format-specification/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/format-specification/</guid>
      <description>Practice format specifications for width, alignment, numeric precision, and dynamic formatting.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Format Specifications</title>
      <link>https://foxipa.com/en/python/exercise/quiz/format-specification/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/format-specification/</guid>
      <description>Check your understanding of format(), width, alignment, fill, precision, and conversion versus formatting.</description>
    </item>
    <item>
      <title>Python Format Specifications</title>
      <link>https://foxipa.com/en/python/learn/format-specification/</link>
      <pubDate>Thu, 08 Oct 2026 18:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/format-specification/</guid>
      <description>Learn Python format specifications through format(), including width, alignment, fill, numeric precision, and reusable formatting rules without re-teaching f-strings.</description>
    </item>
    <item>
      <title>HTML User Interaction and Focus</title>
      <link>https://foxipa.com/en/html/learn/html-user-interaction-focus/</link>
      <pubDate>Sun, 27 Sep 2026 17:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/html-user-interaction-focus/</guid>
      <description>Learn the HTML Standard’s cross-cutting interaction model: focusable areas, sequential focus navigation, autofocus, activation behavior, user activation, editing and selection boundaries, and drag-and-drop without duplicating element-specific lessons.</description>
    </item>
    <item>
      <title>HTML Accessibility and ARIA Authoring</title>
      <link>https://foxipa.com/en/html/learn/html-accessibility-aria/</link>
      <pubDate>Sun, 27 Sep 2026 17:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/html-accessibility-aria/</guid>
      <description>Learn the cross-cutting HTML and ARIA authoring rules: native-first semantics, ARIA roles and states, accessible names and relationships, ARIA in HTML conformance, and the boundary between authoring and platform accessibility behavior.</description>
    </item>
    <item>
      <title>Test your knowledge: Flexbox</title>
      <link>https://foxipa.com/en/css/exercise/quiz/flexbox/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/flexbox/</guid>
      <description>Check your understanding of flex axes, flex sizing, free-space distribution, wrapping, constraints, ordering, and ownership boundaries.</description>
    </item>
    <item>
      <title>Images, Gradients, and Replaced-Content Sizing</title>
      <link>https://foxipa.com/en/css/learn/images-gradients-replaced-content/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/images-gradients-replaced-content/</guid>
      <description>Learn CSS image values, intrinsic image dimensions and aspect ratios, replaced-content sizing, object fitting and positioning, image-set(), and clear boundaries with Sizing and Backgrounds/Borders.</description>
    </item>
    <item>
      <title>Complete the scope and closure code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/scope-environments-closures/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/scope-environments-closures/</guid>
      <description>Practice lexical scope, shadowing, closures, callbacks, loop bindings, and name resolution by completing real JavaScript code.</description>
    </item>
    <item>
      <title>JavaScript Scope, Environments, and Closures Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/scope-environments-closures/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/scope-environments-closures/</guid>
      <description>Check your understanding of lexical scope, shadowing, closures, and name resolution.</description>
    </item>
    <item>
      <title>JavaScript Scope, Environments, and Closures</title>
      <link>https://foxipa.com/en/javascript/learn/scope-environments-closures/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/scope-environments-closures/</guid>
      <description>Learn how JavaScript resolves names through lexical scope, how environments nest, and why closures preserve access to surrounding bindings.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Layer 4 Routing</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/stream-layer4/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/stream-layer4/</guid>
      <description>Fill in stream blocks, PROXY protocol, and SNI-based passthrough.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Layer 4 Routing</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/stream-layer4/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/stream-layer4/</guid>
      <description>The stream module: TCP/UDP proxying, the PROXY protocol, and SNI-based TLS passthrough.</description>
    </item>
    <item>
      <title>2.5 Directive Inheritance: The One Rule</title>
      <link>https://foxipa.com/en/nginx/learn/directive-inheritance/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/directive-inheritance/</guid>
      <description>&#34;Why did my header disappear?&#34; has exactly one answer, and after this lesson you&#39;ll never ask it again.</description>
    </item>
    <item>
      <title>Python Modules and Imports</title>
      <link>https://foxipa.com/en/python/learn/modules/</link>
      <pubDate>Tue, 06 Oct 2026 14:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/modules/</guid>
      <description>Learn how Python splits programs into reusable modules, imports names safely, and uses __name__ and python -m to control how code runs.</description>
    </item>
    <item>
      <title>Complete the code: Real-World Patterns</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/real-world-patterns/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/real-world-patterns/</guid>
      <description>Fill in the missing pieces of pageviews, error reports, crash queues, and restore pings.</description>
    </item>
    <item>
      <title>Test your knowledge: Real-World Patterns</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/real-world-patterns/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/real-world-patterns/</guid>
      <description>Pageviews, JSON error reports, crash reporting, bfcache analytics, A/B persistence, and the SDK layer.</description>
    </item>
    <item>
      <title>5.2 The lifecycle flusher: recipe, bfcache, and why unload is out</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/lifecycle-flusher/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/lifecycle-flusher/</guid>
      <description>One flush per hidden transition, bfcache restores identified precisely via persisted pageshow, and the layered case against unload.</description>
    </item>
    <item>
      <title>CSS Overflow, Scrolling, and Clipping</title>
      <link>https://foxipa.com/en/css/learn/overflow-scrolling-clipping/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/overflow-scrolling-clipping/</guid>
      <description>Understand overflow, clipping, scrollable overflow, scroll containers, and practical overflow debugging without duplicating sizing, flow, positioning, text, or Scroll Snap ownership.</description>
    </item>
    <item>
      <title>Complete the function objects and this code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/function-objects-and-this/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/function-objects-and-this/</guid>
      <description>Practice function objects, call-site this, arrow functions, call/apply/bind, and constructor calls by completing real JavaScript.</description>
    </item>
    <item>
      <title>JavaScript Function Objects and this</title>
      <link>https://foxipa.com/en/javascript/learn/function-objects-and-this/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/function-objects-and-this/</guid>
      <description>Understand function objects, callable versus constructible functions, call-site this, arrow functions, call/apply/bind, and constructor calls.</description>
    </item>
    <item>
      <title>JavaScript Function Objects and this Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/function-objects-and-this/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/function-objects-and-this/</guid>
      <description>Check your understanding of function objects, call-site this, arrow functions, call/apply/bind, and constructors.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Grid Layout</title>
      <link>https://foxipa.com/en/css/exercise/quiz/grid/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/grid/</guid>
      <description>Assess tracks, placement, automatic layout, responsive repetition, subgrid, alignment boundaries, and the Grid specification landscape.</description>
    </item>
    <item>
      <title>CSS Scrollbar Styling</title>
      <link>https://foxipa.com/en/css/learn/scrollbar-styling/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/scrollbar-styling/</guid>
      <description>Style scrollbar color and thickness with the standardized scrollbar-color and scrollbar-width properties while keeping scrollability, user preferences, and accessibility boundaries clear.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Document Metadata</title>
      <link>https://foxipa.com/en/html/exercise/quiz/document-metadata/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/document-metadata/</guid>
      <description>Check your understanding of the HTML head, title, metadata declarations, resource links, and base URLs.</description>
    </item>
    <item>
      <title>HTML Document Metadata</title>
      <link>https://foxipa.com/en/html/learn/document-metadata/</link>
      <pubDate>Wed, 23 Sep 2026 18:00:00 &#43;0300</pubDate>
      <guid>https://foxipa.com/en/html/learn/document-metadata/</guid>
      <description>Learn how the HTML head, title, meta, link, base, style, and script elements prepare and describe a document.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Request Control</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/request-control/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/request-control/</guid>
      <description>Fill in rewrite flags, auth_request, mirroring, and signed links.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Request Control</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/request-control/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/request-control/</guid>
      <description>The rewrite engine, the if trap and its map cure, auth_request, mirroring, and signed URLs.</description>
    </item>
    <item>
      <title>2.6 Includes, Organization, and nginx -T</title>
      <link>https://foxipa.com/en/nginx/learn/includes-organization/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/includes-organization/</guid>
      <description>The mechanics are done; now the engineering. Configs are programs, and programs need architecture, imports, and a debugger. NGINX ships all three.</description>
    </item>
    <item>
      <title>Complete the code: fetchLater / Deferred Fetch</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/deferred-fetch/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/deferred-fetch/</guid>
      <description>Fill in the missing fetchLater options, quota constants, and fallback ladder rungs.</description>
    </item>
    <item>
      <title>Test your knowledge: fetchLater / Deferred Fetch</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/deferred-fetch/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/deferred-fetch/</guid>
      <description>The newest transport: the deferred-fetch quota, the activation triggers, activateAfter, and when it complements sendBeacon.</description>
    </item>
    <item>
      <title>6.1 The server side: a collector endpoint for credentialed beacons</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/server-side-cors/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/server-side-cors/</guid>
      <description>What forced credentials:include demands from the server, the preflight trio, the 204 habit, and a framework-free Node collector.</description>
    </item>
    <item>
      <title>Complete the objects and prototypes code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/objects-and-prototypes/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/objects-and-prototypes/</guid>
      <description>Practice prototype creation, property ownership, lookup, shared methods, and descriptors.</description>
    </item>
    <item>
      <title>Complete the Python exceptions and error handling code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/exceptions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/exceptions/</guid>
      <description>Practice handling specific exceptions, using else and finally, and deliberately raising an exception.</description>
    </item>
    <item>
      <title>Complete the Python packages and imports code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/packages/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/packages/</guid>
      <description>Practice creating package imports, accessing submodules, and using a relative import inside a package.</description>
    </item>
    <item>
      <title>JavaScript Objects and Prototypes</title>
      <link>https://foxipa.com/en/javascript/learn/objects-and-prototypes/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/objects-and-prototypes/</guid>
      <description>Understand own properties, prototype chains, shared methods, constructor prototypes, classes, descriptors, and deliberate prototype control.</description>
    </item>
    <item>
      <title>JavaScript Objects and Prototypes Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/objects-and-prototypes/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/objects-and-prototypes/</guid>
      <description>Check your understanding of own properties, prototype lookup, shared methods, constructors, classes, and descriptors.</description>
    </item>
    <item>
      <title>Python Exceptions and Error Handling</title>
      <link>https://foxipa.com/en/python/learn/exceptions/</link>
      <pubDate>Thu, 08 Oct 2026 18:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/exceptions/</guid>
      <description>Learn how Python reports runtime failures, handles specific exceptions, performs cleanup, raises errors deliberately, and defines custom exceptions.</description>
    </item>
    <item>
      <title>Python Packages and Imports</title>
      <link>https://foxipa.com/en/python/learn/packages/</link>
      <pubDate>Tue, 06 Oct 2026 16:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/packages/</guid>
      <description>Learn how Python organizes related modules into packages, how __init__.py participates in regular packages, and how absolute and relative imports connect modules.</description>
    </item>
    <item>
      <title>Quick Check: Python Exceptions and Error Handling</title>
      <link>https://foxipa.com/en/python/exercise/quiz/exceptions/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/exceptions/</guid>
      <description>Check your understanding of exceptions, handlers, cleanup, and raising errors.</description>
    </item>
    <item>
      <title>Quick Check: Python Packages and Imports</title>
      <link>https://foxipa.com/en/python/exercise/quiz/packages/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/packages/</guid>
      <description>Check your understanding of packages, __init__.py, dotted imports, and relative imports.</description>
    </item>
    <item>
      <title>Complete the Python Exception Groups and except* code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/exception-groups-and-except-star/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/exception-groups-and-except-star/</guid>
      <description>Practice creating exception groups and handling their matching subgroups with except*.</description>
    </item>
    <item>
      <title>Python Exception Groups and except*</title>
      <link>https://foxipa.com/en/python/learn/exception-groups-and-except-star/</link>
      <pubDate>Thu, 08 Oct 2026 18:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/exception-groups-and-except-star/</guid>
      <description>Learn how Python groups independent exceptions and handles matching subgroups with except*.</description>
    </item>
    <item>
      <title>Quick Check: Python Exception Groups and except*</title>
      <link>https://foxipa.com/en/python/exercise/quiz/exception-groups-and-except-star/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/exception-groups-and-except-star/</guid>
      <description>Check your understanding of ExceptionGroup and except* handling.</description>
    </item>
    <item>
      <title>Test your knowledge: Box Alignment</title>
      <link>https://foxipa.com/en/css/exercise/quiz/box-alignment/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/box-alignment/</guid>
      <description>Check your understanding of shared CSS alignment concepts and their boundaries with Flexbox and Grid.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Tables and Table Layout</title>
      <link>https://foxipa.com/en/css/exercise/quiz/tables/</link>
      <pubDate>Mon, 28 Sep 2026 02:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/tables/</guid>
      <description>Assess table formatting roles, grid structure, sizing modes, border models, captions, alignment boundaries, semantics, and specification status.</description>
    </item>
    <item>
      <title>CSS Overscroll Behavior</title>
      <link>https://foxipa.com/en/css/learn/overscroll-behavior/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/overscroll-behavior/</guid>
      <description>Control scroll chaining and boundary overscroll behavior with overscroll-behavior while keeping overflow and scroll snapping responsibilities separate.</description>
    </item>
    <item>
      <title>Test your knowledge: Positioned Layout and Stacking</title>
      <link>https://foxipa.com/en/css/exercise/quiz/positioning/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/positioning/</guid>
      <description>Check your understanding of positioning schemes, containing blocks, insets, sticky behavior, and stacking contexts.</description>
    </item>
    <item>
      <title>CSS Scroll Anchoring</title>
      <link>https://foxipa.com/en/css/learn/scroll-anchoring/</link>
      <pubDate>Sat, 03 Oct 2026 01:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/scroll-anchoring/</guid>
      <description>Understand how scroll anchoring stabilizes a user&#39;s view when content changes and how overflow-anchor can exclude content from anchor selection.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Observability</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/observability/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/observability/</guid>
      <description>Fill in log formats, JSON escaping, and stub_status.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Observability</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/observability/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/observability/</guid>
      <description>Log formats as schemas, JSON logging, golden signals, and stub_status.</description>
    </item>
    <item>
      <title>3.1 root vs alias: The Filesystem Mapping, Settled</title>
      <link>https://foxipa.com/en/nginx/learn/root-and-alias/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/root-and-alias/</guid>
      <description>Two directives, one job: turn a URI into a file path. One appends, one replaces — and every confusion you&#39;ve ever had reduces to that difference plus a trailing slash.</description>
    </item>
    <item>
      <title>Complete the code: Testing &amp; Debugging</title>
      <link>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/testing-future/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/code-completion/beacon/testing-future/</guid>
      <description>Fill in the missing Playwright interception patterns and lifecycle-state drivers.</description>
    </item>
    <item>
      <title>Test your knowledge: Testing, Debugging &amp; the Future</title>
      <link>https://foxipa.com/en/web-apis/exercise/quiz/beacon/testing-future/</link>
      <guid>https://foxipa.com/en/web-apis/exercise/quiz/beacon/testing-future/</guid>
      <description>Playwright interception, DevTools&#39; missing beacon filter, quota testing, lifecycle timing, and what comes next.</description>
    </item>
    <item>
      <title>7.1 Service workers and beacons: detection and safe forwarding</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/service-worker-interception/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/service-worker-interception/</guid>
      <description>The keepalive-POST-empty-destination detection triple with its honest false positives, and the buffer-then-re-issue patterns that never lose data.</description>
    </item>
    <item>
      <title>Complete the JavaScript Arrays code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/arrays/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/arrays/</guid>
      <description>Practice transformations, selection, reduction, searching, non-mutating edits, materialization, and grouping with JavaScript arrays.</description>
    </item>
    <item>
      <title>Complete the property descriptors and integrity code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/property-descriptors-accessors-integrity/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/property-descriptors-accessors-integrity/</guid>
      <description>Practice descriptor inspection, accessor definition, and object integrity operations.</description>
    </item>
    <item>
      <title>JavaScript Arrays Mastery Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/arrays/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/arrays/</guid>
      <description>Check your understanding of array structure, mutation, copying, transformations, searching, sorting, modern copying methods, asynchronous collection, and grouping.</description>
    </item>
    <item>
      <title>JavaScript Arrays: Mastery and Modern Array Methods</title>
      <link>https://foxipa.com/en/javascript/learn/arrays/</link>
      <pubDate>Sun, 27 Sep 2026 03:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/arrays/</guid>
      <description>Build a precise mental model of JavaScript arrays, mutation, shallow copying, transformation, reduction, searching, sorting, modern non-mutating methods, Array.from, Array.fromAsync, grouping, and sparse-array behavior.</description>
    </item>
    <item>
      <title>JavaScript Property Descriptors, Accessors, and Object Integrity</title>
      <link>https://foxipa.com/en/javascript/learn/property-descriptors-accessors-integrity/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/property-descriptors-accessors-integrity/</guid>
      <description>Understand data and accessor property descriptors, getters and setters, precise property definition, and object integrity controls.</description>
    </item>
    <item>
      <title>JavaScript Property Descriptors, Accessors, and Object Integrity Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/property-descriptors-accessors-integrity/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/property-descriptors-accessors-integrity/</guid>
      <description>Check your understanding of descriptors, accessors, and integrity levels.</description>
    </item>
    <item>
      <title>Python Classes and Objects</title>
      <link>https://foxipa.com/en/python/learn/classes-and-objects/</link>
      <pubDate>Tue, 06 Oct 2026 16:28:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/classes-and-objects/</guid>
      <description>Learn how Python classes define objects, instance state, methods, class attributes, inheritance, and basic reuse with super().</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Multi-column Layout</title>
      <link>https://foxipa.com/en/css/exercise/quiz/multi-column/</link>
      <pubDate>Mon, 28 Sep 2026 03:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/multi-column/</guid>
      <description>Assess the multi-column formatting model, column sizing, fragmentation controls, Grid boundary, responsive use, and current specification status.</description>
    </item>
    <item>
      <title>Flexbox</title>
      <link>https://foxipa.com/en/css/learn/flexbox/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/flexbox/</guid>
      <description>Learn the one-dimensional flex layout model: axes, flex base sizes, free-space distribution, wrapping, constraints, and flex-specific use of shared alignment features.</description>
    </item>
    <item>
      <title>Complete the JavaScript keyed collections code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/map-set-weak-collections/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/map-set-weak-collections/</guid>
      <description>Practice Map association, Set membership and algebra, and WeakMap object-keyed metadata.</description>
    </item>
    <item>
      <title>JavaScript Map, Set, WeakMap, and WeakSet</title>
      <link>https://foxipa.com/en/javascript/learn/map-set-weak-collections/</link>
      <pubDate>Sun, 27 Sep 2026 12:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/map-set-weak-collections/</guid>
      <description>Choose keyed collections by behavior: Map key/value association, Set membership and set algebra, and weak collections for non-enumerable object or symbol associations.</description>
    </item>
    <item>
      <title>JavaScript Map, Set, WeakMap, and WeakSet Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/map-set-weak-collections/</link>
      <pubDate>Sun, 27 Sep 2026 12:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/map-set-weak-collections/</guid>
      <description>Check your understanding of keyed collection identity, membership, iteration, set algebra, and weak collection boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Fragmentation and Paged Print</title>
      <link>https://foxipa.com/en/css/exercise/quiz/fragmentation-paged-print/</link>
      <pubDate>Mon, 28 Sep 2026 04:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/fragmentation-paged-print/</guid>
      <description>Assess the shared fragmentation model, break controls, box splitting, paged-media boundaries, and neighboring CSS ownership.</description>
    </item>
    <item>
      <title>Media Queries and Conditional Rules Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/media-queries-conditional-rules/</link>
      <pubDate>Mon, 28 Sep 2026 04:19:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/media-queries-conditional-rules/</guid>
      <description>Test conditional CSS evaluation, media-query logic, @supports, range syntax, and curriculum ownership boundaries.</description>
    </item>
    <item>
      <title>CSS Grid Layout</title>
      <link>https://foxipa.com/en/css/learn/grid/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/grid/</guid>
      <description>Learn two-dimensional layout: tracks, lines, placement, track sizing, automatic placement, responsive repetition, subgrid, and Grid-specific debugging.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Dynamic Upstreams</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/dynamic-upstreams/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/dynamic-upstreams/</guid>
      <description>Fill in resolvers, valid periods, and variable-driven proxy_pass.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Dynamic Upstreams</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/dynamic-upstreams/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/dynamic-upstreams/</guid>
      <description>The resolver, runtime re-resolution, and service discovery without reloads.</description>
    </item>
    <item>
      <title>3.2 try_files: Fallbacks and the SPA Pattern</title>
      <link>https://foxipa.com/en/nginx/learn/try-files-and-fallbacks/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/try-files-and-fallbacks/</guid>
      <description>One directive that walks a list of candidate paths and picks the first that exists — and, in its last arm, jumps anywhere in your config. Small syntax, enormous leverage.</description>
    </item>
    <item>
      <title>8.1 Workers and fetch(keepalive): the superset transport</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/workers-and-keepalive/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/workers-and-keepalive/</guid>
      <description>The keepalive flag&#39;s specification, the fetch-groups exemption that lets requests outlive their context, and the exact capability trade against sendBeacon.</description>
    </item>
    <item>
      <title>Complete the Proxy and Reflect code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/proxy-reflect-metaprogramming/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/proxy-reflect-metaprogramming/</guid>
      <description>Practice creating proxies and forwarding intercepted operations with Reflect.</description>
    </item>
    <item>
      <title>JavaScript Proxy and Reflect Metaprogramming</title>
      <link>https://foxipa.com/en/javascript/learn/proxy-reflect-metaprogramming/</link>
      <pubDate>Sun, 27 Sep 2026 05:27:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/proxy-reflect-metaprogramming/</guid>
      <description>Understand Proxy traps, Reflect forwarding, prototype and extensibility operations, proxy invariants, revocation, and practical metaprogramming boundaries.</description>
    </item>
    <item>
      <title>JavaScript Proxy and Reflect Metaprogramming Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/proxy-reflect-metaprogramming/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/proxy-reflect-metaprogramming/</guid>
      <description>Check your understanding of proxy traps, Reflect forwarding, invariants, and revocation.</description>
    </item>
    <item>
      <title>Python Iterators</title>
      <link>https://foxipa.com/en/python/learn/iterators/</link>
      <pubDate>Thu, 15 Oct 2026 10:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/iterators/</guid>
      <description>Learn how Python iterables and iterators work, how for loops use the iterator protocol, how to build a simple class-based iterator, and how iter(callable, sentinel) reads until a stop value.</description>
    </item>
    <item>
      <title>Python Names, Scopes, and Namespaces</title>
      <link>https://foxipa.com/en/python/learn/scopes-and-namespaces/</link>
      <pubDate>Sun, 11 Oct 2026 14:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/scopes-and-namespaces/</guid>
      <description>Understand how Python binds names, organizes namespaces, resolves names through nested scopes, and uses global and nonlocal when rebinding is intentional.</description>
    </item>
    <item>
      <title>Container Queries and Container Units Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/container-queries-units/</link>
      <pubDate>Mon, 28 Sep 2026 05:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/container-queries-units/</guid>
      <description>Test query-container selection, container conditions, container-relative units, and ownership boundaries.</description>
    </item>
    <item>
      <title>Media Features and User Preferences Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/media-features-user-preferences/</link>
      <pubDate>Sat, 03 Oct 2026 05:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/media-features-user-preferences/</guid>
      <description>Test media-feature meanings, user-preference queries, and ownership boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Color Adjustment</title>
      <link>https://foxipa.com/en/css/exercise/quiz/color-adjustment/</link>
      <pubDate>Sat, 03 Oct 2026 05:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/color-adjustment/</guid>
      <description>Assess color-scheme negotiation, forced-color adjustment, print-color adjustment, and specification ownership.</description>
    </item>
    <item>
      <title>Box Alignment</title>
      <link>https://foxipa.com/en/css/learn/box-alignment/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/box-alignment/</guid>
      <description>Learn the shared CSS alignment model: alignment subjects and containers, axes, self-alignment, content distribution, logical positions, safe alignment, gaps, and layout-system boundaries.</description>
    </item>
    <item>
      <title>Complete the JavaScript Iterators and Generators Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/iterators-and-generators/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/iterators-and-generators/</guid>
      <description>Practice the iterable protocol, generator control flow, delegation, and lazy iterator helpers.</description>
    </item>
    <item>
      <title>JavaScript Iterators and Generators</title>
      <link>https://foxipa.com/en/javascript/learn/iterators-and-generators/</link>
      <pubDate>Sun, 27 Sep 2026 04:24:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/iterators-and-generators/</guid>
      <description>Understand the iterable and iterator protocols, build custom iterables, use generators and delegation, reason about iterator closing, and compose lazy modern iterator pipelines.</description>
    </item>
    <item>
      <title>JavaScript Iterators and Generators Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/iterators-and-generators/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/iterators-and-generators/</guid>
      <description>Check your understanding of iterable and iterator protocols, generators, delegation, closing, and lazy iterator helpers.</description>
    </item>
    <item>
      <title>Test your knowledge: Transforms and Coordinate Systems</title>
      <link>https://foxipa.com/en/css/exercise/quiz/transforms-coordinate-systems/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/transforms-coordinate-systems/</guid>
      <description>Check your understanding of CSS transform geometry, composition, origins, reference boxes, 3D projection, and ownership boundaries.</description>
    </item>
    <item>
      <title>CSS Tables and Table Layout</title>
      <link>https://foxipa.com/en/css/learn/tables/</link>
      <pubDate>Mon, 28 Sep 2026 02:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/tables/</guid>
      <description>Understand CSS table formatting, table boxes, row and column structure, table sizing, fixed and automatic layout, border models, captions, and the boundary between table layout and HTML semantics.</description>
    </item>
    <item>
      <title>Complete the config: Nginx Production Architectures</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/production-arch/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/production-arch/</guid>
      <description>Fill in edge-tier patterns, container health endpoints, and ingress-shaped routing.</description>
    </item>
    <item>
      <title>Test your knowledge: Nginx Production Architectures</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/production-arch/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/production-arch/</guid>
      <description>Edge topologies, the container contract, Kubernetes ingress, and choosing an implementation.</description>
    </item>
    <item>
      <title>3.3 MIME Types, Charset, and Content Negotiation</title>
      <link>https://foxipa.com/en/nginx/learn/mime-types-charset/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/mime-types-charset/</guid>
      <description>One header decides whether the browser renders, downloads, or executes your bytes. NGINX decides it by extension — and hands you three levers to take control.</description>
    </item>
    <item>
      <title>9.1 sendBeacon versus fetch(keepalive): the decision and the hybrid layer</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/sendbeacon-vs-fetch-keepalive/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/sendbeacon-vs-fetch-keepalive/</guid>
      <description>One decision function from runtime and capability, the hybrid sender with its discriminated return, and the famous one-line fallback — with the shared-pool trap that makes it a capability answer only.</description>
    </item>
    <item>
      <title>Python Generators</title>
      <link>https://foxipa.com/en/python/learn/generators/</link>
      <pubDate>Tue, 06 Oct 2026 18:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/generators/</guid>
      <description>Learn how generator functions and generator expressions create iterators, how yield suspends and resumes execution, and when generators are useful.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Transitions</title>
      <link>https://foxipa.com/en/css/exercise/quiz/transitions/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/transitions/</guid>
      <description>Check your understanding of transition selection, timing, startup, interruption, discrete behavior, lifecycle, and ownership boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Animations and Keyframes</title>
      <link>https://foxipa.com/en/css/exercise/quiz/animations-keyframes/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/animations-keyframes/</guid>
      <description>Check your understanding of keyframes, timing, repetition, direction, fill, playback, lifecycle, composition, and ownership boundaries.</description>
    </item>
    <item>
      <title>Scroll-driven Animations Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/scroll-driven-animations/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/scroll-driven-animations/</guid>
      <description>Check understanding of scroll and view timelines, animation ranges, ownership boundaries, and scroll-driven CSS animation behavior.</description>
    </item>
    <item>
      <title>CSS Scroll Snap and Scroll Behavior Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/scroll-snap-scroll-behavior/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/scroll-snap-scroll-behavior/</guid>
      <description>Check understanding of snap positions, snap areas, scroll padding and margins, snap strictness, smooth scrolling, ownership boundaries, and developing Scroll Snap Level 2 features.</description>
    </item>
    <item>
      <title>CSS Shapes and Exclusions Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/shapes-exclusions/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/shapes-exclusions/</guid>
      <description>Check understanding of wrapping shapes, shape-outside, shape-margin, image-derived shapes, and ownership boundaries.</description>
    </item>
    <item>
      <title>Positioned Layout and Stacking</title>
      <link>https://foxipa.com/en/css/learn/positioning/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/positioning/</guid>
      <description>Understand CSS positioning schemes, containing blocks, inset offsets, sticky behavior, and stacking contexts without duplicating flow, sizing, or overflow ownership.</description>
    </item>
    <item>
      <title>Complete the Python coroutine code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/coroutines-and-async-await/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/coroutines-and-async-await/</guid>
      <description>Practice defining coroutine functions, awaiting other coroutines, and running an async entry point.</description>
    </item>
    <item>
      <title>Quick Check: Python Coroutines and async/await</title>
      <link>https://foxipa.com/en/python/exercise/quiz/coroutines-and-async-await/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/coroutines-and-async-await/</guid>
      <description>Check your understanding of coroutine functions, coroutine objects, await, and top-level coroutine execution.</description>
    </item>
    <item>
      <title>Complete the JavaScript Errors and Defensive Control Flow Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/errors-defensive-control-flow/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/errors-defensive-control-flow/</guid>
      <description>Practice throwing, preserving causes, cleanup, classification, aggregation, and propagation.</description>
    </item>
    <item>
      <title>JavaScript Errors and Defensive Control Flow</title>
      <link>https://foxipa.com/en/javascript/learn/errors-defensive-control-flow/</link>
      <pubDate>Sun, 27 Sep 2026 04:24:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/errors-defensive-control-flow/</guid>
      <description>Handle JavaScript exceptions deliberately: throw and catch Error objects, preserve causes, clean up with finally, define custom errors, aggregate failures, and design defensive control-flow boundaries.</description>
    </item>
    <item>
      <title>JavaScript Errors and Defensive Control Flow Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/errors-defensive-control-flow/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/errors-defensive-control-flow/</guid>
      <description>Check your understanding of throwing, catching, cleanup, error categories, causes, and defensive boundaries.</description>
    </item>
    <item>
      <title>Python Coroutines and async/await</title>
      <link>https://foxipa.com/en/python/learn/coroutines-and-async-await/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/coroutines-and-async-await/</guid>
      <description>Understand coroutine functions, coroutine objects, and await, and learn how Python suspends and resumes coroutine execution.</description>
    </item>
    <item>
      <title>CSS Masking, Clipping, Compositing, and Blending Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/masking-clipping-compositing-blending/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/masking-clipping-compositing-blending/</guid>
      <description>Check understanding of clipping, masking, compositing, blending, and curriculum ownership boundaries.</description>
    </item>
    <item>
      <title>Complete the Python asynchronous iteration code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/asynchronous-iteration/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/asynchronous-iteration/</guid>
      <description>Practice implementing and consuming asynchronous iterators with async for, aiter(), and anext().</description>
    </item>
    <item>
      <title>Test your knowledge: Python Asynchronous Iteration</title>
      <link>https://foxipa.com/en/python/exercise/quiz/asynchronous-iteration/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/asynchronous-iteration/</guid>
      <description>Check async for, asynchronous iterator protocols, aiter(), anext(), and StopAsyncIteration.</description>
    </item>
    <item>
      <title>Complete the Python asynchronous generator code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/asynchronous-generators/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/asynchronous-generators/</guid>
      <description>Practice defining asynchronous generators, preserving state across yields, stopping early, and using aclose() or contextlib.aclosing() for deterministic cleanup.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Asynchronous Generators</title>
      <link>https://foxipa.com/en/python/exercise/quiz/asynchronous-generators/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/asynchronous-generators/</guid>
      <description>Check asynchronous generator creation, lazy execution, suspension, completion, delegation limits, and deterministic cleanup after early exit with contextlib.aclosing().</description>
    </item>
    <item>
      <title>Python Asynchronous Generators</title>
      <link>https://foxipa.com/en/python/learn/asynchronous-generators/</link>
      <pubDate>Thu, 08 Oct 2026 21:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/asynchronous-generators/</guid>
      <description>Learn asynchronous generator functions, yield, suspended execution, incremental production, explicit aclose(), and deterministic cleanup with contextlib.aclosing() when iteration ends early.</description>
    </item>
    <item>
      <title>Complete the Python asynchronous context managers code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/asynchronous-context-managers/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/asynchronous-context-managers/</guid>
      <description>Practice implementing __aenter__() and __aexit__(), handling asynchronous cleanup and exception behavior, and using async with.</description>
    </item>
    <item>
      <title>Quick Check: Python Asynchronous Context Managers</title>
      <link>https://foxipa.com/en/python/exercise/quiz/asynchronous-context-managers/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/asynchronous-context-managers/</guid>
      <description>Check your understanding of async with, __aenter__(), __aexit__(), awaiting, cleanup, exception handling, and protocol boundaries.</description>
    </item>
    <item>
      <title>Python Asynchronous Context Managers</title>
      <link>https://foxipa.com/en/python/learn/asynchronous-context-managers/</link>
      <pubDate>Fri, 09 Oct 2026 20:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/asynchronous-context-managers/</guid>
      <description>Learn async with and asynchronous context managers through __aenter__() and __aexit__(), including awaited entry and exit, cleanup, exception handling, and multiple contexts.</description>
    </item>
    <item>
      <title>Python Generator Control with send(), throw(), and close()</title>
      <link>https://foxipa.com/en/python/learn/generator-control/</link>
      <pubDate>Fri, 09 Oct 2026 21:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/generator-control/</guid>
      <description>Learn how send(), throw(), and close() explicitly control a suspended synchronous generator, including sent values, injected exceptions, propagation, and cleanup.</description>
    </item>
    <item>
      <title>CSS Fragmentation and Paged Print</title>
      <link>https://foxipa.com/en/css/learn/fragmentation-paged-print/</link>
      <pubDate>Mon, 28 Sep 2026 04:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/fragmentation-paged-print/</guid>
      <description>Understand the shared CSS fragmentation model, fragmentainers, break control, box splitting, paged media boundaries, and ownership across columns, pages, Grid, Flexbox, Overflow, and Writing Modes.</description>
    </item>
    <item>
      <title>Complete the config: Extending Nginx</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/extending-nginx/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/extending-nginx/</guid>
      <description>Fill in load_module, configure flags, and njs integration.</description>
    </item>
    <item>
      <title>Test your knowledge: Extending Nginx</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/extending-nginx/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/extending-nginx/</guid>
      <description>Source builds, dynamic modules, njs scripting, and Brotli integration.</description>
    </item>
    <item>
      <title>3.4 Serving Files Fast: sendfile, tcp_nopush, open_file_cache</title>
      <link>https://foxipa.com/en/nginx/learn/performance-file-serving/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/performance-file-serving/</guid>
      <description>The three directives everyone copies without reading. This lesson reads them — down to the syscalls — and tells you honestly when each one matters.</description>
    </item>
    <item>
      <title>10.1 Real-world patterns: the analytics SDK</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/real-world-patterns/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/real-world-patterns/</guid>
      <description>Batching, lifecycle flushes, bfcache-tagged restores, stable A/B assignment, and IndexedDB persistence with save-before-clear ordering — one vanilla SDK.</description>
    </item>
    <item>
      <title>Complete the JavaScript Promises Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/promises/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/promises/</guid>
      <description>Practice chaining and choosing Promise APIs by outcome contract.</description>
    </item>
    <item>
      <title>JavaScript Promises</title>
      <link>https://foxipa.com/en/javascript/learn/promises/</link>
      <pubDate>Sun, 27 Sep 2026 04:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/promises/</guid>
      <description>Understand Promise states, resolution, chaining, rejection propagation, cleanup, combinators, thenable assimilation, and modern Promise APIs.</description>
    </item>
    <item>
      <title>JavaScript Promises Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/promises/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/promises/</guid>
      <description>Check your understanding of Promise states, chaining, errors, cleanup, and combinators.</description>
    </item>
    <item>
      <title>Python Generator Expressions</title>
      <link>https://foxipa.com/en/python/learn/generator-expressions/</link>
      <pubDate>Tue, 06 Oct 2026 19:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/generator-expressions/</guid>
      <description>Learn how generator expressions create generator iterators, how they differ from comprehensions, and when to use them.</description>
    </item>
    <item>
      <title>Python __new__ and Object Creation</title>
      <link>https://foxipa.com/en/python/learn/new-and-object-creation/</link>
      <pubDate>Fri, 09 Oct 2026 22:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/new-and-object-creation/</guid>
      <description>Understand how class calls create instances through __new__ before __init__, and learn why __new__ is especially useful for immutable-type subclasses.</description>
    </item>
    <item>
      <title>Python Metaclasses and Class Creation</title>
      <link>https://foxipa.com/en/python/learn/metaclasses-and-class-creation/</link>
      <pubDate>Fri, 09 Oct 2026 17:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/metaclasses-and-class-creation/</guid>
      <description>Understand how Python creates class objects, how metaclasses control that process, and when simpler class hooks are a better choice.</description>
    </item>
    <item>
      <title>Python Union Types with |</title>
      <link>https://foxipa.com/en/python/learn/union-types/</link>
      <pubDate>Fri, 09 Oct 2026 08:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/union-types/</guid>
      <description>Learn how Python combines types with the | union expression, includes None as an allowed type, simplifies equivalent unions, and uses supported unions in runtime instance and subclass checks.</description>
    </item>
    <item>
      <title>Python Module Attribute Access</title>
      <link>https://foxipa.com/en/python/learn/module-attribute-access/</link>
      <pubDate>Fri, 09 Oct 2026 08:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/module-attribute-access/</guid>
      <description>Learn how module-level __getattr__ and __dir__ customize missing attribute lookup and module introspection without confusing attribute access with global-name resolution.</description>
    </item>
    <item>
      <title>CSS Multi-column Layout</title>
      <link>https://foxipa.com/en/css/learn/multi-column/</link>
      <pubDate>Sat, 03 Oct 2026 01:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/multi-column/</guid>
      <description>Understand how normal-flow content is fragmented into columns, how column sizing and gaps work, and how spanning and fragmentation interact without duplicating Grid or the broader Fragmentation model.</description>
    </item>
    <item>
      <title>Python Dataclasses</title>
      <link>https://foxipa.com/en/python/learn/dataclasses/</link>
      <pubDate>Fri, 09 Oct 2026 10:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/dataclasses/</guid>
      <description>Use dataclasses to model records with annotated fields, generated methods, safe mutable defaults, post-initialization checks, and controlled immutability.</description>
    </item>
    <item>
      <title>Media Queries and Conditional Rules</title>
      <link>https://foxipa.com/en/css/learn/media-queries-conditional-rules/</link>
      <pubDate>Mon, 05 Oct 2026 01:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/media-queries-conditional-rules/</guid>
      <description>Learn how CSS conditions gate rule participation with media queries, range logic, @supports, nesting, and capability-aware authoring—without duplicating detailed media-feature or container-query ownership.</description>
    </item>
    <item>
      <title>Complete the config: The Nginx Debugging Toolkit</title>
      <link>https://foxipa.com/en/nginx/exercise/code-completion/debugging/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/code-completion/debugging/</guid>
      <description>Fill in working_directory for core dumps, debug logging, and forensics commands.</description>
    </item>
    <item>
      <title>Test your knowledge: The Nginx Debugging Toolkit</title>
      <link>https://foxipa.com/en/nginx/exercise/quiz/debugging/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/exercise/quiz/debugging/</guid>
      <description>The debugging method, debug builds, /proc forensics, core dumps, and profiling.</description>
    </item>
    <item>
      <title>3.5 Error Pages, index, autoindex, and Redirects</title>
      <link>https://foxipa.com/en/nginx/learn/error-pages-index-redirects/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/error-pages-index-redirects/</guid>
      <description>The last 10% of a static site is what users remember when things go wrong. NGINX&#39;s finishing tools — and one Location-header behavior that surprises everyone once.</description>
    </item>
    <item>
      <title>Complete the Python enumerations code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/enumerations/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/enumerations/</guid>
      <description>Practice defining enum members, looking up a value, iterating over members, and rejecting accidental aliases.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Enumerations</title>
      <link>https://foxipa.com/en/python/exercise/quiz/enumerations/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/enumerations/</guid>
      <description>Check enum members, names and values, lookup, iteration order, and duplicate-value protection.</description>
    </item>
    <item>
      <title>11.1 fetchLater(): deferred fetching, from the specification</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/fetchlater/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/fetchlater/</guid>
      <description>The real FetchLaterResult IDL, the five throwing gates, whole-request quota accounting against the per-origin cap, and when deferred beats immediate.</description>
    </item>
    <item>
      <title>Complete the JavaScript Async Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/async-functions-and-iteration/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/async-functions-and-iteration/</guid>
      <description>Practice async functions, await, error handling, async iteration, and Array.fromAsync.</description>
    </item>
    <item>
      <title>JavaScript Async Functions and Async Iteration</title>
      <link>https://foxipa.com/en/javascript/learn/async-functions-and-iteration/</link>
      <pubDate>Sun, 27 Sep 2026 04:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/async-functions-and-iteration/</guid>
      <description>Understand async functions, await, sequencing versus concurrency, asynchronous errors, async iterables, for await...of, async generators, and Array.fromAsync.</description>
    </item>
    <item>
      <title>JavaScript Async Functions and Async Iteration Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/async-functions-and-iteration/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/async-functions-and-iteration/</guid>
      <description>Check your understanding of async functions, await, concurrency, async iterators, and async generators.</description>
    </item>
    <item>
      <title>Python Enumerations with enum.Enum</title>
      <link>https://foxipa.com/en/python/learn/enumerations/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/enumerations/</guid>
      <description>Learn how to model a fixed set of named choices with Enum, inspect member names and values, look up and iterate over members, and prevent accidental aliases.</description>
    </item>
    <item>
      <title>Python Paths and pathlib</title>
      <link>https://foxipa.com/en/python/learn/paths-and-pathlib/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/paths-and-pathlib/</guid>
      <description>Learn to build, inspect, search, compare, normalize, expand, split, and convert filesystem paths with pathlib and selected os.path APIs, including directory traversal, path identity, environment-variable expansion, drive/root/tail decomposition, path representations, home expansion, resolution, and relative paths.</description>
    </item>
    <item>
      <title>Container Queries and Container Units</title>
      <link>https://foxipa.com/en/css/learn/container-queries-units/</link>
      <pubDate>Mon, 05 Oct 2026 01:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/container-queries-units/</guid>
      <description>Learn how CSS components respond to query-container conditions and container-relative lengths without duplicating Media Queries, general Sizing, Values and Units, or Containment ownership.</description>
    </item>
    <item>
      <title>Complete the JavaScript Architecture Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/javascript-program-architecture/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/javascript-program-architecture/</guid>
      <description>Practice focused APIs, dependency injection, composition roots, adapters, state ownership, and lifecycle boundaries.</description>
    </item>
    <item>
      <title>JavaScript Program Architecture</title>
      <link>https://foxipa.com/en/javascript/learn/javascript-program-architecture/</link>
      <pubDate>Sun, 27 Sep 2026 06:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/javascript-program-architecture/</guid>
      <description>Design maintainable JavaScript programs by defining module responsibilities, public APIs, dependency direction, state ownership, side-effect boundaries, lifecycle, and composition roots.</description>
    </item>
    <item>
      <title>JavaScript Program Architecture Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/javascript-program-architecture/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/javascript-program-architecture/</guid>
      <description>Check your understanding of module boundaries, dependency direction, state ownership, adapters, lifecycle, and composition roots.</description>
    </item>
    <item>
      <title>JavaScript Scripts and Modules</title>
      <link>https://foxipa.com/en/javascript/learn/javascript-scripts-and-modules/</link>
      <pubDate>Sun, 27 Sep 2026 14:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/javascript-scripts-and-modules/</guid>
      <description>Understand ECMAScript Scripts and Modules, import/export forms, live bindings, module namespaces, dependency linking and evaluation, cycles, top-level await, dynamic import, import attributes, and JSON modules without confusing language semantics with browser loading.</description>
    </item>
    <item>
      <title>CSS Media Features and User Preferences</title>
      <link>https://foxipa.com/en/css/learn/media-features-user-preferences/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/media-features-user-preferences/</guid>
      <description>Learn what CSS media features describe and how user-preference queries expose output characteristics and preferences without duplicating media-query syntax, container queries, color values, or Color Adjustment controls.</description>
    </item>
    <item>
      <title>4.1 proxy_pass Fundamentals: The URI Rules</title>
      <link>https://foxipa.com/en/nginx/learn/proxy-pass-fundamentals/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/proxy-pass-fundamentals/</guid>
      <description>One directive, four behaviors, one character that changes everything. This lesson settles the trailing-slash confusion permanently — with an echo backend as referee.</description>
    </item>
    <item>
      <title>12.1 Testing beacons, and the complete reference</title>
      <link>https://foxipa.com/en/web-apis/learn/beacon/testing-and-reference/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/web-apis/learn/beacon/testing-and-reference/</guid>
      <description>The Playwright interception fixture the series was validated with, what DevTools can show, and every load-bearing fact on one card with its spec anchor.</description>
    </item>
    <item>
      <title>Complete the JavaScript Unicode String Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/unicode-aware-strings/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/unicode-aware-strings/</guid>
      <description>Practice code-point iteration, well-formedness, normalization, and Unicode-aware String APIs.</description>
    </item>
    <item>
      <title>Complete the Python file I/O code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/file-io/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/file-io/</guid>
      <description>Practice opening, reading, writing, appending, and selecting text or binary file modes.</description>
    </item>
    <item>
      <title>JavaScript Unicode-aware Strings</title>
      <link>https://foxipa.com/en/javascript/learn/unicode-aware-strings/</link>
      <pubDate>Sun, 27 Sep 2026 06:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/unicode-aware-strings/</guid>
      <description>Understand UTF-16 code units, Unicode code points, surrogate pairs, well-formed strings, normalization, and the difference between code points and user-perceived text.</description>
    </item>
    <item>
      <title>JavaScript Unicode-aware Strings Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/unicode-aware-strings/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/unicode-aware-strings/</guid>
      <description>Check your understanding of UTF-16 code units, code points, surrogate pairs, well-formed strings, normalization, and text boundaries.</description>
    </item>
    <item>
      <title>Python File I/O</title>
      <link>https://foxipa.com/en/python/learn/file-io/</link>
      <pubDate>Tue, 06 Oct 2026 21:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/file-io/</guid>
      <description>Learn how to open, read, write, and close files safely with Python file objects.</description>
    </item>
    <item>
      <title>Quick Check: Python File I/O</title>
      <link>https://foxipa.com/en/python/exercise/quiz/file-io/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/file-io/</guid>
      <description>Check your understanding of opening, reading, writing, closing, modes, and text versus binary file I/O.</description>
    </item>
    <item>
      <title>CSS Color Adjustment</title>
      <link>https://foxipa.com/en/css/learn/color-adjustment/</link>
      <pubDate>Sat, 03 Oct 2026 05:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/color-adjustment/</guid>
      <description>Learn how CSS color-scheme, forced-color-adjust, and print-color-adjust control the interaction between authored styling, user preferences, and user-agent color adaptation.</description>
    </item>
    <item>
      <title>Transforms and Coordinate Systems</title>
      <link>https://foxipa.com/en/css/learn/transforms-coordinate-systems/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/transforms-coordinate-systems/</guid>
      <description>Learn how CSS transforms map existing layout geometry into transformed 2D and 3D coordinate spaces, including transform functions, composition order, origins, reference boxes, perspective, and 3D presentation boundaries.</description>
    </item>
    <item>
      <title>JavaScript Explicit Resource Management</title>
      <link>https://foxipa.com/en/javascript/learn/explicit-resource-management/</link>
      <pubDate>Sun, 27 Sep 2026 14:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/explicit-resource-management/</guid>
      <description>Learn using, await using, Symbol.dispose, Symbol.asyncDispose, DisposableStack, AsyncDisposableStack, scope-based cleanup, ownership transfer, and deterministic resource lifetimes.</description>
    </item>
    <item>
      <title>JavaScript Global Object &amp; Standard Global Functions</title>
      <link>https://foxipa.com/en/javascript/learn/global-object-standard-global-functions/</link>
      <pubDate>Sun, 27 Sep 2026 13:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/global-object-standard-global-functions/</guid>
      <description>Understand globalThis, the global environment boundary, eval, numeric parsing and testing, URI encoding/decoding, and legacy global functions without duplicating existing built-in lessons.</description>
    </item>
    <item>
      <title>JavaScript Global Object &amp; Standard Global Functions — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/global-object-standard-global-functions/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/global-object-standard-global-functions/</guid>
      <description>Practice the remaining standard global access and function APIs.</description>
    </item>
    <item>
      <title>JavaScript Global Object &amp; Standard Global Functions Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/global-object-standard-global-functions/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/global-object-standard-global-functions/</guid>
      <description>Check understanding of globalThis, global bindings, eval, numeric global functions, URI functions, and legacy globals.</description>
    </item>
    <item>
      <title>Complete the JavaScript Regular Expression Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/regular-expressions/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/regular-expressions/</guid>
      <description>Practice patterns, captures, flags, match indices, Unicode properties, and global replacement.</description>
    </item>
    <item>
      <title>JavaScript Regular Expressions</title>
      <link>https://foxipa.com/en/javascript/learn/regular-expressions/</link>
      <pubDate>Sun, 27 Sep 2026 11:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/regular-expressions/</guid>
      <description>Learn ECMAScript regular-expression syntax, matching, captures, flags, lookarounds, Unicode modes, dynamic patterns, and stateful matching.</description>
    </item>
    <item>
      <title>JavaScript Regular Expressions Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/regular-expressions/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/regular-expressions/</guid>
      <description>Check your understanding of ECMAScript regular-expression syntax, flags, captures, match indices, Unicode modes, and state.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Easing Functions</title>
      <link>https://foxipa.com/en/css/exercise/quiz/css-easing-functions/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/css-easing-functions/</guid>
      <description>Assess the CSS easing model, cubic Bézier and step functions, and the developing linear() function.</description>
    </item>
    <item>
      <title>CSS Easing Functions</title>
      <link>https://foxipa.com/en/css/learn/css-easing-functions/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/css-easing-functions/</guid>
      <description>Learn how CSS easing functions map input progress to output progress with linear, cubic Bézier, step, and developing linear() functions.</description>
    </item>
    <item>
      <title>Complete the JavaScript JSON Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/json-and-structured-data/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/json-and-structured-data/</guid>
      <description>Practice JSON parsing, serialization, formatting, and transformation hooks.</description>
    </item>
    <item>
      <title>JavaScript JSON and Structured Data</title>
      <link>https://foxipa.com/en/javascript/learn/json-and-structured-data/</link>
      <pubDate>Sun, 27 Sep 2026 10:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/json-and-structured-data/</guid>
      <description>Learn JSON syntax, parsing, serialization, revivers, replacers, formatting, failure handling, numeric limits, and durable data contracts in JavaScript.</description>
    </item>
    <item>
      <title>JavaScript JSON and Structured Data Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/json-and-structured-data/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/json-and-structured-data/</guid>
      <description>Check your understanding of JSON parsing, serialization, data limits, transformation hooks, and durable contracts.</description>
    </item>
    <item>
      <title>Complete the JavaScript Symbols Code</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/symbols-and-property-protocols/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/symbols-and-property-protocols/</guid>
      <description>Practice Symbol keys, registry operations, reflection, and protocol hooks.</description>
    </item>
    <item>
      <title>JavaScript Symbols and Property Protocols</title>
      <link>https://foxipa.com/en/javascript/learn/symbols-and-property-protocols/</link>
      <pubDate>Sun, 27 Sep 2026 09:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/symbols-and-property-protocols/</guid>
      <description>Learn Symbol identity, Symbol-keyed properties, property-key reflection, the global Symbol registry, well-known Symbols, and standardized JavaScript protocol hooks.</description>
    </item>
    <item>
      <title>JavaScript Symbols and Property Protocols Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/symbols-and-property-protocols/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/symbols-and-property-protocols/</guid>
      <description>Check your understanding of Symbol identity, property keys, reflection, the global registry, and standardized protocol hooks.</description>
    </item>
    <item>
      <title>CSS Transitions</title>
      <link>https://foxipa.com/en/css/learn/transitions/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/transitions/</guid>
      <description>Learn how CSS transitions respond to style changes, select transitionable properties, control duration, delay and easing, handle interruptions and discrete values, and reason about transition startup and lifecycle without duplicating Transforms or Animations.</description>
    </item>
    <item>
      <title>4.2 The Header Contract: Making the Backend Whole</title>
      <link>https://foxipa.com/en/nginx/learn/headers-and-the-real-client/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/headers-and-the-real-client/</guid>
      <description>A proxied request arrives at your app wearing NGINX’s clothes. The headers you set — or forget — are the only way the app learns the truth: who asked, over what protocol, for what.</description>
    </item>
    <item>
      <title>JavaScript Dates and Modern Time with Temporal</title>
      <link>https://foxipa.com/en/javascript/learn/dates-and-modern-time/</link>
      <pubDate>Sun, 27 Sep 2026 10:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/dates-and-modern-time/</guid>
      <description>Understand the ECMAScript Date time-value model, parsing and UTC/local interpretation, mutation and serialization, then learn the modern Temporal types for exact instants, calendar values, time zones, and durations.</description>
    </item>
    <item>
      <title>JavaScript Dates and Modern Time with Temporal — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/dates-and-modern-time-temporal/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/dates-and-modern-time-temporal/</guid>
      <description>Practice the core Date and Temporal APIs.</description>
    </item>
    <item>
      <title>JavaScript Dates and Modern Time with Temporal — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/dates-and-modern-time-temporal/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/dates-and-modern-time-temporal/</guid>
      <description>Check your understanding of Date time values, UTC/local interpretation, parsing, mutation, and Temporal types.</description>
    </item>
    <item>
      <title>Python JSON</title>
      <link>https://foxipa.com/en/python/learn/json/</link>
      <pubDate>Tue, 06 Oct 2026 22:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/json/</guid>
      <description>Learn how to convert Python data to JSON and back, and how to save structured data in JSON files.</description>
    </item>
    <item>
      <title>JavaScript Internationalization with Intl</title>
      <link>https://foxipa.com/en/javascript/learn/internationalization-intl/</link>
      <pubDate>Sun, 27 Sep 2026 12:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/internationalization-intl/</guid>
      <description>Learn the ECMAScript Internationalization API: locale negotiation, number and date formatting, comparison, lists, plural rules, relative time, locale identifiers, display names, segmentation, formatter parts, and capability detection.</description>
    </item>
    <item>
      <title>JavaScript Internationalization with Intl — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/internationalization-intl/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/internationalization-intl/</guid>
      <description>Practice core ECMA-402 Intl services.</description>
    </item>
    <item>
      <title>JavaScript Internationalization with Intl — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/internationalization-intl/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/internationalization-intl/</guid>
      <description>Check your understanding of ECMA-402 Intl services and locale-sensitive presentation.</description>
    </item>
    <item>
      <title>JavaScript Binary Data — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/arraybuffer-typedarrays-dataview/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/arraybuffer-typedarrays-dataview/</guid>
      <description>Practice ArrayBuffer, TypedArrays, and DataView operations.</description>
    </item>
    <item>
      <title>JavaScript Binary Data — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/arraybuffer-typedarrays-dataview/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/arraybuffer-typedarrays-dataview/</guid>
      <description>Check your understanding of ArrayBuffer, TypedArrays, DataView, byte order, and binary data semantics.</description>
    </item>
    <item>
      <title>JavaScript Binary Data: ArrayBuffer, TypedArrays, and DataView</title>
      <link>https://foxipa.com/en/javascript/learn/arraybuffer-typedarrays-dataview/</link>
      <pubDate>Sun, 27 Sep 2026 12:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/arraybuffer-typedarrays-dataview/</guid>
      <description>Learn ECMAScript binary data storage and views: ArrayBuffer, TypedArrays, DataView, byte offsets, element conversions, endianness, BigInt views, resizable buffers, and transfer semantics.</description>
    </item>
    <item>
      <title>JavaScript Shared Memory — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/sharedarraybuffer-atomics/</link>
      <pubDate>Sun, 27 Sep 2026 16:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/sharedarraybuffer-atomics/</guid>
      <description>Practice SharedArrayBuffer and Atomics operations.</description>
    </item>
    <item>
      <title>JavaScript Shared Memory — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/sharedarraybuffer-atomics/</link>
      <pubDate>Sun, 27 Sep 2026 16:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/sharedarraybuffer-atomics/</guid>
      <description>Check your understanding of SharedArrayBuffer, Atomics, atomic operations, and shared-memory coordination.</description>
    </item>
    <item>
      <title>JavaScript Shared Memory: SharedArrayBuffer and Atomics</title>
      <link>https://foxipa.com/en/javascript/learn/sharedarraybuffer-atomics/</link>
      <pubDate>Sun, 27 Sep 2026 16:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/sharedarraybuffer-atomics/</guid>
      <description>Learn ECMAScript shared memory, SharedArrayBuffer, atomic read-modify-write operations, waiting and notification, and the memory-model boundary between shared storage and synchronization.</description>
    </item>
    <item>
      <title>CSS Animations and Keyframes</title>
      <link>https://foxipa.com/en/css/learn/animations-keyframes/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/animations-keyframes/</guid>
      <description>Learn how CSS animations define authored keyframe sequences, select and time them, repeat and direct cycles, control fill and playback, observe lifecycle events, and reason about composition and timeline boundaries without duplicating Transitions, Easing Functions, Scroll-driven Animations, or Web Animations.</description>
    </item>
    <item>
      <title>JavaScript Source Text, Lexical Grammar &amp; Parsing</title>
      <link>https://foxipa.com/en/javascript/learn/source-text-lexical-grammar-parsing/</link>
      <pubDate>Sun, 27 Sep 2026 04:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/source-text-lexical-grammar-parsing/</guid>
      <description>Understand how ECMAScript source text is recognized as input elements and parsed as a Script or Module, including tokens, lexical goals, comments, literals, line terminators, directive prologues, and automatic semicolon insertion.</description>
    </item>
    <item>
      <title>JavaScript Source Text, Lexical Grammar &amp; Parsing — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/source-text-lexical-grammar-parsing/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/source-text-lexical-grammar-parsing/</guid>
      <description>Practice recognizing source-level grammar constructs, directives, literals, comments, and statement boundaries.</description>
    </item>
    <item>
      <title>JavaScript Source Text, Lexical Grammar &amp; Parsing — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/source-text-lexical-grammar-parsing/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/source-text-lexical-grammar-parsing/</guid>
      <description>Check your understanding of ECMAScript source text, lexical input, parsing goals, directive prologues, and automatic semicolon insertion.</description>
    </item>
    <item>
      <title>JavaScript Execution Model: Contexts, Realms, Jobs &amp; Agents</title>
      <link>https://foxipa.com/en/javascript/learn/execution-model-contexts-realms-jobs-agents/</link>
      <pubDate>Sun, 27 Sep 2026 10:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/execution-model-contexts-realms-jobs-agents/</guid>
      <description>Understand ECMAScript&#39;s runtime execution model through execution contexts, Realms, Jobs, agents, host hooks, and forward progress without conflating it with browser event-loop behavior.</description>
    </item>
    <item>
      <title>Scroll-driven Animations</title>
      <link>https://foxipa.com/en/css/learn/scroll-driven-animations/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/scroll-driven-animations/</guid>
      <description>Learn how CSS scroll and view timelines drive animation progress, how to name timelines and axes, map animation ranges, distinguish scroll progress from view progress, and keep scrolling, snapping, animation, and easing responsibilities separate.</description>
    </item>
    <item>
      <title>4.3 Speaking Application: FastCGI, uWSGI, SCGI</title>
      <link>https://foxipa.com/en/nginx/learn/fastcgi-uwsgi-scgi/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/fastcgi-uwsgi-scgi/</guid>
      <description>The gateway pattern predates HTTP-everywhere: purpose-built wire protocols between web servers and app runtimes. NGINX speaks them natively — and the differences from proxy_pass are the lesson.</description>
    </item>
    <item>
      <title>Python CSV</title>
      <link>https://foxipa.com/en/python/learn/csv/</link>
      <pubDate>Tue, 06 Oct 2026 23:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/csv/</guid>
      <description>Learn how to read and write tabular CSV data with Python’s csv module.</description>
    </item>
    <item>
      <title>CSS Scroll Snap and Scroll Behavior</title>
      <link>https://foxipa.com/en/css/learn/scroll-snap-scroll-behavior/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/scroll-snap-scroll-behavior/</guid>
      <description>Learn how CSS defines snap positions, snap areas, snapports, scrolling alignment, and scroll behavior while keeping overflow, scroll-driven animation, and imperative scrolling responsibilities separate.</description>
    </item>
    <item>
      <title>4.4 WebSockets and Long-Lived Connections</title>
      <link>https://foxipa.com/en/nginx/learn/websockets/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/websockets/</guid>
      <description>HTTP&#39;s closure: a request ends, the connection may live. WebSockets invert the model — the connection IS the session — and your proxy must stop treating it like a request.</description>
    </item>
    <item>
      <title>CSS Motion Path</title>
      <link>https://foxipa.com/en/css/learn/motion-path/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/motion-path/</guid>
      <description>Position and animate transformable elements along author-defined paths with the CSS Motion Path properties, while keeping path-based transforms distinct from normal layout and transforms.</description>
    </item>
    <item>
      <title>Python TOML Configuration</title>
      <link>https://foxipa.com/en/python/learn/toml/</link>
      <pubDate>Tue, 06 Oct 2026 23:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/toml/</guid>
      <description>Learn how to read TOML configuration data with Python&#39;s tomllib module.</description>
    </item>
    <item>
      <title>CSS Shapes and Exclusions</title>
      <link>https://foxipa.com/en/css/learn/shapes-exclusions/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/shapes-exclusions/</guid>
      <description>Learn how CSS Shapes changes inline wrapping geometry around floats, how shape-outside, shape-margin, and image-derived shapes work, and where CSS Exclusions, text layout, images, overflow, and clipping stop owning the problem.</description>
    </item>
    <item>
      <title>CSS Containment and Containerization</title>
      <link>https://foxipa.com/en/css/learn/containment-containerization/</link>
      <pubDate>Wed, 30 Sep 2026 18:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/containment-containerization/</guid>
      <description>Learn how CSS containment isolates sizing, layout, painting, and style dependencies, how content-visibility affects rendering work, and where containment stops so Container Queries, Overflow, and Masking retain clear ownership.</description>
    </item>
    <item>
      <title>4.5 gRPC: Proxying the Modern RPC</title>
      <link>https://foxipa.com/en/nginx/learn/grpc/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/grpc/</guid>
      <description>gRPC is HTTP that grew up: binary frames, streams, and trailers over HTTP/2. NGINX speaks it natively — but only if you give it HTTP/2 to speak it on.</description>
    </item>
    <item>
      <title>Complete the Python object-copying code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/copying-objects/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/copying-objects/</guid>
      <description>Practice making shallow copies, deep copies, preserving recursive structures, and replacing selected record fields.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Copying Objects</title>
      <link>https://foxipa.com/en/python/exercise/quiz/copying-objects/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/copying-objects/</guid>
      <description>Check aliasing, shallow copy, deep copy, recursive references, and copy.replace().</description>
    </item>
    <item>
      <title>Python Copying Objects: Shallow, Deep, and Replace</title>
      <link>https://foxipa.com/en/python/learn/copying-objects/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/copying-objects/</guid>
      <description>Understand assignment versus copying, shallow and deep copies of nested objects, recursive references, and copy.replace() for supported record-like objects.</description>
    </item>
    <item>
      <title>CSS Masking, Clipping, Compositing, and Blending</title>
      <link>https://foxipa.com/en/css/learn/masking-clipping-compositing-blending/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/masking-clipping-compositing-blending/</guid>
      <description>Learn how CSS controls painted visibility and how clipping, masking, compositing, and blending change the pixels produced from already-laid-out content without replacing layout ownership.</description>
    </item>
    <item>
      <title>4.6 Gateway Behavior: Timeouts, Buffers, Failures, Bodies</title>
      <link>https://foxipa.com/en/nginx/learn/timeouts-buffers-failures/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/timeouts-buffers-failures/</guid>
      <description>A proxy is judged by its worst backend. This lesson is the toolkit that keeps one slow, one broken, and one greedy consumer from defining your service.</description>
    </item>
    <item>
      <title>Complete the Python deque code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/deque/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/deque/</guid>
      <description>Practice adding and removing items at either end, bounded history, and rotation.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Double-Ended Queues</title>
      <link>https://foxipa.com/en/python/exercise/quiz/deque/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/deque/</guid>
      <description>Check deque end operations, FIFO queues, bounded histories, list trade-offs, and rotation.</description>
    </item>
    <item>
      <title>CSS Filter Effects</title>
      <link>https://foxipa.com/en/css/learn/filter-effects/</link>
      <pubDate>Sat, 03 Oct 2026 01:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/filter-effects/</guid>
      <description>Apply the current CSS Filter Effects model with the filter property and its standard filter functions, while keeping filtering distinct from masking, clipping, blending, and layout.</description>
    </item>
    <item>
      <title>Python Double-Ended Queues with collections.deque</title>
      <link>https://foxipa.com/en/python/learn/deque/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/deque/</guid>
      <description>Use collections.deque for efficient work at both ends, FIFO queues, bounded histories, and rotation without repeating basic list operations.</description>
    </item>
    <item>
      <title>CSS Will Change</title>
      <link>https://foxipa.com/en/css/learn/will-change/</link>
      <pubDate>Sat, 03 Oct 2026 02:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/will-change/</guid>
      <description>Use will-change as a narrow rendering hint for changes that are genuinely about to occur, while understanding its resource costs and rendering side effects.</description>
    </item>
    <item>
      <title>CSS Anchor Positioning</title>
      <link>https://foxipa.com/en/css/learn/anchor-positioning/</link>
      <pubDate>Mon, 05 Oct 2026 01:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/anchor-positioning/</guid>
      <description>Learn how positioned boxes can refer to anchor elements for placement and sizing, how anchor names are found and scoped, how position fallbacks work, and where Anchor Positioning ends and Positioned Layout, Sizing, and Container Queries begin.</description>
    </item>
    <item>
      <title>5.1 The upstream Context: Pools and Round Robin</title>
      <link>https://foxipa.com/en/nginx/learn/upstream-and-round-robin/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/upstream-and-round-robin/</guid>
      <description>Names become infrastructure: one context block turns &#34;an address&#34; into &#34;a pool with rules&#34;.</description>
    </item>
    <item>
      <title>Complete the Python heapq code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/priority-queues/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/priority-queues/</guid>
      <description>Practice building a heap, adding priorities, removing the smallest item, and using a sequence tie-breaker.</description>
    </item>
    <item>
      <title>Python Priority Queues with heapq</title>
      <link>https://foxipa.com/en/python/learn/priority-queues/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/priority-queues/</guid>
      <description>Use the standard heapq module to maintain a min-heap, schedule work by priority, and understand combined push/pop operations.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Priority Queues</title>
      <link>https://foxipa.com/en/python/exercise/quiz/priority-queues/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/priority-queues/</guid>
      <description>Check min-heap behavior, priority tie-breakers, heapify, and combined push/pop operations.</description>
    </item>
    <item>
      <title>CSS View Transitions</title>
      <link>https://foxipa.com/en/css/learn/view-transitions/</link>
      <pubDate>Wed, 30 Sep 2026 21:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/learn/view-transitions/</guid>
      <description>Learn the CSS surface of View Transitions: named captures, generated transition pseudo-elements, cross-document opt-in, transition types, shared transition classes, automatic names, scoped discovery, nested transition groups, and the boundaries between visual transitions and the underlying document state.</description>
    </item>
    <item>
      <title>5.2 Scheduling Algorithms: least_conn, hash, ip_hash, random</title>
      <link>https://foxipa.com/en/nginx/learn/scheduling-algorithms/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/scheduling-algorithms/</guid>
      <description>Round robin is fair to servers. These algorithms are fair to requests, to caches, and to sessions — three different definitions of fairness, three different directives.</description>
    </item>
    <item>
      <title>Complete the collections.Counter code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/counter/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/counter/</guid>
      <description>Practice counting iterable items, adding counts, preserving subtracted counts, and intersecting multisets.</description>
    </item>
    <item>
      <title>Counting Items with collections.Counter</title>
      <link>https://foxipa.com/en/python/learn/counter/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/counter/</guid>
      <description>Use collections.Counter to tally items, rank frequent values, update counts, and compare multisets.</description>
    </item>
    <item>
      <title>Test your knowledge: collections.Counter</title>
      <link>https://foxipa.com/en/python/exercise/quiz/counter/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/counter/</guid>
      <description>Check Counter construction, missing-key behavior, count updates, most-common items, and multiset operations.</description>
    </item>
    <item>
      <title>5.3 Failure Handling: Retries, Quarantine, and Backups</title>
      <link>https://foxipa.com/en/nginx/learn/failure-handling/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/failure-handling/</guid>
      <description>Every pool eventually serves through a failure. The difference between an incident and a log line is what you configured in this lesson — and NGINX’s defaults are smarter than they look.</description>
    </item>
    <item>
      <title>Complete the collections.defaultdict code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/defaultdict/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/defaultdict/</guid>
      <description>Practice grouping values, collecting unique labels, reading without insertion, and creating independent per-key records.</description>
    </item>
    <item>
      <title>Grouping Data with collections.defaultdict</title>
      <link>https://foxipa.com/en/python/learn/defaultdict/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/defaultdict/</guid>
      <description>Use defaultdict factories to group values and initialize missing keys while understanding when lookups do and do not create entries.</description>
    </item>
    <item>
      <title>Test your knowledge: collections.defaultdict</title>
      <link>https://foxipa.com/en/python/exercise/quiz/defaultdict/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/defaultdict/</guid>
      <description>Check default factories, grouping, missing-key insertion, and the distinction from get() and Counter.</description>
    </item>
    <item>
      <title>5.4 Connection Reuse: Upstream keepalive Pools</title>
      <link>https://foxipa.com/en/nginx/learn/keepalive-upstreams/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/keepalive-upstreams/</guid>
      <description>TCP handshakes are cheap until you count them. On a 10k rps edge, &#34;new connection per request&#34; is a hundred thousand handshakes per second someone has to pay for.</description>
    </item>
    <item>
      <title>Complete the dates and times code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/dates-and-times/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/dates-and-times/</guid>
      <description>Practice date arithmetic, ISO parsing, aware UTC values, and named timezone conversion.</description>
    </item>
    <item>
      <title>Test your knowledge: dates and times</title>
      <link>https://foxipa.com/en/python/exercise/quiz/dates-and-times/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/dates-and-times/</guid>
      <description>Check datetime types, durations, parsing, timezone awareness, and conversion.</description>
    </item>
    <item>
      <title>Working with Dates and Times</title>
      <link>https://foxipa.com/en/python/learn/dates-and-times/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/dates-and-times/</guid>
      <description>Use Python&#39;s datetime types for dates, clock times, durations, parsing, formatting, and timezone-aware values.</description>
    </item>
    <item>
      <title>5.5 Active Health Checks, Plus, and the Open-Source Road</title>
      <link>https://foxipa.com/en/nginx/learn/health-checks-and-plus/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/health-checks-and-plus/</guid>
      <description>Passive checks learn from traffic. Active checks *ask*. One of them is a product line — the other you can build yourself. A guru knows both, and knows when to pay.</description>
    </item>
    <item>
      <title>Building Iterator Pipelines with itertools</title>
      <link>https://foxipa.com/en/python/learn/itertools/</link>
      <pubDate>Thu, 15 Oct 2026 15:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/itertools/</guid>
      <description>Learn to chain, limit, batch, compare, accumulate, group consecutive values, and combine iterators with itertools.</description>
    </item>
    <item>
      <title>Complete the itertools code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/itertools/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/itertools/</guid>
      <description>Practice flattening, limiting, batching, grouping consecutive records, and building combinations with itertools.</description>
    </item>
    <item>
      <title>Test your knowledge: itertools</title>
      <link>https://foxipa.com/en/python/exercise/quiz/itertools/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/itertools/</guid>
      <description>Check lazy iterator pipelines, bounded slicing, batching, adjacent pairs, running aggregates, and combinatorial selections.</description>
    </item>
    <item>
      <title>6.1 TLS Termination: Certificates and Handshakes</title>
      <link>https://foxipa.com/en/nginx/learn/tls-termination/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/tls-termination/</guid>
      <description>The edge&#39;s first job: turn encrypted client bytes into clean HTTP for your network — and do it without becoming the bottleneck or the weak link.</description>
    </item>
    <item>
      <title>Complete the Python logging code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/logging/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/logging/</guid>
      <description>Practice recording events with correct levels, deferred message arguments, exception tracebacks, and formatter configuration.</description>
    </item>
    <item>
      <title>Logging Events with Python&#39;s logging Module</title>
      <link>https://foxipa.com/en/python/learn/logging/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/logging/</guid>
      <description>Record useful runtime events with named loggers, severity levels, handlers, formatters, and exception details.</description>
    </item>
    <item>
      <title>Test your knowledge: Python logging</title>
      <link>https://foxipa.com/en/python/exercise/quiz/logging/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/logging/</guid>
      <description>Check logging levels, variable message data, logger/handler/formatter roles, exception tracebacks, and handler cleanup.</description>
    </item>
    <item>
      <title>Complete the Python warnings code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/warnings/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/warnings/</guid>
      <description>Practice issuing caller-attributed deprecation warnings, defining a warning category, escalating selected warnings, and capturing warnings in a test.</description>
    </item>
    <item>
      <title>Issue and Control Warnings with Python&#39;s warnings Module</title>
      <link>https://foxipa.com/en/python/learn/warnings/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/warnings/</guid>
      <description>Warn callers about deprecated or questionable API use, choose warning categories, control filters, and test warning behavior.</description>
    </item>
    <item>
      <title>Test your knowledge: Python warnings</title>
      <link>https://foxipa.com/en/python/exercise/quiz/warnings/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/warnings/</guid>
      <description>Check warning purpose, audience-specific categories, caller attribution, filtering, and warning tests.</description>
    </item>
    <item>
      <title>Complete the Python regular-expression code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/regular-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/regular-expressions/</guid>
      <description>Practice whole-string validation, named groups, lazy match iteration, and readable whitespace normalization.</description>
    </item>
    <item>
      <title>Regular Expressions with Python’s re Module</title>
      <link>https://foxipa.com/en/python/learn/regular-expressions/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/regular-expressions/</guid>
      <description>Learn regular-expression patterns, matching operations, capture groups, substitutions, splitting, flags, and safe limits with Python’s re module.</description>
    </item>
    <item>
      <title>Test your knowledge: Python regular expressions</title>
      <link>https://foxipa.com/en/python/exercise/quiz/regular-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/regular-expressions/</guid>
      <description>Check pattern syntax, matching operations, capture groups, and text transformation with re.</description>
    </item>
    <item>
      <title>Building Command-Line Programs with argparse</title>
      <link>https://foxipa.com/en/python/learn/command-line-arguments/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/command-line-arguments/</guid>
      <description>Define positional arguments, options, flags, validation, help, and subcommands with Python’s argparse module.</description>
    </item>
    <item>
      <title>Complete the argparse code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/command-line-arguments/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/command-line-arguments/</guid>
      <description>Practice typed arguments, option defaults, boolean flags, and subcommands.</description>
    </item>
    <item>
      <title>Test your knowledge: argparse</title>
      <link>https://foxipa.com/en/python/exercise/quiz/command-line-arguments/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/command-line-arguments/</guid>
      <description>Check argument types, flags, conflicts, subcommands, and testable command-line design.</description>
    </item>
    <item>
      <title>Complete the subprocess code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/running-external-programs/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/running-external-programs/</guid>
      <description>Practice safe child-process invocation, input/output, nonzero statuses, and timeouts.</description>
    </item>
    <item>
      <title>Running External Programs with subprocess</title>
      <link>https://foxipa.com/en/python/learn/running-external-programs/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/running-external-programs/</guid>
      <description>Run child processes safely with argument lists, captured streams, exit-code handling, and timeouts using Python&#39;s subprocess module.</description>
    </item>
    <item>
      <title>Test your knowledge: subprocess</title>
      <link>https://foxipa.com/en/python/exercise/quiz/running-external-programs/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/running-external-programs/</guid>
      <description>Check safe argument passing, captured streams, child exit status, failures, and timeouts.</description>
    </item>
    <item>
      <title>Command-Line Streams and Exit Status in Python</title>
      <link>https://foxipa.com/en/python/learn/command-line-streams-and-exit-status/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/command-line-streams-and-exit-status/</guid>
      <description>Read command-line arguments, handle standard input and output streams, and return meaningful process exit statuses with Python’s sys module.</description>
    </item>
    <item>
      <title>Complete the command-line stream and exit-status code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/command-line-streams-and-exit-status/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/command-line-streams-and-exit-status/</guid>
      <description>Practise accessing argument tokens, routing diagnostics, reading standard input, and propagating a command exit status.</description>
    </item>
    <item>
      <title>Test your knowledge: command-line streams and exit status</title>
      <link>https://foxipa.com/en/python/exercise/quiz/command-line-streams-and-exit-status/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/command-line-streams-and-exit-status/</guid>
      <description>Check command-line arguments, standard streams, exit status, and the boundary between sys and argparse.</description>
    </item>
    <item>
      <title>Complete the environment configuration code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/environment-variables/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/environment-variables/</guid>
      <description>Practise optional lookups, required settings, numeric validation, and explicit Boolean parsing.</description>
    </item>
    <item>
      <title>Environment Variables and Configuration in Python</title>
      <link>https://foxipa.com/en/python/learn/environment-variables/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/environment-variables/</guid>
      <description>Read optional and required environment variables, validate string configuration, parse Boolean flags, and handle sensitive settings responsibly.</description>
    </item>
    <item>
      <title>Test your knowledge: Python environment variables</title>
      <link>https://foxipa.com/en/python/exercise/quiz/environment-variables/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/environment-variables/</guid>
      <description>Check optional lookups, string conversion, validation, Boolean flags, and safe handling of configuration values.</description>
    </item>
    <item>
      <title>Complete the Python unittest code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/testing-with-unittest/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/testing-with-unittest/</guid>
      <description>Practise writing test methods, checking expected exceptions, creating independent fixtures, and using subtests.</description>
    </item>
    <item>
      <title>Test your knowledge: Python unittest</title>
      <link>https://foxipa.com/en/python/exercise/quiz/testing-with-unittest/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/testing-with-unittest/</guid>
      <description>Check test discovery, useful assertions, expected exceptions, isolated fixtures, subtests, and command-line test execution.</description>
    </item>
    <item>
      <title>Testing Python Code with unittest</title>
      <link>https://foxipa.com/en/python/learn/testing-with-unittest/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/testing-with-unittest/</guid>
      <description>Write focused unit tests with unittest, choose clear assertions, check expected exceptions, isolate fixtures, and discover tests from the command line.</description>
    </item>
    <item>
      <title>6.2 Hardening: Protocols, Ciphers, and Headers</title>
      <link>https://foxipa.com/en/nginx/learn/hardening/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/hardening/</guid>
      <description>Security policy is a list of things you refuse. This lesson writes that list — then verifies the server actually enforces it, handshake by handshake.</description>
    </item>
    <item>
      <title>Complete the unittest.mock code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/mocking-with-unittest-mock/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/mocking-with-unittest-mock/</guid>
      <description>Practise controlled return values, sequential outcomes, scoped patching, and autospecced collaborators.</description>
    </item>
    <item>
      <title>Isolating Dependencies with unittest.mock</title>
      <link>https://foxipa.com/en/python/learn/mocking-with-unittest-mock/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/mocking-with-unittest-mock/</guid>
      <description>Isolate external collaborators with Mock, side_effect, patch, and autospec while keeping the real behavior under test.</description>
    </item>
    <item>
      <title>Test your knowledge: unittest.mock</title>
      <link>https://foxipa.com/en/python/exercise/quiz/mocking-with-unittest-mock/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/mocking-with-unittest-mock/</guid>
      <description>Practise Mock return values, side effects, safe patching, autospec, and meaningful interaction checks.</description>
    </item>
    <item>
      <title>Complete the doctest code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/testing-docstrings-with-doctest/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/testing-docstrings-with-doctest/</guid>
      <description>Practise writing stable docstring examples, documenting exceptions, distinguishing returned and printed output, and testing examples in text files.</description>
    </item>
    <item>
      <title>Test your knowledge: doctest</title>
      <link>https://foxipa.com/en/python/exercise/quiz/testing-docstrings-with-doctest/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/testing-docstrings-with-doctest/</guid>
      <description>Practise executable docstrings, testmod and testfile, output matching, expected exceptions, and unittest integration.</description>
    </item>
    <item>
      <title>Testing Docstring Examples with doctest</title>
      <link>https://foxipa.com/en/python/learn/testing-docstrings-with-doctest/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/testing-docstrings-with-doctest/</guid>
      <description>Turn concise Python docstring and documentation examples into executable checks with doctest, testmod, testfile, expected exceptions, and unittest integration.</description>
    </item>
    <item>
      <title>Complete the asynchronous unittest code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/testing-asynchronous-code-with-unittest/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/testing-asynchronous-code-with-unittest/</guid>
      <description>Practise coroutine test methods, awaited exception checks, async cleanup, and await-specific mock assertions.</description>
    </item>
    <item>
      <title>Test your knowledge: asynchronous unittest</title>
      <link>https://foxipa.com/en/python/exercise/quiz/testing-asynchronous-code-with-unittest/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/testing-asynchronous-code-with-unittest/</guid>
      <description>Practise async test methods, awaited assertions, async fixtures, cleanup, and AsyncMock await checks.</description>
    </item>
    <item>
      <title>Testing Asynchronous Python Code with unittest</title>
      <link>https://foxipa.com/en/python/learn/testing-asynchronous-code-with-unittest/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/testing-asynchronous-code-with-unittest/</guid>
      <description>Test coroutine-based Python code using IsolatedAsyncioTestCase, async fixtures, reliable cleanup, and await-aware dependency assertions.</description>
    </item>
    <item>
      <title>Complete the ExitStack code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/managing-resources-with-exitstack/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/managing-resources-with-exitstack/</guid>
      <description>Practise entering dynamic synchronous and asynchronous resources, registering cleanup callbacks, handling partial acquisition, and transferring cleanup ownership.</description>
    </item>
    <item>
      <title>Managing Resources with contextlib.ExitStack</title>
      <link>https://foxipa.com/en/python/learn/managing-resources-with-exitstack/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/managing-resources-with-exitstack/</guid>
      <description>Manage optional and dynamically selected synchronous or asynchronous resources with ExitStack and AsyncExitStack, cleanup callbacks, acquisition failures, and ownership transfer.</description>
    </item>
    <item>
      <title>Test your knowledge: contextlib.ExitStack</title>
      <link>https://foxipa.com/en/python/exercise/quiz/managing-resources-with-exitstack/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/managing-resources-with-exitstack/</guid>
      <description>Check dynamic resource acquisition, cleanup order, acquisition failure handling, cleanup ownership transfer, and combining synchronous and asynchronous managers with AsyncExitStack.</description>
    </item>
    <item>
      <title>Temporary Files and Directories in Python</title>
      <link>https://foxipa.com/en/python/learn/temporary-files-and-directories/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/temporary-files-and-directories/</guid>
      <description>Create secure scratch files and disposable workspaces with tempfile, choose an appropriate interface, and clean up reliably.</description>
    </item>
    <item>
      <title>High-Level File Operations with shutil</title>
      <link>https://foxipa.com/en/python/learn/high-level-file-operations-with-shutil/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/high-level-file-operations-with-shutil/</guid>
      <description>Copy files and directory trees, move and remove paths carefully, inspect disk space, and work with archives using Python’s shutil module.</description>
    </item>
    <item>
      <title>Working with ZIP Archives Using zipfile</title>
      <link>https://foxipa.com/en/python/learn/zip-archives-with-zipfile/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/zip-archives-with-zipfile/</guid>
      <description>Create, inspect, update, verify, and selectively extract ZIP archives with Python’s standard-library zipfile module.</description>
    </item>
    <item>
      <title>Working with TAR Archives Using tarfile</title>
      <link>https://foxipa.com/en/python/learn/tar-archives-with-tarfile/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/tar-archives-with-tarfile/</guid>
      <description>Create, inspect, read, compress, and cautiously extract TAR archives with Python’s standard-library tarfile module.</description>
    </item>
    <item>
      <title>Matching Paths and Filenames with glob and fnmatch</title>
      <link>https://foxipa.com/en/python/learn/filename-pattern-matching-with-glob-and-fnmatch/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/filename-pattern-matching-with-glob-and-fnmatch/</guid>
      <description>Learn when to use glob to find pathnames and fnmatch to filter names, including recursive searches, hidden entries, case behavior, and literal wildcard characters.</description>
    </item>
    <item>
      <title>Comparing Files and Directory Trees with filecmp</title>
      <link>https://foxipa.com/en/python/learn/comparing-files-and-directories-with-filecmp/</link>
      <pubDate>Wed, 14 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/comparing-files-and-directories-with-filecmp/</guid>
      <description>Compare file contents and directory trees with filecmp, understand shallow comparisons and caching, and separate mismatches from comparison errors.</description>
    </item>
    <item>
      <title>6.3 Mutual TLS: Client Certificates</title>
      <link>https://foxipa.com/en/nginx/learn/mtls/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/mtls/</guid>
      <description>TLS usually answers “is the server who it claims?” — mutual TLS adds “and is the client?” The strongest authentication on the internet, demonstrated end to end.</description>
    </item>
    <item>
      <title>Reading Filesystem Metadata with os.stat() and stat</title>
      <link>https://foxipa.com/en/python/learn/reading-filesystem-metadata-with-os-stat-and-stat/</link>
      <pubDate>Wed, 14 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/reading-filesystem-metadata-with-os-stat-and-stat/</guid>
      <description>Read filesystem metadata safely with os.stat(), pathlib stat methods, stat mode helpers, timestamps, and portable error handling.</description>
    </item>
    <item>
      <title>Efficient Directory Scanning with os.scandir()</title>
      <link>https://foxipa.com/en/python/learn/efficient-directory-scanning-with-os-scandir/</link>
      <pubDate>Wed, 14 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/efficient-directory-scanning-with-os-scandir/</guid>
      <description>Scan directory entries efficiently with os.scandir() and DirEntry, filter types safely, manage the iterator, and understand metadata caching and errors.</description>
    </item>
    <item>
      <title>Complete the Python bisect code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/bisect/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/bisect/</guid>
      <description>Practise finding left and right insertion points, inserting while preserving order, and maintaining a list of records by key.</description>
    </item>
    <item>
      <title>Python Binary Search with bisect</title>
      <link>https://foxipa.com/en/python/learn/bisect/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/bisect/</guid>
      <description>Find insertion boundaries in sorted sequences, search safely around duplicates, and insert values or records without re-sorting the whole list.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Binary Search with bisect</title>
      <link>https://foxipa.com/en/python/exercise/quiz/bisect/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/bisect/</guid>
      <description>Check insertion boundaries, duplicate handling, safe exact lookups, key functions, and the performance limits of bisect.</description>
    </item>
    <item>
      <title>Caching Function Results with functools</title>
      <link>https://foxipa.com/en/python/learn/function-caching-with-functools/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/function-caching-with-functools/</guid>
      <description>Learn when function-result caching is useful, how functools.cache and lru_cache reuse results, how to inspect or clear a cache, and which functions should not be cached.</description>
    </item>
    <item>
      <title>Complete the function-caching code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/function-caching-with-functools/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/function-caching-with-functools/</guid>
      <description>Practice caching deterministic results, limiting stored entries, clearing stale data, and inspecting cache hits.</description>
    </item>
    <item>
      <title>Test your knowledge: function caching</title>
      <link>https://foxipa.com/en/python/exercise/quiz/function-caching-with-functools/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/function-caching-with-functools/</guid>
      <description>Check when caching is safe, how cache and lru_cache differ, and how to inspect, invalidate, and constrain stored results.</description>
    </item>
    <item>
      <title>Complete the partial-function and method code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/partial-function-application/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/partial-function-application/</guid>
      <description>Practice pre-filling callable arguments and defining methods with functools.partialmethod while preserving instance binding.</description>
    </item>
    <item>
      <title>Configuring Functions and Methods with functools.partial</title>
      <link>https://foxipa.com/en/python/learn/partial-function-application/</link>
      <pubDate>Thu, 15 Oct 2026 09:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/learn/partial-function-application/</guid>
      <description>Learn how functools.partial configures callable arguments and how functools.partialmethod creates method variants while preserving instance binding.</description>
    </item>
    <item>
      <title>Check your understanding: partial functions and methods</title>
      <link>https://foxipa.com/en/python/exercise/quiz/partial-function-application/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/partial-function-application/</guid>
      <description>Check argument pre-filling with functools.partial and instance-aware method variants with functools.partialmethod.</description>
    </item>
    <item>
      <title>6.4 Session Performance: Caches, Tickets, and Stapling</title>
      <link>https://foxipa.com/en/nginx/learn/sessions-stapling/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/sessions-stapling/</guid>
      <description>A full TLS 1.3 handshake is one round trip; TLS 1.2 is two. Multiply by every connection, and crypto becomes your latency line item — unless the parties remember each other.</description>
    </item>
    <item>
      <title>6.5 Access Control: auth_basic, allow/deny, and satisfy</title>
      <link>https://foxipa.com/en/nginx/learn/access-control/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/access-control/</guid>
      <description>The final gate before content: who may even ask? Three directives, one composition rule, and a phase-order trap that bites even veterans.</description>
    </item>
    <item>
      <title>7.1 geo and map: Building Routing Tables</title>
      <link>https://foxipa.com/en/nginx/learn/geo-and-map/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/geo-and-map/</guid>
      <description>Policy begins with classification: &#34;who is this client?&#34; turned into a variable you can route, gate, and log on.</description>
    </item>
    <item>
      <title>JavaScript Classes</title>
      <link>https://foxipa.com/en/javascript/learn/classes/</link>
      <pubDate>Sun, 27 Sep 2026 03:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/javascript/learn/classes/</guid>
      <description>Understand JavaScript classes without losing sight of the object model: constructors, methods, fields, private elements, inheritance, super, static members, and initialization order.</description>
    </item>
    <item>
      <title>JavaScript Classes — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/classes/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/classes/</guid>
      <description>Practice class declarations, constructors, inheritance, public and private elements, and static initialization.</description>
    </item>
    <item>
      <title>JavaScript Classes — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/classes/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/classes/</guid>
      <description>Check your understanding of class values, constructors, fields, private elements, inheritance, super, and static initialization.</description>
    </item>
    <item>
      <title>7.2 Rate Limiting: The Leaky Bucket, Measured</title>
      <link>https://foxipa.com/en/nginx/learn/rate-limiting/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/rate-limiting/</guid>
      <description>The most misunderstood trio in NGINX: rate, burst, nodelay. Watch the bucket queue requests at exact intervals — measured, not guessed — and count your own 429s.</description>
    </item>
    <item>
      <title>7.3 Connections and Bandwidth: limit_conn, limit_rate</title>
      <link>https://foxipa.com/en/nginx/learn/connections-bandwidth/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/connections-bandwidth/</guid>
      <description>Requests aren&#39;t the only thing clients spend. Some spend connections; some spend bytes. Two directives cap each — measured both ways, with receipts.</description>
    </item>
    <item>
      <title>7.4 Traffic Splitting: split_clients and the Two-Line Canary</title>
      <link>https://foxipa.com/en/nginx/learn/traffic-splitting/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/traffic-splitting/</guid>
      <description>&#34;Show the new checkout to 10% of users.&#34;* — the requirement every product team eventually issues, and the directive almost nobody knows exists.</description>
    </item>
    <item>
      <title>7.5 WAF-Style Logic and Request Blocking</title>
      <link>https://foxipa.com/en/nginx/learn/waf-blocking/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/waf-blocking/</guid>
      <description>Not every request deserves a response. Some deserve a 403 before they cost you a single upstream millisecond — and a few deserve silence. Building that policy, with receipts.</description>
    </item>
    <item>
      <title>8.1 The Caching Mindset: Contracts Before Directives</title>
      <link>https://foxipa.com/en/nginx/learn/caching-mindset/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/caching-mindset/</guid>
      <description>Directives are easy; the thinking is the hard part. This lesson installs the three contracts every cache honors — identity, freshness, and validation — before the module’s directives arrive.</description>
    </item>
    <item>
      <title>8.2 proxy_cache: Keys and Storage</title>
      <link>https://foxipa.com/en/nginx/learn/cache-keys-and-storage/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/cache-keys-and-storage/</guid>
      <description>The machinery: where entries live, how they&#39;re found, and why the key you design decides everything else. Includes a live look inside the on-disk cache.</description>
    </item>
    <item>
      <title>8.3 TTLs, Cache Status, and Bypassing</title>
      <link>https://foxipa.com/en/nginx/learn/ttl-and-status/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/ttl-and-status/</guid>
      <description>How long entries live, what every verdict means, and how to carve holes in the cache when correctness demands it. This is the lesson that makes caches debuggable.</description>
    </item>
    <item>
      <title>8.4 Stale Serving, Herd Collapse, and Micro-Caching</title>
      <link>https://foxipa.com/en/nginx/learn/stale-lock-microcache/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/stale-lock-microcache/</guid>
      <description>The four techniques that turn a cache from an accelerator into an architecture: survive origin failures, absorb stampedes, refresh invisibly, and make the dynamic feel static.</description>
    </item>
    <item>
      <title>8.5 Slice and Large Files: Caching for Media</title>
      <link>https://foxipa.com/en/nginx/learn/slice-and-ranges/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/slice-and-ranges/</guid>
      <description>A 10 GB video in one cache entry is a 10 GB hole in your disk and a 10 GB wait for the first byte. The slice module cuts big content into cacheable, parallel, resumable pieces.</description>
    </item>
    <item>
      <title>9.1 Workers, Connections, and Limits</title>
      <link>https://foxipa.com/en/nginx/learn/workers-and-limits/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/workers-and-limits/</guid>
      <description>Before you tune anything, learn what the knobs actually turn — and how to read the receipts the system gives you. Folklore tuning is how boxes end up slower than their defaults.</description>
    </item>
    <item>
      <title>9.2 Buffers and the Kernel Seam</title>
      <link>https://foxipa.com/en/nginx/learn/buffers-and-kernel/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/buffers-and-kernel/</guid>
      <description>Every byte that crosses NGINX lands in a buffer someone sized. Most “NGINX is slow” tickets are a buffer story wearing a disguise — this lesson teaches you to read all of them.</description>
    </item>
    <item>
      <title>9.3 gzip Done Right</title>
      <link>https://foxipa.com/en/nginx/learn/gzip/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/gzip/</guid>
      <description>The 54 KB text file that becomes 240 bytes. No other directive in NGINX buys that ratio — and no other is misconfigured as often.</description>
    </item>
    <item>
      <title>9.4 Brotli and Modern Compression</title>
      <link>https://foxipa.com/en/nginx/learn/brotli/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/brotli/</guid>
      <description>Brotli typically beats gzip 15–25% on text and costs nothing to serve to clients that can’t speak it. The catch: it’s a dynamic module, so the edge must load it first — receipts included.</description>
    </item>
    <item>
      <title>9.5 HTTP/3 and QUIC</title>
      <link>https://foxipa.com/en/nginx/learn/http3-quic/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/http3-quic/</guid>
      <description>TCP was designed before HTTP existed. QUIC was designed *for* it — and this lesson closes the module with a real HTTP/3 handshake over UDP, verified byte by byte.</description>
    </item>
    <item>
      <title>10.1 Below HTTP: The Stream Module</title>
      <link>https://foxipa.com/en/nginx/learn/stream-module-basics/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/stream-module-basics/</guid>
      <description>NGINX&#39;s second career: the same master/worker engine, the same event loop — but the unit of work is no longer &#34;a request&#34;. It&#39;s &#34;a connection&#34;.</description>
    </item>
    <item>
      <title>10.2 TCP Proxying &amp; Load Balancing</title>
      <link>https://foxipa.com/en/nginx/learn/tcp-proxy-and-balancing/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/tcp-proxy-and-balancing/</guid>
      <description>Module 5&#39;s upstream toolbox, rebuilt for connections: scheduling happens once, pins for life — and the failure receipts look deliciously familiar.</description>
    </item>
    <item>
      <title>10.3 PROXY Protocol</title>
      <link>https://foxipa.com/en/nginx/learn/proxy-protocol/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/proxy-protocol/</guid>
      <description>A TCP proxy is also a lie factory: every upstream sees 127.0.0.1 as the client. The PROXY protocol is the one-line confession that fixes it.</description>
    </item>
    <item>
      <title>10.4 UDP Proxying</title>
      <link>https://foxipa.com/en/nginx/learn/udp-proxying/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/udp-proxying/</guid>
      <description>UDP has no connections — so NGINX invents them. Understanding the invention (and its timeout-defined lifetime) is the whole lesson. Plus: a real datagram-eating bash gotcha, caught and fixed.</description>
    </item>
    <item>
      <title>10.5 TLS Passthrough with SNI Routing</title>
      <link>https://foxipa.com/en/nginx/learn/tls-passthrough-sni/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/tls-passthrough-sni/</guid>
      <description>The party trick that makes security teams smile: route encrypted traffic by hostname without holding a single private key. Then the adult conversation: when not to.</description>
    </item>
    <item>
      <title>11.1 The Rewrite Engine</title>
      <link>https://foxipa.com/en/nginx/learn/rewrite-engine/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/rewrite-engine/</guid>
      <description>Three directives — return, rewrite, set — run before any content handler, before access rules, before almost everything. That earliness is their power and their danger.</description>
    </item>
    <item>
      <title>11.2 The if Trap and Its Cures</title>
      <link>https://foxipa.com/en/nginx/learn/if-trap-and-map-cure/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/if-trap-and-map-cure/</guid>
      <description>&#34;location if&#34; is a rewrite-phase directive pretending to be a control structure. Inside it, you are standing in a different location than you think — reproduced step by step.</description>
    </item>
    <item>
      <title>11.3 Delegated Auth: auth_request</title>
      <link>https://foxipa.com/en/nginx/learn/auth-request/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/auth-request/</guid>
      <description>auth_basic proves you know a password. mTLS proves who your CA says you are. auth_request lets ANY HTTP service decide — cookies, JWTs, business rules — and NGINX enforces the verdict.</description>
    </item>
    <item>
      <title>11.4 Shadow Traffic: mirror</title>
      <link>https://foxipa.com/en/nginx/learn/mirror/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/mirror/</guid>
      <description>Ship v2 by running it in the dark: every production request duplicated to the new code, its responses thrown away, the client never the wiser.</description>
    </item>
    <item>
      <title>11.5 Signed URLs &amp; Protected Downloads</title>
      <link>https://foxipa.com/en/nginx/learn/secure-link-accel/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/secure-link-accel/</guid>
      <description>Two production workhorses, one theme: NGINX and the application each do the half they’re best at. secure_link puts trust in the URL; X-Accel-Redirect puts the bytes back in NGINX’s hands.</description>
    </item>
    <item>
      <title>12.1 The Access Log as a Data System</title>
      <link>https://foxipa.com/en/nginx/learn/log-formats/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/log-formats/</guid>
      <description>The access log is the cheapest, richest telemetry you own: every request, every verdict, zero new infrastructure. Treated as a schema, it becomes your first real data system.</description>
    </item>
    <item>
      <title>12.2 Structured JSON Logs</title>
      <link>https://foxipa.com/en/nginx/learn/json-logs/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/json-logs/</guid>
      <description>escape=json is one parameter and it changes everything: your access log becomes a document stream every pipeline can consume. Getting it valid under ALL conditions is the engineering.</description>
    </item>
    <item>
      <title>12.3 Golden Signals &amp; Upstream Forensics</title>
      <link>https://foxipa.com/en/nginx/learn/golden-signals/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/golden-signals/</guid>
      <description>Latency, traffic, errors, saturation — the four questions every dashboard answers. Everything you need is already in the log line; this lesson is about reading it like an SRE.</description>
    </item>
    <item>
      <title>12.4 stub_status &amp; Live Metrics</title>
      <link>https://foxipa.com/en/nginx/learn/stub-status/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/stub-status/</guid>
      <description>Logs are history; stub_status is now. One location, seven counters, zero dependencies — the OSS answer to &#34;is the front door alive and how hard is it working?&#34;</description>
    </item>
    <item>
      <title>12.5 Conditional Logging &amp; Error Discipline</title>
      <link>https://foxipa.com/en/nginx/learn/conditional-and-errors/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/conditional-and-errors/</guid>
      <description>Log everything and you log nothing: the signal drowns in the routine. Recording only what matters — by request, by severity — plus the rotation and retention that keep logs honest.</description>
    </item>
    <item>
      <title>13.1 Static Config, Dynamic Fleet — and the Discovery Landscape</title>
      <link>https://foxipa.com/en/nginx/learn/static-config-problem/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/static-config-problem/</guid>
      <description>NGINX reads its upstreams once, at config load — your fleet changes every minute; this opener names the lifecycle mismatch, the discovery contract any runtime fix must meet, and the production landscape — plain DNS, Consul&#39;s two doors, Kubernetes controllers, the Plus API — the rest of the module teaches you to ride.</description>
    </item>
    <item>
      <title>13.2 The Resolver Directive</title>
      <link>https://foxipa.com/en/nginx/learn/resolver-anatomy/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/resolver-anatomy/</guid>
      <description>One directive, three parameters, two completely different resolution contexts — and a config-load gotcha you can hit on your very first nginx -t. Know which resolver answers which name.</description>
    </item>
    <item>
      <title>13.3 Runtime Re-resolution: variable proxy_pass</title>
      <link>https://foxipa.com/en/nginx/learn/variable-proxy-pass/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/variable-proxy-pass/</guid>
      <description>The pattern that made dynamic upstreams possible in OSS NGINX a decade before upstreams could resolve: put a variable in proxy_pass, and the name becomes a runtime question.</description>
    </item>
    <item>
      <title>13.4 zone &#43; resolve: Upstream Groups That Move</title>
      <link>https://foxipa.com/en/nginx/learn/zone-and-resolve/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/zone-and-resolve/</guid>
      <description>Since 1.27.3, OSS upstreams can hold DNS-named servers that re-resolve at runtime — you keep the Module 5 toolbox (weights, quarantine, least_conn) AND runtime membership.</description>
    </item>
    <item>
      <title>14.1 The Edge Blueprint</title>
      <link>https://foxipa.com/en/nginx/learn/edge-topologies/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/edge-topologies/</guid>
      <description>Where does NGINX sit? The answer decides your TLS story, your failure domain, and who your debuggers blame. The topology map — and the questions each tier forces you to answer.</description>
    </item>
    <item>
      <title>14.2 NGINX in Containers</title>
      <link>https://foxipa.com/en/nginx/learn/container-contract/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/container-contract/</guid>
      <description>A containerized NGINX is the same binary and same config inside an environment that quietly removes four things the package install gave you. This is the checklist that keeps it production-safe.</description>
    </item>
    <item>
      <title>14.3 The Ingress Model</title>
      <link>https://foxipa.com/en/nginx/learn/k8s-ingress-concepts/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/k8s-ingress-concepts/</guid>
      <description>Kubernetes didn’t invent new routing concepts — it renamed the ones you already know. The translation table: every Ingress object you’ll ever read, as the NGINX config it becomes.</description>
    </item>
    <item>
      <title>14.4 Operating a Mini Ingress Controller</title>
      <link>https://foxipa.com/en/nginx/learn/mini-ingress-controller/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/mini-ingress-controller/</guid>
      <description>You’ve read what controllers do; now run one. Forty lines of shell — manifest, renderer, validator, reloader — that move real traffic when the fleet changes. Every receipt is real.</description>
    </item>
    <item>
      <title>14.5 Choosing Your Ingress</title>
      <link>https://foxipa.com/en/nginx/learn/choosing-ingress/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/choosing-ingress/</guid>
      <description>ingress-nginx, F5 NGINX Ingress Controller, Gateway API implementations, Envoy-shaped alternatives — the architecture module’s last lesson is a decision, made once, lived with for years.</description>
    </item>
    <item>
      <title>15.1 The Extension Landscape</title>
      <link>https://foxipa.com/en/nginx/learn/extension-landscape/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/extension-landscape/</guid>
      <description>You need a thing NGINX doesn’t do. Before reaching for any tool, know the four you’re choosing between — each buys a different kind of power and bills a different kind of cost.</description>
    </item>
    <item>
      <title>15.2 Building NGINX from Source</title>
      <link>https://foxipa.com/en/nginx/learn/building-from-source/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/building-from-source/</guid>
      <description>Three commands and ninety seconds: ./configure, make, make install. The skill is knowing what configure decides on your behalf — those choices become your binary’s contract with the world.</description>
    </item>
    <item>
      <title>15.3 Dynamic Modules &amp; Binary Compatibility</title>
      <link>https://foxipa.com/en/nginx/learn/dynamic-modules/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/dynamic-modules/</guid>
      <description>One directive loads new code into a running architecture; one signature rule decides whether it loads at all. The exact error a mismatch produces — and the version-pinning that prevents it.</description>
    </item>
    <item>
      <title>15.4 njs: Scripting the Request</title>
      <link>https://foxipa.com/en/nginx/learn/njs/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/njs/</guid>
      <description>Everything config can’t express: parsing tokens, classifying clients, generating JSON, deciding routes — in sandboxed JavaScript that couldn’t segfault your worker if it tried.</description>
    </item>
    <item>
      <title>15.5 Brotli, Measured</title>
      <link>https://foxipa.com/en/nginx/learn/brotli-m15/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/brotli-m15/</guid>
      <description>The config was Lesson 9.4&#39;s and the build was 15.2/15.3&#39;s — this lesson is the wire&#39;s turn to talk: 285 bytes became 50 while gzip managed 77, and the fine print (HTTPS-only browser br, CDNs, streaming) turns into runbook material.</description>
    </item>
    <item>
      <title>16.1 The Debugging Method</title>
      <link>https://foxipa.com/en/nginx/learn/debugging-method/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/debugging-method/</guid>
      <description>Tools don&#39;t debug; method does. The layers of the stack, the instrument for each, and the discipline of turning symptoms into receipts before touching a single directive.</description>
    </item>
    <item>
      <title>16.2 The Debug Build</title>
      <link>https://foxipa.com/en/nginx/learn/debug-build/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/debug-build/</guid>
      <description>Every malloc, every parsed header, every phase transition, every keep-alive decision — narrated, timestamped, attributed to a worker and connection. The debug build is NGINX’s flight recorder.</description>
    </item>
    <item>
      <title>16.3 /proc Forensics</title>
      <link>https://foxipa.com/en/nginx/learn/proc-forensics/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/proc-forensics/</guid>
      <description>strace is missing, gdb is missing, ptrace is locked — and /proc doesn’t care. The kernel’s own filesystem tells you what every process holds, waits on, and is allowed to do.</description>
    </item>
    <item>
      <title>16.4 Core Dumps</title>
      <link>https://foxipa.com/en/nginx/learn/core-dumps/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/core-dumps/</guid>
      <description>The worker died with a scream. The master shrugs, respawns, moves on — but the scream was recorded: a core file holding the exact moment of death. Capturing and reading it is the craft.</description>
    </item>
    <item>
      <title>16.5 Profiling &amp; Flame Graphs</title>
      <link>https://foxipa.com/en/nginx/learn/profiling/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/nginx/learn/profiling/</guid>
      <description>Where does the CPU actually GO? perf answers with a flame graph; a locked-down host says no — so this lesson builds the honest rootless substitute and maps when each weapon wins.</description>
    </item>
    <item>
      <title>Complete the Anchor Positioning CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/anchor-positioning/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/anchor-positioning/</guid>
      <description>Practice core CSS concepts from the anchor positioning lesson.</description>
    </item>
    <item>
      <title>Complete the Animations Keyframes CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/animations-keyframes/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/animations-keyframes/</guid>
      <description>Practice core CSS concepts from the animations keyframes lesson.</description>
    </item>
    <item>
      <title>Complete the Backgrounds Borders CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/backgrounds-borders/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/backgrounds-borders/</guid>
      <description>Practice core CSS concepts from the backgrounds borders lesson.</description>
    </item>
    <item>
      <title>Complete the Basic Ui CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/basic-ui/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/basic-ui/</guid>
      <description>Practice core CSS concepts from the basic ui lesson.</description>
    </item>
    <item>
      <title>Complete the Box Alignment CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/box-alignment/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/box-alignment/</guid>
      <description>Practice core CSS concepts from the box alignment lesson.</description>
    </item>
    <item>
      <title>Complete the Box Model CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/box-model/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/box-model/</guid>
      <description>Practice core CSS concepts from the box model lesson.</description>
    </item>
    <item>
      <title>Complete the Cascade Layers Nesting Scoping CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/cascade-layers-nesting-scoping/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/cascade-layers-nesting-scoping/</guid>
      <description>Practice core CSS concepts from the cascade layers nesting scoping lesson.</description>
    </item>
    <item>
      <title>Complete the CSS Color Adjustment CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/color-adjustment/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/color-adjustment/</guid>
      <description>Practice color-scheme, forced-color-adjust, and print-color-adjust.</description>
    </item>
    <item>
      <title>Complete the Color CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/color/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/color/</guid>
      <description>Practice core CSS concepts from the color lesson.</description>
    </item>
    <item>
      <title>Complete the Container Queries Units CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/container-queries-units/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/container-queries-units/</guid>
      <description>Practice core CSS concepts from the container queries units lesson.</description>
    </item>
    <item>
      <title>Complete the Containment Containerization CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/containment-containerization/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/containment-containerization/</guid>
      <description>Practice core CSS concepts from the containment containerization lesson.</description>
    </item>
    <item>
      <title>Complete the Css Declarations CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/css-declarations/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/css-declarations/</guid>
      <description>Practice core CSS concepts from the css declarations lesson.</description>
    </item>
    <item>
      <title>Complete the CSS Easing Functions CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/css-easing-functions/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/css-easing-functions/</guid>
      <description>Practice CSS linear, cubic Bézier, step, and developing linear() timing functions from the CSS Easing Functions lesson.</description>
    </item>
    <item>
      <title>Complete the Css Foundations CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/css-foundations/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/css-foundations/</guid>
      <description>Practice core CSS concepts from the css foundations lesson.</description>
    </item>
    <item>
      <title>Complete the Css Selectors CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/css-selectors/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/css-selectors/</guid>
      <description>Practice core CSS concepts from the css selectors lesson.</description>
    </item>
    <item>
      <title>Complete the Css Syntax Parsing CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/css-syntax-parsing/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/css-syntax-parsing/</guid>
      <description>Practice core CSS concepts from the css syntax parsing lesson.</description>
    </item>
    <item>
      <title>Complete the Custom Properties CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/custom-properties/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/custom-properties/</guid>
      <description>Practice core CSS concepts from the custom properties lesson.</description>
    </item>
    <item>
      <title>Complete the Display Box Generation CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/display-box-generation/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/display-box-generation/</guid>
      <description>Practice core CSS concepts from the display box generation lesson.</description>
    </item>
    <item>
      <title>Complete the Filter Effects CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/filter-effects/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/filter-effects/</guid>
      <description>Complete CSS that applies an ordered chain of filter effects.</description>
    </item>
    <item>
      <title>Complete the Flexbox CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/flexbox/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/flexbox/</guid>
      <description>Practice core CSS concepts from the flexbox lesson.</description>
    </item>
    <item>
      <title>Complete the Flow Layout CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/flow-layout/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/flow-layout/</guid>
      <description>Practice core CSS concepts from the flow layout lesson.</description>
    </item>
    <item>
      <title>Complete the Fragmentation Paged Print CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/fragmentation-paged-print/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/fragmentation-paged-print/</guid>
      <description>Practice core CSS concepts from the fragmentation paged print lesson.</description>
    </item>
    <item>
      <title>Complete the Grid CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/grid/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/grid/</guid>
      <description>Practice core CSS concepts from the grid lesson.</description>
    </item>
    <item>
      <title>Complete the Images Gradients Replaced Content CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/images-gradients-replaced-content/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/images-gradients-replaced-content/</guid>
      <description>Practice core CSS concepts from the images gradients replaced content lesson.</description>
    </item>
    <item>
      <title>Complete the Lists Counters Generated Content CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/lists-counters-generated-content/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/lists-counters-generated-content/</guid>
      <description>Practice core CSS concepts from the lists counters generated content lesson.</description>
    </item>
    <item>
      <title>Complete the Masking Clipping Compositing Blending CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/masking-clipping-compositing-blending/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/masking-clipping-compositing-blending/</guid>
      <description>Practice core CSS concepts from the masking clipping compositing blending lesson.</description>
    </item>
    <item>
      <title>Complete the Media Features and User Preferences CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/media-features-user-preferences/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/media-features-user-preferences/</guid>
      <description>Practice media features and user-preference queries.</description>
    </item>
    <item>
      <title>Complete the Media Queries Conditional Rules CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/media-queries-conditional-rules/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/media-queries-conditional-rules/</guid>
      <description>Practice core CSS concepts from the media queries conditional rules lesson.</description>
    </item>
    <item>
      <title>Complete the Motion Path CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/motion-path/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/motion-path/</guid>
      <description>Complete CSS that positions and animates an element along an offset path.</description>
    </item>
    <item>
      <title>Complete the Multi-column CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/multi-column/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/multi-column/</guid>
      <description>Complete CSS that controls preferred column width, gaps, and a spanning heading.</description>
    </item>
    <item>
      <title>Complete the Overflow Scrolling Clipping CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/overflow-scrolling-clipping/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/overflow-scrolling-clipping/</guid>
      <description>Practice core CSS concepts from the overflow scrolling clipping lesson.</description>
    </item>
    <item>
      <title>Complete the scroll-boundary policy</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/overscroll-behavior/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/overscroll-behavior/</guid>
      <description>Complete CSS that contains scroll chaining without changing the underlying overflow model.</description>
    </item>
    <item>
      <title>Complete the Positioning CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/positioning/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/positioning/</guid>
      <description>Practice core CSS concepts from the positioning lesson.</description>
    </item>
    <item>
      <title>Complete the scroll-anchoring exclusion</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/scroll-anchoring/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/scroll-anchoring/</guid>
      <description>Complete CSS that excludes a dynamic region from scroll-anchor selection while preserving the surrounding scroll container.</description>
    </item>
    <item>
      <title>Complete the Scroll Driven Animations CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/scroll-driven-animations/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/scroll-driven-animations/</guid>
      <description>Practice core CSS concepts from the scroll driven animations lesson.</description>
    </item>
    <item>
      <title>Complete the Scroll Snap Scroll Behavior CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/scroll-snap-scroll-behavior/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/scroll-snap-scroll-behavior/</guid>
      <description>Practice core CSS concepts from the scroll snap scroll behavior lesson.</description>
    </item>
    <item>
      <title>Complete the standardized scrollbar styling</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/scrollbar-styling/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/scrollbar-styling/</guid>
      <description>Complete a scroll container using the standardized scrollbar color and thickness properties without relying on non-standard scrollbar pseudo-elements.</description>
    </item>
    <item>
      <title>Complete the Shapes Exclusions CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/shapes-exclusions/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/shapes-exclusions/</guid>
      <description>Practice core CSS concepts from the shapes exclusions lesson.</description>
    </item>
    <item>
      <title>Complete the CSS Sizing exercise</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/sizing/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/sizing/</guid>
      <description>Practice current sizing controls without confusing intrinsic sizing with ordinary fixed lengths.</description>
    </item>
    <item>
      <title>Complete the Tables CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/tables/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/tables/</guid>
      <description>Practice core CSS concepts from the tables lesson.</description>
    </item>
    <item>
      <title>Complete the Text Decoration CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/text-decoration/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/text-decoration/</guid>
      <description>Practice core text decoration, underline offset, and emphasis styling.</description>
    </item>
    <item>
      <title>Complete the CSS Text exercise</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/text-layout-formatting/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/text-layout-formatting/</guid>
      <description>Practice current text wrapping and white-space controls while keeping their maturity boundaries clear.</description>
    </item>
    <item>
      <title>Complete the The Cascade CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/the-cascade/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/the-cascade/</guid>
      <description>Practice core CSS concepts from the the cascade lesson.</description>
    </item>
    <item>
      <title>Complete the Transforms Coordinate Systems CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/transforms-coordinate-systems/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/transforms-coordinate-systems/</guid>
      <description>Practice core CSS concepts from the transforms coordinate systems lesson.</description>
    </item>
    <item>
      <title>Complete the Transitions CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/transitions/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/transitions/</guid>
      <description>Practice core CSS concepts from the transitions lesson.</description>
    </item>
    <item>
      <title>Complete the Typography CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/typography/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/typography/</guid>
      <description>Practice higher-level font feature, optical sizing, and font metric controls.</description>
    </item>
    <item>
      <title>Complete the Values Units CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/values-units/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/values-units/</guid>
      <description>Practice core CSS concepts from the values units lesson.</description>
    </item>
    <item>
      <title>Complete the View Transitions CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/view-transitions/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/view-transitions/</guid>
      <description>Practice core CSS concepts from the view transitions lesson.</description>
    </item>
    <item>
      <title>Complete the Will Change CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/will-change/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/will-change/</guid>
      <description>Complete focused CSS rendering hints without confusing will-change with the actual behavior being changed.</description>
    </item>
    <item>
      <title>Complete the Writing Modes Logical Properties CSS</title>
      <link>https://foxipa.com/en/css/exercise/code-completion/writing-modes-logical-properties/</link>
      <guid>https://foxipa.com/en/css/exercise/code-completion/writing-modes-logical-properties/</guid>
      <description>Practice core CSS concepts from the writing modes logical properties lesson.</description>
    </item>
    <item>
      <title>CSS Anchor Positioning Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/anchor-positioning/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/anchor-positioning/</guid>
      <description>Test anchor naming, lookup, anchored placement and sizing, fallback positioning, accessibility, and curriculum ownership boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: Cascade Layers, Nesting, and Scoping</title>
      <link>https://foxipa.com/en/css/exercise/quiz/cascade-layers-nesting-scoping/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/cascade-layers-nesting-scoping/</guid>
      <description>Assess the distinct roles of cascade layers, nesting, and scoped styles.</description>
    </item>
    <item>
      <title>CSS Containment and Containerization Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/containment-containerization/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/containment-containerization/</guid>
      <description>Test containment types, content-visibility, standards maturity, and curriculum ownership boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Foundations</title>
      <link>https://foxipa.com/en/css/exercise/quiz/css-foundations/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/css-foundations/</guid>
      <description>Assess the core stylesheet vocabulary used by the CSS curriculum.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Syntax, Parsing, and Error Recovery</title>
      <link>https://foxipa.com/en/css/exercise/quiz/css-syntax-parsing/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/css-syntax-parsing/</guid>
      <description>Assess tokenization, parsing, and CSS error recovery.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Custom Properties and var()</title>
      <link>https://foxipa.com/en/css/exercise/quiz/custom-properties/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/custom-properties/</guid>
      <description>Assess custom-property definitions, inheritance, cascade participation, var() substitution, fallbacks, cycles, and registration boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Display and Box Generation</title>
      <link>https://foxipa.com/en/css/exercise/quiz/display-box-generation/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/display-box-generation/</guid>
      <description>Assess outer and inner display roles and box generation.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Filter Effects</title>
      <link>https://foxipa.com/en/css/exercise/quiz/filter-effects/</link>
      <pubDate>Sat, 03 Oct 2026 01:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/filter-effects/</guid>
      <description>Assess your understanding of the filter property, filter functions, ordered composition, drop shadows, and specification status.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Flow Layout</title>
      <link>https://foxipa.com/en/css/exercise/quiz/flow-layout/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/flow-layout/</guid>
      <description>Assess block/inline participation and normal flow.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Motion Path</title>
      <link>https://foxipa.com/en/css/exercise/quiz/motion-path/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/motion-path/</guid>
      <description>Assess your understanding of offset paths, path distance, anchors, rotation, shorthand, and specification status.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Overscroll Behavior</title>
      <link>https://foxipa.com/en/css/exercise/quiz/overscroll-behavior/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/overscroll-behavior/</guid>
      <description>Assess your understanding of scroll boundaries, chaining, overscroll-behavior values, and axis-specific properties.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Scroll Anchoring</title>
      <link>https://foxipa.com/en/css/exercise/quiz/scroll-anchoring/</link>
      <pubDate>Sat, 03 Oct 2026 01:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/scroll-anchoring/</guid>
      <description>Assess your understanding of anchor-node selection, scroll adjustment, overflow-anchor, and the boundary with scroll snapping.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Scrollbar Styling</title>
      <link>https://foxipa.com/en/css/exercise/quiz/scrollbar-styling/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/scrollbar-styling/</guid>
      <description>Assess your understanding of scrollbar-color, scrollbar-width, scrollability boundaries, non-standard scrollbar styling, and accessibility.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Text Decoration</title>
      <link>https://foxipa.com/en/css/exercise/quiz/text-decoration/</link>
      <pubDate>Sat, 03 Oct 2026 02:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/text-decoration/</guid>
      <description>Assess text decoration, underline positioning, emphasis marks, text shadows, current draft controls, and module boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Values and Units</title>
      <link>https://foxipa.com/en/css/exercise/quiz/values-units/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/values-units/</guid>
      <description>Assess common value types, units, functions, and value resolution.</description>
    </item>
    <item>
      <title>CSS View Transitions Quiz</title>
      <link>https://foxipa.com/en/css/exercise/quiz/view-transitions/</link>
      <guid>https://foxipa.com/en/css/exercise/quiz/view-transitions/</guid>
      <description>Assess understanding of the CSS View Transitions model, named captures, pseudo-elements, cross-document CSS, transition types, classes, automatic names, scoped discovery, and nested groups.</description>
    </item>
    <item>
      <title>Test your knowledge: CSS Will Change</title>
      <link>https://foxipa.com/en/css/exercise/quiz/will-change/</link>
      <pubDate>Sat, 03 Oct 2026 02:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/css/exercise/quiz/will-change/</guid>
      <description>Assess your understanding of will-change as a rendering hint, its values, resource costs, side effects, and specification status.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Mailbox Patch Series: Apply with git am</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-am/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-am/</guid>
      <description>Create a disposable source repository with a base commit followed by two ordinary commits. Generate a mailbox series with `git format-patch -o patches BASE..HEAD`. In a separate target repository at the same base, run `git am patches/*.patch` and prove that two commits were created. Compare the resulting author and committer identities and commit messages with the source commits. Then repeat using `git am &lt; series.mbox`. Create a deliberately conflicting target commit and apply a patch that cannot apply cleanly. Use `git am --show-current-patch=diff`, resolve the conflict, stage the resolution, and finish with `git am --continue`. In a second run, use `git am --skip` to omit one patch from a multi-patch series. In a final run, start an `am` operation and use `git am --abort`; prove that the branch and working tree return to their pre-operation state. Explain why `git apply` is not the correct command for reconstructing commits from the mailbox.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Archive</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-archive/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-archive/</guid>
      <description>Create a disposable repository with at least three commits and a release tag. Add a development-only directory and a release metadata file, then use `.gitattributes` with `export-ignore` and `export-subst`. Produce a tar archive from the release tag with a versioned `--prefix`, and produce a second archive containing only one selected path. Extract both into clean directories. Verify that the ignored path is absent, that the substituted metadata contains the expected commit ID, and that `git get-tar-commit-id` returns the commit recorded for the tag archive. Finally, compare that ID with `git rev-parse &lt;tag&gt;^{}`. Do not use `--worktree-attributes` unless you intentionally demonstrate its effect.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Blame: Trace Line-Level Provenance</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-blame/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-blame/</guid>
      <description>Create a disposable repository with at least four commits affecting one file, including a whitespace-only change and a substantial copy of lines into another file. Run ordinary blame and a focused `-L` blame. Demonstrate `-M`/`-C` for moved or copied lines. Use `--ignore-rev` and `--ignore-revs-file` for the mechanical revision. Run `--porcelain` and `--line-porcelain`, then demonstrate `--reverse` across a range in which a line is later removed. Finally compare ordinary blame with `--first-parent` on a repository containing a merge. Record what investigative question each invocation answers and verify that none of the commands changes repository history.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Branch Management: List, Create, Rename, Copy, Move, and Delete Branches</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-branch-management/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-branch-management/</guid>
      <description>Build a disposable repository with at least three commits on main. Create a topic branch without switching, record both tips, then advance the topic branch using a real switch workflow. Create a second branch at an explicit start point, inspect branches with `-v`, rename one branch, copy another, and prove the resulting names resolve to the expected commit IDs. Create an unmerged branch and demonstrate that normal deletion refuses it; then, only in the disposable repository, demonstrate the forced deletion form. Finally, use `git branch -f` on a non-current branch and prove that only that branch ref moved. Capture command output and object IDs so every mutation is explained as a reference-state change. Success requires state evidence, not merely successful exit codes: record the branch list before and after each lifecycle operation, verify current-branch identity, record resolved commit IDs for every affected branch, and explain why rename, copy, delete, and force-move affect refs rather than creating alternative commit objects. Use disposable repositories for destructive operations.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Bundle: Move Git History Offline</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-bundle/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-bundle/</guid>
      <description>Create a disposable repository with three commits on `main` and create a tag named `cutoff` at the first commit. Create and verify a self-contained `backup.bundle`, list its advertised refs, and clone from it into a fresh directory. Then create `update.bundle` from `cutoff..main`. Verify it successfully in a recipient that already has the prerequisite history and demonstrate that verification fails in an unrelated empty repository. Fetch `update.bundle` into the prepared recipient by explicitly mapping its advertised `HEAD` to a remote-tracking ref, then prove that the destination ref points to the expected tip. Finally, run `git bundle unbundle` against a self-contained bundle in a disposable bare repository and record which objects become available and which refs are merely reported rather than created. Explain why this is different from `git fetch`.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git cat-file: Inspect Repository Objects Precisely</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-cat-file/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-cat-file/</guid>
      <description>Create a disposable repository with at least one commit containing a text file. Record the IDs for the commit, its tree, and the file blob. Use `git cat-file -t` and `-s` to identify each object, `-e` to check the commit, `-p` to inspect the commit and tree, and the typed form to read the commit and blob. Then feed the three object names through `--batch-check`, repeat with a custom `%(objectname) %(objecttype) %(objectsize)` format, and finally run `--batch` for the commit and blob. Finish with `--batch-check --batch-all-objects` and explain why its output is an inventory rather than a reachability report. Do not use a mock Git implementation. Success requires evidence from the actual repository: record the object type and size for the commit, tree, and blob; capture the batch metadata; and explain the difference between object inspection (`cat-file`) and repository integrity/connectivity checking (`fsck`). This lesson uses only official Git project documentation for command semantics, with `git-cat-file`, the Git 2.56.0 command index, and the object model documentation as the primary sources. No third-party Git documentation is used for command semantics.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Cherry-Pick: Applying Selected Commits to Another History</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-cherry-pick/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-cherry-pick/</guid>
      <description>Create a disposable repository with main and maintenance branches. Make two independent commits on main, switch to maintenance, cherry-pick only one selected commit, record source and destination IDs, then use `--no-commit` for another change and create your own combined commit. In a separate disposable repository, create a conflict, inspect `CHERRY_PICK_HEAD`, and abort.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Clean: Safely Remove Untracked Working-Tree Content</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-clean/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-clean/</guid>
      <description>Create a disposable repository with one committed file, one modified tracked file, one ordinary untracked file, one untracked directory, and one ignored file. Capture `git status --short --untracked-files=all`. Then use dry runs to demonstrate: default cleanup, directory cleanup with `-d`, ignored-only cleanup with `-X`, and combined ignored-plus-untracked cleanup with `-x`. Finally, safely delete exactly one disposable untracked file with a pathspec and `-f`. Your evidence must show that the modified tracked file remains untouched.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Commit-Graph: Accelerating Commit History Walks</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-commit-graph/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-commit-graph/</guid>
      <description>Create a disposable repository with several commits and at least one changed path. First inspect the history with `git log --oneline --graph --all`. Write a reachable commit-graph and verify it. Then write it again with `--reachable --changed-paths` and verify it. Remove the single-file graph in the disposable repository, create a split graph with `--reachable --split --changed-paths`, list the resulting `commit-graphs` directory, and verify the chain. Finally run `git fsck --full` and explain why its responsibility differs from `git commit-graph verify`. Record which commands changed derived graph data and which commands only inspected it. This lesson uses only official Git project documentation for command semantics: `git-commit-graph`, the commit-graph design documentation, `commit-graph-format`, `git-fsck`, and the Git 2.56.0 command index. No third-party Git documentation is used for command semantics.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Describe: Ref-Based Human-Readable Names</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-describe/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-describe/</guid>
      <description>Create a disposable repository with an annotated tag and a lightweight tag, then add commits after the tags. Capture the output of `git describe HEAD`, `git describe --tags HEAD`, and `git describe --all HEAD`. Check out the annotated tag and demonstrate the exact-tag result. Return to the branch, modify a tracked file, and demonstrate `git describe --tags --dirty`. Explain why the candidate set changes between the three forms and confirm that none of the commands changes the repository refs.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Detached HEAD: Inspecting Commits Without Moving a Branch</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-detached-head/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-detached-head/</guid>
      <description>In a disposable repository, create at least two commits on `main` and record the tip object ID. Use `git switch --detach HEAD~1` to detach at a known earlier commit. Record `git rev-parse HEAD`, `git rev-parse --symbolic-full-name HEAD`, `git rev-parse --abbrev-ref HEAD`, `git status --short --branch`, and the unchanged `main` tip. Then make one controlled empty commit while detached and prove that HEAD advances while `main` remains unchanged. Next, create a second disposable repository and run `git switch --detach main` at the branch tip; prove that equal object IDs do not make HEAD attached. Finally, run `git switch main` and prove that HEAD is symbolic again. Do not use reflogs or recovery techniques in this exercise; those belong to the later investigation/recovery phase. Success requires state evidence rather than only command output: identify the selected commit, prove that HEAD is detached, prove that the named branch tip did not move during the detached commit, and then prove reattachment by observing `refs/heads/main` as HEAD’s symbolic target. Use disposable repositories whenever an experiment creates commits that you do not intend to keep on a named branch.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Diff: Comparing Repository States</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-diff-state-comparisons/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-diff-state-comparisons/</guid>
      <description>Create a disposable repository with one committed file. Make one change and inspect it with plain `git diff`. Stage that change and inspect it with `git diff --cached`. Edit the file again without staging the second change, then run both commands and explain why they show different content. Finally, run `git diff HEAD` and `git diff HEAD~1 HEAD` after making a second commit, and use `--name-status` with a path restriction to inspect only the file you changed.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Patch Workflows: Format and Apply Patch Text</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-format-patch-and-apply/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-format-patch-and-apply/</guid>
      <description>Create a disposable repository with a base commit and at least two later commits. Run `git format-patch -o patches BASE..HEAD` and inspect that one mailbox-style file is created per selected commit. Also run `git format-patch --stdout BASE..HEAD &gt; series.mbox` and `git format-patch --numbered-files -o numbered BASE..HEAD`; explain how the outputs differ. Create a separate raw diff with `git diff BASE HEAD &gt; change.patch`. In a clean checkout at BASE, run `git apply --check change.patch`, then apply it and prove that no commit was created. Repeat with `--cached` and prove only the index changed, then with `--index` and prove both index and worktree changed. Exercise `--stat`, `--numstat`, `--summary`, `--reverse`, `--include` or `--exclude`, `-p1`, and `--whitespace=error`. Finally, explain in your own words why the mailbox produced by `format-patch` belongs to the `git am` workflow rather than being fed directly to `git apply`.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Foundations: Working Tree, Index, and Commits</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-foundations/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-foundations/</guid>
      <description>In a new disposable directory, reproduce the workflow without copying the lesson’s exact command sequence. Your final repository must contain one commit on `main`, and that commit must contain a file named `notes.txt` whose contents are `Git state matters.` followed by a newline. Before committing, use a status or diff command to verify what is staged. After committing, use `git log` or `git show` to verify the resulting history.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Repository Integrity: Verify with git fsck</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-fsck/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-fsck/</guid>
      <description>Create a disposable repository with two normal commits and a tag. Run `git fsck`, `--full`, `--connectivity-only`, `--root`, `--tags`, and `--name-objects`, and explain what each adds or changes. Then create a third commit on a temporary branch, delete that branch, and compare `git fsck --unreachable` with `git fsck --unreachable --no-reflogs`. Identify the orphaned commit and explain why its supporting tree/blob objects may also appear. Finally, run `git fsck --full --strict --no-dangling` and record the clean result. Do not delete or rewrite any objects as part of the exercise.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Repository Maintenance: gc and maintenance</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-gc-and-maintenance/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-gc-and-maintenance/</guid>
      <description>Create a disposable repository with several commits. Record its object-storage report with `git count-objects -v -H`. Run `git gc --no-prune`, then inspect the storage report again. Next run `git maintenance run --task=gc` and `git maintenance run --auto`. Create a disposable configuration file, register the repository with `git maintenance register --config-file`, verify that the repository was recorded in that file, and unregister it. Finally run `git fsck --full` and explain why a successful maintenance run is not an integrity certificate.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Grep: Repository-Aware Search</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-grep/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-grep/</guid>
      <description>Create a disposable repository with tracked files under `src/` and `docs/`. Commit content containing the same search term in multiple files. Then create a staged change, an untracked file, and an ignored file containing distinguishable variants of the term. Demonstrate with captured output: a normal working-tree search; a line-numbered, case-insensitive search limited to `src/`; an index search with `--cached`; a committed-tree search against `HEAD`; an untracked-file search with `--untracked`; and a filename-only search with `-l`. Your evidence must show which repository state each command searched and must not rely on an external recursive `grep` command.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git HEAD: The Current Branch and Symbolic References</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-head/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-head/</guid>
      <description>In a disposable repository, create at least two commits on main and a second branch pointing at the first commit. Record `git symbolic-ref HEAD`, `git rev-parse --symbolic-full-name HEAD`, `git rev-parse HEAD^{commit}`, and `git rev-parse main^{commit}`. Advance main with a new commit and repeat the observations. Then create a fresh repository with `git init -b main` and demonstrate the unborn-branch case without inventing a commit. Your evidence must show that attached HEAD names a branch, that the branch tip can move while HEAD remains attached to that branch, and that an unborn branch can exist before its first commit. Do not use detached HEAD; that belongs to the next lesson. Success requires comparing the symbolic target and resolved object ID before and after the branch advances. Treat failed commit resolution in the unborn repository as expected evidence of an unborn branch, not as a test failure.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Ignore Files and Check Ignore</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-ignore-files-and-check-ignore/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-ignore-files-and-check-ignore/</guid>
      <description>Create a disposable repository containing `src.txt`, `debug.log`, and `notes.log`. Track and commit `src.txt` and `notes.log` first. Then create a `.gitignore` containing `*.log`. Verify that already tracked `notes.log` remains tracked, while a newly created `trace.log` is ignored. Use `git check-ignore --verbose` to identify the rule responsible for `trace.log`. Finally, verify that no ignored file was deleted.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git index-pack: Build and Verify Pack Indexes</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-index-pack/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-index-pack/</guid>
      <description>Create a disposable repository with at least three commits and run `git repack -ad`. Locate its `.pack` file. Copy that pack outside the repository, remove the copied `.idx` and `.rev` files if present, and use `git index-pack -o` to build a new index. Repeat with `--rev-index` and prove that the `.rev` file is created. Then use `--strict` on the repository&#39;s pack. Finally send the pack through `--stdin` into a separate output pack with `--keep`, inspect the resulting `.keep`, `.idx`, and `.rev` files, and explain why `git index-pack` is not a replacement for `git repack` or `git verify-pack`. Do not modify or delete objects in the original repository. Command semantics in this lesson use only the official Git project documentation for `git-index-pack` and the Git 2.56.0 command index. No third-party Git documentation is used.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Interactive Rebase: Editing and Reshaping Commit History</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-interactive-rebase/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-interactive-rebase/</guid>
      <description>Create a disposable repository with a base commit and a topic branch containing three commits. Run an interactive rebase that (1) reorders two commits, (2) squashes two adjacent commits, and (3) rewords the resulting message. Record the original commit IDs before the operation. Afterward, verify the resulting commit count, order, messages, and new object IDs. Then create a `--fixup` commit and run `git rebase -i --autosquash` to verify that Git rearranges it next to its target. Do not publish the rewritten history.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git ls-tree: Inspect Tree Objects</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-ls-tree/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-ls-tree/</guid>
      <description>In a disposable repository, create files in at least two directory levels and commit them. Use `git ls-tree` to inspect the root, then use `-r`, `-r -t`, `-d`, a path argument, `--name-only`, `--object-only`, `-l`, `--abbrev=12`, `-z`, and a custom `--format`. Run at least one inspection from inside a subdirectory and compare `--full-name` with `--full-tree`. Finally, pipe the non-recursive tree listing into `git mktree` and confirm that inspection and construction are separate operations.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Merge Conflict Resolution: From Unmerged Paths to a Resolved Index</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-merge-conflict-resolution/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-merge-conflict-resolution/</guid>
      <description>Create a disposable repository with a common base and two branches that conflict on at least two tracked paths. Start the merge and record the unresolved state. Resolve exactly one path first. Prove with `git ls-files --unmerged` that the other path is still unresolved. Then resolve the remaining path, stage both, and verify that the unmerged query is empty. Use `git diff --cached` to record the exact snapshot you have prepared. Finally verify that `HEAD` has not moved and `MERGE_HEAD` still identifies the incoming commit. Do not run the final merge-completion command; that belongs to V440. Success requires evidence at three checkpoints: (1) both paths are initially unmerged, (2) exactly one remains after the first `git add`, and (3) none remain after the second resolution. Your final evidence must also show that resolving the index did not itself move HEAD or delete MERGE_HEAD.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Merge Conflicts: Detecting and Inspecting the Unresolved State</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-merge-conflicts/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-merge-conflicts/</guid>
      <description>Create a disposable repository with one common base commit, then create two branches that make incompatible edits to the same tracked file. Attempt the merge and collect evidence before changing anything. Record: the non-zero exit status; `git status --short --branch`; the current `HEAD`; `git rev-parse MERGE_HEAD`; every `git ls-files --unmerged` stage for the conflicting path; the working-tree conflict markers; and the parent list of `HEAD`. Your evidence must demonstrate that the branch tip did not become a new merge commit even though Git entered merge state. Do not resolve, continue, or abort the merge until all observations are recorded. Success requires a state table with separate columns for command result, working tree, index, HEAD, and merge metadata. The table must explicitly distinguish “conflict exists,” “merge is in progress,” and “merge commit does not yet exist.”</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Merge Continue and Abort: Completing or Abandoning an In-Progress Merge</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-merge-continue-abort/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-merge-continue-abort/</guid>
      <description>Create a disposable repository with two diverging branches that conflict on one tracked path. Record the receiving and incoming tips before the merge. Start the merge and inspect the interrupted state. Then perform one complete laboratory run by resolving the conflict, staging the result, configuring a deterministic editor for the merge message, and running `git merge --continue`; prove the new HEAD has two parents and that the merge-in-progress state is gone. Perform a second independent run in which you start the conflict and run `git merge --abort`; prove the receiving branch returned to its pre-merge tip and the working tree matches that tip. Do not treat exit status alone as proof; inspect repository state and history. Success requires two independent proofs: the continuation run must produce a new two-parent merge commit and clear the interrupted merge state; the abort run must restore the receiving branch&#39;s pre-merge tip and clear the interrupted merge state without creating a merge commit.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Fast-Forward vs True Merge: Commit-Graph Outcomes</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-merge-fast-forward-vs-true-merge/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-merge-fast-forward-vs-true-merge/</guid>
      <description>Create three disposable repositories. In the first, construct a descendant relationship and perform a default fast-forward. Record the old and new `main` object IDs and prove that the new tip already existed before the merge. In the second, construct divergent histories and perform a true merge; record the new merge commit and its parents. In the third, construct a fast-forwardable history, compare default merge with `--no-ff`, then construct a divergent history and prove that `--ff-only` refuses it. Your evidence must include exit statuses, object IDs, and parent lists. Do not infer the outcome solely from file content. Success requires a written state table for each experiment: pre-merge branch tips, ancestry relationship, command, exit status, post-merge branch tip, and parent list. The table must distinguish “new commit created” from “existing commit adopted.”</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Merge vs Rebase vs Cherry-Pick: Comparing History Transformations</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-merge-rebase-cherry-pick-comparison/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-merge-rebase-cherry-pick-comparison/</guid>
      <description>Build three small disposable repositories. In the first, create divergent branches and merge them; record both merge parents. In the second, create a topic sequence and a new main base, then rebase the topic; record old and new commit IDs and verify ancestry. In the third, create two source commits, switch to another destination history, and cherry-pick only the first; prove that the second source change was not selected.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git mktag: Construct Tag Objects with Validation</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-mktag/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-mktag/</guid>
      <description>In a disposable repository, create one commit and record its object ID. Construct a valid annotated-tag object input containing that commit as the target, a tag name, tagger identity, timestamp, and message. Run `git mktag` and capture the printed object ID. Verify with `git cat-file -t` that it is a tag object and with `git cat-file -p` that the stored contents match your input. Then change only the annotation message, run `git mktag` again, and demonstrate that the object ID changes. Finally, deliberately use a nonexistent target object and show that `git mktag` rejects the input. Do not create a tag reference with `git tag`; the exercise is specifically about the tag-object layer.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git mktree: Build Tree Objects from ls-tree Data</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-mktree/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-mktree/</guid>
      <description>In a disposable repository, create at least two files and commit them. Obtain the commit&#39;s tree with `git rev-parse HEAD^{tree}`. Pipe its non-recursive `git ls-tree` output into `git mktree` and prove that the resulting object ID matches the original tree. Repeat with `-z`, then create a tree input that references a deliberately missing object and demonstrate the difference between default behavior and `--missing`. Finally, build two trees with one `--batch` invocation.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Multi-Pack Index: Indexing Multiple Packfiles</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-multi-pack-index/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-multi-pack-index/</guid>
      <description>Create a disposable repository with enough commits to produce a set of objects, create multiple packfiles in the lab, and run `git count-objects -v` before creating a MIDX. Run `git multi-pack-index write`, confirm the MIDX exists, and run `git multi-pack-index verify`. Then run `git multi-pack-index repack --batch-size=1m`, followed by `git multi-pack-index expire` and another `git multi-pack-index verify`. Record the number of packfiles before and after the MIDX operations and explain why creating a MIDX is different from merging all objects into one pack. Finish with `git fsck --full` and explain why MIDX verification and object-integrity checking answer different questions. This lesson uses only official Git project documentation for command semantics: `git-multi-pack-index`, `gitformat-pack`, `git-repack`, `git-fsck`, and the Git 2.56.0 command index. No third-party Git documentation is used for command semantics.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git name-rev: Find Symbolic Names for Commits</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-name-rev/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-name-rev/</guid>
      <description>Create a disposable repository with at least three commits, a branch, and a tag. Then run the following workflow. Record which symbolic name Git chooses for `HEAD~1`, compare branch-based naming with `--tags`, restrict the candidates with `--refs`, and finally annotate a line containing the current commit ID. Expected learning outcome: you can explain why the reported name depends on the candidate refs, and you can distinguish a symbolic description from an actual ref stored in the repository.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Non-Fast-Forward Rejection: Safe Integration Before Publishing</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-non-fast-forward-safe-integration/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-non-fast-forward-safe-integration/</guid>
      <description>Create one bare remote and two disposable clones. From clone A, create a local commit without pushing it. From clone B, create and push a different commit. Attempt the stale push from clone A and record the rejection plus the unchanged remote tip. Fetch from A and record the updated `origin/main`. In one disposable copy, merge `origin/main` into A and verify that the resulting merge commit has both histories as ancestors before pushing. In another disposable copy, re-create the divergence, rebase A onto `origin/main`, verify that the local commit identity changed and the remote tip became an ancestor, then push. Finally, create an intentionally rewritten local tip and demonstrate that an explicit `--force-with-lease=&lt;ref&gt;:&lt;expected&gt;` succeeds only when the remote ref still equals the recorded expected object ID.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Notes: Attach Metadata to Git Objects</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-notes/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-notes/</guid>
      <description>Create a disposable repository with at least two commits. Add a review note to the first commit, inspect it with `show` and `list`, append a second observation, and copy the resulting note to the second commit. Create a separate `refs/notes/review` annotation set and verify that its note is independent of the default notes ref. Remove one note and verify that it is gone. Run `git notes prune -n` and explain why note history is stored separately from the annotated commit. Finally, create two notes refs and perform a non-conflicting notes merge. Record which refs changed and why none of these operations changed the object ID of the commits.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Object Storage: Count, Repack, and Verify Packfiles</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-object-storage-inspection/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-object-storage-inspection/</guid>
      <description>Create a disposable repository with at least two commits. Run `git count-objects -v -H` and record the loose-object count. Run `git repack -ad`, run the count again, and identify the changes in `count`, `in-pack`, `packs`, and `size-pack`. Locate the resulting `.idx` file under `.git/objects/pack/` and verify it with `git verify-pack`, then repeat with `-s` and `-v`. Finally run `git fsck --full` and explain why successful pack verification and successful object-integrity checking answer different questions. This lesson uses only official Git project documentation for command semantics: `git-count-objects`, `git-repack`, `git-verify-pack`, `git-fsck`, and the Git 2.56.0 command index. No third-party Git documentation is used for command semantics.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git pack-objects: Construct Pack Archives</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-pack-objects/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-pack-objects/</guid>
      <description>In a disposable repository with several commits and an annotated tag, produce a pack from an explicit object list with `--stdout`. Produce another using `--revs`, then compare the resulting packs with `git index-pack` or the existing pack-inspection lessons. Repeat with `--all`, `--unpacked`, and `--incremental`; record which object sets are selected. Finally, generate a tuned pack using `--window`, `--depth`, and `--delta-base-offset`, and explain how `pack-objects` differs from `repack`.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git pack-refs: Pack References for Efficient Storage</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-pack-refs/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-pack-refs/</guid>
      <description>Create a disposable repository with at least two commits, three branches, and three tags. Inspect `.git/refs` before packing. Run `git pack-refs --all`, then prove that the branch and tag names still resolve even though their loose files have been removed. Create or update a branch and observe that an active branch can become loose again. Run `git pack-refs --all --no-prune` and explain what remains on disk. In a fresh disposable repository, use `--include &#39;refs/heads/feature/*&#39;` to pack only feature branches, then use `--all --exclude &#39;refs/heads/feature/*&#39;` and explain why an exclusion does not unpack refs that were already packed. Finally run `git pack-refs --auto` and explain why its behavior is policy-driven. Finish by explaining why `git pack-refs` and `git repack` must not be treated as interchangeable storage operations. This lesson uses only official Git project documentation for command semantics: `git-pack-refs`, the Git 2.56.0 command index, and the official ref-storage documentation referenced by those manuals. No third-party Git documentation is used for command semantics.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git prune-packed: Remove Loose Copies of Packed Objects</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-prune-packed/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-prune-packed/</guid>
      <description>In a disposable repository, create at least one commit, create a pack containing the repository&#39;s reachable objects without deleting the loose objects, and confirm that both representations exist. Run `git prune-packed --dry-run` and record the loose object paths it proposes to remove. Then run `git prune-packed` and verify that those loose files are gone while the packed object remains readable. Finally, explain why this operation does not depend on whether the commit is reachable.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git prune: Remove Unreachable Objects Safely</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-prune/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-prune/</guid>
      <description>In a disposable repository, create a commit on a temporary branch, delete that branch, and expire the test repository&#39;s reflogs so the commit becomes genuinely unreachable for the experiment. Use `git fsck --unreachable --no-reflogs` to identify the unreachable commit and supporting objects. Run `git prune -n -v --expire=now` and record the candidates without changing the repository. Confirm the unreachable commit still exists. Then run `git prune --expire=now` and verify that the commit can no longer be resolved as an object. Repeat the experiment with an additional `&lt;head&gt;` pointing to the temporary commit and prove with a dry run that objects reachable from that head are protected. Finally explain why the same operation would be risky in a real repository and why `git gc` is normally preferred for routine maintenance. This lesson uses only official Git project documentation for command semantics: `git-prune`, the Git 2.56.0 command index, and the official `git-fsck` and `git-gc` documentation for command boundaries. No third-party Git documentation is used for command semantics.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Pull: Fetching and Integrating Remote History</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-pull/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-pull/</guid>
      <description>Create a disposable bare repository and two working clones. Publish an initial commit, then create a new remote commit from the second clone. In the first clone, record HEAD and the remote-tracking tip, run an explicit `git pull --ff-only origin main`, and verify that the local branch advances to the fetched commit without creating a merge commit. Then create independent local and remote commits from a common base and compare `git pull --ff-only origin main` with `git pull --no-rebase origin main` in separate disposable repositories. Record which state changes occur in each case and verify that no pull command publishes local commits back to the remote.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Push: Publishing Local Refs to a Remote Repository</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-push/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-push/</guid>
      <description>Create a disposable bare repository and a working clone. Make a local commit, record the local `HEAD`, the remote `refs/heads/main`, and the local `refs/remotes/origin/main`, then run `git push origin main`. Verify the remote ref and transferred commit object, verify the local HEAD did not move, and observe the local remote-tracking ref after the successful push. Next, create a local `topic` branch and push it with `git push origin topic`; verify that the remote topic ref exists. Finally, create genuine divergence in two clones and verify that an ordinary push is rejected without changing the remote tip. Repeat the publication with `--dry-run` first and confirm that the remote remains unchanged until the real push.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Range-Diff: Compare Commit Series</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-range-diff/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-range-diff/</guid>
      <description>Create a disposable repository with a base commit and an old topic series of at least three commits. Record the old tip. Create a revised topic series from the same base in which one patch is rewritten, one patch is retained with a changed commit message or patch, and one new patch is added. Run the two explicit-range form, the three-revision form, and the symmetric form. Identify each `=`, `!`, `&lt;`, and `&gt;` relationship in the output. Then run `--creation-factor`, `--left-only`, `--right-only`, `--no-dual-color`, and a path-restricted comparison. Explain which review question each command answers. Do not rebase, reset, or otherwise rewrite the series as part of the exercise.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git read-tree: Read and Merge Trees into the Index</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-read-tree/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-read-tree/</guid>
      <description>In a disposable repository, create a base commit and a second commit. Use an alternate `GIT_INDEX_FILE` to read the base tree, prove the index entries with `git ls-files --stage`, empty the alternate index, and read the tree again under a prefix. Then use `--index-output` to produce a separate index file. Verify `--dry-run` leaves the index unchanged. Finally, create two divergent commits from a common ancestor and use `git read-tree -m BASE OURS THEIRS` with an alternate index; inspect the resulting stage 1/2/3 entries with `git ls-files --stage`. Repeat a non-conflicting two-tree merge and, separately, a `-u` operation in a disposable worktree to observe the working-tree boundary.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Rebase Model: Transplanting Commits onto a New Base</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-rebase-model/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-rebase-model/</guid>
      <description>Create a disposable repository with a base commit. Create a topic branch and commit topic work. Advance main with a separate commit. Return to topic and run `git rebase main`. Record the topic tip before and after, prove the IDs differ, prove the new topic tip descends from main, and verify that main itself did not move. Do not use interactive rebase or resolve a conflict here; those are later ownership boundaries.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Rebase: Running, Controlling, and Verifying History Rewrites</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-rebase/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-rebase/</guid>
      <description>In a disposable repository, create a base commit, branch to `topic`, make a topic commit, advance `main` independently, then rebase `topic` onto `main`. Record the topic tip before and after. Prove the IDs differ, prove the new topic tip descends from main, and verify that main did not move. Then repeat the experiment with `--onto` using a three-branch topology. Do not use interactive rebase; do not publish the rewritten branch.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git References and Branch Tips: Commits Are Objects, Branches Are Names</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-references-and-branch-tips/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-references-and-branch-tips/</guid>
      <description>Build a disposable repository with at least two commits. Record the object IDs that `main` resolves to. Create a second branch without switching, prove that both branch names resolve to the same commit, and prove that the working tree is still on the original branch. Then advance the second branch with one real commit. Record both branch tips and show that only the second branch moved. Finally, compare the repository&#39;s object-ID/type inventory immediately before and after creating a branch and explain why the result demonstrates a reference change rather than commit creation. Do not use a mock Git implementation. Success requires evidence about references and objects, not only command exit codes. Capture the full ref name, the commit IDs before and after each branch movement, the current branch name, and the object inventory comparison. The key conclusion should be stated in Git&#39;s own terms: branch refs move; commit objects are identified by object names and are not duplicated merely because another ref points at them.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Reflog: Reading the Local History of References</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-reflog/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-reflog/</guid>
      <description>Create a disposable repository with three commits on `main`. Create a feature branch and switch between the branches so the HEAD reflog records checkouts. Then switch back to main, move `main` backward with `git reset --hard HEAD~1`, and inspect both the branch reflog and HEAD reflog. Resolve `main@{1}` and prove that it names the pre-reset commit. Do not recover or delete anything yet; the next lesson owns recovery workflows.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Remote Management: Configuring and Inspecting Remotes</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-remote-management/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-remote-management/</guid>
      <description>Create a disposable repository with a local commit, add a bare repository as `origin`, inspect its URL, add a second remote named `upstream`, change the upstream URL, rename it to `backup`, and finally remove `backup`. At each step, verify the local configuration with `git remote`, `git remote -v`, and `git config --get-regexp &#39;^remote\.&#39;`. Confirm at the end that the current branch and HEAD object ID are unchanged by the remote administration operations.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Remote Names and Remote-Tracking References</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-remote-names-and-tracking-refs/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-remote-names-and-tracking-refs/</guid>
      <description>Create two disposable repositories: a source repository and a bare remote. Add the remote to the source with a non-default name such as upstream, publish main, and create a separate clone. In the clone, inspect the remote name and fetch refspec, verify refs/remotes/origin/main, then advance the source main branch and fetch again. Prove with object IDs that origin/main advances while the clone’s current local branch and working tree remain unchanged. Finally create a new topic branch in the source, publish it, fetch in the clone, and prove that refs/remotes/origin/topic exists while refs/heads/topic does not. Record the exact refs and object IDs you observed.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Removing and Moving Tracked Files</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-removing-and-moving-tracked-files/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-removing-and-moving-tracked-files/</guid>
      <description>Build a disposable repository containing `keep.txt`, `remove-me.txt`, and `notes.txt`. Commit them. Then: (1) remove `remove-me.txt` with `git rm`; (2) rename `notes.txt` to `documentation.txt` with `git mv`; (3) verify both changes are staged; (4) confirm `keep.txt` is still tracked and present; (5) commit the changes; and (6) verify the final commit contains the new path and no longer contains the removed path.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Repository Creation and Cloning</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-repository-creation-and-cloning/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-repository-creation-and-cloning/</guid>
      <description>Build a complete local laboratory without using a network service. First create an ordinary repository named `source-repo` with initial branch `main`, add and commit one file, then create a bare repository named `shared.git` and push `main` to it. Finally clone `shared.git` into `clone-repo`. Verify the clone rather than trusting the command&#39;s success message: prove that the current branch is `main`, the working tree is clean, `origin` points to `shared.git`, and the local HEAD matches `origin/main`. Then create a non-empty directory and confirm that attempting to clone into it fails without deleting its existing file.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Reset: Moving HEAD and Controlling Local State</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-reset-state-transitions/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-reset-state-transitions/</guid>
      <description>Create a disposable repository with at least two commits. First make a new edit and stage it, then use the path form of `git reset` to unstage it without losing the working-tree edit. Next create a second commit, record its object ID, and experiment in separate disposable copies with `--soft`, `--mixed`, and `--hard` resets to its parent. For each mode, record the resulting `HEAD`, index, working-tree content, `ORIG_HEAD`, and `git status --short`. Explain exactly which states changed and which did not. Success means you can predict the state transition before running each command and then verify the prediction with `git rev-parse`, `git diff`, `git diff --cached`, file contents, and `git status --short`. Never use `--hard` on work you need to keep.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Restore, Reset, and Revert: Choosing the Operation by State</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-restore-reset-revert-decision-lab/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-restore-reset-revert-decision-lab/</guid>
      <description>Build four disposable repositories or reset one disposable repository between trials. Trial 1: create a tracked working-tree edit while keeping the index at the desired version, then use the operation that changes only the working tree. Trial 2: stage an edit and then unstage it without losing the working-tree change. Trial 3: make a prior commit&#39;s version of one path the current index and working-tree version without moving `HEAD`. Trial 4: create a history with a change that should remain in the graph but whose effect must be reversed by a new commit. Before each command, write down the state that must change; after it, verify `HEAD`, `git status --short`, `git diff --cached`, `git diff`, and `git log --oneline --decorate --graph`. Success means you can justify the command from the desired state transition, predict which of the working tree, index, branch tip, and commit history will change, and verify those predictions with real Git. Include at least one case where two commands could make a file look similar but only one satisfies the required history outcome.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Restore: Correcting Working Tree and Index State</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-restore-state-recovery/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-restore-state-recovery/</guid>
      <description>Create a disposable repository with one committed file. Make one edit and stage it, then make a second working-tree edit. Use `git diff --cached` and `git diff` to observe the two states. Use `git restore --staged` to remove the first change from the index without discarding the working-tree content. Then use `git restore` to make the working tree match the index. Finally, verify that `HEAD` and the branch tip never changed during the restore operations. Success means you can identify which local state each command changed, explain the source used by default, and demonstrate that no commit was rewritten or created.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Revert: Recording a History-Preserving Reversal</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-revert-history-correction/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-revert-history-correction/</guid>
      <description>Create a disposable repository with at least three commits whose effects are easy to distinguish. Revert the newest commit, then inspect the resulting history and patch. In a separate disposable repository, revert an earlier commit while preserving a later commit. Finally, construct a controlled conflict during a revert, resolve it, and complete the operation. Record the original target commit ID, the new revert commit ID, `HEAD`, `git show`, `git diff`, and `git status --short` before and after each operation. Success means you can predict that revert adds history rather than moving the branch tip, can identify the commit whose patch is being reversed, and can explain what happens when the inverse patch conflicts. Never substitute `reset --hard` for a history-preserving revert when the original commit must remain in the branch history.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Revision Selection and Ancestry Queries</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-revision-names-and-ranges/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-revision-names-and-ranges/</guid>
      <description>Create a disposable repository with a base commit, two commits on a topic branch, two commits on `main`, and a non-fast-forward merge. Record the merge&#39;s first and second parent IDs. Use `MERGE^`, `MERGE^2`, `MERGE~2`, `MERGE^@`, `MERGE^!`, and `MERGE^-2` and explain each result. Then create two divergent branch tips and prove `A..B`, `^A B`, and `A...B` produce the documented commit sets. Finally, build a commit containing a deliberately chosen message and file, resolve it with `:/message` and `R:path`, and compare `git log A...B` with `git diff A...B` so the history-selection and endpoint-comparison semantics are explicit.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Safe Recovery Laboratories: ORIG_HEAD, Backup References, and Abortable Operations</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-safe-recovery-laboratories/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-safe-recovery-laboratories/</guid>
      <description>Run all four laboratories in disposable repositories. For Lab 1, record the original `HEAD`, perform a hard reset to an earlier commit, prove that `ORIG_HEAD` names the original tip, and recover to it. For Lab 2, create a named safety branch before moving `HEAD`, then use that reference to recover. For Lab 3, construct a real conflicting revert, inspect the in-progress state, and use `git revert --abort`; verify that `HEAD`, tracked files, and status return to their pre-sequence values. For Lab 4, write a short recovery record naming the state that changed, the recovery anchor, the command used, and the post-recovery evidence. Success requires state evidence, not just a zero exit status. For every laboratory, capture the commit IDs before and after the destructive or abortable operation, verify working-tree and index state, and explain why the chosen recovery anchor was valid for that specific operation.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git show-index: Inspect Pack Indexes</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-show-index/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-show-index/</guid>
      <description>Create a disposable repository containing at least two commits. Generate or obtain a pack containing its objects, locate the corresponding `.idx` file, and use `git show-index` to inspect it. Record the first few lines and identify the three fields on a version-2 index line. Then run the same inspection with `--object-format=sha1` and compare the object IDs. Finally, use `git verify-pack -v` on the same index and explain one concrete difference between the two commands.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Show: Reading Committed Snapshots</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-show-reading-committed-snapshots/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-show-reading-committed-snapshots/</guid>
      <description>Create a disposable repository with two commits. Inspect the second commit with `git show`, then inspect the first commit explicitly. Use `--no-patch` to inspect commit information without the patch, and use a path restriction to inspect only the file changed by the second commit. Finally compare the two snapshots with `git diff` and explain why the outputs answer different questions.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git show-ref: Inspect Local References</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-show-ref/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-show-ref/</guid>
      <description>Create a disposable repository with two branches, one lightweight tag, and one annotated tag. Use `git show-ref` to produce: (1) the complete ref listing, (2) branches only, (3) tags only, (4) exact verification of one branch, (5) an existence test for an existing and a missing ref, (6) an annotated-tag dereference, (7) hash-only output, and (8) an `--exclude-existing` filter fed by standard input. Record the exit status of the existence and verification checks. Then run `git pack-refs --all` and repeat the inspection to demonstrate that logical refs remain visible even when their loose files have been packed. Do not manually read `.git/packed-refs` as a substitute for the command&#39;s output.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Sparse-Checkout: Work with a Selected Working-Tree Subset</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-sparse-checkout/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-sparse-checkout/</guid>
      <description>Create a disposable repository containing at least three directories with tracked files. Initialize sparse-checkout in cone mode, select two directories, verify the selected and omitted paths, add another directory, and inspect the selection with `list`. Then disable sparse-checkout and confirm the full working tree is restored. Reinitialize in non-cone mode, select files with patterns, and repeat the inspection. Deliberately create a temporary divergence by restoring or creating a tracked file outside the sparse selection, run `reapply`, and observe the result. Finally, repeat the setup once with `--sparse-index`. Explain why none of these operations delete the omitted files from Git history and why sparse-checkout is different from partial clone.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Stash Inspection, Application, and Recovery</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-stash-inspection-application-recovery/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-stash-inspection-application-recovery/</guid>
      <description>Create a disposable repository with at least two stash entries. Use `git stash list` to identify them, inspect each with `git stash show` and one with `--patch`, then apply one without deleting it. Verify that the stash remains listed. Create a second disposable branch scenario in which the original branch has moved after the stash was created; use `git stash branch` to recover the stash on a branch based on its original commit. Finally, demonstrate the difference between `drop` and `clear` in separate disposable repositories. Record the exact command, selected stash revision, pre-operation status, post-operation status, and whether the stash entry remains.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Stashing</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-stashing/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-stashing/</guid>
      <description>Create a disposable repository with one committed tracked file. Make one staged change and one separate unstaged change, then create a stash with `--keep-index`. Verify that the staged change remains staged and the other change is no longer present in the working tree. Next, create an untracked file and use `--include-untracked` to stash it. Finally, create an ignored file and use `--all` to stash it. Record the exact `git status --short` state before and after each operation, and explain which option caused each file class to be included or excluded.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Switch: Changing the Current Branch Safely</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-switch/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-switch/</guid>
      <description>Create a disposable repository with at least two divergent local branches. Make one branch current, introduce a controlled local modification, and attempt to switch to the other branch. Record whether Git permits or rejects the switch and why. Then repeat with a non-conflicting local modification, use `git switch -` to return to the previous branch, create a new branch with `git switch -c` from an explicit start point, and verify every resulting branch tip with `git rev-parse --verify &lt;name&gt;^{commit}`. In a separate disposable repository, demonstrate the difference between `--discard-changes` and `--merge`; if `--merge` produces a conflict, inspect the index state rather than hiding it. Do not use detached HEAD in this exercise; that belongs to the next lesson. Success requires evidence of the state transition: current branch before and after, target branch tip object IDs, working-tree/index status, and the exact reason a switch was accepted or refused. Destructive flags must be demonstrated only in disposable repositories.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Tag Inspection and Deletion</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-tag-inspection-and-deletion/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-tag-inspection-and-deletion/</guid>
      <description>Create a disposable repository with at least three commits and create both lightweight and annotated tags using the V457 creation rules. List all tags, then use a pattern to isolate one naming family. Use `--points-at` on a commit that has both tag forms and use `--contains`, `--merged`, and `--no-merged` against chosen commits so that you can explain the different questions each filter answers. Inspect an annotated tag with `git show` and its listing annotation with `git tag -n`. Finally, delete one lightweight tag and one annotated tag. Before each deletion, save the resolved reference value; after deletion, verify that `refs/tags/&lt;name&gt;` no longer resolves. For an annotated tag, optionally inspect the saved tag-object ID immediately after deletion to demonstrate why deleting a reference is not the same as deleting an object. Perform all deletion work in the disposable repository. Success requires a written state record for each filter and deletion: the tags present before the operation, the exact question the command answers, the reference state after deletion, and—if tested—the immediate object type of a saved tag-object ID. Do not use the Foxipa source repository for destructive demonstrations.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Tag Verification</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-tag-verification/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-tag-verification/</guid>
      <description>Create a disposable repository and make at least two commits. Create one unsigned annotated tag and one cryptographically signed tag using a temporary verification setup appropriate to your platform. Record the exact tag object IDs, run `git show` on both tags, and then run `git tag -v` on the signed tag. Also run verification on the unsigned tag and preserve the diagnostic. If your environment cannot create or verify a signature, document the missing dependency rather than claiming success. Finally, run `git verify-tag` against the signed tag and compare its result with `git tag -v`. Success requires a written state record distinguishing: (1) annotated versus signed, (2) signature validity versus key/trust availability, (3) `git tag -v` versus `git verify-tag`, and (4) cryptographic verification versus your project’s separate provenance or authorization rules. Perform all signing experiments in the disposable repository.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git unpack-objects: Expand Pack Archives into Loose Objects</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-unpack-objects/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-unpack-objects/</guid>
      <description>Create two disposable repositories. Put at least two commits in the source repository and use Git plumbing to produce a pack containing the source objects. In a clean receiver repository, run `git unpack-objects --dry-run` first, then unpack the pack. Capture evidence with `git count-objects -v` and `git cat-file -t &lt;object-id&gt;` showing that the receiver now has loose objects. Repeat the unpack to demonstrate that already-present objects are skipped. Finally, explain when `--strict`, `-q`, and `-r` would be appropriate and why `git unpack-objects` is the inverse storage direction of `git pack-objects`.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Upstream and Tracking Configuration: Connecting Local Branches to Remote Branches</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-upstream-tracking/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-upstream-tracking/</guid>
      <description>Create a disposable bare remote and clone it. Verify that the cloned main branch has an upstream. Create a local topic branch from origin/main with --no-track and verify that topic@{upstream} fails. Then set its upstream explicitly with git branch --set-upstream-to=origin/main topic and verify the relationship with git branch -vv and topic@{upstream}. Change the tracking target to another remote-tracking branch without moving topic, then remove the upstream with --unset-upstream. Finally, create another branch with --track=direct and observe that the branch tip and its upstream relationship are separate pieces of state.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Version, Help, and Configuration</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-version-help-configuration/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-version-help-configuration/</guid>
      <description>Create a disposable repository named `git-config-practice`. Verify the Git version, obtain command help, configure a repository-local practice identity, and prove that the values can be read back from local configuration. Do not change global Git configuration. Success means the repository exists, the version command reports a Git version, help commands execute, both local identity values can be read back, and the configuration listing identifies the repository configuration source. The exercise does not require any commit.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Worktree Lifecycle: Lock, Move, Repair, Prune, and Remove</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-worktree-lifecycle/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-worktree-lifecycle/</guid>
      <description>In a disposable repository, create one linked worktree for a branch and prove it appears in `git worktree list`. Lock it with a reason, inspect the locked annotation, and demonstrate that normal removal is refused. Unlock it, move it with `git worktree move`, and verify the new path. Create a second linked worktree, move that directory manually, observe the stale administrative state, repair it with `git worktree repair`, and then remove it cleanly. Finally create a detached worktree, delete its directory manually, run `git worktree prune -n -v` to preview cleanup, then run `git worktree prune -v` and verify the stale entry is gone. Separately, create an unclean disposable worktree and demonstrate that normal removal refuses it before using `--force` only to discard that disposable worktree.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git Multiple Worktrees</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-worktrees/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-worktrees/</guid>
      <description>Create a repository with one initial commit. Then create (1) a linked worktree on a new branch named `feature-a`, (2) another linked worktree on a new branch named `feature-b`, and (3) a detached worktree at the initial commit. Use `git worktree list --porcelain` to verify all worktrees. Finally, make a distinct uncommitted edit in each linked worktree and confirm that each directory has its own working-tree state. Success criteria: the main worktree and all three linked worktrees appear in the listing; feature-a and feature-b are named branches; the experiment worktree is detached; and an edit made in one worktree does not silently appear as an uncommitted edit in another worktree.</description>
    </item>
    <item>
      <title>Complete the Git commands: Git write-tree: Turn the Index into Tree Objects</title>
      <link>https://foxipa.com/en/git/exercise/code-completion/git-write-tree/</link>
      <guid>https://foxipa.com/en/git/exercise/code-completion/git-write-tree/</guid>
      <description>Create a disposable repository containing a nested directory and at least two files. Stage the files, run `git write-tree`, and prove that the returned object is a tree. Then run `git write-tree --prefix=&lt;your-directory&gt;/` and inspect the resulting subtree with `git ls-tree`. Finally, create an unresolved merge in a disposable repository and demonstrate that `git write-tree` refuses the unmerged index; resolve the conflict, stage the result, and show that write-tree succeeds.</description>
    </item>
    <item>
      <title>Git prune-packed Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-prune-packed/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-prune-packed/</guid>
      <description>Check your understanding of redundant loose objects and packed-object cleanup.</description>
    </item>
    <item>
      <title>Complete the custom element</title>
      <link>https://foxipa.com/en/html/exercise/code-completion/custom-elements/</link>
      <guid>https://foxipa.com/en/html/exercise/code-completion/custom-elements/</guid>
      <description>Complete an autonomous custom element with registration, lifecycle behavior, and observed attributes.</description>
    </item>
    <item>
      <title>Complete the native disclosure</title>
      <link>https://foxipa.com/en/html/exercise/code-completion/details/</link>
      <guid>https://foxipa.com/en/html/exercise/code-completion/details/</guid>
      <description>Complete the HTML needed to create an exclusive details group with one initially open item.</description>
    </item>
    <item>
      <title>Complete the ruby annotation</title>
      <link>https://foxipa.com/en/html/exercise/code-completion/ruby/</link>
      <guid>https://foxipa.com/en/html/exercise/code-completion/ruby/</guid>
      <description>Complete native HTML ruby markup with base text, ruby text, and fallback punctuation.</description>
    </item>
    <item>
      <title>Test your knowledge: HTML Custom Elements</title>
      <link>https://foxipa.com/en/html/exercise/quiz/custom-elements/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/custom-elements/</guid>
      <description>Checkpoint on custom-element naming, registration, upgrades, lifecycle callbacks, observed attributes, and native-versus-custom semantics.</description>
    </item>
    <item>
      <title>Test your knowledge: &lt;details&gt; and &lt;summary&gt;</title>
      <link>https://foxipa.com/en/html/exercise/quiz/details/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/details/</guid>
      <description>Checkpoint on disclosure structure, open state, exclusive groups, toggle events, and semantic boundaries.</description>
    </item>
    <item>
      <title>Test your knowledge: &lt;ruby&gt;, &lt;rt&gt;, and &lt;rp&gt;</title>
      <link>https://foxipa.com/en/html/exercise/quiz/ruby/</link>
      <guid>https://foxipa.com/en/html/exercise/quiz/ruby/</guid>
      <description>Checkpoint on the current HTML ruby annotation model, structure, fallback punctuation, and semantic boundaries.</description>
    </item>
    <item>
      <title>JavaScript Execution Model: Contexts, Realms, Jobs &amp; Agents — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/execution-model-contexts-realms-jobs-agents/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/execution-model-contexts-realms-jobs-agents/</guid>
      <description>Practice execution-model concepts with small JavaScript completions.</description>
    </item>
    <item>
      <title>JavaScript Explicit Resource Management — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/explicit-resource-management/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/explicit-resource-management/</guid>
      <description>Practice using declarations, disposal protocols, and disposable stacks.</description>
    </item>
    <item>
      <title>Modern ECMAScript Update Pass — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/modern-ecmascript-update-pass/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/modern-ecmascript-update-pass/</guid>
      <description>Practice selecting modern standardized ECMAScript APIs.</description>
    </item>
    <item>
      <title>JavaScript Weak References &amp; FinalizationRegistry — Code Completion</title>
      <link>https://foxipa.com/en/javascript/exercise/code-completion/weak-references-finalization-registry/</link>
      <guid>https://foxipa.com/en/javascript/exercise/code-completion/weak-references-finalization-registry/</guid>
      <description>Practice WeakRef, FinalizationRegistry, unregister tokens, and safe weak-lifetime handling.</description>
    </item>
    <item>
      <title>JavaScript Execution Model: Contexts, Realms, Jobs &amp; Agents — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/execution-model-contexts-realms-jobs-agents/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/execution-model-contexts-realms-jobs-agents/</guid>
      <description>Check your understanding of ECMAScript execution contexts, Realms, Jobs, agents, and host boundaries.</description>
    </item>
    <item>
      <title>JavaScript Explicit Resource Management — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/explicit-resource-management/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/explicit-resource-management/</guid>
      <description>Check your understanding of using, await using, disposal protocols, disposable stacks, and deterministic resource lifetimes.</description>
    </item>
    <item>
      <title>Modern ECMAScript Update Pass — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/modern-ecmascript-update-pass/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/modern-ecmascript-update-pass/</guid>
      <description>Check your understanding of recent standardized ECMAScript additions and their ownership in the curriculum.</description>
    </item>
    <item>
      <title>JavaScript Weak References &amp; FinalizationRegistry — Quiz</title>
      <link>https://foxipa.com/en/javascript/exercise/quiz/weak-references-finalization-registry/</link>
      <guid>https://foxipa.com/en/javascript/exercise/quiz/weak-references-finalization-registry/</guid>
      <description>Check your understanding of weak liveness, WeakRef, FinalizationRegistry, unregister tokens, and nondeterministic cleanup.</description>
    </item>
    <item>
      <title>Complete the Python modules and imports code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/modules/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/modules/</guid>
      <description>Practice importing modules, selecting names, using aliases, and protecting top-level program code.</description>
    </item>
    <item>
      <title>Complete the Python tuples and sets code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/tuples-and-sets/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/tuples-and-sets/</guid>
      <description>Practice tuple construction and unpacking, set creation and operations, and immutable set values.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Modules and Imports</title>
      <link>https://foxipa.com/en/python/exercise/quiz/modules/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/modules/</guid>
      <description>Check your understanding of modules, import forms, namespaces, __name__, and python -m.</description>
    </item>
    <item>
      <title>Test your knowledge: Python Tuples and Sets</title>
      <link>https://foxipa.com/en/python/exercise/quiz/tuples-and-sets/</link>
      <pubDate>Tue, 06 Oct 2026 13:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/python/exercise/quiz/tuples-and-sets/</guid>
      <description>A short assessment covering tuple construction, unpacking, set uniqueness, set operations, and frozenset.</description>
    </item>
    <item>
      <title>Barcode Generator</title>
      <link>https://foxipa.com/en/tools/barcode-generator/</link>
      <guid>https://foxipa.com/en/tools/barcode-generator/</guid>
      <description>Generate eleven scannable 1D barcode symbologies — Code 128, EAN-13, UPC, ITF-14, Codabar and more — with precise validation, automatic check digits and PNG/SVG export, entirely in your browser.</description>
    </item>
    <item>
      <title>Big-O Calculator — Analyze Time &amp; Space Complexity of Your Code</title>
      <link>https://foxipa.com/en/tools/big-o-calculator/</link>
      <guid>https://foxipa.com/en/tools/big-o-calculator/</guid>
      <description>Free Big-O calculator: paste JavaScript and get time and space complexity with a step-by-step derivation, loop map, recursion analysis via the Master theorem, side-by-side comparison, and growth-rate charts. Runs entirely in your browser.</description>
    </item>
    <item>
      <title>Complete Python custom subscription, Sequence, Mapping, and Set code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/custom-subscription/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/custom-subscription/</guid>
      <description>Practice subscription, assignment, deletion, reverse iteration, and implementing the collections.abc Sequence, Mapping, and Set contracts.</description>
    </item>
    <item>
      <title>Complete the filecmp comparison code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/comparing-files-and-directories-with-filecmp/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/comparing-files-and-directories-with-filecmp/</guid>
      <description>Practise byte-accurate comparison, cmpfiles classification, dircmp results, and cache refresh.</description>
    </item>
    <item>
      <title>Complete the filesystem metadata code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/reading-filesystem-metadata-with-os-stat-and-stat/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/reading-filesystem-metadata-with-os-stat-and-stat/</guid>
      <description>Practise querying stat results, interpreting mode bits, inspecting links, and handling expected filesystem errors.</description>
    </item>
    <item>
      <title>Complete the glob and fnmatch code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/filename-pattern-matching-with-glob-and-fnmatch/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/filename-pattern-matching-with-glob-and-fnmatch/</guid>
      <description>Practise rooted pathname matching, lazy recursive search, explicit case-sensitive matching, and literal pattern escaping.</description>
    </item>
    <item>
      <title>Complete the os.scandir() code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/efficient-directory-scanning-with-os-scandir/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/efficient-directory-scanning-with-os-scandir/</guid>
      <description>Practise scanning directories, filtering DirEntry objects, handling cached status data, and closing iterators safely.</description>
    </item>
    <item>
      <title>Complete the Python __new__ and Object Creation Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/new-and-object-creation/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/new-and-object-creation/</guid>
      <description>Practice the creation order, subclass-aware __new__(), immutable-value construction, and the boundary where __init__ is skipped.</description>
    </item>
    <item>
      <title>Complete the Python annotations code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/annotations/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/annotations/</guid>
      <description>Practice annotated assignment syntax and the compatibility behavior of explicitly stringized annotations.</description>
    </item>
    <item>
      <title>Complete the Python argument unpacking code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/argument-unpacking/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/argument-unpacking/</guid>
      <description>Practice unpacking iterables and mappings into function calls with * and **.</description>
    </item>
    <item>
      <title>Complete the Python assert statements code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/assert-statements/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/assert-statements/</guid>
      <description>Practice writing assertions, attaching diagnostic messages, and choosing explicit exceptions when a check must always run.</description>
    </item>
    <item>
      <title>Complete the Python Assignment Expressions Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/assignment-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/assignment-expressions/</guid>
      <description>Practice using := to capture values in conditions, loops, and expressions while keeping ordinary assignment separate.</description>
    </item>
    <item>
      <title>Complete the Python Augmented Assignment Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/augmented-assignment/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/augmented-assignment/</guid>
      <description>Practice updating names, mutable objects, attributes, and indexed values with augmented assignment.</description>
    </item>
    <item>
      <title>Complete the Python Boolean operators code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/booleans-and-conditionals/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/booleans-and-conditionals/</guid>
      <description>Practice using short-circuit and/or expressions to select values, guard access, and avoid unnecessary calls.</description>
    </item>
    <item>
      <title>Complete the Python Bytes and Bytearray Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/bytes-and-bytearray/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/bytes-and-bytearray/</guid>
      <description>Practice constructing bytes, decoding binary data, mutating bytearray, and reading hexadecimal byte values.</description>
    </item>
    <item>
      <title>Complete the Python Class Subscription Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/class-subscription/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/class-subscription/</guid>
      <description>Practice implementing __class_getitem__ for class subscription and generic-style parameterization.</description>
    </item>
    <item>
      <title>Complete the Python classes and objects code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/classes-and-objects/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/classes-and-objects/</guid>
      <description>Practice defining a class, initializing instance state, adding methods, and extending a base class.</description>
    </item>
    <item>
      <title>Complete the Python comprehensions code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/comprehensions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/comprehensions/</guid>
      <description>Practice writing list, set, and dictionary comprehensions and using filters.</description>
    </item>
    <item>
      <title>Complete the Python conditional expressions code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/conditional-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/conditional-expressions/</guid>
      <description>Practice choosing values with conditional expressions, composing them with larger expressions, and recognizing when the syntax should stay simple.</description>
    </item>
    <item>
      <title>Complete the Python context managers code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/context-managers/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/context-managers/</guid>
      <description>Practice with statements, implementing context-manager protocols, cleanup, narrow exception suppression, borrowing caller-owned resources with nullcontext(), and closing legacy resources.</description>
    </item>
    <item>
      <title>Complete the Python CSV code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/csv/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/csv/</guid>
      <description>Practice reading and writing CSV rows and using dictionary-based CSV access.</description>
    </item>
    <item>
      <title>Complete the Python Custom isinstance() and issubclass() Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/custom-instance-subclass-checks/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/custom-instance-subclass-checks/</guid>
      <description>Practice implementing metaclass hooks that customize isinstance() and issubclass().</description>
    </item>
    <item>
      <title>Complete the Python Dataclasses Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/dataclasses/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/dataclasses/</guid>
      <description>Practice generated class methods, per-instance mutable defaults, post-initialization, and frozen data records.</description>
    </item>
    <item>
      <title>Complete the Python decorators code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/decorators/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/decorators/</guid>
      <description>Practice applying function and class decorators, forwarding wrapper calls, preserving function metadata, configuring factories, and composing decorators.</description>
    </item>
    <item>
      <title>Complete the Python del statements code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/del-statements/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/del-statements/</guid>
      <description>Practice deleting name bindings, list targets, slices, and attributes with Python&#39;s del statement.</description>
    </item>
    <item>
      <title>Complete the Python function parameters code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/function-parameters/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/function-parameters/</guid>
      <description>Practice positional-only, keyword-only, *args, and **kwargs parameters.</description>
    </item>
    <item>
      <title>Complete the Python generator control code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/generator-control/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/generator-control/</guid>
      <description>Practice sending values into a paused generator, handling an injected exception, propagating one, and closing a generator with cleanup.</description>
    </item>
    <item>
      <title>Complete the Python generator expressions code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/generator-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/generator-expressions/</guid>
      <description>Practice writing generator expressions and choosing them for lazy iteration.</description>
    </item>
    <item>
      <title>Complete the Python generators code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/generators/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/generators/</guid>
      <description>Practice writing generator functions, using yield, and creating generator expressions.</description>
    </item>
    <item>
      <title>Complete the Python generic type parameters code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/generic-type-parameters/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/generic-type-parameters/</guid>
      <description>Practice generic functions, classes, type aliases, and multiple type parameters.</description>
    </item>
    <item>
      <title>Complete the Python iterators code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/iterators/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/iterators/</guid>
      <description>Practice creating and advancing iterators, implementing the iterator protocol, and stopping a callable iterator with a sentinel.</description>
    </item>
    <item>
      <title>Complete the Python JSON code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/json/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/json/</guid>
      <description>Practice serializing Python data, reading JSON text, and working with JSON files.</description>
    </item>
    <item>
      <title>Complete the Python lambda expressions code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/lambda-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/lambda-expressions/</guid>
      <description>Practice writing concise lambda expressions for direct calls, sorting, closures, and predicates.</description>
    </item>
    <item>
      <title>Complete the Python Metaclasses and Class Creation Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/metaclasses-and-class-creation/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/metaclasses-and-class-creation/</guid>
      <description>Practice dynamic class creation, metaclass delegation, class-namespace validation, and namespace preparation.</description>
    </item>
    <item>
      <title>Complete the Python Module Attribute Access Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/module-attribute-access/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/module-attribute-access/</guid>
      <description>Practice defining module fallback values, raising AttributeError, exposing dynamic names through dir(), and caching a lazily resolved value.</description>
    </item>
    <item>
      <title>Complete the Python operator precedence code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/operator-precedence/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/operator-precedence/</guid>
      <description>Practice grouping expressions explicitly, applying operator precedence, and reasoning about evaluation order.</description>
    </item>
    <item>
      <title>Complete the Python paths and pathlib code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/paths-and-pathlib/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/paths-and-pathlib/</guid>
      <description>Practice composing, searching, comparing, normalizing, expanding, splitting, and converting filesystem paths with pathlib and selected os.path functions, including drive/root/tail decomposition, path identity, environment-variable expansion, and str/bytes interoperability.</description>
    </item>
    <item>
      <title>Complete the Python Pattern Matching Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/structural-pattern-matching/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/structural-pattern-matching/</guid>
      <description>Practice literal, sequence, mapping, guarded, value, and class match patterns.</description>
    </item>
    <item>
      <title>Complete the Python scopes and namespaces code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/scopes-and-namespaces/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/scopes-and-namespaces/</guid>
      <description>Practice local name resolution, global rebinding, and nonlocal rebinding.</description>
    </item>
    <item>
      <title>Complete the Python TAR archive code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/tar-archives-with-tarfile/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/tar-archives-with-tarfile/</guid>
      <description>Practise creating TAR members, reading member bytes, and extracting with an explicit data filter.</description>
    </item>
    <item>
      <title>Complete the Python TOML code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/toml/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/toml/</guid>
      <description>Practice parsing TOML strings and files and handling parsed configuration data.</description>
    </item>
    <item>
      <title>Complete the Python type alias statements code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/type-alias-statements/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/type-alias-statements/</guid>
      <description>Practice creating type aliases, using aliases in annotations, and inspecting aliased type expressions.</description>
    </item>
    <item>
      <title>Complete the Python Union Types Code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/union-types/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/union-types/</guid>
      <description>Practice union annotations, None as a union member, supported runtime class checks, and the parameterized-generic runtime boundary.</description>
    </item>
    <item>
      <title>Complete the Python yield from code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/yield-from/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/yield-from/</guid>
      <description>Practice delegating generator output, continuing after delegation, capturing a subgenerator return value, and composing generator layers.</description>
    </item>
    <item>
      <title>Complete the Python ZIP archive code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/zip-archives-with-zipfile/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/zip-archives-with-zipfile/</guid>
      <description>Practise writing member data, adding filesystem files under portable names, decoding a member, and verifying an archive.</description>
    </item>
    <item>
      <title>Complete the shutil file-operation code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/high-level-file-operations-with-shutil/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/high-level-file-operations-with-shutil/</guid>
      <description>Practise copying files, excluding unwanted tree entries, moving a file, and extracting a tar archive with the data filter.</description>
    </item>
    <item>
      <title>Complete the temporary-file code</title>
      <link>https://foxipa.com/en/python/exercise/code-completion/temporary-files-and-directories/</link>
      <guid>https://foxipa.com/en/python/exercise/code-completion/temporary-files-and-directories/</guid>
      <description>Practise temporary workspaces, file positioning, named-file cleanup, and spooled-storage rollover.</description>
    </item>
    <item>
      <title>Diff Checker — Compare Text, Code &amp; JSON Online</title>
      <link>https://foxipa.com/en/tools/diff-checker/</link>
      <guid>https://foxipa.com/en/tools/diff-checker/</guid>
      <description>A powerful browser-based diff checker for comparing text, code, and JSON with split, inline, and unified views, ignore rules, statistics, file import, and local-only processing.</description>
    </item>
    <item>
      <title>Git Archive</title>
      <link>https://foxipa.com/en/git/learn/git-archive/</link>
      <pubDate>Thu, 01 Oct 2026 21:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-archive/</guid>
      <description>Create Git release archives from repository snapshots and control exported paths and metadata with official archive mechanisms.</description>
    </item>
    <item>
      <title>Git Bisect Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-bisect/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-bisect/</guid>
      <description>Check understanding of manual bisecting, automated exit-status classification, skipped revisions, replayable bisect logs, reset, and alternate terms.</description>
    </item>
    <item>
      <title>Git Bisect: Binary Search Through History</title>
      <link>https://foxipa.com/en/git/learn/git-bisect/</link>
      <pubDate>Thu, 01 Oct 2026 16:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-bisect/</guid>
      <description>Learn how to use git bisect to find the first commit that changed a tested property, control manual bisection, automate tests, skip untestable revisions, replay decisions, and clean up safely.</description>
    </item>
    <item>
      <title>Git Blame Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-blame/</link>
      <pubDate>Fri, 02 Oct 2026 04:05:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-blame/</guid>
      <description>Check your understanding of line attribution, movement and copy detection, history traversal, ignored revisions, and machine-readable blame output.</description>
    </item>
    <item>
      <title>Git Blame: Trace Line-Level Provenance</title>
      <link>https://foxipa.com/en/git/learn/git-blame/</link>
      <pubDate>Fri, 02 Oct 2026 04:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-blame/</guid>
      <description>Trace current file lines to revisions and authors, follow moved or copied lines, control history traversal, ignore mechanical revisions, and use machine-readable attribution output.</description>
    </item>
    <item>
      <title>Git Branch Management Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-branch-management/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-branch-management/</guid>
      <description>Check whether you can safely inspect, create, move, rename, copy, and delete local Git branches.</description>
    </item>
    <item>
      <title>Git Branch Management: List, Create, Rename, Copy, Move, and Delete Branches</title>
      <link>https://foxipa.com/en/git/learn/git-branch-management/</link>
      <pubDate>Thu, 01 Oct 2026 12:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-branch-management/</guid>
      <description>Manage local branch references deliberately: inspect branch tips, create and move names, rename or copy refs, and delete branches with Git&#39;s safety checks.</description>
    </item>
    <item>
      <title>Git Bundle Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-bundle/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-bundle/</guid>
      <description>Check your understanding of Git bundles, prerequisites, advertised refs, and offline transfer.</description>
    </item>
    <item>
      <title>Git Bundle: Move Git History Offline</title>
      <link>https://foxipa.com/en/git/learn/git-bundle/</link>
      <pubDate>Fri, 02 Oct 2026 14:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-bundle/</guid>
      <description>Create, inspect, verify, and consume Git bundle files for offline transfer, full backups, and incremental history exchange.</description>
    </item>
    <item>
      <title>Git cat-file Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-cat-file/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-cat-file/</guid>
      <description>Check object-type, existence, pretty-printing, and batch-inspection concepts for git cat-file.</description>
    </item>
    <item>
      <title>Git cat-file: Inspect Repository Objects Precisely</title>
      <link>https://foxipa.com/en/git/learn/git-cat-file/</link>
      <pubDate>Fri, 02 Oct 2026 19:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-cat-file/</guid>
      <description>Inspect Git objects by type, size, existence, and content, then use cat-file batch modes for efficient scripted object inspection.</description>
    </item>
    <item>
      <title>Git Cherry-Pick: Applying Selected Commits to Another History</title>
      <link>https://foxipa.com/en/git/learn/git-cherry-pick/</link>
      <pubDate>Thu, 01 Oct 2026 22:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-cherry-pick/</guid>
      <description>Apply selected existing commits to the current branch, understand new commit identities, control in-progress cherry-picks, and verify selective history transformations.</description>
    </item>
    <item>
      <title>Git Cherry-Pick Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-cherry-pick/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-cherry-pick/</guid>
      <description>Check understanding of selective commit application, new identities, no-commit mode, conflicts, sequencer controls, and merge mainlines.</description>
    </item>
    <item>
      <title>Git Clean Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-clean/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-clean/</guid>
      <description>Check your understanding of Git clean previews, force requirements, directory scope, ignored files, and safe cleanup.</description>
    </item>
    <item>
      <title>Git Clean: Safely Remove Untracked Working-Tree Content</title>
      <link>https://foxipa.com/en/git/learn/git-clean/</link>
      <pubDate>Fri, 02 Oct 2026 03:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-clean/</guid>
      <description>Preview and safely remove untracked working-tree files and directories, with precise control over ignored content and path scope.</description>
    </item>
    <item>
      <title>Git Commit-Graph: Accelerating Commit History Walks</title>
      <link>https://foxipa.com/en/git/learn/git-commit-graph/</link>
      <pubDate>Fri, 02 Oct 2026 19:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-commit-graph/</guid>
      <description>Understand Git’s supplemental commit-graph data structure, verification, reachable graph writing, changed-path Bloom filters, and split commit-graph chains.</description>
    </item>
    <item>
      <title>Git Describe Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-describe/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-describe/</guid>
      <description>Check your understanding of git describe candidate refs, output, and dirty-working-tree reporting.</description>
    </item>
    <item>
      <title>Git Describe: Ref-Based Human-Readable Names</title>
      <link>https://foxipa.com/en/git/learn/git-describe/</link>
      <pubDate>Fri, 02 Oct 2026 03:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-describe/</guid>
      <description>Use git describe to derive human-readable names for commits from tags or other refs, with precise candidate and dirty-working-tree controls.</description>
    </item>
    <item>
      <title>Git Detached HEAD Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-detached-head/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-detached-head/</guid>
      <description>Check your understanding of detached HEAD, direct commit references, detached commits, inspection, and reattachment.</description>
    </item>
    <item>
      <title>Git Detached HEAD: Inspecting Commits Without Moving a Branch</title>
      <link>https://foxipa.com/en/git/learn/git-detached-head/</link>
      <pubDate>Thu, 01 Oct 2026 15:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-detached-head/</guid>
      <description>Understand detached HEAD as a direct commit reference, inspect its state precisely, observe detached commits without moving a named branch, and reattach safely to a branch.</description>
    </item>
    <item>
      <title>Git Fast-Forward vs True Merge: Commit-Graph Outcomes</title>
      <link>https://foxipa.com/en/git/learn/git-merge-fast-forward-vs-true-merge/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-merge-fast-forward-vs-true-merge/</guid>
      <description>Use real Git to distinguish fast-forward updates, true merge commits, --no-ff, and --ff-only by observing branch tips, object IDs, and parent relationships.</description>
    </item>
    <item>
      <title>Git Fast-Forward vs True Merge Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-merge-fast-forward-vs-true-merge/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-merge-fast-forward-vs-true-merge/</guid>
      <description>Check whether you can distinguish fast-forward updates, true merge commits, and explicit merge policies from real repository state.</description>
    </item>
    <item>
      <title>Git Grep Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-grep/</link>
      <pubDate>Fri, 02 Oct 2026 04:05:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-grep/</guid>
      <description>Check your understanding of repository-aware Git search.</description>
    </item>
    <item>
      <title>Git Grep: Repository-Aware Search</title>
      <link>https://foxipa.com/en/git/learn/git-grep/</link>
      <pubDate>Fri, 02 Oct 2026 04:05:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-grep/</guid>
      <description>Search tracked content, index entries, committed trees, and selected untracked files with Git-aware patterns and pathspecs.</description>
    </item>
    <item>
      <title>Git HEAD Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-head/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-head/</guid>
      <description>Check your understanding of attached HEAD, symbolic references, branch tips, and unborn branches.</description>
    </item>
    <item>
      <title>Git HEAD: The Current Branch and Symbolic References</title>
      <link>https://foxipa.com/en/git/learn/git-head/</link>
      <pubDate>Thu, 01 Oct 2026 14:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-head/</guid>
      <description>Understand HEAD as the per-worktree symbolic reference to the current branch, distinguish it from a branch tip, observe attached HEAD, and recognize the unborn-branch boundary before detached HEAD.</description>
    </item>
    <item>
      <title>Git index-pack Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-index-pack/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-index-pack/</guid>
      <description>Check your understanding of pack indexing, reverse indexes, streamed packs, keep files, strict validation, and the boundary between indexing and verification.</description>
    </item>
    <item>
      <title>Git index-pack: Build and Verify Pack Indexes</title>
      <link>https://foxipa.com/en/git/learn/git-index-pack/</link>
      <pubDate>Fri, 02 Oct 2026 20:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-index-pack/</guid>
      <description>Understand how git index-pack builds pack indexes for existing Git packfiles, handles standard input, reverse indexes, strict validation, and keep files without confusing index construction with object repacking.</description>
    </item>
    <item>
      <title>Git Interactive Rebase: Editing and Reshaping Commit History</title>
      <link>https://foxipa.com/en/git/learn/git-interactive-rebase/</link>
      <pubDate>Thu, 01 Oct 2026 21:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-interactive-rebase/</guid>
      <description>Use interactive rebase to inspect and edit the replay sequence: reorder, combine, reword, edit, drop, and autosquash commits, then verify the rewritten history.</description>
    </item>
    <item>
      <title>Git Interactive Rebase Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-interactive-rebase/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-interactive-rebase/</guid>
      <description>Check your understanding of interactive rebase todo actions, commit reshaping, autosquash, and verification.</description>
    </item>
    <item>
      <title>Git Lightweight and Annotated Tags Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-tags/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-tags/</guid>
      <description>Check whether you can distinguish tag references from tag objects, create lightweight and annotated tags, and apply Git&#39;s documented -m implication rule.</description>
    </item>
    <item>
      <title>Git ls-tree Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-ls-tree/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-ls-tree/</guid>
      <description>Check your understanding of Git tree inspection, recursion, path selection, output modes, NUL termination, and custom formatting.</description>
    </item>
    <item>
      <title>Git ls-tree: Inspect Tree Objects</title>
      <link>https://foxipa.com/en/git/learn/git-ls-tree/</link>
      <pubDate>Fri, 02 Oct 2026 21:15:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-ls-tree/</guid>
      <description>Inspect the contents of Git tree objects, recurse through subtrees, select paths, control output, and distinguish tree inspection from tree construction and index operations.</description>
    </item>
    <item>
      <title>Git Mailbox Patch Series Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-am/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-am/</guid>
      <description>Check your understanding of mailbox patch application, commit metadata, and git am recovery states.</description>
    </item>
    <item>
      <title>Git Mailbox Patch Series: Apply with git am</title>
      <link>https://foxipa.com/en/git/learn/git-am/</link>
      <pubDate>Fri, 02 Oct 2026 16:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-am/</guid>
      <description>Apply mailbox-formatted patch series as commits with git am, preserve patch authorship, and recover safely from failures.</description>
    </item>
    <item>
      <title>Git Merge Conflict Resolution: From Unmerged Paths to a Resolved Index</title>
      <link>https://foxipa.com/en/git/learn/git-merge-conflict-resolution/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-merge-conflict-resolution/</guid>
      <description>Resolve real Git merge conflicts by choosing intended content, staging each resolved path, inspecting the index, and proving the distinction between resolution and merge completion.</description>
    </item>
    <item>
      <title>Git Merge Conflict Resolution Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-merge-conflict-resolution/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-merge-conflict-resolution/</guid>
      <description>Check your understanding of resolving unmerged Git paths, staging the resolved index, and separating resolution from merge completion.</description>
    </item>
    <item>
      <title>Git Merge Conflicts: Detecting and Inspecting the Unresolved State</title>
      <link>https://foxipa.com/en/git/learn/git-merge-conflicts/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-merge-conflicts/</guid>
      <description>Use real Git to detect and inspect an unresolved merge: non-zero merge status, unmerged paths, index stages, conflict markers, HEAD, and MERGE_HEAD.</description>
    </item>
    <item>
      <title>Git Merge Conflicts Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-merge-conflicts/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-merge-conflicts/</guid>
      <description>Check whether you can identify and inspect Git’s unresolved merge state from real repository evidence.</description>
    </item>
    <item>
      <title>Git Merge Continue and Abort: Completing or Abandoning an In-Progress Merge</title>
      <link>https://foxipa.com/en/git/learn/git-merge-continue-abort/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-merge-continue-abort/</guid>
      <description>Finish a resolved merge with git merge --continue or abandon a conflicted merge with git merge --abort, while verifying the exact history and repository-state transition.</description>
    </item>
    <item>
      <title>Git Merge Continue and Abort Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-merge-continue-abort/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-merge-continue-abort/</guid>
      <description>Check your understanding of completing a resolved merge, abandoning an in-progress merge, and verifying the resulting history and repository state.</description>
    </item>
    <item>
      <title>Git Merge vs Rebase vs Cherry-Pick: Comparing History Transformations</title>
      <link>https://foxipa.com/en/git/learn/git-merge-rebase-cherry-pick-comparison/</link>
      <pubDate>Thu, 01 Oct 2026 23:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-merge-rebase-cherry-pick-comparison/</guid>
      <description>Compare merge, rebase, and cherry-pick by the repository state each operation transforms, the commits it selects, and the resulting history shape.</description>
    </item>
    <item>
      <title>Git Merge vs Rebase vs Cherry-Pick Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-merge-rebase-cherry-pick-comparison/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-merge-rebase-cherry-pick-comparison/</guid>
      <description>Check understanding of the distinct state transformations performed by merge, rebase, and cherry-pick.</description>
    </item>
    <item>
      <title>Git mktag Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-mktag/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-mktag/</guid>
      <description>Check your understanding of tag-object construction, validation, inspection, and the boundary between objects and refs.</description>
    </item>
    <item>
      <title>Git mktag: Construct Tag Objects with Validation</title>
      <link>https://foxipa.com/en/git/learn/git-mktag/</link>
      <pubDate>Fri, 02 Oct 2026 21:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-mktag/</guid>
      <description>Construct annotated-tag objects from their canonical contents, understand the validation performed by git mktag, and distinguish tag objects from tag references.</description>
    </item>
    <item>
      <title>Git mktree Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-mktree/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-mktree/</guid>
      <description>Check your understanding of Git tree-object construction, ls-tree input, validation, NUL input, and batch construction.</description>
    </item>
    <item>
      <title>Git mktree: Build Tree Objects from ls-tree Data</title>
      <link>https://foxipa.com/en/git/learn/git-mktree/</link>
      <pubDate>Fri, 02 Oct 2026 21:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-mktree/</guid>
      <description>Build Git tree objects from ls-tree-formatted input, verify the referenced objects, and understand the boundary between reading and constructing tree objects.</description>
    </item>
    <item>
      <title>Git Multi-Pack Index Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-multi-pack-index/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-multi-pack-index/</guid>
      <description>Check your understanding of Git multi-pack indexes and their relationship to pack storage and integrity tools.</description>
    </item>
    <item>
      <title>Git Multi-Pack Index: Indexing Multiple Packfiles</title>
      <link>https://foxipa.com/en/git/learn/git-multi-pack-index/</link>
      <pubDate>Fri, 02 Oct 2026 16:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-multi-pack-index/</guid>
      <description>Understand why Git uses a multi-pack index and safely create, verify, expire, and repack it in a disposable repository.</description>
    </item>
    <item>
      <title>Git Multiple Worktrees</title>
      <link>https://foxipa.com/en/git/learn/git-worktrees/</link>
      <pubDate>Fri, 02 Oct 2026 03:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-worktrees/</guid>
      <description>Use one Git repository through multiple local working trees, including new-branch, existing-branch, and detached worktrees.</description>
    </item>
    <item>
      <title>Git Multiple Worktrees Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-worktrees/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-worktrees/</guid>
      <description>Check your understanding of linked worktrees, branch creation, detached worktrees, and worktree listing.</description>
    </item>
    <item>
      <title>Git name-rev Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-name-rev/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-name-rev/</guid>
      <description>Check your understanding of Git symbolic revision naming, ref filtering, stdin annotation, and fallback behavior.</description>
    </item>
    <item>
      <title>Git name-rev: Find Symbolic Names for Commits</title>
      <link>https://foxipa.com/en/git/learn/git-name-rev/</link>
      <pubDate>Fri, 02 Oct 2026 21:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-name-rev/</guid>
      <description>Use git name-rev to assign human-readable symbolic names to revisions, restrict naming candidates, annotate commit IDs in text, and distinguish naming from revision selection and ref modification.</description>
    </item>
    <item>
      <title>Git Non-Fast-Forward Rejection: Safe Integration Before Publishing</title>
      <link>https://foxipa.com/en/git/learn/git-non-fast-forward-safe-integration/</link>
      <pubDate>Thu, 01 Oct 2026 19:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-non-fast-forward-safe-integration/</guid>
      <description>Understand why ordinary pushes are rejected when remote history has diverged, and verify safe fetch, merge, rebase, and force-with-lease boundaries before publishing again.</description>
    </item>
    <item>
      <title>Git Non-Fast-Forward Rejection and Safe Integration Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-non-fast-forward-safe-integration/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-non-fast-forward-safe-integration/</guid>
      <description>Check your understanding of rejected pushes, fetching current remote state, merge and rebase reconciliation, and force-with-lease boundaries.</description>
    </item>
    <item>
      <title>Git Notes Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-notes/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-notes/</guid>
      <description>Check your understanding of Git notes, notes refs, copying, merging, and cleanup.</description>
    </item>
    <item>
      <title>Git Notes: Attach Metadata to Git Objects</title>
      <link>https://foxipa.com/en/git/learn/git-notes/</link>
      <pubDate>Fri, 02 Oct 2026 13:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-notes/</guid>
      <description>Use Git notes to annotate objects without changing the annotated object, including writing, reading, copying, removing, custom refs, merging, and pruning.</description>
    </item>
    <item>
      <title>Git Object Storage Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-object-storage-inspection/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-object-storage-inspection/</guid>
      <description>Check your understanding of loose objects, packfiles, repacking, and pack verification.</description>
    </item>
    <item>
      <title>Git Object Storage: Count, Repack, and Verify Packfiles</title>
      <link>https://foxipa.com/en/git/learn/git-object-storage-inspection/</link>
      <pubDate>Fri, 02 Oct 2026 19:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-object-storage-inspection/</guid>
      <description>Inspect loose objects and packfiles with git count-objects, reorganize storage with git repack in a disposable repository, and verify a pack with git verify-pack.</description>
    </item>
    <item>
      <title>Git pack-objects Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-pack-objects/</link>
      <pubDate>Fri, 02 Oct 2026 21:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-pack-objects/</guid>
      <description>Check your understanding of Git pack construction, object selection, and the boundary between pack-objects and higher-level pack maintenance.</description>
    </item>
    <item>
      <title>Git pack-objects: Construct Pack Archives</title>
      <link>https://foxipa.com/en/git/learn/git-pack-objects/</link>
      <pubDate>Fri, 02 Oct 2026 21:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-pack-objects/</guid>
      <description>Construct Git pack archives from object lists and revisions, control object selection and delta compression, and understand the boundary between low-level pack construction and repository repacking.</description>
    </item>
    <item>
      <title>Git pack-refs Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-pack-refs/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-pack-refs/</guid>
      <description>Check your understanding of packed refs, selection patterns, pruning, and the boundary between ref storage and object storage.</description>
    </item>
    <item>
      <title>Git pack-refs: Pack References for Efficient Storage</title>
      <link>https://foxipa.com/en/git/learn/git-pack-refs/</link>
      <pubDate>Fri, 02 Oct 2026 20:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-pack-refs/</guid>
      <description>Understand packed refs, loose refs, selection patterns, pruning behavior, and automatic ref packing without confusing ref storage with object packing.</description>
    </item>
    <item>
      <title>Git Patch Workflows Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-format-patch-and-apply/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-format-patch-and-apply/</guid>
      <description>Check your understanding of mailbox patch generation, raw diff application, and the boundaries between format-patch, apply, and am.</description>
    </item>
    <item>
      <title>Git Patch Workflows: Format and Apply Patch Text</title>
      <link>https://foxipa.com/en/git/learn/git-format-patch-and-apply/</link>
      <pubDate>Fri, 02 Oct 2026 15:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-format-patch-and-apply/</guid>
      <description>Generate reviewable patch series with git format-patch and safely inspect or apply unified diff patches with git apply.</description>
    </item>
    <item>
      <title>Git prune Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-prune/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-prune/</guid>
      <description>Check your understanding of unreachable-object pruning, dry runs, expiration, reachability protection, and maintenance boundaries.</description>
    </item>
    <item>
      <title>Git prune-packed: Remove Loose Copies of Packed Objects</title>
      <link>https://foxipa.com/en/git/learn/git-prune-packed/</link>
      <pubDate>Mon, 05 Oct 2026 02:05:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-prune-packed/</guid>
      <description>Learn how git prune-packed removes redundant loose object files when the same objects already exist in pack files.</description>
    </item>
    <item>
      <title>Git prune: Remove Unreachable Objects Safely</title>
      <link>https://foxipa.com/en/git/learn/git-prune/</link>
      <pubDate>Fri, 02 Oct 2026 20:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-prune/</guid>
      <description>Understand Git&#39;s low-level object-pruning command, preview unreachable objects, control expiration, protect objects with additional heads, and distinguish pruning from integrity checking and general maintenance.</description>
    </item>
    <item>
      <title>Git Pull: Fetching and Integrating Remote History</title>
      <link>https://foxipa.com/en/git/learn/git-pull/</link>
      <pubDate>Thu, 01 Oct 2026 16:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-pull/</guid>
      <description>Understand git pull as fetch followed by integration, including explicit sources, fast-forward updates, divergent histories, merge and rebase modes, and the boundary between fetching and publishing.</description>
    </item>
    <item>
      <title>Git Pull Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-pull/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-pull/</guid>
      <description>Check your understanding of git pull as fetch followed by integration, explicit sources, fast-forward behavior, divergent histories, and integration boundaries.</description>
    </item>
    <item>
      <title>Git Push: Publishing Local Refs to a Remote Repository</title>
      <link>https://foxipa.com/en/git/learn/git-push/</link>
      <pubDate>Thu, 01 Oct 2026 18:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-push/</guid>
      <description>Understand git push as publishing selected local refs and required objects to another repository, including refspecs, remote-tracking updates, dry runs, and fast-forward safety.</description>
    </item>
    <item>
      <title>Git Push Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-push/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-push/</guid>
      <description>Check your understanding of publishing local refs, refspecs, fast-forward safety, dry runs, and push boundaries.</description>
    </item>
    <item>
      <title>Git Range-Diff Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-range-diff/</link>
      <pubDate>Fri, 02 Oct 2026 11:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-range-diff/</guid>
      <description>Check your understanding of commit-series comparison, patch pairing, range forms, and review controls.</description>
    </item>
    <item>
      <title>Git Range-Diff: Compare Commit Series</title>
      <link>https://foxipa.com/en/git/learn/git-range-diff/</link>
      <pubDate>Fri, 02 Oct 2026 11:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-range-diff/</guid>
      <description>Compare two versions of a commit series and inspect which patches correspond, changed, appeared, or disappeared.</description>
    </item>
    <item>
      <title>Git read-tree Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-read-tree/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-read-tree/</guid>
      <description>Check your understanding of reading trees into the index, temporary indexes, tree merges, index stages, and working-tree updates.</description>
    </item>
    <item>
      <title>Git read-tree: Read and Merge Trees into the Index</title>
      <link>https://foxipa.com/en/git/learn/git-read-tree/</link>
      <pubDate>Fri, 02 Oct 2026 21:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-read-tree/</guid>
      <description>Use git read-tree to populate, empty, and merge the Git index from tree objects while understanding index stages and working-tree boundaries.</description>
    </item>
    <item>
      <title>Git Rebase: Running, Controlling, and Verifying History Rewrites</title>
      <link>https://foxipa.com/en/git/learn/git-rebase/</link>
      <pubDate>Thu, 01 Oct 2026 20:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-rebase/</guid>
      <description>Use git rebase in controlled workflows: choose a base, transplant commits, handle the in-progress operation controls, and verify the resulting local history.</description>
    </item>
    <item>
      <title>Git Rebase Model: Transplanting Commits onto a New Base</title>
      <link>https://foxipa.com/en/git/learn/git-rebase-model/</link>
      <pubDate>Thu, 01 Oct 2026 20:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-rebase-model/</guid>
      <description>Understand Git rebase as a local history transformation that selects commits after an upstream boundary and reapplies them onto a new base, creating new commit identities.</description>
    </item>
    <item>
      <title>Git Rebase Model Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-rebase-model/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-rebase-model/</guid>
      <description>Check your understanding of rebase as a local history transformation, its commit-selection boundary, rewritten identities, and ancestry verification.</description>
    </item>
    <item>
      <title>Git Rebase Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-rebase/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-rebase/</guid>
      <description>Check your understanding of running rebase, --onto, in-progress controls, and verification.</description>
    </item>
    <item>
      <title>Git Recovering Abandoned Commits Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-recover-abandoned-commits/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-recover-abandoned-commits/</guid>
      <description>Check understanding of reflog-first recovery, git fsck fallback investigation, reattaching unreachable commits, and recovery limits.</description>
    </item>
    <item>
      <title>Git References and Branch Tips Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-references-and-branch-tips/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-references-and-branch-tips/</guid>
      <description>Check whether you can distinguish commit objects from movable branch references and reason about branch tips.</description>
    </item>
    <item>
      <title>Git References and Branch Tips: Commits Are Objects, Branches Are Names</title>
      <link>https://foxipa.com/en/git/learn/git-references-and-branch-tips/</link>
      <pubDate>Thu, 01 Oct 2026 11:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-references-and-branch-tips/</guid>
      <description>Build the reference model behind Git branches: commit objects stay immutable while branch references move between commits.</description>
    </item>
    <item>
      <title>Git Reflog Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-reflog/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-reflog/</guid>
      <description>Check understanding of reflog scope, HEAD and branch reflogs, reflog-based revision names, and retention boundaries.</description>
    </item>
    <item>
      <title>Git Reflog: Reading the Local History of References</title>
      <link>https://foxipa.com/en/git/learn/git-reflog/</link>
      <pubDate>Thu, 01 Oct 2026 15:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-reflog/</guid>
      <description>Learn how reflogs record local reference updates, how to inspect HEAD and branch reflogs, and how to use reflog-based revision names to identify earlier reference values.</description>
    </item>
    <item>
      <title>Git Remote Management Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-remote-management/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-remote-management/</guid>
      <description>Check your understanding of local Git remote administration, URL configuration, rename behavior, and removal boundaries.</description>
    </item>
    <item>
      <title>Git Remote Management: Configuring and Inspecting Remotes</title>
      <link>https://foxipa.com/en/git/learn/git-remote-management/</link>
      <pubDate>Thu, 01 Oct 2026 15:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-remote-management/</guid>
      <description>Manage local remote configuration with git remote: list, inspect, add, rename, remove, and change remote URLs without confusing configuration changes with fetch, push, or branch operations.</description>
    </item>
    <item>
      <title>Git Remote Names and Remote-Tracking References</title>
      <link>https://foxipa.com/en/git/learn/git-remote-names-and-tracking-refs/</link>
      <pubDate>Thu, 01 Oct 2026 15:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-remote-names-and-tracking-refs/</guid>
      <description>Understand remote names as local identifiers for other repositories, remote-tracking references under refs/remotes/, and how fetching updates those references without moving the current local branch.</description>
    </item>
    <item>
      <title>Git Remote Names and Remote-Tracking References Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-remote-names-and-tracking-refs/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-remote-names-and-tracking-refs/</guid>
      <description>Check your understanding of remote names, remote-tracking references, and fetch state transitions.</description>
    </item>
    <item>
      <title>Git Repository Integrity Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-fsck/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-fsck/</guid>
      <description>Check your understanding of git fsck, reachability, connectivity checks, and integrity findings.</description>
    </item>
    <item>
      <title>Git Repository Integrity: Verify with git fsck</title>
      <link>https://foxipa.com/en/git/learn/git-fsck/</link>
      <pubDate>Fri, 02 Oct 2026 17:20:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-fsck/</guid>
      <description>Verify Git object connectivity and validity with git fsck, distinguish reachable, dangling, and unreachable objects, and investigate integrity findings safely.</description>
    </item>
    <item>
      <title>Git Repository Maintenance Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-gc-and-maintenance/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-gc-and-maintenance/</guid>
      <description>Check your understanding of Git garbage collection, maintenance tasks, pruning, and the boundary between housekeeping and integrity checking.</description>
    </item>
    <item>
      <title>Git Repository Maintenance: gc and maintenance</title>
      <link>https://foxipa.com/en/git/learn/git-gc-and-maintenance/</link>
      <pubDate>Fri, 02 Oct 2026 19:10:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-gc-and-maintenance/</guid>
      <description>Perform controlled Git repository housekeeping with git gc and the task-oriented git maintenance interface, while separating maintenance from integrity checking and storage inspection.</description>
    </item>
    <item>
      <title>Git Reset: Moving HEAD and Controlling Local State</title>
      <link>https://foxipa.com/en/git/learn/git-reset-state-transitions/</link>
      <pubDate>Thu, 01 Oct 2026 07:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-reset-state-transitions/</guid>
      <description>Use git reset precisely by separating its path form from commit form and proving the effects of soft, mixed, and hard reset on HEAD, the index, and the working tree.</description>
    </item>
    <item>
      <title>Git Restore, Reset, and Revert Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-restore-reset-revert-decision-lab/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-restore-reset-revert-decision-lab/</guid>
      <description>Test whether you can select an undo operation from the repository state that must change.</description>
    </item>
    <item>
      <title>Git Restore, Reset, and Revert: Choosing the Operation by State</title>
      <link>https://foxipa.com/en/git/learn/git-restore-reset-revert-decision-lab/</link>
      <pubDate>Thu, 01 Oct 2026 09:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-restore-reset-revert-decision-lab/</guid>
      <description>Choose among git restore, git reset, and git revert by identifying which repository state must change: working tree, index, branch tip, or recorded history.</description>
    </item>
    <item>
      <title>Git Restore: Correcting Working Tree and Index State</title>
      <link>https://foxipa.com/en/git/learn/git-restore-state-recovery/</link>
      <pubDate>Thu, 01 Oct 2026 07:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-restore-state-recovery/</guid>
      <description>Use git restore to deliberately change the working tree or index without rewriting commit history, and distinguish its restore locations and sources.</description>
    </item>
    <item>
      <title>Git Revert Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-revert-history-correction/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-revert-history-correction/</guid>
      <description>Check history-preserving reverts, conflicts, continuation, merge mainlines, and undo-operation boundaries.</description>
    </item>
    <item>
      <title>Git Revert: Recording a History-Preserving Reversal</title>
      <link>https://foxipa.com/en/git/learn/git-revert-history-correction/</link>
      <pubDate>Thu, 01 Oct 2026 08:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-revert-history-correction/</guid>
      <description>Use git revert to reverse earlier commits by creating new commits, and distinguish clean reverts, conflicts, in-progress revert control, and merge-commit mainlines.</description>
    </item>
    <item>
      <title>Git Revision Selection and Ancestry Queries</title>
      <link>https://foxipa.com/en/git/learn/git-revision-names-and-ranges/</link>
      <pubDate>Thu, 01 Oct 2026 16:18:02 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-revision-names-and-ranges/</guid>
      <description>Read advanced Git revision expressions, merge-parent selectors, object and message selectors, revision-set algebra, and ancestry-focused history queries without confusing ranges with diffs.</description>
    </item>
    <item>
      <title>Git Safe Recovery Laboratories Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-safe-recovery-laboratories/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-safe-recovery-laboratories/</guid>
      <description>Test whether you can identify and use explicit recovery anchors for controlled Git recovery exercises.</description>
    </item>
    <item>
      <title>Git Safe Recovery Laboratories: ORIG_HEAD, Backup References, and Abortable Operations</title>
      <link>https://foxipa.com/en/git/learn/git-safe-recovery-laboratories/</link>
      <pubDate>Thu, 01 Oct 2026 10:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-safe-recovery-laboratories/</guid>
      <description>Practice safe recovery from destructive local operations using explicit recovery anchors without prematurely introducing reflogs.</description>
    </item>
    <item>
      <title>Git show-index Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-show-index/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-show-index/</guid>
      <description>Check your understanding of Git pack-index inspection, output fields, object formats, and the boundaries with index-pack and verify-pack.</description>
    </item>
    <item>
      <title>Git show-index: Inspect Pack Indexes</title>
      <link>https://foxipa.com/en/git/learn/git-show-index/</link>
      <pubDate>Fri, 02 Oct 2026 21:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-show-index/</guid>
      <description>Inspect Git pack index entries directly with git show-index, understand its output and hash-format option, and distinguish index inspection from index creation and pack verification.</description>
    </item>
    <item>
      <title>Git show-ref Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-show-ref/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-show-ref/</guid>
      <description>Check your understanding of local reference listing, exact verification, existence tests, tag dereferencing, hash output, and stdin filtering.</description>
    </item>
    <item>
      <title>Git show-ref: Inspect Local References</title>
      <link>https://foxipa.com/en/git/learn/git-show-ref/</link>
      <pubDate>Fri, 02 Oct 2026 20:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-show-ref/</guid>
      <description>Use git show-ref to list, filter, verify, and script against local Git references without confusing reference inspection with ref updates or revision parsing.</description>
    </item>
    <item>
      <title>Git Sparse-Checkout Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-sparse-checkout/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-sparse-checkout/</guid>
      <description>Check your understanding of Git sparse-checkout modes, selection commands, repair, sparse-index, and boundaries.</description>
    </item>
    <item>
      <title>Git Sparse-Checkout: Work with a Selected Working-Tree Subset</title>
      <link>https://foxipa.com/en/git/learn/git-sparse-checkout/</link>
      <pubDate>Fri, 02 Oct 2026 10:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-sparse-checkout/</guid>
      <description>Control which tracked paths are populated in a working tree with cone and non-cone sparse-checkout, including set, add, list, reapply, disable, stdin input, and sparse-index.</description>
    </item>
    <item>
      <title>Git Stash Inspection, Application, and Recovery</title>
      <link>https://foxipa.com/en/git/learn/git-stash-inspection-application-recovery/</link>
      <pubDate>Fri, 02 Oct 2026 02:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-stash-inspection-application-recovery/</guid>
      <description>Inspect, restore, remove, and branch-recover temporary Git stash state without confusing stash management with durable branch history.</description>
    </item>
    <item>
      <title>Git Stashing</title>
      <link>https://foxipa.com/en/git/learn/git-stashing/</link>
      <pubDate>Fri, 02 Oct 2026 01:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-stashing/</guid>
      <description>Temporarily save local working-tree and index state with precise control over tracked, untracked, ignored, staged, and path-limited changes.</description>
    </item>
    <item>
      <title>Git Switch Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-switch/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-switch/</guid>
      <description>Check whether you can reason precisely about branch switching and local-change safety.</description>
    </item>
    <item>
      <title>Git Switch: Changing the Current Branch Safely</title>
      <link>https://foxipa.com/en/git/learn/git-switch/</link>
      <pubDate>Thu, 01 Oct 2026 13:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-switch/</guid>
      <description>Switch named branches while understanding index and working-tree updates, local-change safety, transactional branch creation, previous-switch shorthand, and explicit discard/merge behavior.</description>
    </item>
    <item>
      <title>Git Tag Inspection and Deletion</title>
      <link>https://foxipa.com/en/git/learn/git-tag-inspection-and-deletion/</link>
      <pubDate>Thu, 01 Oct 2026 19:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-tag-inspection-and-deletion/</guid>
      <description>Inspect tags by name, target, ancestry, and annotation, then delete tag references deliberately without confusing reference deletion with object deletion.</description>
    </item>
    <item>
      <title>Git Tag Inspection and Deletion Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-tag-inspection-and-deletion/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-tag-inspection-and-deletion/</guid>
      <description>Check whether you can list, inspect, filter, and delete Git tag references without confusing reference deletion with object deletion.</description>
    </item>
    <item>
      <title>Git Tag Verification</title>
      <link>https://foxipa.com/en/git/learn/git-tag-verification/</link>
      <pubDate>Thu, 01 Oct 2026 20:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-tag-verification/</guid>
      <description>Verify cryptographically signed Git tags and interpret signature results without confusing cryptographic validity with authorization or provenance.</description>
    </item>
    <item>
      <title>Git Tags: Lightweight and Annotated Tags</title>
      <link>https://foxipa.com/en/git/learn/git-tags/</link>
      <pubDate>Thu, 01 Oct 2026 16:45:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-tags/</guid>
      <description>Learn the structural difference between lightweight and annotated tags, create each form deliberately, understand what a tag reference points at, and choose the form that matches the intended lifecycle.</description>
    </item>
    <item>
      <title>Git unpack-objects Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-unpack-objects/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-unpack-objects/</guid>
      <description>Check your understanding of pack expansion, validation modes, recovery, and object-storage boundaries.</description>
    </item>
    <item>
      <title>Git unpack-objects: Expand Pack Archives into Loose Objects</title>
      <link>https://foxipa.com/en/git/learn/git-unpack-objects/</link>
      <pubDate>Fri, 02 Oct 2026 21:55:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-unpack-objects/</guid>
      <description>Expand Git pack archives into loose objects while understanding dry runs, strict validation, recovery mode, and the boundary between object storage and refs.</description>
    </item>
    <item>
      <title>Git Upstream and Tracking Configuration: Connecting Local Branches to Remote Branches</title>
      <link>https://foxipa.com/en/git/learn/git-upstream-tracking/</link>
      <pubDate>Thu, 01 Oct 2026 19:00:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-upstream-tracking/</guid>
      <description>Understand upstream branch configuration, how tracking relationships are created and changed, and how they guide argument-less pull and push without changing history by themselves.</description>
    </item>
    <item>
      <title>Git Upstream and Tracking Configuration Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-upstream-tracking/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-upstream-tracking/</guid>
      <description>Check understanding of upstream branch relationships and tracking configuration.</description>
    </item>
    <item>
      <title>Git Worktree Lifecycle Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-worktree-lifecycle/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-worktree-lifecycle/</guid>
      <description>Check your understanding of locking, unlocking, moving, repairing, removing, and pruning Git worktrees.</description>
    </item>
    <item>
      <title>Git Worktree Lifecycle: Lock, Move, Repair, Prune, and Remove</title>
      <link>https://foxipa.com/en/git/learn/git-worktree-lifecycle/</link>
      <pubDate>Fri, 02 Oct 2026 03:30:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-worktree-lifecycle/</guid>
      <description>Safely manage the lifecycle of linked Git worktrees: lock and unlock them, move them, repair manually moved worktrees, remove clean or forced worktrees, and prune stale administrative records.</description>
    </item>
    <item>
      <title>Git write-tree Quiz</title>
      <link>https://foxipa.com/en/git/exercise/quiz/git-write-tree/</link>
      <guid>https://foxipa.com/en/git/exercise/quiz/git-write-tree/</guid>
      <description>Check your understanding of converting the index into tree objects, subtree writing, and object validation.</description>
    </item>
    <item>
      <title>Git write-tree: Turn the Index into Tree Objects</title>
      <link>https://foxipa.com/en/git/learn/git-write-tree/</link>
      <pubDate>Fri, 02 Oct 2026 21:40:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-write-tree/</guid>
      <description>Convert a fully merged Git index into tree objects while understanding subtrees, object validation, and the index-to-object-database boundary.</description>
    </item>
    <item>
      <title>Git: Recovering Abandoned Commits</title>
      <link>https://foxipa.com/en/git/learn/git-recover-abandoned-commits/</link>
      <pubDate>Thu, 01 Oct 2026 15:57:00 &#43;0000</pubDate>
      <guid>https://foxipa.com/en/git/learn/git-recover-abandoned-commits/</guid>
      <description>Learn how to recover existing commits after local history movement by using reflogs first, git fsck as a fallback investigation tool, and a new reference to preserve the recovered object.</description>
    </item>
    <item>
      <title>HTML Table Generator — Build Tables Visually, Copy Clean Markup</title>
      <link>https://foxipa.com/en/tools/html-table-generator/</link>
      <guid>https://foxipa.com/en/tools/html-table-generator/</guid>
      <description>Create HTML tables in a visual grid editor — headers, captions, merged cells, striped rows, semantic thead and scope attributes — then copy or download the clean markup. Imports CSV and existing tables. Free, in-browser.</description>
    </item>
    <item>
      <title>HTML to PDF Converter — Convert HTML to PDF Online</title>
      <link>https://foxipa.com/en/tools/html-to-pdf/</link>
      <guid>https://foxipa.com/en/tools/html-to-pdf/</guid>
      <description>Convert HTML and CSS to a high-quality PDF in your browser. Preview paginated output, control page settings, and download a vector PDF without uploading your document.</description>
    </item>
    <item>
      <title>JSON Formatter — Beautify, Minify &amp; Validate JSON Online</title>
      <link>https://foxipa.com/en/tools/json-formatter/</link>
      <guid>https://foxipa.com/en/tools/json-formatter/</guid>
      <description>A browser-based JSON formatter with pretty-printing, minification, strict validation with precise error locations, a collapsible tree view, key sorting, JSONC cleaning, and live statistics. Local-only processing.</description>
    </item>
    <item>
      <title>Lorem Ipsum Generator — Placeholder Text in Paragraphs, Lists, and HTML</title>
      <link>https://foxipa.com/en/tools/lorem-ipsum/</link>
      <guid>https://foxipa.com/en/tools/lorem-ipsum/</guid>
      <description>Generate lorem ipsum placeholder text in your browser — paragraphs, sentences, words, exact character counts, and list items as plain text, HTML, or Markdown, with reproducible seeds and a live typography preview. Free, no signup.</description>
    </item>
    <item>
      <title>Mermaid Viewer &amp; Visualizer — Render Diagrams from Text, Live</title>
      <link>https://foxipa.com/en/tools/mermaid-viewer/</link>
      <guid>https://foxipa.com/en/tools/mermaid-viewer/</guid>
      <description>Render Mermaid diagrams in your browser — flowcharts, sequence, class, state, ER, Gantt, mindmaps, timelines, Git graphs, pie, Sankey, XY charts, plus Mermaid 12&#39;s UML use case, agentflow and treemap diagrams. Themes, looks, layouts, zoom and pan, SVG and PNG export, share links. Free, no signup.</description>
    </item>
    <item>
      <title>Online HTML Editor — Run HTML Online with Live Preview</title>
      <link>https://foxipa.com/en/tools/html-editor/</link>
      <guid>https://foxipa.com/en/tools/html-editor/</guid>
      <description>Run HTML online with a live preview that updates as you type — full-document editing, console output, device widths, and templates. Works in your browser, no install.</description>
    </item>
    <item>
      <title>Online JavaScript Editor — Run JavaScript Online</title>
      <link>https://foxipa.com/en/tools/javascript-editor/</link>
      <guid>https://foxipa.com/en/tools/javascript-editor/</guid>
      <description>Run JavaScript online in a sandboxed editor — instant execution, console output with error line numbers, examples, and shareable links. Nothing to install.</description>
    </item>
    <item>
      <title>Online Markdown Editor with Live Preview</title>
      <link>https://foxipa.com/en/tools/markdown-editor/</link>
      <guid>https://foxipa.com/en/tools/markdown-editor/</guid>
      <description>Write Markdown with a live preview, formatting toolbar, GitHub-style tables and task lists, syntax-highlighted code blocks, and one-click HTML export — a fast browser-based Markdown editor. No signup.</description>
    </item>
    <item>
      <title>Online PHP Compiler — Run PHP Online</title>
      <link>https://foxipa.com/en/tools/php-compiler/</link>
      <guid>https://foxipa.com/en/tools/php-compiler/</guid>
      <description>Run PHP online in your browser with a real PHP 8 interpreter — PHP 8.0 to 8.5, instant output, stdin support, HTML mixing, and shareable code. No server, no signup, no setup.</description>
    </item>
    <item>
      <title>Online Python Compiler — Run Python Online</title>
      <link>https://foxipa.com/en/tools/python-compiler/</link>
      <guid>https://foxipa.com/en/tools/python-compiler/</guid>
      <description>Run Python online in your browser with a real Python 3 interpreter — instant output, input() support, package installation, and shareable code. No setup, no signup.</description>
    </item>
    <item>
      <title>Online SQL Compiler — Run SQL Queries in Your Browser</title>
      <link>https://foxipa.com/en/tools/sql-compiler/</link>
      <guid>https://foxipa.com/en/tools/sql-compiler/</guid>
      <description>Run SQL online against a real SQLite database in your browser — CREATE TABLE, INSERT, SELECT, JOINs, and window functions with instant results, a schema browser, and sample databases. No setup, no signup.</description>
    </item>
    <item>
      <title>Online Text Editor — Notepad with Find &amp; Replace and Text Tools</title>
      <link>https://foxipa.com/en/tools/text-editor/</link>
      <guid>https://foxipa.com/en/tools/text-editor/</guid>
      <description>A free online text editor with find and replace (regex support), case conversion, line sorting, duplicate removal, and live word counts. Autosaves in your browser — no signup, no uploads.</description>
    </item>
    <item>
      <title>Password Generator — Strong Random Passwords and Passphrases</title>
      <link>https://foxipa.com/en/tools/password-generator/</link>
      <guid>https://foxipa.com/en/tools/password-generator/</guid>
      <description>Generate strong random passwords and memorable passphrases in your browser — cryptographic randomness, live entropy analysis, crack-time estimates, and EFF wordlist passphrases. Free, private, no signup.</description>
    </item>
    <item>
      <title>QR Code Generator</title>
      <link>https://foxipa.com/en/tools/qr-code-generator/</link>
      <guid>https://foxipa.com/en/tools/qr-code-generator/</guid>
      <description>Design and export QR codes entirely in your browser — custom colors, gradients, module styles, logos, and multiple export formats.</description>
    </item>
    <item>
      <title>Quick Check: Python __new__ and Object Creation</title>
      <link>https://foxipa.com/en/python/exercise/quiz/new-and-object-creation/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/new-and-object-creation/</guid>
      <description>Check your understanding of __new__(), __init__(), immutable object creation, subclass-aware construction, and returned-object behavior.</description>
    </item>
    <item>
      <title>Quick Check: Python Annotations</title>
      <link>https://foxipa.com/en/python/exercise/quiz/annotations/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/annotations/</guid>
      <description>Check annotated assignment syntax, function-local behavior, Python 3.14 deferred evaluation, and safe interpretation of runtime annotation formats.</description>
    </item>
    <item>
      <title>Quick Check: Python Argument Unpacking</title>
      <link>https://foxipa.com/en/python/exercise/quiz/argument-unpacking/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/argument-unpacking/</guid>
      <description>Check your understanding of positional and keyword argument unpacking with * and ** in function calls.</description>
    </item>
    <item>
      <title>Quick Check: Python Assert Statements</title>
      <link>https://foxipa.com/en/python/exercise/quiz/assert-statements/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/assert-statements/</guid>
      <description>Check your understanding of assert conditions, AssertionError, assertion messages, intended use, and optimization.</description>
    </item>
    <item>
      <title>Quick Check: Python Assignment Expressions</title>
      <link>https://foxipa.com/en/python/exercise/quiz/assignment-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/assignment-expressions/</guid>
      <description>Check your understanding of :=, captured values, scope, syntax restrictions, and when ordinary assignment is clearer.</description>
    </item>
    <item>
      <title>Quick Check: Python Augmented Assignment</title>
      <link>https://foxipa.com/en/python/exercise/quiz/augmented-assignment/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/augmented-assignment/</guid>
      <description>Check your understanding of augmented-assignment operators, target evaluation, and mutable versus immutable values.</description>
    </item>
    <item>
      <title>Quick Check: Python Bytes and Bytearray</title>
      <link>https://foxipa.com/en/python/exercise/quiz/bytes-and-bytearray/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/bytes-and-bytearray/</guid>
      <description>Check your understanding of immutable bytes, mutable bytearray, indexing, slicing, and text-to-binary conversion.</description>
    </item>
    <item>
      <title>Quick Check: Python Class Subscription and __class_getitem__</title>
      <link>https://foxipa.com/en/python/exercise/quiz/class-subscription/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/class-subscription/</guid>
      <description>Check your understanding of class subscription, __class_getitem__, GenericAlias, and the boundary with instance subscription.</description>
    </item>
    <item>
      <title>Quick Check: Python Classes and Objects</title>
      <link>https://foxipa.com/en/python/exercise/quiz/classes-and-objects/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/classes-and-objects/</guid>
      <description>Check your understanding of classes, instances, methods, attributes, and inheritance.</description>
    </item>
    <item>
      <title>Quick Check: Python Conditional Expressions</title>
      <link>https://foxipa.com/en/python/exercise/quiz/conditional-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/conditional-expressions/</guid>
      <description>Check your understanding of conditional-expression syntax, values, evaluation, and the boundary between expressions and if statements.</description>
    </item>
    <item>
      <title>Quick Check: Python CSV</title>
      <link>https://foxipa.com/en/python/exercise/quiz/csv/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/csv/</guid>
      <description>Check your understanding of CSV readers, writers, dictionary rows, newline handling, and field types.</description>
    </item>
    <item>
      <title>Quick Check: Python Custom isinstance() and issubclass() Checks</title>
      <link>https://foxipa.com/en/python/exercise/quiz/custom-instance-subclass-checks/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/custom-instance-subclass-checks/</guid>
      <description>Check your understanding of __instancecheck__(), __subclasscheck__(), metaclass lookup, and virtual relationships.</description>
    </item>
    <item>
      <title>Quick Check: Python Custom Subscription and Container Behavior</title>
      <link>https://foxipa.com/en/python/exercise/quiz/custom-subscription/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/custom-subscription/</guid>
      <description>Check subscription hooks, slicing, assignment, deletion, reverse iteration, and the read-only Mapping abstract base class.</description>
    </item>
    <item>
      <title>Quick Check: Python Decorators</title>
      <link>https://foxipa.com/en/python/exercise/quiz/decorators/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/decorators/</guid>
      <description>Check your understanding of function and class decorator transformations, wrappers, metadata preservation, factories, and application order.</description>
    </item>
    <item>
      <title>Quick Check: Python del Statements</title>
      <link>https://foxipa.com/en/python/exercise/quiz/del-statements/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/del-statements/</guid>
      <description>Check your understanding of del targets, name bindings, slices, attributes, and deletion errors.</description>
    </item>
    <item>
      <title>Quick Check: Python Function Parameter Kinds</title>
      <link>https://foxipa.com/en/python/exercise/quiz/function-parameters/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/function-parameters/</guid>
      <description>Check positional-only, keyword-only, *args, and **kwargs parameters.</description>
    </item>
    <item>
      <title>Quick Check: Python Generator Control</title>
      <link>https://foxipa.com/en/python/exercise/quiz/generator-control/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/generator-control/</guid>
      <description>Check your understanding of send(), throw(), close(), paused yields, exceptions, and generator cleanup.</description>
    </item>
    <item>
      <title>Quick Check: Python Generator Expressions</title>
      <link>https://foxipa.com/en/python/exercise/quiz/generator-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/generator-expressions/</guid>
      <description>Check your understanding of generator-expression syntax, evaluation, iteration, and choosing between generators and comprehensions.</description>
    </item>
    <item>
      <title>Quick Check: Python Generators</title>
      <link>https://foxipa.com/en/python/exercise/quiz/generators/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/generators/</guid>
      <description>Check your understanding of generator functions, yield, generator state, and generator expressions.</description>
    </item>
    <item>
      <title>Quick Check: Python Generic Type Parameters</title>
      <link>https://foxipa.com/en/python/exercise/quiz/generic-type-parameters/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/generic-type-parameters/</guid>
      <description>Check your understanding of generic functions, classes, aliases, type-parameter scope, bounds, and defaults.</description>
    </item>
    <item>
      <title>Quick Check: Python Iterators</title>
      <link>https://foxipa.com/en/python/exercise/quiz/iterators/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/iterators/</guid>
      <description>Check your understanding of Python iterables, iterator protocols, next(), StopIteration, and callable iterators with sentinels.</description>
    </item>
    <item>
      <title>Quick Check: Python JSON</title>
      <link>https://foxipa.com/en/python/exercise/quiz/json/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/json/</guid>
      <description>Check your understanding of JSON serialization, deserialization, JSON files, mappings, and invalid input.</description>
    </item>
    <item>
      <title>Quick Check: Python Lambda Expressions</title>
      <link>https://foxipa.com/en/python/exercise/quiz/lambda-expressions/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/lambda-expressions/</guid>
      <description>Check your understanding of lambda syntax, function objects, scope, and when to use def.</description>
    </item>
    <item>
      <title>Quick Check: Python Names, Scopes, and Namespaces</title>
      <link>https://foxipa.com/en/python/exercise/quiz/scopes-and-namespaces/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/scopes-and-namespaces/</guid>
      <description>Check your understanding of namespaces, name resolution, local bindings, UnboundLocalError, and global/nonlocal rebinding.</description>
    </item>
    <item>
      <title>Quick Check: Python Operator Precedence and Evaluation Order</title>
      <link>https://foxipa.com/en/python/exercise/quiz/operator-precedence/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/operator-precedence/</guid>
      <description>Check your understanding of Python expression grouping, precedence, associativity, and evaluation order.</description>
    </item>
    <item>
      <title>Quick Check: Python Paths and pathlib</title>
      <link>https://foxipa.com/en/python/exercise/quiz/paths-and-pathlib/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/paths-and-pathlib/</guid>
      <description>Check your understanding of path construction, traversal, path identity, lexical normalization, text and bytes path representations, path drive/root/tail decomposition, home and environment-variable expansion, path resolution, and selected os.path behavior.</description>
    </item>
    <item>
      <title>Quick Check: Python Structural Pattern Matching</title>
      <link>https://foxipa.com/en/python/exercise/quiz/structural-pattern-matching/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/structural-pattern-matching/</guid>
      <description>Check your understanding of match, capture and value patterns, class patterns, guards, and OR patterns.</description>
    </item>
    <item>
      <title>Quick Check: Python TOML Configuration</title>
      <link>https://foxipa.com/en/python/exercise/quiz/toml/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/toml/</guid>
      <description>Check your understanding of tomllib, TOML values, file parsing, float conversion, and invalid TOML.</description>
    </item>
    <item>
      <title>Quick Check: Python Type Alias Statements</title>
      <link>https://foxipa.com/en/python/exercise/quiz/type-alias-statements/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/type-alias-statements/</guid>
      <description>Check your understanding of type aliases, TypeAliasType, lazy alias evaluation, annotations, and the distinction from type().</description>
    </item>
    <item>
      <title>Quick Check: Python With Statements and Context Managers</title>
      <link>https://foxipa.com/en/python/exercise/quiz/context-managers/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/context-managers/</guid>
      <description>Check understanding of with, context-manager protocols, cleanup, narrow exception suppression, caller-owned resources with nullcontext(), and close()-only objects with closing().</description>
    </item>
    <item>
      <title>Quick Check: Python yield from</title>
      <link>https://foxipa.com/en/python/exercise/quiz/yield-from/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/yield-from/</guid>
      <description>Check your understanding of generator delegation with yield from, delegated iterables, subgenerator return values, and ordinary yield.</description>
    </item>
    <item>
      <title>Quiz: Python Dataclasses</title>
      <link>https://foxipa.com/en/python/exercise/quiz/dataclasses/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/dataclasses/</guid>
      <description>Check generated methods, field definitions, defaults, post-initialization, and frozen instances.</description>
    </item>
    <item>
      <title>Python Metaclasses and Class Creation Quiz</title>
      <link>https://foxipa.com/en/python/exercise/quiz/metaclasses-and-class-creation/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/metaclasses-and-class-creation/</guid>
      <description>Assess class objects, the metaclass protocol, class-creation order, compatibility, and choosing a simpler mechanism.</description>
    </item>
    <item>
      <title>Quiz: Python Module Attribute Access</title>
      <link>https://foxipa.com/en/python/exercise/quiz/module-attribute-access/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/module-attribute-access/</guid>
      <description>Check module-level fallback lookup, introspection, lazy attributes, and the boundary between attribute access and module globals.</description>
    </item>
    <item>
      <title>Quick Check: Python Union Types with |</title>
      <link>https://foxipa.com/en/python/exercise/quiz/union-types/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/union-types/</guid>
      <description>Test union expressions, None unions, normalization, supported runtime checks, and the runtime generic boundary.</description>
    </item>
    <item>
      <title>SVG Generator — Patterns, Blobs, Waves, Gradients &amp; UI Assets for Web Designers</title>
      <link>https://foxipa.com/en/tools/svg-generator/</link>
      <guid>https://foxipa.com/en/tools/svg-generator/</guid>
      <description>Generate production-ready SVGs in your browser: seamless tiling patterns, organic blobs, layered waves, mesh and grainy gradients, stars, bursts, placeholders, identicon avatars and animated spinners — with seeded randomness, live preview, SVGO-style minification, PNG export, data URIs, CSS snippets and React JSX. Free, no signup.</description>
    </item>
    <item>
      <title>Test your knowledge: filecmp comparisons</title>
      <link>https://foxipa.com/en/python/exercise/quiz/comparing-files-and-directories-with-filecmp/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/comparing-files-and-directories-with-filecmp/</guid>
      <description>Check shallow versus content comparison, cmpfiles results, directory-tree reports, caching, and tool selection.</description>
    </item>
    <item>
      <title>Test your knowledge: filesystem metadata</title>
      <link>https://foxipa.com/en/python/exercise/quiz/reading-filesystem-metadata-with-os-stat-and-stat/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/reading-filesystem-metadata-with-os-stat-and-stat/</guid>
      <description>Check stat results, mode helpers, timestamps, symbolic links, and portability.</description>
    </item>
    <item>
      <title>Test your knowledge: glob and fnmatch patterns</title>
      <link>https://foxipa.com/en/python/exercise/quiz/filename-pattern-matching-with-glob-and-fnmatch/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/filename-pattern-matching-with-glob-and-fnmatch/</guid>
      <description>Check how to find pathname matches, filter filename strings, handle recursive and hidden paths, and escape literal wildcard characters.</description>
    </item>
    <item>
      <title>Test your knowledge: high-level file operations</title>
      <link>https://foxipa.com/en/python/exercise/quiz/high-level-file-operations-with-shutil/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/high-level-file-operations-with-shutil/</guid>
      <description>Check your understanding of file copying, tree operations, deletion, disk usage, and safer archive extraction.</description>
    </item>
    <item>
      <title>Test your knowledge: os.scandir()</title>
      <link>https://foxipa.com/en/python/exercise/quiz/efficient-directory-scanning-with-os-scandir/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/efficient-directory-scanning-with-os-scandir/</guid>
      <description>Check directory iteration, DirEntry type information, symlink handling, metadata caching, and filesystem errors.</description>
    </item>
    <item>
      <title>Test your knowledge: TAR archives with tarfile</title>
      <link>https://foxipa.com/en/python/exercise/quiz/tar-archives-with-tarfile/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/tar-archives-with-tarfile/</guid>
      <description>Check your understanding of TAR modes, compression, TarInfo members, member streams, and safe extraction.</description>
    </item>
    <item>
      <title>Test your knowledge: temporary files and directories</title>
      <link>https://foxipa.com/en/python/exercise/quiz/temporary-files-and-directories/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/temporary-files-and-directories/</guid>
      <description>Check your understanding of temporary workspaces, named and unnamed files, spooled storage, and safe cleanup.</description>
    </item>
    <item>
      <title>Test your knowledge: ZIP archives with zipfile</title>
      <link>https://foxipa.com/en/python/exercise/quiz/zip-archives-with-zipfile/</link>
      <guid>https://foxipa.com/en/python/exercise/quiz/zip-archives-with-zipfile/</guid>
      <description>Check your understanding of ZIP member names, reading and writing modes, compression, validation, and safe extraction.</description>
    </item>
    <item>
      <title>Typing Speed Test — Measure Your WPM and Accuracy</title>
      <link>https://foxipa.com/en/tools/typing-speed-test/</link>
      <guid>https://foxipa.com/en/tools/typing-speed-test/</guid>
      <description>Free typing speed test with live WPM and accuracy, timed sprints and word modes, quotes, per-letter feedback, and detailed results. Works with any keyboard layout, in your browser.</description>
    </item>
    <item>
      <title>Web Playground</title>
      <link>https://foxipa.com/en/tools/web-playground/</link>
      <guid>https://foxipa.com/en/tools/web-playground/</guid>
      <description>Write HTML, CSS, and JavaScript together and preview the result in your browser.</description>
    </item>
  </channel>
</rss>
