<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Funge Guide</title><link>https://funge.org/</link><description>An independent explainer on Befunge, Funge-98, esoteric programming languages, two-dimensional program flow and language design puzzles.</description><language>en</language><atom:link href="https://funge.org/rss.xml" rel="self" type="application/rss+xml"/><item><title>What Is Befunge?</title><link>https://funge.org/befunge-basics/what-is-befunge/</link><guid isPermaLink="true">https://funge.org/befunge-basics/what-is-befunge/</guid><description>A plain introduction to Befunge, the esoteric language where code lives on a two-dimensional grid and an instruction pointer moves in four directions.</description><category>Befunge Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Common Beginner Mistakes in Befunge</title><link>https://funge.org/befunge-basics/common-beginner-mistakes-in-befunge/</link><guid isPermaLink="true">https://funge.org/befunge-basics/common-beginner-mistakes-in-befunge/</guid><description>The errors new Befunge programmers hit most often, from wrong pointer direction and stack order to missing end markers, each with a simple fix.</description><category>Befunge Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Befunge Instruction Set Explained</title><link>https://funge.org/befunge-basics/befunge-instruction-set/</link><guid isPermaLink="true">https://funge.org/befunge-basics/befunge-instruction-set/</guid><description>A tour of the single-character Befunge commands, grouped into movement, arithmetic, stack, decisions, memory and input and output, with short examples.</description><category>Befunge Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Stack and the Playfield in Befunge</title><link>https://funge.org/befunge-basics/befunge-stack-and-playfield/</link><guid isPermaLink="true">https://funge.org/befunge-basics/befunge-stack-and-playfield/</guid><description>Befunge keeps values on a stack and code on a grid. Learn what each area does, how the g and p commands connect them, and where they can clash.</description><category>Befunge Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Tracing a Befunge Program by Hand</title><link>https://funge.org/befunge-basics/tracing-a-befunge-program-by-hand/</link><guid isPermaLink="true">https://funge.org/befunge-basics/tracing-a-befunge-program-by-hand/</guid><description>Learn a simple table method for following the pointer, direction and stack through a Befunge program, with a worked example you can check yourself.</description><category>Befunge Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing Hello World in Befunge</title><link>https://funge.org/befunge-basics/befunge-hello-world/</link><guid isPermaLink="true">https://funge.org/befunge-basics/befunge-hello-world/</guid><description>Build a Befunge Hello World program step by step, and see why text is pushed onto the stack in reverse before a small loop prints it back out.</description><category>Befunge Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>What Is Funge-98?</title><link>https://funge.org/funge-98/what-is-funge-98/</link><guid isPermaLink="true">https://funge.org/funge-98/what-is-funge-98/</guid><description>Funge-98 generalizes Befunge into a larger, better-defined family of grid languages. Learn its goals, its main differences from Befunge-93, and why it matters.</description><category>Funge-98</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Befunge-93 vs Funge-98</title><link>https://funge.org/funge-98/befunge-93-vs-funge-98/</link><guid isPermaLink="true">https://funge.org/funge-98/befunge-93-vs-funge-98/</guid><description>Compare Befunge-93&apos;s fixed 80 by 25 playfield and original command set with the unbounded space, extra instructions and clearer rules of Funge-98.</description><category>Funge-98</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Funge Variants Beyond Funge-98</title><link>https://funge.org/funge-98/funge-variants-beyond-funge-98/</link><guid isPermaLink="true">https://funge.org/funge-98/funge-variants-beyond-funge-98/</guid><description>A general look at Funge-style languages: how the family is organized, how related grid languages differ, and why so many dialects and cousins exist.</description><category>Funge-98</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Funge-98 Fingerprints and Extensions</title><link>https://funge.org/funge-98/funge-98-fingerprints/</link><guid isPermaLink="true">https://funge.org/funge-98/funge-98-fingerprints/</guid><description>How Funge-98 fingerprints load extra command sets into the letters A to Z, why that makes the language extensible, and what to watch for in portable programs.</description><category>Funge-98</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Unefunge and Trefunge: Funge in One and Three Dimensions</title><link>https://funge.org/funge-98/unefunge-and-trefunge/</link><guid isPermaLink="true">https://funge.org/funge-98/unefunge-and-trefunge/</guid><description>See how the Funge idea works in one dimension (Unefunge) and three (Trefunge), and how the instruction pointer, coordinates and turning instructions change.</description><category>Funge-98</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>How Grid-Based Program Flow Works</title><link>https://funge.org/grid-program-flow/grid-based-program-flow/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/grid-based-program-flow/</guid><description>Learn how a pointer moving across a two-dimensional grid replaces the top-to-bottom reading of ordinary code, and how turns, loops and branches emerge from layout.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Dead Code and Unreachable Cells</title><link>https://funge.org/grid-program-flow/dead-code-and-unreachable-cells/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/dead-code-and-unreachable-cells/</guid><description>Find out what unreachable cells are in a grid program, why a pointer may never visit them, and how programmers use those cells to store data.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Drawing Program Flow as Paths</title><link>https://funge.org/grid-program-flow/drawing-program-flow-as-paths/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/drawing-program-flow-as-paths/</guid><description>Sketching the route a pointer takes through a grid helps you plan, check and document a program. Here is a practical way to draw and annotate flow paths.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Instruction Pointer Direction and Turning</title><link>https://funge.org/grid-program-flow/instruction-pointer-direction/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/instruction-pointer-direction/</guid><description>How the instruction pointer&apos;s four directions, arrow cells and conditional turns work in grid languages, and how turning replaces the usual if statement.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Loops Formed by Grid Geometry</title><link>https://funge.org/grid-program-flow/loops-formed-by-grid-geometry/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/loops-formed-by-grid-geometry/</guid><description>See how the shape of a pointer&apos;s path creates repetition in a grid program, from a ring of four arrows to a counting loop with a single exit.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Self-Modifying Code on a Grid</title><link>https://funge.org/grid-program-flow/self-modifying-grid-code/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/self-modifying-grid-code/</guid><description>Grid programs can read and write cells of their own playfield. Learn how self-modifying code works, with a small example, and why it makes programs hard to read.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Wrapping Edges and Toroidal Space</title><link>https://funge.org/grid-program-flow/wrapping-and-toroidal-space/</link><guid isPermaLink="true">https://funge.org/grid-program-flow/wrapping-and-toroidal-space/</guid><description>What happens when a pointer leaves the edge of a grid? Learn how wrap-around works, why it forms a torus, and how it shapes the layout of grid programs.</description><category>Grid Program Flow</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>What Are Esoteric Programming Languages?</title><link>https://funge.org/esoteric-basics/what-are-esoteric-programming-languages/</link><guid isPermaLink="true">https://funge.org/esoteric-basics/what-are-esoteric-programming-languages/</guid><description>Esoteric programming languages are built for fun, art, puzzles or experiments rather than practical work. Learn what defines them and why people make them.</description><category>Esoteric Language Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>A Short History of Esoteric Languages</title><link>https://funge.org/esoteric-basics/a-short-history-of-esoteric-languages/</link><guid isPermaLink="true">https://funge.org/esoteric-basics/a-short-history-of-esoteric-languages/</guid><description>A general, cautious outline of how esoteric programming languages grew from early experiments and jokes into a hobby with tools, contests and communities.</description><category>Esoteric Language Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Brainfuck Explained</title><link>https://funge.org/esoteric-basics/brainfuck-explained/</link><guid isPermaLink="true">https://funge.org/esoteric-basics/brainfuck-explained/</guid><description>Brainfuck uses a tape of cells, a movable pointer and just eight commands. See how each command works with a traced example, and how it differs from Befunge.</description><category>Esoteric Language Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Choosing Your First Esoteric Language</title><link>https://funge.org/esoteric-basics/choosing-your-first-esoteric-language/</link><guid isPermaLink="true">https://funge.org/esoteric-basics/choosing-your-first-esoteric-language/</guid><description>Not sure which esoteric language to try first? Match a language to your interests, from tape-based Brainfuck to grid-based Befunge and visual puzzles.</description><category>Esoteric Language Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Whitespace Language Explained</title><link>https://funge.org/esoteric-basics/whitespace-language-explained/</link><guid isPermaLink="true">https://funge.org/esoteric-basics/whitespace-language-explained/</guid><description>Whitespace is an esoteric language whose programs use only spaces, tabs and line feeds. Learn how it works and what that means for reading and editing code.</description><category>Esoteric Language Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Why Esoteric Languages Are Hard to Read</title><link>https://funge.org/esoteric-basics/why-esoteric-languages-are-hard-to-read/</link><guid isPermaLink="true">https://funge.org/esoteric-basics/why-esoteric-languages-are-hard-to-read/</guid><description>Tiny instruction sets, hidden state and unusual layouts make esoteric code opaque. See which design choices cause it and what they teach about readable code.</description><category>Esoteric Language Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Visual and Two-Dimensional Programming Languages</title><link>https://funge.org/visual-and-2d-languages/visual-and-two-dimensional-languages/</link><guid isPermaLink="true">https://funge.org/visual-and-2d-languages/visual-and-two-dimensional-languages/</guid><description>A survey of languages where position on a plane carries meaning, from Befunge and Fish to Piet and Hexagony, and where the Funge family fits among them.</description><category>Visual and 2D Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>ASCII Art Programs</title><link>https://funge.org/visual-and-2d-languages/ascii-art-programs/</link><guid isPermaLink="true">https://funge.org/visual-and-2d-languages/ascii-art-programs/</guid><description>When source code doubles as a picture: how shaped programs work, when the shape is decoration or structure, and a small Befunge example you can trace.</description><category>Visual and 2D Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Fish and Other Mirror-Based Languages</title><link>https://funge.org/visual-and-2d-languages/fish-and-mirror-languages/</link><guid isPermaLink="true">https://funge.org/visual-and-2d-languages/fish-and-mirror-languages/</guid><description>How Fish (written &gt;&lt;&gt;) steers its pointer with mirrors and arrows, how that compares with Befunge, and what the two approaches mean for reading and writing code.</description><category>Visual and 2D Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Piet: Programming With Colors</title><link>https://funge.org/visual-and-2d-languages/piet-programming-language/</link><guid isPermaLink="true">https://funge.org/visual-and-2d-languages/piet-programming-language/</guid><description>How Piet programs are images, how blocks of color are traversed, and how the change in hue and lightness between blocks selects each operation.</description><category>Visual and 2D Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Programming on a Hexagonal Grid</title><link>https://funge.org/visual-and-2d-languages/hexagonal-grid-programming/</link><guid isPermaLink="true">https://funge.org/visual-and-2d-languages/hexagonal-grid-programming/</guid><description>What changes when code lives on a hexagonal grid instead of a square one: six directions, different turns, odd edge wrapping, and how Hexagony approaches it.</description><category>Visual and 2D Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Programming Language Design Tradeoffs</title><link>https://funge.org/language-design/language-design-tradeoffs/</link><guid isPermaLink="true">https://funge.org/language-design/language-design-tradeoffs/</guid><description>Every language is a bundle of tradeoffs. See the core choices designers face, from simplicity to readability, and how odd languages push each one to an extreme.</description><category>Language Design</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Minimalist Languages and Tiny Instruction Sets</title><link>https://funge.org/language-design/minimalist-instruction-sets/</link><guid isPermaLink="true">https://funge.org/language-design/minimalist-instruction-sets/</guid><description>How few commands can a programming language have? Explore tiny instruction sets, from Brainfuck&apos;s eight commands to single-instruction ideas, and what you lose.</description><category>Language Design</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Orthogonality and Surprise in Language Design</title><link>https://funge.org/language-design/orthogonality-and-surprise-in-language-design/</link><guid isPermaLink="true">https://funge.org/language-design/orthogonality-and-surprise-in-language-design/</guid><description>Orthogonal design means features work independently, so they combine without nasty surprises. See how it helps, where it breaks down, and examples from odd languages.</description><category>Language Design</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Syntax Versus Semantics in Odd Languages</title><link>https://funge.org/language-design/syntax-versus-semantics/</link><guid isPermaLink="true">https://funge.org/language-design/syntax-versus-semantics/</guid><description>Syntax is how code looks; semantics is what it means. Unusual languages like Whitespace, Ook and Piet show clearly how the two can be pulled apart.</description><category>Language Design</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Turing Completeness Explained</title><link>https://funge.org/language-design/turing-completeness-explained/</link><guid isPermaLink="true">https://funge.org/language-design/turing-completeness-explained/</guid><description>What does it mean for a tiny language to compute anything computable? A plain-language look at Turing completeness, what it requires and what it does not mean.</description><category>Language Design</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing a Befunge Interpreter</title><link>https://funge.org/interpreters-and-puzzles/writing-a-befunge-interpreter/</link><guid isPermaLink="true">https://funge.org/interpreters-and-puzzles/writing-a-befunge-interpreter/</guid><description>A high-level outline of how a Befunge interpreter is put together: loading the grid, the main loop, the stack and the instruction pointer, with a small sketch.</description><category>Interpreters and Puzzles</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Code Golf Explained</title><link>https://funge.org/interpreters-and-puzzles/code-golf-explained/</link><guid isPermaLink="true">https://funge.org/interpreters-and-puzzles/code-golf-explained/</guid><description>Code golf is the puzzle of solving a task in as few characters as possible. Learn how it works, how entries are judged, and why odd languages thrive in it.</description><category>Interpreters and Puzzles</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Debugging Grid Programs</title><link>https://funge.org/interpreters-and-puzzles/debugging-grid-programs/</link><guid isPermaLink="true">https://funge.org/interpreters-and-puzzles/debugging-grid-programs/</guid><description>Practical ways to debug code that runs in two dimensions: trace the pointer path, watch the stack, mark cells, and shrink a failing program until the bug shows.</description><category>Interpreters and Puzzles</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Programming Puzzles With Unusual Constraints</title><link>https://funge.org/interpreters-and-puzzles/programming-puzzles-with-constraints/</link><guid isPermaLink="true">https://funge.org/interpreters-and-puzzles/programming-puzzles-with-constraints/</guid><description>A survey of puzzles that restrict the language, the character set or the code layout, with ideas for how to approach each kind and why constraints spark creativity.</description><category>Interpreters and Puzzles</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Befunge Programming Techniques Overview</title><link>https://funge.org/befunge-techniques/befunge-programming-techniques-overview/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/befunge-programming-techniques-overview/</guid><description>A tour of the recurring patterns that give Befunge programs structure: loops, branches, skips, strings, input, grid storage, subroutines and layout habits.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>A Worked Countdown Program</title><link>https://funge.org/befunge-techniques/a-worked-countdown-program/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/a-worked-countdown-program/</guid><description>Follow a two-row Befunge countdown from 9 to 1 one step at a time, with the stack contents and pointer direction written out at every instruction.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Conditional Branching with the Horizontal and Vertical If</title><link>https://funge.org/befunge-techniques/conditional-branching-with-the-horizontal-and-vertical-if/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/conditional-branching-with-the-horizontal-and-vertical-if/</guid><description>How Befunge&apos;s two if instructions pop the top of the stack and steer the pointer, with a small example, comparison tips and common layout mistakes.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Jumping Over Cells with the Trampoline</title><link>https://funge.org/befunge-techniques/jumping-over-cells-with-the-trampoline/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/jumping-over-cells-with-the-trampoline/</guid><description>What the Befunge # instruction does, how it skips exactly one cell in any direction, and the loop and layout tricks it makes possible.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Laying Out Befunge Code So Humans Can Read It</title><link>https://funge.org/befunge-techniques/laying-out-befunge-code-so-humans-can-read-it/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/laying-out-befunge-code-so-humans-can-read-it/</guid><description>Practical spacing, alignment and sectioning habits that make a two-dimensional Befunge program easier to follow, trace and change without breaking it.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Printing Strings with Quote Mode</title><link>https://funge.org/befunge-techniques/printing-strings-with-quote-mode/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/printing-strings-with-quote-mode/</guid><description>How Befunge&apos;s double-quote instruction pushes character codes, why strings come out backward, and three reliable ways to print text in the right order.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Reading Numeric Input in Befunge</title><link>https://funge.org/befunge-techniques/reading-numeric-input-in-befunge/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/reading-numeric-input-in-befunge/</guid><description>How the ampersand and tilde instructions read numbers and characters in Befunge, how to convert digit characters to values, and what to watch for at end of input.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Subroutines in a Grid Language</title><link>https://funge.org/befunge-techniques/subroutines-in-a-grid-language/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/subroutines-in-a-grid-language/</guid><description>Befunge has no call instruction, so reusable routines are emulated. Compare copying code, dispatching a return with a stack value, and rewriting cells.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Using Get and Put to Store Variables on the Grid</title><link>https://funge.org/befunge-techniques/using-get-and-put-to-store-variables-on-the-grid/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/using-get-and-put-to-store-variables-on-the-grid/</guid><description>How Befunge&apos;s g and p instructions turn spare grid cells into named variables, with argument order, a counter example and tips for avoiding collisions.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing Loops in Befunge</title><link>https://funge.org/befunge-techniques/writing-loops-in-befunge/</link><guid isPermaLink="true">https://funge.org/befunge-techniques/writing-loops-in-befunge/</guid><description>Build counted and conditional loops in Befunge by routing the pointer back over earlier cells, with tested-first and tested-last layouts and common pitfalls.</description><category>Befunge Techniques</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Classic Algorithms in Befunge</title><link>https://funge.org/funge-algorithms/classic-algorithms-in-befunge/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/classic-algorithms-in-befunge/</guid><description>How familiar algorithms such as factorials, GCD and sorting change shape when the only tools are a stack, a movable pointer and a small grid of cells.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Computing Factorials on a Grid</title><link>https://funge.org/funge-algorithms/computing-factorials-on-a-grid/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/computing-factorials-on-a-grid/</guid><description>Build a small Befunge factorial program with a loop, a scratch cell and a pass-by-pass table showing the stack and accumulator at every step.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Converting Numbers Between Bases</title><link>https://funge.org/funge-algorithms/converting-numbers-between-bases/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/converting-numbers-between-bases/</guid><description>Convert a number to binary in Befunge by repeated division, then fix the backward digit order by letting the stack hand the digits back in reverse.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Euclids Method for Greatest Common Divisors</title><link>https://funge.org/funge-algorithms/euclids-method-for-greatest-common-divisors/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/euclids-method-for-greatest-common-divisors/</guid><description>Turn the remainder-based Euclidean algorithm into a tested Befunge program, with pointer paths, stack contents and a scratch cell for the missing rotation.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Generating Fibonacci Numbers in a Grid Language</title><link>https://funge.org/funge-algorithms/generating-fibonacci-numbers-in-a-grid-language/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/generating-fibonacci-numbers-in-a-grid-language/</guid><description>A tested Befunge program prints Fibonacci numbers using dup, swap and a scratch cell in place of rotation, with the stack traced pass by pass.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Random Choice with the Question Mark Instruction</title><link>https://funge.org/funge-algorithms/random-choice-with-the-question-mark-instruction/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/random-choice-with-the-question-mark-instruction/</guid><description>How the Befunge question mark sends the pointer in a random direction, with a tested coin-flip program and ways to make programs tolerate chance.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Reversing a String with the Stack</title><link>https://funge.org/funge-algorithms/reversing-a-string-with-the-stack/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/reversing-a-string-with-the-stack/</guid><description>Read characters until a newline, push them on the Befunge stack, then pop and print them backward, using the stack&apos;s own ordering to do the reversal.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Sorting Small Lists in a Grid Language</title><link>https://funge.org/funge-algorithms/sorting-small-lists-in-a-grid-language/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/sorting-small-lists-in-a-grid-language/</guid><description>Without arrays, a Befunge sort stores values in grid cells and compares them pair by pair. See a tested compare-and-order routine and what a full sort costs.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Testing for Primes by Trial Division</title><link>https://funge.org/funge-algorithms/testing-for-primes-by-trial-division/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/testing-for-primes-by-trial-division/</guid><description>A tested Befunge program checks whether a number is prime by trying each divisor in turn, and the article explains its limits in such a small language.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing a Quine in a Grid Language</title><link>https://funge.org/funge-algorithms/writing-a-quine-in-a-grid-language/</link><guid isPermaLink="true">https://funge.org/funge-algorithms/writing-a-quine-in-a-grid-language/</guid><description>A 14-cell Befunge quine reads its own cells with get and prints them, showing how the playfield doubles as data. Includes a cell-by-cell explanation.</description><category>Algorithms in Funge</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Funge-98 Features in Depth</title><link>https://funge.org/funge-98-in-depth/funge-98-features-in-depth/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/funge-98-features-in-depth/</guid><description>A tour of what Funge-98 adds beyond the original Befunge: extra instructions, multiple pointers, a stack of stacks, file access, extensions and more.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Asking the Interpreter for System Information</title><link>https://funge.org/funge-98-in-depth/asking-the-interpreter-for-system-information/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/asking-the-interpreter-for-system-information/</guid><description>How the Funge-98 info instruction works: what facts it reports about the interpreter and the program, how to pick one item, and why portable code checks them.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Delta Vectors and Arbitrary Directions</title><link>https://funge.org/funge-98-in-depth/delta-vectors-and-arbitrary-directions/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/delta-vectors-and-arbitrary-directions/</guid><description>Learn how Funge-98 describes pointer movement as a delta vector, how the absolute-delta instruction sets it, and what diagonal and long steps make possible.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>File Input and Output in Funge-98</title><link>https://funge.org/funge-98-in-depth/file-input-and-output-in-funge-98/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/file-input-and-output-in-funge-98/</guid><description>A general look at how Funge-98 reads files into the grid and writes grid regions to files, with notes on flags, text versus binary, and safety.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Loading Extensions Safely</title><link>https://funge.org/funge-98-in-depth/loading-extensions-safely/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/loading-extensions-safely/</guid><description>How a Funge-98 program asks its interpreter to load optional extensions, what can go wrong, and habits that keep programs predictable and safe to run.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Repeating Instructions with Iterate</title><link>https://funge.org/funge-98-in-depth/repeating-instructions-with-iterate/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/repeating-instructions-with-iterate/</guid><description>How the Funge-98 iterate instruction repeats the next instruction a given number of times, with a traced example, edge cases and where it shortens code.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Running Several Pointers with the Split Instruction</title><link>https://funge.org/funge-98-in-depth/running-several-pointers-with-the-split-instruction/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/running-several-pointers-with-the-split-instruction/</guid><description>How the Funge-98 split instruction creates extra instruction pointers, how they interleave on a shared grid, and how each one ends, with design cautions.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Storage Offset and Relocatable Code</title><link>https://funge.org/funge-98-in-depth/storage-offset-and-relocatable-code/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/storage-offset-and-relocatable-code/</guid><description>How the Funge-98 storage offset shifts the origin used by get and put, and how that lets one routine and its data work wherever it is placed on the grid.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>What Happens When an Instruction Is Unknown</title><link>https://funge.org/funge-98-in-depth/what-happens-when-an-instruction-is-unknown/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/what-happens-when-an-instruction-is-unknown/</guid><description>Funge-98 treats unsupported or unassigned instructions as a reflection that turns the pointer around. Learn why, how it shows up, and what it means for portability.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Working with the Stack of Stacks</title><link>https://funge.org/funge-98-in-depth/working-with-the-stack-of-stacks/</link><guid isPermaLink="true">https://funge.org/funge-98-in-depth/working-with-the-stack-of-stacks/</guid><description>How Funge-98 block begin and block end create separate stacks, what moves between them, the stack-under-stack instruction, and why programs use isolation.</description><category>Funge-98 in Depth</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Tape and Stack Based Esoteric Languages</title><link>https://funge.org/tape-and-stack-languages/tape-and-stack-based-esoteric-languages/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/tape-and-stack-based-esoteric-languages/</guid><description>A comparison of esoteric languages that use a tape, a stack or a few counters as their only memory, and what each choice makes easy or awkward.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Brainfuck Variants and Dialects</title><link>https://funge.org/tape-and-stack-languages/brainfuck-variants-and-dialects/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/brainfuck-variants-and-dialects/</guid><description>A survey of the kinds of changes found in languages derived from Brainfuck, from cell size and end-of-input behavior to bit cells and extra commands.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Common Brainfuck Programming Patterns</title><link>https://funge.org/tape-and-stack-languages/common-brainfuck-programming-patterns/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/common-brainfuck-programming-patterns/</guid><description>Learn the standard Brainfuck idioms: clearing a cell, moving and copying values, counting loops, and simple multiplication, each with a worked example.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Concatenative Thinking in Odd Languages</title><link>https://funge.org/tape-and-stack-languages/concatenative-thinking-in-odd-languages/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/concatenative-thinking-in-odd-languages/</guid><description>How programs built by joining functions end to end on a stack work, why any split of the text is a valid program, and where esoteric languages echo the idea.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Counter Machines and Minsky Style Languages</title><link>https://funge.org/tape-and-stack-languages/counter-machines-and-minsky-style-languages/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/counter-machines-and-minsky-style-languages/</guid><description>An explanation of counter machines, languages with only counters, increment, decrement and zero tests, including a worked addition program and what they show.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Memory Models Across Esoteric Languages</title><link>https://funge.org/tape-and-stack-languages/memory-models-across-esoteric-languages/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/memory-models-across-esoteric-languages/</guid><description>Compare tape, stack, queue and grid storage in esoteric languages, and see what kinds of programs each memory layout makes natural or painful.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Ook and Other Brainfuck Reskins</title><link>https://funge.org/tape-and-stack-languages/ook-and-other-brainfuck-reskins/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/ook-and-other-brainfuck-reskins/</guid><description>See how renaming Brainfuck&apos;s eight commands, as Ook does with its three word forms, makes a new-looking language that is still the same underneath.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Stack Machines Explained Through Esolangs</title><link>https://funge.org/tape-and-stack-languages/stack-machines-explained-through-esolangs/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/stack-machines-explained-through-esolangs/</guid><description>Learn how a stack machine evaluates expressions by following small esoteric languages step by step, with traced examples in postfix and Befunge style.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Tape Versus Grid as a Memory Model</title><link>https://funge.org/tape-and-stack-languages/tape-versus-grid-as-a-memory-model/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/tape-versus-grid-as-a-memory-model/</guid><description>Contrast one-dimensional tape execution in Brainfuck with an instruction pointer moving over a plane in Befunge, and see where code and data live in each.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Underload and Other Minimal Stack Languages</title><link>https://funge.org/tape-and-stack-languages/underload-and-other-minimal-stack-languages/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/underload-and-other-minimal-stack-languages/</guid><description>A look at Underload and other tiny stack languages that treat code as strings to store, duplicate, join and run, with short traced examples.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing a Brainfuck Interpreter</title><link>https://funge.org/tape-and-stack-languages/writing-a-brainfuck-interpreter/</link><guid isPermaLink="true">https://funge.org/tape-and-stack-languages/writing-a-brainfuck-interpreter/</guid><description>Outline of a compact Brainfuck interpreter in Python, including bracket matching with a stack, tape handling, input and output, and basic error checks.</description><category>Tape and Stack Languages</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Unusual Programming Paradigms in Esoteric Languages</title><link>https://funge.org/unusual-paradigms/unusual-programming-paradigms-in-esoteric-languages/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/unusual-programming-paradigms-in-esoteric-languages/</guid><description>A tour of models of computation far from ordinary step-by-step code: rewriting, automata, combinators, reversibility and more, and why they still compute.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Cellular Automata as Programming Systems</title><link>https://funge.org/unusual-paradigms/cellular-automata-as-programming-systems/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/cellular-automata-as-programming-systems/</guid><description>How grids of simple cells that update in lockstep can be treated as programs, with a small worked example and a look at what such systems can compute.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Combinator Languages Like Unlambda</title><link>https://funge.org/unusual-paradigms/combinator-languages-like-unlambda/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/combinator-languages-like-unlambda/</guid><description>How programs can be built from a handful of combinators with no variables at all, using S, K and I and the esoteric language Unlambda as a guide.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Esoteric Languages Without Control Flow</title><link>https://funge.org/unusual-paradigms/esoteric-languages-without-control-flow/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/esoteric-languages-without-control-flow/</guid><description>Looks at language designs that have no separate loop or conditional construct, from one-instruction machines to grids and rule systems, and how they still decide what runs next.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Lambda Calculus Through Esoteric Languages</title><link>https://funge.org/unusual-paradigms/lambda-calculus-through-esoteric-languages/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/lambda-calculus-through-esoteric-languages/</guid><description>Explains lambda calculus, where functions are the only thing, with Church numerals and a worked reduction, and how it has shaped odd and minimal languages.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Languages Built on Rewriting Rules</title><link>https://funge.org/unusual-paradigms/languages-built-on-rewriting-rules/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/languages-built-on-rewriting-rules/</guid><description>How programs expressed as pattern-replacement rules work, with a hand-traced sorting example, Markov-style algorithms and why rule order matters.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Languages That Read Like Prose</title><link>https://funge.org/unusual-paradigms/languages-that-read-like-prose/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/languages-that-read-like-prose/</guid><description>A look at programming languages whose source resembles sentences, recipes or stage plays, why designers make them, and what they teach about readability.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Nondeterministic and Probabilistic Programs</title><link>https://funge.org/unusual-paradigms/nondeterministic-and-probabilistic-programs/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/nondeterministic-and-probabilistic-programs/</guid><description>Explains how a step can have more than one outcome, the difference between random and nondeterministic choice, and how esoteric and theoretical systems use both.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Reversible Programming Languages</title><link>https://funge.org/unusual-paradigms/reversible-programming-languages/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/reversible-programming-languages/</guid><description>How languages in which every step can be run backward work, why information loss matters, and what reversible gates and operations look like in practice.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Rule 110 and Computation in Simple Systems</title><link>https://funge.org/unusual-paradigms/rule-110-and-computation-in-simple-systems/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/rule-110-and-computation-in-simple-systems/</guid><description>Why a one-dimensional rule with only eight cases is discussed in computability, how the rule works by hand, and what its universality does and does not mean.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Game of Life as a Computer</title><link>https://funge.org/unusual-paradigms/the-game-of-life-as-a-computer/</link><guid isPermaLink="true">https://funge.org/unusual-paradigms/the-game-of-life-as-a-computer/</guid><description>How patterns such as gliders, guns and eaters in Conway&apos;s Game of Life can act as signals and logic gates, and what that implies about universal computation.</description><category>Unusual Paradigms</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Esoteric Language Culture and Community</title><link>https://funge.org/esolang-culture/esoteric-language-culture-and-community/</link><guid isPermaLink="true">https://funge.org/esolang-culture/esoteric-language-culture-and-community/</guid><description>A plain-language look at the shared habits, humor and goals of people who design and share odd programming languages, and how the hobby tends to work.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Challenges and Contests Around Odd Languages</title><link>https://funge.org/esolang-culture/challenges-and-contests-around-odd-languages/</link><guid isPermaLink="true">https://funge.org/esolang-culture/challenges-and-contests-around-odd-languages/</guid><description>The usual formats of language challenges and contests in the esoteric language community, from design jams to shortest-program tasks, described in general terms.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Documenting a Hobby Language</title><link>https://funge.org/esolang-culture/documenting-a-hobby-language/</link><guid isPermaLink="true">https://funge.org/esolang-culture/documenting-a-hobby-language/</guid><description>Practical advice for explaining a small hobby language so other people can read it, run it and try their own programs without guessing how it works.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Intentionally Difficult Languages</title><link>https://funge.org/esolang-culture/intentionally-difficult-languages/</link><guid isPermaLink="true">https://funge.org/esolang-culture/intentionally-difficult-languages/</guid><description>Why some language designers make programming hard on purpose, which hostile design choices are common, and what those choices can teach about ordinary languages.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Joke Languages and Their Humor</title><link>https://funge.org/esolang-culture/joke-languages-and-their-humor/</link><guid isPermaLink="true">https://funge.org/esolang-culture/joke-languages-and-their-humor/</guid><description>How languages designed to amuse work, the kinds of jokes designers use, and how the joke ends up shaping syntax, semantics and the experience of writing code.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Naming Your Language</title><link>https://funge.org/esolang-culture/naming-your-language/</link><guid isPermaLink="true">https://funge.org/esolang-culture/naming-your-language/</guid><description>What makes a hobby programming language name memorable, how names signal tone, and how a name can affect whether people find, remember and try your language.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Using Esoteric Languages in Teaching</title><link>https://funge.org/esolang-culture/using-esoteric-languages-in-teaching/</link><guid isPermaLink="true">https://funge.org/esolang-culture/using-esoteric-languages-in-teaching/</guid><description>How small, odd programming languages can illustrate computing concepts such as state, control flow and interpretation to students, plus cautions for teachers.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>What Esoteric Languages Teach Programmers</title><link>https://funge.org/esolang-culture/what-esoteric-languages-teach-programmers/</link><guid isPermaLink="true">https://funge.org/esolang-culture/what-esoteric-languages-teach-programmers/</guid><description>The general lessons odd programming languages offer about parsing, state and abstraction, and how those lessons carry over to ordinary programming work.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Why People Create Esoteric Languages</title><link>https://funge.org/esolang-culture/why-people-create-esoteric-languages/</link><guid isPermaLink="true">https://funge.org/esolang-culture/why-people-create-esoteric-languages/</guid><description>The common motives behind esoteric language design, including curiosity, challenge, art and humor, and why building one can be satisfying even without users.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing a Specification for a Hobby Language</title><link>https://funge.org/esolang-culture/writing-a-specification-for-a-hobby-language/</link><guid isPermaLink="true">https://funge.org/esolang-culture/writing-a-specification-for-a-hobby-language/</guid><description>What a short, unambiguous description of a hobby programming language should include, from program structure and state to errors, input and output.</description><category>Esolang Culture</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Computability Ideas for Curious Programmers</title><link>https://funge.org/computability-theory/computability-ideas-for-curious-programmers/</link><guid isPermaLink="true">https://funge.org/computability-theory/computability-ideas-for-curious-programmers/</guid><description>A plain-language map of computability theory: what can be computed at all, which questions no program can answer, and why it matters for odd languages.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Finite Automata Versus Full Programming Languages</title><link>https://funge.org/computability-theory/finite-automata-versus-full-programming-languages/</link><guid isPermaLink="true">https://funge.org/computability-theory/finite-automata-versus-full-programming-languages/</guid><description>What a machine with fixed memory can and cannot do, why it cannot count without limit, and how that separates simple machines from full programming languages.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>How to Show a Language Is Turing Complete</title><link>https://funge.org/computability-theory/how-to-show-a-language-is-turing-complete/</link><guid isPermaLink="true">https://funge.org/computability-theory/how-to-show-a-language-is-turing-complete/</guid><description>The usual recipe for a completeness proof: pick a known universal system, simulate it in your language, and handle the memory and control details carefully.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Infinite Memory Versus Real Machines</title><link>https://funge.org/computability-theory/infinite-memory-versus-real-machines/</link><guid isPermaLink="true">https://funge.org/computability-theory/infinite-memory-versus-real-machines/</guid><description>Why theoretical models assume unlimited memory, how that differs from finite hardware, and how to read Turing completeness claims about real languages.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Is Befunge Turing Complete</title><link>https://funge.org/computability-theory/is-befunge-turing-complete/</link><guid isPermaLink="true">https://funge.org/computability-theory/is-befunge-turing-complete/</guid><description>How people reason about Befunge&apos;s expressive power, why a fixed playfield complicates the answer, and what changes under idealized or later Funge rules.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Tag Systems and Tiny Universal Machines</title><link>https://funge.org/computability-theory/tag-systems-and-tiny-universal-machines/</link><guid isPermaLink="true">https://funge.org/computability-theory/tag-systems-and-tiny-universal-machines/</guid><description>Meet tag systems, a rule-rewriting model that can compute anything computable, with a traced example and a look at why tiny universal systems matter.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Church-Turing Thesis Explained</title><link>https://funge.org/computability-theory/the-church-turing-thesis-explained/</link><guid isPermaLink="true">https://funge.org/computability-theory/the-church-turing-thesis-explained/</guid><description>What the Church-Turing thesis claims, why it is a thesis rather than a proven theorem, and what evidence supports it and what it does not say.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Halting Problem in Plain Language</title><link>https://funge.org/computability-theory/the-halting-problem-in-plain-language/</link><guid isPermaLink="true">https://funge.org/computability-theory/the-halting-problem-in-plain-language/</guid><description>Why no general program can decide whether every program eventually stops, explained with a step-by-step contradiction and practical consequences.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Translating One Language into Another</title><link>https://funge.org/computability-theory/translating-one-language-into-another/</link><guid isPermaLink="true">https://funge.org/computability-theory/translating-one-language-into-another/</guid><description>How compilation is a form of translation, and why a faithful translator between two languages shows that one is at least as powerful as the other.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Turing Machines Explained</title><link>https://funge.org/computability-theory/turing-machines-explained/</link><guid isPermaLink="true">https://funge.org/computability-theory/turing-machines-explained/</guid><description>A step-by-step explanation of the Turing machine model: the tape, the head, the state table, with a small worked example you can trace by hand.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Undecidable Questions About Grid Programs</title><link>https://funge.org/computability-theory/undecidable-questions-about-grid-programs/</link><guid isPermaLink="true">https://funge.org/computability-theory/undecidable-questions-about-grid-programs/</guid><description>Which questions about program behavior, like reachability or equivalence, cannot be answered in general for a universal grid language, and what still can.</description><category>Computability Basics</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Building Interpreters Step by Step</title><link>https://funge.org/interpreter-implementation/building-interpreters-step-by-step/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/building-interpreters-step-by-step/</guid><description>A staged plan for building a working interpreter for a small grid language, from loading the program to testing, with the decisions to settle at each stage.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Arithmetic Edge Cases in Interpreters</title><link>https://funge.org/interpreter-implementation/arithmetic-edge-cases-in-interpreters/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/arithmetic-edge-cases-in-interpreters/</guid><description>How to handle division by zero, negative remainders and integer size in a small interpreter, with worked examples and advice on choosing and documenting behavior.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Avoiding Stack Underflow Surprises</title><link>https://funge.org/interpreter-implementation/avoiding-stack-underflow-surprises/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/avoiding-stack-underflow-surprises/</guid><description>What an interpreter can do when an instruction needs more values than the stack holds: default to zero, halt with an error, or warn, and how to test each choice.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Building a Trace Visualizer</title><link>https://funge.org/interpreter-implementation/building-a-trace-visualizer/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/building-a-trace-visualizer/</guid><description>How to print each step of a grid program with pointer position, current cell and stack so you can see a run, with a small Python sketch and formatting tips.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Choosing a Data Structure for the Playfield</title><link>https://funge.org/interpreter-implementation/choosing-a-data-structure-for-the-playfield/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/choosing-a-data-structure-for-the-playfield/</guid><description>Compare nested arrays, flat arrays, hash maps and sparse storage for a two-dimensional program grid, and learn which fits fixed or growing playfields.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Compiling a Grid Program to Another Language</title><link>https://funge.org/interpreter-implementation/compiling-a-grid-program-to-another-language/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/compiling-a-grid-program-to-another-language/</guid><description>How a compiler can turn the pointer paths of a grid program into ordinary code blocks, and why self-modifying code and direction-dependent cells make it hard.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Handling Input and Output in an Interpreter</title><link>https://funge.org/interpreter-implementation/handling-input-and-output-in-an-interpreter/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/handling-input-and-output-in-an-interpreter/</guid><description>How to deal with output buffering, end of input, and the difference between reading a character and reading a number when building a grid-language interpreter.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Loading a Program File into a Grid</title><link>https://funge.org/interpreter-implementation/loading-a-program-file-into-a-grid/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/loading-a-program-file-into-a-grid/</guid><description>How to read a source file into a two-dimensional grid: splitting lines, padding short rows, and handling tabs, carriage returns and unusual characters.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Making an Interpreter Faster</title><link>https://funge.org/interpreter-implementation/making-an-interpreter-faster/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/making-an-interpreter-faster/</guid><description>A general look at speeding up a grid-language interpreter: measure first, precompute jumps, cache decoded cells, and keep the cache correct when code changes.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Testing an Interpreter with Small Programs</title><link>https://funge.org/interpreter-implementation/testing-an-interpreter-with-small-programs/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/testing-an-interpreter-with-small-programs/</guid><description>Build a ladder of tiny test programs that each isolate one instruction, with expected outputs, so you can trust and safely change your grid-language interpreter.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Fetch and Execute Loop</title><link>https://funge.org/interpreter-implementation/the-fetch-and-execute-loop/</link><guid isPermaLink="true">https://funge.org/interpreter-implementation/the-fetch-and-execute-loop/</guid><description>How the core loop of a grid-language interpreter reads a cell, acts on it and moves the pointer, with a small Python example and the order-of-operations details.</description><category>Interpreter Implementation</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Puzzle Programming Practice</title><link>https://funge.org/puzzle-practice/puzzle-programming-practice/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/puzzle-programming-practice/</guid><description>An introduction to puzzle programming as a hobby: what it is, the skills it builds, how to start small, and how to keep practicing without burning out.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Designing Your Own Code Puzzles</title><link>https://funge.org/puzzle-practice/designing-your-own-code-puzzles/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/designing-your-own-code-puzzles/</guid><description>Practical advice on puzzle design: how to write clear, fair coding puzzles with answers that can be checked, and how to test them before sharing.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>FizzBuzz in Odd Languages</title><link>https://funge.org/puzzle-practice/fizzbuzz-in-odd-languages/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/fizzbuzz-in-odd-languages/</guid><description>A look at the classic FizzBuzz puzzle and what changes when you express it in a tape, stack or grid language instead of a conventional one.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Games That Teach Programming Through Puzzles</title><link>https://funge.org/puzzle-practice/games-that-teach-programming-through-puzzles/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/games-that-teach-programming-through-puzzles/</guid><description>A general look at programming games, the puzzle style where you build tiny programs to solve levels, and what they can and cannot teach.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Learning from Other Peoples Solutions</title><link>https://funge.org/puzzle-practice/learning-from-other-peoples-solutions/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/learning-from-other-peoples-solutions/</guid><description>How to study code you did not write: when to look, how to read it, what to take away, and how to avoid simply copying someone else&apos;s answer.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Obfuscated Code and Its Purpose</title><link>https://funge.org/puzzle-practice/obfuscated-code-and-its-purpose/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/obfuscated-code-and-its-purpose/</guid><description>A look at obfuscated code: playful obfuscation as a creative pastime, practical code protection, how they differ, and what each can and cannot do.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Palindromic Programs</title><link>https://funge.org/puzzle-practice/palindromic-programs/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/palindromic-programs/</guid><description>Why programs that read the same forward and backward are a favorite puzzle, what makes them hard, and why grid languages suit the idea so well.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Polyglot Programs</title><link>https://funge.org/puzzle-practice/polyglot-programs/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/polyglot-programs/</guid><description>What polyglot programs are, how one source file can be valid in several languages, the common techniques behind them, and why people enjoy making them.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Scoring and Fairness in Code Challenges</title><link>https://funge.org/puzzle-practice/scoring-and-fairness-in-code-challenges/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/scoring-and-fairness-in-code-challenges/</guid><description>How scoring rules shape which solutions win in code challenges, common scoring methods, their side effects, and how organizers can aim for fairness.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Solving Mazes as a Programming Puzzle</title><link>https://funge.org/puzzle-practice/solving-mazes-as-a-programming-puzzle/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/solving-mazes-as-a-programming-puzzle/</guid><description>Maze solving as a programming puzzle: common traversal ideas such as wall following and search, and how they map to a pointer moving across a grid.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Writing Programs Under a Size Limit</title><link>https://funge.org/puzzle-practice/writing-programs-under-a-size-limit/</link><guid isPermaLink="true">https://funge.org/puzzle-practice/writing-programs-under-a-size-limit/</guid><description>Strategies for fitting a program into a small number of characters or grid cells: planning, reuse, reshaping the algorithm, and knowing when to stop.</description><category>Puzzle Practice</category><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate></item></channel></rss>