From eb5457d43c353675ce10c0a6a48c812023c49159 Mon Sep 17 00:00:00 2001 From: Apoorv Darshan Date: Wed, 18 Mar 2026 16:51:47 +0530 Subject: [PATCH] Fix broken tutorial links and formatting inconsistency - Replace broken dranger.com/ffmpeg link with Web Archive URL - Replace broken blog.rogach.org 3D renderer link with Web Archive URL - Fix missing italic formatting on Shell tutorial entry --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0a2e252..8785f73 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ It's a great way to learn. * [**C++**: _Rasterization: a Practical Implementation_](https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm) * [**C# / TypeScript / JavaScript**: _Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript_](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/) * [**Java / JavaScript**: _Build your own 3D renderer_](https://avik-das.github.io/build-your-own-raytracer/) -* [**Java**: _How to create your own simple 3D render engine in pure Java_](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html) +* [**Java**: _How to create your own simple 3D render engine in pure Java_](https://web.archive.org/web/20240104173223/http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html) * [**JavaScript / Pseudocode**: _Computer Graphics from scratch_](http://www.gabrielgambetta.com/computer-graphics-from-scratch/introduction.html) * [**Python**: _A 3D Modeller_](http://aosabook.org/en/500L/a-3d-modeller.html) @@ -379,7 +379,7 @@ It's a great way to learn. * [**C**: _Let's build a shell!_](https://github.com/kamalmarhubi/shell-workshop) * [**C**: _Writing a UNIX Shell_](https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/) * [**C**: _Build Your Own Shell_](https://github.com/tokenrove/build-your-own-shell) -* [**C**: Write a shell in C](https://danishpraka.sh/posts/write-a-shell/) +* [**C**: _Write a shell in C_](https://danishpraka.sh/posts/write-a-shell/) * [**Go**: _Writing a simple shell in Go_](https://sj14.gitlab.io/post/2018-07-01-go-unix-shell/) * [**Rust**: _Build Your Own Shell using Rust_](https://www.joshmcguigan.com/blog/build-your-own-shell-rust/) @@ -433,7 +433,7 @@ It's a great way to learn. * [**(any)**: _From NAND to Tetris: Building a Modern Computer From First Principles_](http://nand2tetris.org/) * [**(any)**: build-your-own-x-vibe-coding: BYOX-style tutorials adapted for vibe coding](https://github.com/inFaaa/build-your-own-x-vibe-coding) * [**Alloy**: _The Same-Origin Policy_](http://aosabook.org/en/500L/the-same-origin-policy.html) -* [**C**: _How to Write a Video Player in Less Than 1000 Lines_](http://dranger.com/ffmpeg/ffmpeg.html) +* [**C**: _How to Write a Video Player in Less Than 1000 Lines_](https://web.archive.org/web/20250111164026/http://dranger.com/ffmpeg/ffmpeg.html) * [**C**: _Learn how to write a hash table in C_](https://github.com/jamesroutley/write-a-hash-table) * [**C**: _The very basics of a terminal emulator_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html) * [**C**: _Write a System Call_](https://brennan.io/2016/11/14/kernel-dev-ep3/)