---
title: References
---

# References













<!-- Picking a tag targets its link, and these rules hide every reference
     without that tag. With no tag picked, everything shows. -->
<style>.tagged:has(#avr:target) li:not([data-tags~="avr"]) { display: none; }.tagged:has(#bare-metal:target) li:not([data-tags~="bare-metal"]) { display: none; }.tagged:has(#contracts:target) li:not([data-tags~="contracts"]) { display: none; }.tagged:has(#electronics:target) li:not([data-tags~="electronics"]) { display: none; }.tagged:has(#foundations:target) li:not([data-tags~="foundations"]) { display: none; }.tagged:has(#functional:target) li:not([data-tags~="functional"]) { display: none; }.tagged:has(#math:target) li:not([data-tags~="math"]) { display: none; }.tagged:has(#pl:target) li:not([data-tags~="pl"]) { display: none; }.tagged:has(#processes:target) li:not([data-tags~="processes"]) { display: none; }.tagged:has(#racket:target) li:not([data-tags~="racket"]) { display: none; }.tagged:has(#rust:target) li:not([data-tags~="rust"]) { display: none; }.tagged:has(#terminal:target) li:not([data-tags~="terminal"]) { display: none; }.tagged:has(#unicode:target) li:not([data-tags~="unicode"]) { display: none; }.tagged:has(#unix:target) li:not([data-tags~="unix"]) { display: none; }</style>

<div class="tagged">
<nav class="tags">
    <a href="#all" id="all">all</a><a href="#pl" id="pl" class="scale-1">pl <small>3</small></a>
<a href="#functional" id="functional" class="scale-1">functional <small>1</small></a>
<a href="#contracts" id="contracts" class="scale-1">contracts <small>7</small></a>
<a href="#foundations" id="foundations" class="scale-2">foundations <small>2</small></a>
<a href="#racket" id="racket" class="scale-2">racket <small>4</small></a>
<a href="#rust" id="rust" class="scale-2">rust <small>12</small></a>
<a href="#bare-metal" id="bare-metal" class="scale-3">bare-metal <small>9</small></a>
<a href="#avr" id="avr" class="scale-3">avr <small>4</small></a>
<a href="#unix" id="unix" class="scale-4">unix <small>8</small></a>
<a href="#processes" id="processes" class="scale-4">processes <small>7</small></a>
<a href="#terminal" id="terminal" class="scale-5">terminal <small>3</small></a>
<a href="#unicode" id="unicode" class="scale-5">unicode <small>3</small></a>
<a href="#math" id="math" class="math">math <small>1</small></a>
<a href="#electronics" id="electronics" class="hardware">electronics <small>2</small></a>
</nav>

<ul><li data-tags="rust">
        <a href="https://github.com/rust-fuzz/afl.rs">afl.rs</a>
        <span class="tags"><a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="terminal rust">
        <a href="https://github.com/alacritty/alacritty">Alacritty</a>
        <span class="tags"><a href="#terminal" class="scale-5">terminal</a>
<a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="bare-metal rust avr">
        <a href="https://docs.rs/avr-device">avr-device</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
<a href="#rust" class="scale-2">rust</a>
<a href="#avr" class="scale-3">avr</a>
</span>
    </li><li data-tags="bare-metal rust avr">
        <a href="https://github.com/rust-atmel-avr/avr-hal">avr-hal</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
<a href="#rust" class="scale-2">rust</a>
<a href="#avr" class="scale-3">avr</a>
</span>
    </li><li data-tags="bare-metal rust avr">
        <a href="https://doc.rust-lang.org/rustc/platform-support/avr-none.html">avr-none Target</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
<a href="#rust" class="scale-2">rust</a>
<a href="#avr" class="scale-3">avr</a>
</span>
    </li><li data-tags="unix">
        <a href="http://www.catb.org/esr/writings/taoup/html/ch01s06.html">Basics of the Unix Philosophy</a>
        <span class="tags"><a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="bare-metal">
        <a href="http://glob.inamidst.com/bootloader">Bootloader</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
</span>
    </li><li data-tags="foundations math">
        <a href="http://www.cs.man.ac.uk/~hsimmons/zCATS.pdf">Category Theory</a>
        <span class="tags"><a href="#foundations" class="scale-2">foundations</a>
<a href="#math" class="math">math</a>
</span>
    </li><li data-tags="contracts racket">
        <a href="https://users.cs.northwestern.edu/~robby/pubs/papers/oopsla2012-stff.pdf">Chaperones and Impersonators</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
<a href="#racket" class="scale-2">racket</a>
</span>
    </li><li data-tags="processes unix">
        <a href="https://man7.org/linux/man-pages/man2/clone.2.html">clone(2)</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
<a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="contracts">
        <a href="https://www2.ccs.neu.edu/racket/pubs/NU-CCIS-02-05.pdf">Contracts for Higher-Order Functions</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
</span>
    </li><li data-tags="contracts">
        <a href="https://users.cs.northwestern.edu/~robby/pubs/papers/popl2011-dfff.pdf">Correct Blame for Contracts</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
</span>
    </li><li data-tags="bare-metal">
        <a href="https://clang.llvm.org/docs/CrossCompilation.html">Cross-compilation using Clang</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
</span>
    </li><li data-tags="rust">
        <a href="https://blog.regehr.org/archives/1384">Efficient Integer Overflow Checking in LLVM</a>
        <span class="tags"><a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="bare-metal rust">
        <a href="https://branan.github.io/teensy/2017/01/12/bootup.html">Exploring Rust on Teensy</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
<a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="processes">
        <a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1364r0.pdf">Fibers Under the Magnifying Glass</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
</span>
    </li><li data-tags="processes unix">
        <a href="https://man7.org/linux/man-pages/man2/fork.2.html">fork(2)</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
<a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="processes unix">
        <a href="https://eli.thegreenplace.net/2018/launching-linux-threads-and-processes-with-clone">Launching Linux Threads and Processes with clone</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
<a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="unicode">
        <a href="https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/">Let's Stop Ascribing Meaning to Code Points</a>
        <span class="tags"><a href="#unicode" class="scale-5">unicode</a>
</span>
    </li><li data-tags="processes unix">
        <a href="https://eli.thegreenplace.net/2018/measuring-context-switching-and-memory-overheads-for-linux-threads">Measuring Context Switching and Memory Overheads for Linux Threads</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
<a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="electronics">
        <a href="https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/">NeoPixels Revealed</a>
        <span class="tags"><a href="#electronics" class="hardware">electronics</a>
</span>
    </li><li data-tags="unicode">
        <a href="https://fonts.google.com/noto">Noto</a>
        <span class="tags"><a href="#unicode" class="scale-5">unicode</a>
</span>
    </li><li data-tags="electronics">
        <a href="https://www.pjrc.com/teensy/td_libs_OctoWS2811.html">OctoWS2811</a>
        <span class="tags"><a href="#electronics" class="hardware">electronics</a>
</span>
    </li><li data-tags="contracts">
        <a href="http://www.ccs.neu.edu/home/amal/papers/parpolyseal.pdf">Parametric Polymorphism through Run-Time Sealing</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
</span>
    </li><li data-tags="pl racket">
        <a href="https://redex.racket-lang.org/">PLT Redex</a>
        <span class="tags"><a href="#pl" class="scale-1">pl</a>
<a href="#racket" class="scale-2">racket</a>
</span>
    </li><li data-tags="processes unix">
        <a href="https://man7.org/linux/man-pages/man3/posix_spawn.3.html">posix_spawn(3)</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
<a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="pl">
        <a href="https://cs.brown.edu/courses/cs173/2012/book/">Programming Languages: Application and Interpretation</a>
        <span class="tags"><a href="#pl" class="scale-1">pl</a>
</span>
    </li><li data-tags="contracts">
        <a href="http://www.erights.org/history/morris73.pdf">Protection in Programming Languages</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
</span>
    </li><li data-tags="contracts racket">
        <a href="https://docs.racket-lang.org/guide/contracts.html">Racket Guide to Contracts</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
<a href="#racket" class="scale-2">racket</a>
</span>
    </li><li data-tags="pl racket">
        <a href="https://docs.racket-lang.org/guide/macros.html">Racket Macros</a>
        <span class="tags"><a href="#pl" class="scale-1">pl</a>
<a href="#racket" class="scale-2">racket</a>
</span>
    </li><li data-tags="bare-metal rust avr">
        <a href="https://blog.rahix.de/ravedude/">ravedude</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
<a href="#rust" class="scale-2">rust</a>
<a href="#avr" class="scale-3">avr</a>
</span>
    </li><li data-tags="rust">
        <a href="https://manishearth.github.io/blog/2016/12/02/reflections-on-rusting-trust/">Reflections on Rusting Trust</a>
        <span class="tags"><a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="bare-metal rust">
        <a href="https://antoinealb.net/programming/2015/05/01/rust-on-arm-microcontroller.html">Rust on an ARM Microcontroller</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
<a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="contracts">
        <a href="https://users.cs.northwestern.edu/~jesse/pubs/affine-contracts/affinecontracts10.pdf">Stateful Contracts for Affine Types</a>
        <span class="tags"><a href="#contracts" class="scale-1">contracts</a>
</span>
    </li><li data-tags="rust">
        <a href="https://blog.pnkfx.org/blog/2015/12/19/signatures-and-surfaces-thoughts-on-privacy-versus-dependency/">Surfaces and Signatures</a>
        <span class="tags"><a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="processes unix">
        <a href="https://akkadia.org/drepper/nptl-design.pdf">The Native POSIX Thread Library for Linux</a>
        <span class="tags"><a href="#processes" class="scale-4">processes</a>
<a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="rust">
        <a href="https://smallcultfollowing.com/babysteps/blog/2016/09/12/thoughts-on-trusting-types-and-unsafe-code/">Thoughts on Trusting Types and Unsafe Code</a>
        <span class="tags"><a href="#rust" class="scale-2">rust</a>
</span>
    </li><li data-tags="unix">
        <a href="https://doc.cat-v.org/unix/v0/UnixEditionZero.pdf">Unix Edition Zero</a>
        <span class="tags"><a href="#unix" class="scale-4">unix</a>
</span>
    </li><li data-tags="foundations">
        <a href="https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html">What Every Computer Scientist Should Know About Floating-Point Arithmetic</a>
        <span class="tags"><a href="#foundations" class="scale-2">foundations</a>
</span>
    </li><li data-tags="unicode">
        <a href="https://www.hastingsresearch.com/net/04-unicode-limitations.shtml">Why Unicode Won't Work on the Internet</a>
        <span class="tags"><a href="#unicode" class="scale-5">unicode</a>
</span>
    </li><li data-tags="bare-metal">
        <a href="https://mikeos.sourceforge.net/write-your-own-os.html">Write Your Own OS</a>
        <span class="tags"><a href="#bare-metal" class="scale-3">bare-metal</a>
</span>
    </li><li data-tags="terminal">
        <a href="https://invisible-island.net/xterm/xterm.html">XTerm</a>
        <span class="tags"><a href="#terminal" class="scale-5">terminal</a>
</span>
    </li><li data-tags="terminal">
        <a href="https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands">XTerm Control Sequences</a>
        <span class="tags"><a href="#terminal" class="scale-5">terminal</a>
</span>
    </li><li data-tags="functional">
        <a href="https://blog.ezyang.com/2010/04/you-could-have-invented-zippers/">You Could Have Invented Zippers</a>
        <span class="tags"><a href="#functional" class="scale-1">functional</a>
</span>
    </li></ul>
</div>
