Literate Bradfield

This is me experimenting with literate programming while working through the CSI course that started in August 2022.

Notable items before diving in

Table of Contents

  1. Literate Bradfield
    1. Ish Shell
      1. The main loop
      2. Using `ish` to execute a command
      3. Running a subprocess
      4. Build and dev tools
    2. Concurrent Programming
      1. Echo server from Chapter 11
      2. Concurrent echo server
      3. I/O Multiplexing
    3. Concurrent Programming in Go
      1. Hyphotheses about performance and bottlenecks
      2. The CounterService interface and 4 different implementations
      3. Testing and verification.
      4. concurrency.go
      5. Testing each version
      6. Results
    4. Memory allocation
      1. What's the largest array that you can allocate?
      2. Stack
      3. Other memory explorations.
      4. How fast can you allocate memory?
    5. Lexing and parsing text queries
      1. Lexing
      2. The tokens
      3. The tokenizer
      4. Take 2
      5. The real tokenizer
      6. The parser
      7. Why the above is broken.
      8. Trying again... this time from the top down.
      9. Nope! That's still wrong!
      10. Oh I think I figured it out.
    6. Parsing a pcap file
      1. Global header
      2. Packet header
      3. Packet data
      4. Parsing the Ethernet frame
      5. Parsing the IP Header, RFC 791
    7. Reliable protocol on top of UDP
      1. Demo
      2. Reliable Data Transport (rdt) package
      3. Stateful wrapper around UDP
      4. Client and server
      5. Rdt packet struct