From c0c2770a5de27a54001d232ed2d09290e538f123 Mon Sep 17 00:00:00 2001 From: giuliano Date: Tue, 21 Jan 2025 00:48:52 +0100 Subject: [PATCH] Dump links --- src/compilers.md | 13 ++++++++++++- src/foss.md | 4 ++-- src/from-scratch.md | 8 ++++++++ src/math.md | 2 ++ src/misc.md | 35 ++++++++++------------------------- src/networks.md | 1 + src/performance.md | 8 +++++++- src/playgrounds.md | 1 + src/reverse.md | 1 + src/self-hosting.md | 1 + src/software-design.md | 2 ++ src/system-design.md | 2 +- src/term.md | 3 +++ src/unix.md | 2 ++ 14 files changed, 53 insertions(+), 30 deletions(-) diff --git a/src/compilers.md b/src/compilers.md index 3d90483..7908502 100644 --- a/src/compilers.md +++ b/src/compilers.md @@ -1,6 +1,17 @@ ## Compilers +- [Compiler Explorer](https://godbolt.org/) - [Bootstrappable Builds](https://bootstrappable.org/) - [Common Misconceptions about Compilers](https://sbaziotis.com/compilers/common-misconceptions-about-compilers.html) -- [Writing a C Compiler](https://norasandler.com/2017/11/29/Write-a-Compiler.html) - [Compiler Optimizations](https://compileroptimizations.com/index.html) +- [Is every language written in C?](https://softwareengineering.stackexchange.com/questions/267086/is-every-language-written-in-c) +- [Assembly code vs Machine code vs Object code?](https://stackoverflow.com/questions/466790/assembly-code-vs-machine-code-vs-object-code) +- [Introduction to Language Theory](https://cs.lmu.edu/~ray/notes/languagetheory/) +- [Syntax](https://cs.lmu.edu/~ray/notes/syntax/) +- [Syntax Design](https://cs.lmu.edu/~ray/notes/syntaxdesign/) +- [Backus-Naur form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form) +- [Resources for Amateur Compiler Writers](https://c9x.me/compile/bib/) +- [Low-Code and the Democratization of Programming. Rethinking Where Programming Is Headed](https://www.oreilly.com/radar/low-code-and-the-democratization-of-programming/) +- [The faker's guide to reading (x86) assembly language](https://www.timdbg.com/posts/fakers-guide-to-assembly/) +- [Favorite compiler and interpreter resources](https://lists.eatonphil.com/compilers-and-interpreters.html) +- [From String to AST: parsing](https://kubuszok.com/2019/from-string-to-ast-parsing/) diff --git a/src/foss.md b/src/foss.md index d54013b..a19cd2f 100644 --- a/src/foss.md +++ b/src/foss.md @@ -11,9 +11,9 @@ - [Right to Repair](https://repair.eu/) - [RepairCafé](https://www.repaircafe.org/en/) - [FOSDEM](https://fosdem.org/) -- [Don't sign a CLA](https://drewdevault.com/2018/10/05/Dont-sign-a-CLA.html) +- [Don't Sign a CLA](https://drewdevault.com/2018/10/05/Dont-sign-a-CLA.html) - [The Good Parts of Open Source](https://kristoff.it/blog/good-open-source/) - [When Open Becomes Opaque: The Changing Face of Open-Source Hardware Companies](https://blog.adafruit.com/2023/07/12/when-open-becomes-opaque-the-changing-face-of-open-source-hardware-companies/) - ["Open" "AI" isn't](https://pluralistic.net/2023/08/18/openwashing/) - [Protocols, Not Platforms](https://knightcolumbia.org/content/protocols-not-platforms-a-technological-approach-to-free-speech) - +- [Make It Yourself](https://makeityourself.org/) diff --git a/src/from-scratch.md b/src/from-scratch.md index f148ff2..677471d 100644 --- a/src/from-scratch.md +++ b/src/from-scratch.md @@ -72,6 +72,14 @@ Tutorials: - [Ray Tracing in One Weekend](https://raytracing.github.io/books/RayTracingInOneWeekend.html) - [Write your Own Virtual Machine](https://www.jmeiners.com/lc3-vm/) - [A Simple ELF](https://4zm.org/2024/12/25/a-simple-elf.html) +- [Building a GPS Receiver](https://axleos.com/building-a-gps-receiver-part-1-hearing-whispers/) +- [Making Regex From Scratch in Go](https://lewismetcalf.com/series/making-regex-from-scratch-in-go/) +- [How to implement a hash table (in C)](https://benhoyt.com/writings/hash-table-in-c/) +- [Setting up an x86 CPU in 64-bit mode](https://thasso.xyz/2024/07/13/setting-up-an-x86-cpu.html) +- [HTTP From Scratch](https://kmcd.dev/series/http-from-scratch/) +- [How to implement a programming language in JavaScript](https://lisperator.net/pltut/) +- [A ToC of the 20 Part Linker Essay by Ian Lance Taylor](https://lwn.net/Articles/276782/) +- [Build a serverless ACID database with this one neat trick (atomic PutIfAbsent)](https://notes.eatonphil.com/2024-09-29-build-a-serverless-acid-database-with-this-one-neat-trick.html) Other lists: - [Build Your Own](https://build-your-own.org) diff --git a/src/math.md b/src/math.md index 177c537..a6f757e 100644 --- a/src/math.md +++ b/src/math.md @@ -19,3 +19,5 @@ - [Logic for Programmers](https://leanpub.com/logic) - [Binary Arithmetic](https://cheever.domains.swarthmore.edu/Ref/BinaryMath/BinaryMath.html) - [Calculus Made Easy](https://calculusmadeeasy.org/) +- [Immersive Linear Algebra](http://immersivemath.com/ila/tableofcontents.html?) +- [The Data Visualisation Catalogue](https://datavizcatalogue.com/search.html) diff --git a/src/misc.md b/src/misc.md index 4e59922..7c804c5 100644 --- a/src/misc.md +++ b/src/misc.md @@ -36,22 +36,17 @@ - Linux: - [Optimizing Linux for Slow Computers](https://www.akitaonrails.com/2017/01/17/optimizing-linux-for-slow-computers) - [Linux Hardening Guide](https://madaidans-insecurities.github.io/guides/linux-hardening.html#choosing-the-right-distro) -- Testing: - - [Modern Best Practices for Testing in Java](https://phauer.com/2019/modern-best-practices-testing-java/) - CLI: - [Command Line Interface Guidelines](https://clig.dev/) -- Anti-patterns: - - [Interface Pollution](https://rakyll.org/interface-pollution/) -- Code Formatting: - - [EditorConfig](https://editorconfig.org/) + - ["Rules" that terminal programs follow](https://jvns.ca/blog/2024/11/26/terminal-rules/) - HTTP: + - [The perils of the "real" client IP](https://adam-p.ca/blog/2022/03/x-forwarded-for/) + - [The HTTP crash course nobody asked for](https://fasterthanli.me/articles/the-http-crash-course-nobody-asked-for) + - [Mediocre Engineer’s guide to HTTPS](https://devonperoutky.super.site/blog-posts/mediocre-engineers-guide-to-https) - CORS: - [Developers don't understand CORS](https://fosterelli.co/developers-dont-understand-cors) - [You don't need that CORS request](https://nickolinger.com/blog/2021-08-04-you-dont-need-that-cors-request/) - [Understanding "same-site" and "same-origin"](https://web.dev/same-site-same-origin/) - - [The perils of the "real" client IP](https://adam-p.ca/blog/2022/03/x-forwarded-for/) - - [The HTTP crash course nobody asked for](https://fasterthanli.me/articles/the-http-crash-course-nobody-asked-for) - - [Mediocre Engineer’s guide to HTTPS](https://devonperoutky.super.site/blog-posts/mediocre-engineers-guide-to-https) - REST APIs: - [OpenAPI Specification](https://www.openapis.org) - [Roy Fielding's Misappropriated REST Dissertation](https://twobithistory.org/2020/06/28/rest.html) @@ -77,29 +72,18 @@ - [Architecture Antipatterns](https://architecture-antipatterns.tech/) - Networks: - [ICMP, Ping, and Traceroute - What I Wish I Was Taught](https://xkln.net/blog/icmp-ping-and-traceroute--what-i-wish-i-was-taught/) - - [How to hide your IP address](https://educatedguesswork.org/posts/traffic-relaying/) + - [How to Hide Your IP Address](https://educatedguesswork.org/posts/traffic-relaying/) - Memory: - [What Every Programmer Should Know About Memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf) - [Memory Management Every Developer Should Know](https://webdeveloper.beehiiv.com/p/memory-management-every-programmer-know) + - [Exploring How Cache Memory Really Works](https://pikuma.com/blog/understanding-computer-cache) - Performance: - [Latency Numbers Every Programmer Should Know](https://samwho.dev/numbers/) - [Good performance is not just big O](https://jmmv.dev/2023/09/performance-is-not-big-o.html) - - [Linux Performance](https://www.brendangregg.com/linuxperf.html) - - [Zero-copy](https://en.wikipedia.org/wiki/Zero-copy) + - [Do you know how much your computer can do in a second?](https://computers-are-fast.github.io/?utm_source=substack&utm_medium=email) - Data Compression: - [Zip Files: History, Explanation and Implementation](https://www.hanshq.net/zip.html) -- Programming Languages and Compilers: - - [Is every language written in C?](https://softwareengineering.stackexchange.com/questions/267086/is-every-language-written-in-c) - - [Assembly code vs Machine code vs Object code?](https://stackoverflow.com/questions/466790/assembly-code-vs-machine-code-vs-object-code) - - [Introduction to Language Theory](https://cs.lmu.edu/~ray/notes/languagetheory/) - - [Syntax](https://cs.lmu.edu/~ray/notes/syntax/) - - [Syntax Design](https://cs.lmu.edu/~ray/notes/syntaxdesign/) - - [Backus-Naur form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form) - - [Resources for Amateur Compiler Writers](https://c9x.me/compile/bib/) - - [Low-Code and the Democratization of Programming. Rethinking Where Programming Is Headed](https://www.oreilly.com/radar/low-code-and-the-democratization-of-programming/) - - [The faker's guide to reading (x86) assembly language](https://www.timdbg.com/posts/fakers-guide-to-assembly/) - - [Compiler Explorer](https://godbolt.org/) - - [Favorite compiler and interpreter resources](https://lists.eatonphil.com/compilers-and-interpreters.html) + - [The Log: What every software engineer should know about real-time data's unifying abstraction](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying) - Laws, Principles and Mantra: - [Programming Principles](https://java-design-patterns.com/principles/) - [The Law of Leaky Abstractions](https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/) @@ -126,7 +110,8 @@ - [Text Editing Hates You Too](https://lord.io/text-editing-hates-you-too/) - [Hardest Problem in Computer Science: Centering Things](https://tonsky.me/blog/centering/) - CS Theory: - - [Great Ideas in Theoretical Computer Science](https://www.cs251.com/) + - [Great Ideas in Theoretical Computer Science](https://www.cs251.com/) + - [Turing Machines](https://samwho.dev/turing-machines/) - Miscellanea: - [Quantum computing for the very curious](https://quantum.country/qcvc) - [What scientists must know about hardware to write fast code](https://viralinstruction.com/posts/hardware/) diff --git a/src/networks.md b/src/networks.md index 34da2a9..73e1ca9 100644 --- a/src/networks.md +++ b/src/networks.md @@ -41,3 +41,4 @@ - [Ethernet For Hackers: The Very Basics](https://hackaday.com/2024/02/12/ethernet-for-hackers-the-very-basics/) - [TCP Puzzlers](https://www.tritondatacenter.com/blog/tcp-puzzlers) - [The Copenhagen Book](https://thecopenhagenbook.com/) +- [The Good on the Internet](https://www.w3.org/DesignIssues/Good.html) diff --git a/src/performance.md b/src/performance.md index b32a9fd..0946846 100644 --- a/src/performance.md +++ b/src/performance.md @@ -2,5 +2,11 @@ - [Performance Analysis and Tuning on Modern CPU](https://github.com/dendibakh/perf-book) - [Simon Eskildsen's Napkin Math](https://github.com/sirupsen/napkin-math) +- [Advanced Napkin Math: Estimating System Performance from First Principles](https://www.youtube.com/watch?v=IxkSlnrRFqc) - [strace Revisited: Simple is Beautiful](https://debugagent.com/strace-revisited-simple-is-beautiful) -- [How much memory my program uses or the tale of working set size](https://biriukov.dev/docs/page-cache/7-how-much-memory-my-program-uses-or-the-tale-of-working-set-size/#how-much-memory-my-program-uses-or-the-tale-of-working-set-size) +- [How much memory my program uses or the tale of working set size](https://biriukov.dev/docs/page-cache/7-how-much-memory-my-program-uses-or-the-tale-of-working-set-size) +- [Performance-Aware Programming Series by Casey Muratori](https://www.computerenhance.com/p/table-of-contents) +- [Linux Performance](https://www.brendangregg.com/linuxperf.html) +- [Zero-copy](https://en.wikipedia.org/wiki/Zero-copy) +- [Understanding Memory Management](https://educatedguesswork.org/posts/memory-management-1/) +- [The USE Method](https://www.brendangregg.com/usemethod.html) diff --git a/src/playgrounds.md b/src/playgrounds.md index 2ec665f..72f3ae0 100644 --- a/src/playgrounds.md +++ b/src/playgrounds.md @@ -20,3 +20,4 @@ - [crontab guru](https://crontab.guru/) - [Play with Kubernetes](https://labs.play-with-k8s.com/) - [Hashing](https://samwho.dev/hashing-playground/) +- [NandGame](https://www.nandgame.com/) diff --git a/src/reverse.md b/src/reverse.md index ac7ab52..d991b8f 100644 --- a/src/reverse.md +++ b/src/reverse.md @@ -15,3 +15,4 @@ In the wild: - [Hacking IKEA](https://www.raspberrypi.com/news/hacking-ikea/) - [Reverse engineering a car key fob signal](https://0x44.cc/radio/2024/03/13/reversing-a-car-key-fob-signal.html) - [HardBreak - Hardware Hacking Wiki](https://www.hardbreak.wiki/) +- [Reverse Engineering a Smartwatch](https://medium.com/csg-govtech/reverse-engineering-a-smartwatch-a7cec52b29c8) diff --git a/src/self-hosting.md b/src/self-hosting.md index aca0c0a..a3bc01b 100644 --- a/src/self-hosting.md +++ b/src/self-hosting.md @@ -2,3 +2,4 @@ - [Let’s learn how to set up a server!](https://self-hosting.compilade.net/) - [Home Lab Beginners guide (Hardware)](https://linuxblog.io/home-lab-beginners-guide-hardware/) +- [selfh.st/apps](https://selfh.st/apps/) diff --git a/src/software-design.md b/src/software-design.md index dceeb57..fc9fe60 100644 --- a/src/software-design.md +++ b/src/software-design.md @@ -22,3 +22,5 @@ - [Worse is better](https://en.m.wikipedia.org/wiki/Worse_is_better) - [My 10 Years of Programming Experience](https://iximiuz.com/en/posts/my-10-years-of-programming-experience/) - [Catalog of Dark Patterns](https://hallofshame.design/collection/) +- Anti-patterns: + - [Interface Pollution](https://rakyll.org/interface-pollution/) diff --git a/src/system-design.md b/src/system-design.md index e176d9c..901b206 100644 --- a/src/system-design.md +++ b/src/system-design.md @@ -24,4 +24,4 @@ - [Fly.io distributed systems challenges](https://fly.io/dist-sys/) - [A Distributed Systems Reading List](https://ferd.ca/a-distributed-systems-reading-list.html) - [Raft. Understandable Distributed Consensus](https://thesecretlivesofdata.com/raft/) -- [The Log: What every software engineer should know about real-time data's unifying abstraction](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying) +- [An Illustrated Proof of the CAP Theorem](https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/) diff --git a/src/term.md b/src/term.md index 44f7d9c..c15c074 100644 --- a/src/term.md +++ b/src/term.md @@ -1,5 +1,6 @@ ## Terminal +- [How terminal works](https://kevroletin.github.io/terminal/2021/12/11/how-terminal-works-in.html) - [Terminal Guide](https://terminalguide.namepad.de/) - [What is the difference between Terminal, Console, Shell, and Command Line?](https://askubuntu.com/questions/506510/what-is-the-difference-between-terminal-console-shell-and-command-line) - [A Brief Introduction to termios: termios(3) and stty](https://blog.nelhage.com/2009/12/a-brief-introduction-to-termios-termios3-and-stty/) @@ -13,3 +14,5 @@ - [A new way of drawing boxes in the terminal (possibly)](https://news.ycombinator.com/item?id=33216626) - [Javascript Box Drawing Demo](http://marklodato.github.io/js-boxdrawing/) - [VT100.net](https://vt100.net/) +- [The TTY Demystified](https://www.linusakesson.net/programming/tty/?utm_source=substack&utm_medium=email) +- [All About SIXELs](https://vt100.net/shuford/terminal/all_about_sixels.txt) diff --git a/src/unix.md b/src/unix.md index 24b75a5..e3a3f28 100644 --- a/src/unix.md +++ b/src/unix.md @@ -12,6 +12,7 @@ - [RegexOne. Learn Regular Expressions with simple, interactive exercises](https://regexone.com/) - [Vim for Humans](https://vimebook.com/en) - [Pro Git](https://git-scm.com/book/en/v2) +- [Dotfiles](https://dotfiles.github.io/) - [The Art Of Scripting HTTP Requests Using Curl](https://curl.haxx.se/docs/httpscripting.html) - [How I use cron in Linux](https://opensource.com/article/17/11/how-use-cron-linux) - [Getting started with tmux](https://ittavern.com/getting-started-with-tmux/) @@ -38,3 +39,4 @@ - [Optimizing Linux for Slow Computers](https://www.akitaonrails.com/2017/01/17/optimizing-linux-for-slow-computers) - [Searchable Linux Syscall Table](https://filippo.io/linux-syscall-table/) - [Welcome to Lord of the io_uring](https://unixism.net/loti/) +- [The Linux Memory Manager](https://linuxmemory.org/chapters)