commit 69c3b10a7d5a3f05d20da90f9fcca5f822f59e26
Author: citbl <citbl@citbl.org>
Date: Sat, 8 Nov 2025 13:01:56 +1000
init
Diffstat:
| A | .gitignore | | | 1 | + |
| A | c.md | | | 74 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | compsci.md | | | 164 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
3 files changed, 239 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
diff --git a/c.md b/c.md
@@ -0,0 +1,74 @@
+[https://troydhanson.github.io/uthash/utarray.html]
+(utarray.html)
+
+[https://github.com/eteran/c-vector]
+(c-vector)
+
+[https://github.com/goldsborough/vector]
+(vector)
+
+[https://github.com/Mashpoe/c-vector]
+(c-vector)
+
+[https://github.com/antirez/sds/]
+(sds)
+
+[https://github.com/weechat/weechat/tree/master/src/core]
+(weechat core)
+
+[https://github.com/ramdeoshubham/macros/blob/master/macros.h]
+(macros.h)
+
+[https://www.youtube.com/watch?v=lLv1s7rKeCM]
+(Programming in Modern C with a Sneak Peek into C23)
+
+[https://www.youtube.com/watch?v=QpAhX-gsHMs]
+(Modern C and What We Can Learn From It)
+
+[https://github.com/nothings/stb/blob/master/docs/stb_howto.txt]
+(stb_howto.txt)
+
+[https://news.ycombinator.com/item?id=38772754]
+(Text Editors - Data Structures)
+
+[https://nullprogram.com/blog/2014/12/23/]
+(Interactive Programming in C)
+
+[https://en.wikipedia.org/wiki/Free_list]
+(Free_list)
+
+[https://blog.regehr.org/archives/1393]
+(Teaching C)
+
+[https://silent-tower.net/projects/visual-overview-malloc]
+(visual-overview-malloc)
+
+[https://c-faq.com/]
+(c-faq.com)
+
+[https://dev.to/_darrenburns/the-piece-table---the-unsung-hero-of-your-text-editor-al8]
+(The Piece Table)
+
+[https://cranelift.dev/]
+(Cranelift compiler backend)
+
+[https://brennan.io/2015/01/16/write-a-shell-in-c/]
+(Tutorial - Write a Shell in C)
+
+[https://brennan.io/2020/05/24/userspace-cooperative-multitasking/]
+(cooperative threads in C)
+
+[https://git.sr.ht/~sircmpwn/scdoc/tree/master]
+(unicode & clean c : ~sircmpwn/scdoc)
+
+[https://github.com/ankushT369/Struct-Serialization-in-C/blob/main/README.md]
+(Struct-Serialization-in-C)
+
+[https://yurichev.com/mirrors/C/JPL_Coding_Standard_C.pdf]
+(JPL_Coding_Standard_C.pdf)
+
+[https://old.reddit.com/r/ProgrammingLanguages/comments/1o7kj2o/my_language_needs_eyeballs/]
+(My language needs eyeballs : ProgrammingLanguages)
+
+[https://lwn.net/Articles/1042938/]
+(Fil-C: A memory-safe C implementation)
diff --git a/compsci.md b/compsci.md
@@ -0,0 +1,164 @@
+[https://www.semrush.com/blog/pagerank/]
+(pagerank)
+
+[https://ahrefs.com/blog/google-pagerank/]
+(google-pagerank)
+
+[https://gitlab.gnome.org/GNOME/vala/-/blob/main/gobject-introspection/scannerlexer.l]
+(Vala scannerlexer.l)
+
+[https://www.reddit.com/r/programming/comments/355w8y/jblow_jai_replacing_printf/]
+(jblow_jai_replacing_printf)
+
+[https://craftinginterpreters.com/contents.html]
+(crafting interpreters.html)
+
+[https://docs.swift.org/swift-book/documentation/the-swift-programming-language/opaquetypes]
+(Opaque Types)
+
+[https://agraphicsguynotes.com/posts/fiber_in_cpp_understanding_the_basics/]
+(fiber_in_cpp_understanding_the_basics)
+
+[https://www.ayomideoyekanmi.com/posts/explanck-an-expression-evaluator-part-3/]
+(explanck-an-expression-evaluator-part-3)
+
+[https://pgrandinetti.github.io/compilers/page/how-to-design-semantic-analysis/]
+(how-to-design-semantic-analysis)
+
+[https://www.tutorialspoint.com/compiler_design/compiler_design_runtime_environment.htm]
+(compiler_design_runtime_environment.htm)
+
+[https://github.com/SOwens/example-compiler/tree/1afb7e4cda809653ccad3d9d9addefbc9d34cf26]
+(A simple compiler in OCaml)
+
+[https://queue.acm.org/detail.cfm?id=3212479]
+(C Is Not a Low-level Language)
+
+[https://www.sophiajt.com/search-for-easier-safe-systems-programming/]
+(The search for easier safe systems programming)
+
+[https://medium.com/@abhilashtellabiyyam/heap-data-structure-unveiled-mastering-its-concepts-and-implementations-in-python-40ca34c4cc7]
+(Heap Data Structure Unveiled)
+
+[https://c-faq.com/decl/spiral.anderson.html]
+(Parse any C Declaration: Clockwise/Spiral Rule)
+
+[https://www.jmeiners.com/lc3-vm/]
+(Write your Own Virtual Machine)
+
+[https://hackingcpp.com/cpp/cheat_sheets.html]
+(C++ Cheat Sheets & Infographics | hacking C++)
+
+[http://dmitrysoshnikov.com/compilers/writing-a-memory-allocator/]
+(Writing a Memory Allocator – Dmitry Soshnikov)
+
+[http://dmitrysoshnikov.com/compilers/writing-a-pool-allocator/]
+(Writing a Pool Allocator – Dmitry Soshnikov)
+
+[http://dmitrysoshnikov.com/compilers/writing-a-mark-sweep-garbage-collector/]
+(Writing a Mark-Sweep Garbage Collector – Dmitry Soshnikov)
+
+[https://operating-system-in-1000-lines.vercel.app/en]
+(Intro - Operating System in 1,000 Lines)
+
+[https://changelog.com/posts/rich-hickeys-greatest-hits/]
+(Rich Hickey's greatest hits)
+
+[https://mukulrathi.com/create-your-own-programming-language/llvm-ir-cpp-api-tutorial/]
+(A Complete Guide to LLVM for Programming Language Creators)
+
+[https://www.youtube.com/watch?v=xCBrtopAG80]
+(X86 Needs To Die - Prime+Casey)
+
+[http://www.gingerbill.org/series/memory-allocation-strategies/]
+(Memory Allocation Strategies - gingerBill)
+
+[https://www.youtube.com/watch?v=xt1KNDmOYqA]
+(Casey Muratori | Smart-Pointers, RAII, ZII? Becoming an N+2 programmer - YouTube)
+
+[https://www.youtube.com/watch?v=IroPQ150F6c]
+(Andrew Kelley Practical Data Oriented Design (DoD) - YouTube)
+
+[https://faultlore.com/blah/swift-abi/]
+(How Swift Achieved Dynamic Linking Where Rust Couldn't ABI)
+
+[https://learn.microsoft.com/en-us/shows/seth-juarez/anders-hejlsberg-on-modern-compiler-construction]
+(Anders Hejlsberg on Modern Compiler Construction (video) 2016)
+
+[https://littleosbook.github.io/]
+(The little book about OS development)
+
+[https://operating-system-in-1000-lines.vercel.app/en/]
+(Operating System in 1,000 Lines | OS in 1,000 Lines)
+
+[https://tmpout.sh/4/]
+(tmp.0ut Volume 4)
+
+[https://flo.znkr.io/diff/]
+(Diff Algorithms - flo.znkr.io)
+
+[https://github.com/google/diff-match-patch?tab=readme-ov-file]
+(Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.)
+
+[https://archive.org/details/programminglangu00unse/mode/2up]
+(Programming languages: history and fundamentals : Sammet, Jean E., 1928-2017 : Free Download, Borrow, and Streaming : Internet Archive)
+
+[https://www.youtube.com/watch?v=Sg4U4r_AgJU]
+(Brian Kernighan on successful language design - YouTube)
+
+[https://www.youtube.com/watch?v=xnCgoEyz31M]
+(Unix50 - Awk and C's magic (Youtube))
+
+[https://en.wikipedia.org/wiki/Icon_(programming_language)#Goal-directed_execution]
+(Icon (programming language) - Wikipedia)
+
+[https://chatgpt.com/share/68df9350-ba2c-8001-bcf8-f9954a8e1968]
+(C runtime with ARC)
+
+[https://old.reddit.com/r/Compilers/comments/1o7m3pt/what_order_would_you_implement_all_the_things_in/]
+(What order would you implement all the things in a compiler? : Compilers)
+
+[https://www.computerenhance.com/p/table-of-contents]
+(Computer, Enhance!)
+
+[https://wiki.tcl-lang.org/page/If+we+had+no+if]
+(If we had no if (TCL, if as function))
+
+[https://lobste.rs/s/vw12iy/when_if_is_just_function]
+(When if is just a function | Lobsters)
+
+[https://esolangs.org/wiki/Tmg]
+(Tmg - Esolang (lead to BNF))
+
+[https://ratfactor.com/forth/the_programming_language_that_writes_itself.html]
+(Forth: The programming language that writes itself)
+
+[https://lobste.rs/s/xyg1fu/fil_c]
+(Fil-C | Lobsters)
+
+[https://www.jezng.com/software-explorations/writing/how-the-boehm-garbage-collector-works.html]
+(How the Boehm Garbage Collector Works)
+
+[https://bernsteinbear.com/assets/img/gc-uncooperative.pdf]
+(accurate garbage collection)
+
+[https://blog.sesse.net/blog/tech/2025-10-23-21-23_modern_perfect_hashing.html]
+(Steinar H. Gunderson)
+
+[https://outerproduct.net/boring/2021-05-07_abi-wrong.html]
+(Your ABI is Probably Wrong)
+
+[https://c9x.me/compile/doc/il.html]
+(QBE Intermediate Language)
+
+[https://rona.substack.com/p/becoming-a-compiler-engineer]
+(becoming a compiler engineer - by Rona Wang)
+
+[https://blog.knatten.org/2025/10/31/a-prvalue-is-not-a-temporary/]
+(A prvalue is not a temporary)
+
+[https://vgel.me/posts/c500/]
+(Writing a C compiler in 500 lines of Python)
+
+[https://github.com/c-testsuite/c-testsuite]
+(c-testsuite: database of C compiler test cases)