Skip to content

Commit

Permalink
Dump links
Browse files Browse the repository at this point in the history
  • Loading branch information
giulianopz committed Jan 21, 2025
1 parent c0c2770 commit 7bb77f9
Show file tree
Hide file tree
Showing 11 changed files with 95 additions and 160 deletions.
4 changes: 2 additions & 2 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ tasks:
- mdbook serve . -p 8000 -n 127.0.0.1
linkcheck:
cmds:
# go install github.com/giulianopz/mdlinkcheck
# go install github.com/giulianopz/mdlinkcheck@latest
- mdlinkcheck --dir ./src/ | grep -v 200
archive:
cmds:
- for i in $(grep -rPo --no-filename "https?:\/\/.*([^\)])(?!\1)" src/*.md); do filename=$(basename ./arc/$i).html; monolith $i -e -o ./arc/$filename ; done
lazy-push:
update:
cmds:
- git add . && git commit -m "Dump links" && git push
5 changes: 3 additions & 2 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,17 @@
- [System Programming](./system-programming.md)
- [Terminal](./term.md)
- [By Example](./by-example.md)
- [From Scratch](./from-scratch.md)
- [Playgrounds](./playgrounds.md)
- [From Scratch](./from-scratch.md)
- [How Things Work](./how.md)
- [Embedded Systems & Electronics](./metal.md)
- [Open Source, DIY & Right to Repair](foss.md)
- [Reverse Engineering](./reverse.md)
- [Math](./math.md)
- [Music](./music.md)
- [Games](./games.md)
- [Machine Learning and Deep Learning](./mldl.md)
- [Best Practices, Common Pitfalls, Curious Stuff & Basic Things You Should Know](./misc.md)
- [Miscellanea](./misc.md)
- [Classics & Bibles](./classics.md)
- [Essays](./essays.md)
- [CS/FOSS History and Hacking/Cyberpunk Culture](./history.md)
Expand Down
13 changes: 13 additions & 0 deletions src/how.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## How Things Work

- [Behind "Hello World" on Linux](https://jvns.ca/blog/2023/08/03/behind--hello-world/)
- [Putting the “You” in CPU](https://cpu.land/)
- [How Browsers Work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)
- [How do open source solutions for logs work](https://itnext.io/how-do-open-source-solutions-for-logs-work-elasticsearch-loki-and-victorialogs-9f7097ecbc2f)
- [What happens when you run 'Hello, world'](https://jvns.ca/blog/2013/11/29/what-happens-when-you-run-a-unix-program/)
- [What happens when you press a key in your terminal?](https://jvns.ca/blog/2022/07/20/pseudoterminals/)
- [What happens when you load a URL?](https://danluu.com/navigate-url/)
- [What happens when a CPU starts](https://lateblt.tripod.com/bit68.txt)
- [What happens when you start a process on Linux?](https://jvns.ca/blog/2016/10/04/exec-will-eat-your-brain/)
- [What happens when you update your DNS?](https://jvns.ca/blog/how-updating-dns-works/)
- [What happens when...](https://github.com/alex/what-happens-when)
46 changes: 11 additions & 35 deletions src/ipc.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,14 @@
## Inter-Process Communication (IPC)

- [Inter-Process Communication in a Microservices Architecture](https://www.nginx.com/blog/building-microservices-inter-process-communication/)
- Approaches:
- Legacy Technologies:
- Simple Object Access Protocol (SOAP)
- Remote Method Invocation (RMI)
- Common Object Request Broker Architecture (CORBA)
- Synchronous Communication:
- Representational state transfer ([REST](https://www.restapitutorial.com/))
- [GraphQL](https://training.linuxfoundation.org/training/exploring-graphql-a-query-language-for-apis-lfs141/?utm_source=lftraining&utm_medium=twitter&utm_campaign=mooc)
- [gRPC](https://grpc.io/docs/what-is-grpc/introduction/)
- [Falcor](https://netflix.github.io/falcor/starter/what-is-falcor.html)
- Asynchronous Communication:
- Message Queues
- Publish-Subscribe Pattern
- Protocols:
- Sockets:
- Network Sockets:
- TCP
- [HTTP/1, HTTP/2 and HTTP/3](https://medium.com/@sandeep-verma/http-1-to-http-2-to-http-3-647e73df67a8)
- [HTTP/3 explained](https://http3-explained.haxx.se/)
Real-time communication protocols:
- [Full-duplex HTTP Streaming](https://datatracker.ietf.org/doc/html/draft-zhu-http-fullduplex-08)
- WebSockets
- [Server-Sent Events (SSE)](https://en.wikipedia.org/wiki/Server-sent_events)
- [WebTransport](https://developer.chrome.com/docs/capabilities/web-apis/webtransport#whats_webtransport)
- [WebRTC](https://webrtcforthecurious.com/)
- [UDP
- Unix Domain Sockets
- Messaging:
- AMQP
- MQTT
- STOMP
- [An introduction to APIs](https://zapier.com/resources/guides/apis)
- [Difference between SPI and API](https://stackoverflow.com/questions/2954372/difference-between-spi-and-api)
- [Gough et al., Mastering API Architecture](https://www.oreilly.com/library/view/mastering-api-architecture/9781492090625/)
- [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)
- [The perils of the "real" client IP](https://adam-p.ca/blog/2022/03/x-forwarded-for/)
- [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/)
- [Roy Fielding's Misappropriated REST Dissertation](https://twobithistory.org/2020/06/28/rest.html)
- [Zalando RESTful API and Event Guidelines](https://opensource.zalando.com/restful-api-guidelines/)
- [Standards.REST](https://standards.rest/)
- [List of HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
- [The HTTP QUERY Method](https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html)
- [Free Public APIs for Developers](https://rapidapi.com/collection/list-of-free-apis)
4 changes: 4 additions & 0 deletions src/math.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@
- [Calculus Made Easy](https://calculusmadeeasy.org/)
- [Immersive Linear Algebra](http://immersivemath.com/ila/tableofcontents.html?)
- [The Data Visualisation Catalogue](https://datavizcatalogue.com/search.html)
- [Bit Math](https://docs.arduino.cc/learn/programming/bit-math)
- [Floating Point Math](https://0.30000000000000004.com/)
- [Float Toy](https://evanw.github.io/float-toy/)
- [Onboarding Floating-Point](https://www.altdevarts.com/p/onboarding-floating-point)
151 changes: 31 additions & 120 deletions src/misc.md
Original file line number Diff line number Diff line change
@@ -1,121 +1,32 @@
## Best Practices, Common Pitfalls, Curious Stuff & Basic Things You Should Know
## Miscellanea

- Git:
- [Oh Shit, Git!?!](https://ohshitgit.com/)
- [Confusing git terminology](https://jvns.ca/blog/2023/11/01/confusing-git-terminology/)
- [How to Write a Git Commit Message](https://cbea.ms/git-commit/)
- [Organizing multiple Git identities](https://garrit.xyz/posts/2023-10-13-organizing-multiple-git-identities)
- [Conditional Git Configuration](https://blog.scottlowe.org/2023/12/15/conditional-git-configuration/)
- [Conventional Commits](https://www.conventionalcommits.org)
- Shell Scripting
- [Shell Script Best Practices](https://sharats.me/posts/shell-script-best-practices/)
- Characters:
- [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/)
- [The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)](https://tonsky.me/blog/unicode/)
- [The Great Newline Schism](https://blog.codinghorror.com/the-great-newline-schism/)
- [ASCII Table](https://www.freecodecamp.org/news/ascii-table-hex-to-ascii-value-character-code-chart-2/)
- [Invisible characters](https://invisible-characters.com/)
- [You can't just assume UTF-8](https://csvbase.com/blog/9)
- Internationalization and localization (i18n)
- [PO Files](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html)
- Dates:
- [UTC is enough for everyone... right?](https://zachholman.com/talk/utc-is-enough-for-everyone-right)
- [Storing UTC is not a silver bullet](https://codeblog.jonskeet.uk/2019/03/27/storing-utc-is-not-a-silver-bullet/)
- [Designing a REST API: Unix time vs ISO-8601](https://nickb.dev/blog/designing-a-rest-api-unix-time-vs-iso-8601)
- Numbers:
- [Bit Math](https://docs.arduino.cc/learn/programming/bit-math)
- [Floating Point Math](https://0.30000000000000004.com/)
- [Float Toy](https://evanw.github.io/float-toy/)
- [Onboarding floating-point](https://www.altdevarts.com/p/onboarding-floating-point?r=yknp0&utm_campaign=post&utm_medium=web)
- RegEx:
- [How to Find or Validate an Email Address](https://www.regular-expressions.info/email.html)
- [Possessive Quantifiers](https://www.regular-expressions.info/possessive.html)
- OS Interoperability:
- [A Guide to POSIX](https://www.baeldung.com/linux/posix)
- [Use the XDG Base Directory Specification!](https://xdgbasedirectoryspecification.com/)
- 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)
- CLI:
- [Command Line Interface Guidelines](https://clig.dev/)
- ["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/)
- REST APIs:
- [OpenAPI Specification](https://www.openapis.org)
- [Roy Fielding's Misappropriated REST Dissertation](https://twobithistory.org/2020/06/28/rest.html)
- [Best Practices for Designing a Pragmatic RESTful API](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api)
- [Zalando RESTful API and Event Guidelines](https://opensource.zalando.com/restful-api-guidelines/)
- [Standards.REST](https://standards.rest/)
- [List of HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
- [The HTTP QUERY Method](https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html)
- Web:
- [To www or not to www - Should you use www or not in your domain?](https://www.bjornjohansen.com/www-or-not)
- [Making Websites Small](https://santurcesoftware.com/making-web-sites-small)
- Browser:
- [67 Weird Debugging Tricks Your Browser Doesn't Want You to Know](https://alan.norbauer.com/articles/browser-debugging-tricks)
- Containers:
- [Best practices for writing Dockerfiles](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/)
- [Attack of the mutant tags!. Or why tag mutability is a real security threat](https://sysdig.com/blog/toctou-tag-mutability/)
- [Container security best practices: Comprehensive guide](https://sysdig.com/blog/container-security-best-practices/)
- Distributed Systems:
- [Don't start with microservices - monoliths are your friend](https://arnoldgalovics.com/microservices-in-production/)
- [Fallacies of Distributed Systems](https://architecturenotes.co/fallacies-of-distributed-systems/)
- [You Are Not Google](https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb)
- [Microservices and the Big Ball of Mud](https://www.infoq.com/news/2014/08/microservices_ballmud/)
- [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/)
- 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)
- [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)
- [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/)
- [Conway's law](https://en.wikipedia.org/wiki/Conway%27s_law)
- [Make It Work Make It Right Make It Fast](https://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast)
- What Happens When:
- [What happens when you run 'Hello, world'](https://jvns.ca/blog/2013/11/29/what-happens-when-you-run-a-unix-program/)
- [What happens when you press a key in your terminal?](https://jvns.ca/blog/2022/07/20/pseudoterminals/)
- [What happens when you load a URL?](https://danluu.com/navigate-url/)
- [What happens when a CPU starts](https://lateblt.tripod.com/bit68.txt)
- [What happens when you start a process on Linux?](https://jvns.ca/blog/2016/10/04/exec-will-eat-your-brain/)
- [What happens when you update your DNS?](https://jvns.ca/blog/how-updating-dns-works/)
- [What happens when...](https://github.com/alex/what-happens-when)
- [Behind "Hello World" on Linux](https://jvns.ca/blog/2023/08/03/behind--hello-world/)
- How Things Work:
- [Putting the “You” in CPU](https://cpu.land/)
- [How Browsers Work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)
- [How do open source solutions for logs work](https://itnext.io/how-do-open-source-solutions-for-logs-work-elasticsearch-loki-and-victorialogs-9f7097ecbc2f)
- Hard Stuff:
- [Hard things in Computer Science](https://blog.frankel.ch/hard-things-computer-science/)
- [How to name things: the hardest problem in programming](https://www.slideshare.net/pirhilton/how-to-name-things-the-hardest-problem-in-programming)
- [Files are Hard](https://danluu.com/file-consistency/)
- [Text Rendering Hates You](https://faultlore.com/blah/text-hates-you/)
- [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/)
- [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/)
- [Why do arrays start at 0?](https://buttondown.email/hillelwayne/archive/why-do-arrays-start-at-0/)
- [Do you know how much your computer can do in a second?](https://computers-are-fast.github.io/)
- [A few facts about POSIX](https://vorakl.com/articles/posix/)
- [A Visual Comparison of Different National Layouts on a Computer Keyboard](https://www.farah.cl/Keyboardery/A-Visual-Comparison-of-Different-National-Layouts)
- [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/)
- [The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)](https://tonsky.me/blog/unicode/)
- [The Great Newline Schism](https://blog.codinghorror.com/the-great-newline-schism/)
- [ASCII Table](https://www.freecodecamp.org/news/ascii-table-hex-to-ascii-value-character-code-chart-2/)
- [Invisible characters](https://invisible-characters.com/)
- [You can't just assume UTF-8](https://csvbase.com/blog/9)
- [PO Files](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html)
- [UTC is enough for everyone... right?](https://zachholman.com/talk/utc-is-enough-for-everyone-right)
- [Storing UTC is not a silver bullet](https://codeblog.jonskeet.uk/2019/03/27/storing-utc-is-not-a-silver-bullet/)
- [Designing a REST API: Unix time vs ISO-8601](https://nickb.dev/blog/designing-a-rest-api-unix-time-vs-iso-8601)
- [How to Find or Validate an Email Address](https://www.regular-expressions.info/email.html)
- [Possessive Quantifiers](https://www.regular-expressions.info/possessive.html)
- [Use the XDG Base Directory Specification!](https://xdgbasedirectoryspecification.com/)

- [Zip Files: History, Explanation and Implementation](https://www.hanshq.net/zip.html)
- [Programming Principles](https://github.com/webpro/programming-principles)
- [The Law of Leaky Abstractions](https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/)
- [Conway's law](https://en.wikipedia.org/wiki/Conway%27s_law)
- [Make It Work Make It Right Make It Fast](https://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast)
- [Hard Things in Computer Science](https://blog.frankel.ch/hard-things-computer-science/)
- [How to name things: the hardest problem in programming](https://www.slideshare.net/pirhilton/how-to-name-things-the-hardest-problem-in-programming)
- [Files are Hard](https://danluu.com/file-consistency/)
- [Hardest Problem in Computer Science: Centering Things](https://tonsky.me/blog/centering/)
- [Text Rendering Hates You](https://faultlore.com/blah/text-hates-you/)
- [Text Editing Hates You Too](https://lord.io/text-editing-hates-you-too/)
- [Turing Machines](https://samwho.dev/turing-machines/)
- [Quantum computing for the very curious](https://quantum.country/qcvc)
- [Why do arrays start at 0?](https://buttondown.email/hillelwayne/archive/why-do-arrays-start-at-0/)
- [A few facts about POSIX](https://vorakl.com/articles/posix/)
- [A Visual Comparison of Different National Layouts on a Computer Keyboard](https://www.farah.cl/Keyboardery/A-Visual-Comparison-of-Different-National-Layouts)
5 changes: 5 additions & 0 deletions src/networks.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,8 @@
- [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)
- [To www or not to www - Should you use www or not in your domain?](https://www.bjornjohansen.com/www-or-not)
- [Making Websites Small](https://santurcesoftware.com/making-web-sites-small)
- [67 Weird Debugging Tricks Your Browser Doesn't Want You to Know](https://alan.norbauer.com/articles/browser-debugging-tricks)
- [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/)
Loading

0 comments on commit 7bb77f9

Please sign in to comment.