R&D

pot of greed

ID: 020f0ea3-9584-4d4a-9976-adb8f790ce29
CREATED: <2025-01-17 Fri 15:54>

RESEARCH Writing a C Compiler

CREATED: <2024-09-29 Sun 15:57>
ID: c898f19a-1699-4ca1-88e4-5fc646e0144b
  • State "RESEARCH" from "TODO" [2024-09-29 Sun 15:57]

"A Retargetable C Compiler" by Hanson – this details the implementation of LCC, which is a production grade compiler. It's a serious resource. Might be a bit too much for a first compiler;

"Practical Compiler Construction" by Nils M Holms – haven't read this one, but his work seems OK, if a bit idiosyncratic;

"Modern Compiler Implementation in C" by Andrew Appel – a good resource, but the code might be non-idiomatic C and hard to follow since it's translated from the ML version of the book (I've only read the Java version, and the code is kind of bad).

There's also Wirth's "Compiler Construction", which introduces you to a no nonsense compiler for Oberon. It's not C, but you can change it quite easily.

RESEARCH podman kvm farm

CREATED: <2024-09-03 Tue 17:46>
ID: 1e7404e9-6b57-4aec-98cf-81c6328db041
  • State "RESEARCH" from "TODO" [2024-09-03 Tue 17:46]

podman-farm — Podman documentation

DONE PMem.io

CREATED: <2024-09-03 Tue 11:22>
ID: de7772c4-8f61-4ded-b89a-064db4bffcf5
  • State "RESEARCH" from "TODO" [2024-09-03 Tue 11:22]
  • State "DONE" from "RESEARCH" [2025-01-17 Fri 18:19]
  • consider use cases in Lisp images - pre-loading and coordinating shared fasls and core images
  • no longer maintained by intel

RESEARCH encrypted btrfs luks/dm-crypt

CREATED: <2024-09-29 Sun 01:57>
ID: 75c3ec1b-355b-4d99-910b-ae328f2b9051
  • State "RESEARCH" from "TODO" [2024-09-29 Sun 01:57]

DONE XDP

CREATED: <2024-09-20 Fri 22:34>
ID: b3e0b57a-a54a-445c-a06f-37ba289a68f6
  • State "RESEARCH" from [2024-09-20 Fri 22:34]
  • State "DONE" from "RESEARCH" [2025-04-26 Sat 20:39]

A Gentle Introduction to XDP | Datadog GitHub - xdp-project/xdp-tools: Utilities and example programs for use with XDP

DONE DPDK

CREATED: <2024-09-20 Fri 22:35>
ID: 74665710-7b60-4001-ae9e-d47de4c53a69
  • State "RESEARCH" from [2024-09-20 Fri 22:35]
  • State "DONE" from "RESEARCH" [2025-04-26 Sat 20:41]

Home - DPDK GitHub - DPDK/dpdk: Data Plane Development Kit

By leveraging DPDK libraries, developers can create optimized packet processing paths, manage timers for executing functions asynchronously, and utilize a wide range of drivers and libraries tailored for fast packet processing.

librte_eal – Environment Abstraction Layer: Provides the foundational API for DPDK, facilitating access to hardware resources such as memory, timers, and logs.

librte_mempool – Memory Pool Manager: Manages memory pools for efficient and speedy packet handling.

librte_ring – Ring Buffer Manager: Implements lock-free FIFO queues, enabling high-speed communication between various DPDK components.

librte_mbuf – Packet Buffer Management: Handles packet buffers, which are crucial for packet transmission and reception.

librte_ethdev – Ethernet Device API: Offers an API for configuring and querying Ethernet devices. It supports various operations, including sending and receiving packets.

librte_net – Network Helper Library: Provides helper APIs for dealing with network protocols.

librte_ip_frag – IP Fragmentation and Reassembly: Handles fragmentation and reassembly of IP packets, supporting both IPv4 and IPv6.

librte_kni – Kernel Network Interface: Facilitates communication between DPDK applications and the Linux kernel networking stack, primarily used for debugging or interfacing with existing Linux network services.

DONE eBPF   net

ID: 6cfbb313-4673-4fca-afcf-3fe00c12a3de
CREATED: <2025-04-26 Sat 20:47>
  • State "RESEARCH" from [2024-08-21 Wed 22:40]
  • State "DONE" from "RESEARCH" [2025-04-26 Sat 20:47]

https://docs.kernel.org/bpf/standardization/instruction-set.html#bpf-instruction-set-architecture-isa https://mostlynerdless.de/blog/2023/12/31/hello-ebpf-developing-ebpf-apps-in-java-1/ https://github.com/iovisor/bcc GitHub - mikeroyal/eBPF-Guide bpftrace/tools/README.md at master · bpftrace/bpftrace · GitHub

  • bpftrace seems quite powerful, will be useful for sysmon activities

where would ebpf support go?

probably io.. but maybe also log, net.. syn?

DONE batman-adv   net

CREATED: <2024-08-23 Fri 21:16>
ID: 53992507-a3af-43ff-b04b-aa05ccabe2fa
  • State "RESEARCH" from [2024-08-23 Fri 21:16]
  • State "DONE" from "RESEARCH" [2025-03-12 Wed 17:15]

Doc-overview - batman-adv - Open Mesh

NOPE libyear   lisp skel

ID: 4420950f-cea0-4a17-8b1a-19f46b78a921
CREATED: <2025-05-10 Sat 22:33>
  • State "TODO" from [2024-08-01 Thu 12:27]

Not that useful in our current environment (NIH)

WIP Curves

CREATED: <2025-05-08 Thu 18:00>
ID: 63a03922-03bb-47dd-af82-e7274135c0e1
  • State "WIP" from [2025-05-08 Thu 18:00]

Realistically we may need a dedicated lib/math..

obj doesn't cover all the bases.

SBCL provides the numeric tower via types, we really need a math tower..

WIP SFC

CREATED: <2025-05-08 Thu 18:01>
ID: 2578ff0f-c71d-4c9d-89da-ea97a3146156
  • State "OUTLINE" from [2025-05-08 Thu 18:01]
  • State "WIP" from "OUTLINE" [2025-05-08 Thu 18:01]

Space-Filling Curves

RESEARCH Hilbert Curves

CREATED: <2025-05-07 Wed 16:14>
ID: e6e79d8f-5958-4fe2-9380-710c7392423e
  • State "RESEARCH" from [2025-05-07 Wed 16:14]
  • Hilbert R-Trees, X-Tree..
    • X+ Trees? need to see the most recent research and why it hasn't become popular