content/links.markdown @ ff107268c4e3

Links, etc
author Steve Losh <steve@stevelosh.com>
date Wed, 21 Aug 2024 09:10:34 -0400
parents c499267711c3
children 578872d23f06
(:title "Links"
 :date "2016-06-20T13:17:43Z"
 :draft nil)

This page is a collection of links to blogs/resources I find interesting.

It's mostly just a place for me to dump links that I want to remember to check
every now and then when I'm bored.  I figured other people might find it
interesting too.

<div id="toc"/>

Blogs
-----

* [Habrador](http://blog.habrador.com/): Various game programming-related articles.
* [Martin O'Leary](http://mewo2.com/): Blog with some really good articles on procedural generation.
* [Michael Malis](http://malisper.me/): Lots of Lisp stuff (usually macro-related).
* [Paul Khuong](https://pvk.ca/): Mostly Lisp/SBCL-related stuff.
* [Peteris Krumins' Top 100 Books](http://www.catonmat.net/blog/top-100-books-part-one/): Great list of books to read.
* [Red Blob Games](http://www.redblobgames.com/): Wonderful blog with *really* good posts about lots of different video game-related topics.
* [The Digital Antiquarian](http://www.filfre.net/): Immense amount of information on the history of "computer entertainment".

Articles
--------

These are some articles that have left a lasting impression on me (this doesn't
mean I endorse everything in them).

* [Black Triangles](https://rampantgames.com/blog/?p=7745)
* [Execution in the Kingdom of Nouns](https://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html)
* [Programming's Dirtiest Little Secret](https://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html)
* [The Cardinal Rule of Functions](https://courses.cs.northwestern.edu/325/readings/cardinal-rule.html)
* [Thinking about Thinking](https://www.datapacrat.com/Opinion/Reciprocality/r0/Day1.html)
* [How to Report Bugs Effectively](https://www.chiark.greenend.org.uk/~sgtatham/bugs.html)
* [The Best of Intentions](https://www.nhplace.com/kent/PS/EQUAL.html)
* [The Rise of Worse is Better](https://www.dreamsongs.com/RiseOfWorseIsBetter.html)
* [Handwriting Repair](https://sites.google.com/view/briem/free-books/handwriting-repair)
* [Programming Sucks](https://www.stilldrinking.org/programming-sucks)
* [The Long, Painful History of Time](https://naggum.no/lugm-time.html)
* [The Elves Leave Middle Earth — Sodas Are No Longer Free](https://steveblank.com/2009/12/21/the-elves-leave-middle-earth-%E2%80%93-soda%E2%80%99s-are-no-longer-free/)
* [A Mathematician's Lament](https://worrydream.com/refs/Lockhart_2002_-_A_Mathematician's_Lament.pdf)
* [A Taxonomy of Tech Debt](https://technology.riotgames.com/news/taxonomy-tech-debt)
* [Improper Nouns](https://siderea.dreamwidth.org/1773806.html)
* [Why numbering should start at zero](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html)
* [Unix Recovery Legend](https://www.ecb.torontomu.ca/~elf/hack/recovery.html)
* [Fixing Unix/Linux/POSIX Filenames](https://dwheeler.com/essays/fixing-unix-linux-filenames.html)
* [How Complex Systems Fail](https://how.complexsystems.fail/) and [The Hallmarks of Cancer](https://www.sciencedirect.com/science/article/pii/S0092867400816839)
* [Software Disenchantment](https://tonsky.me/blog/disenchantment/)
* [The short, tormented life of computer genius Phil Katz](http://www.bbsdocumentary.com/library/CONTROVERSY/LAWSUITS/SEA/katzbio.txt)
* [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets](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 case of the 500-mile email](https://www.ibiblio.org/harris/500milemail.html)
* [Project managers, ducks, and dogs marking territory](https://rachelbythebay.com/w/2013/06/05/duck/)
* [Lisping at JPL](https://flownet.com/gat/jpl-lisp.html)
* [Unix as IDE](https://blog.sanctum.geek.nz/series/unix-as-ide/)
* [The illustrated guide to a Ph.D.](https://matt.might.net/articles/phd-school-in-pictures/)
* [I want off Mr. Golang's Wild Ride](https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride)
* [PHP: a fractal of bad design](https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/)
* [I should have loved biology](https://jsomers.net/i-should-have-loved-biology/)
* [Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine](https://berthub.eu/articles/posts/reverse-engineering-source-code-of-the-biontech-pfizer-vaccine/)
* [Computers can be understood](https://blog.nelhage.com/post/computers-can-be-understood/)
* [What if I were 1% charged?](https://gravityandlevity.wordpress.com/2013/05/22/what-if-i-were-1-charged/)
* [Please, enough with the dead butterflies!](https://www.emilydamstra.com/please-enough-dead-butterflies/)


YouTube Channels
----------------

* [3Blue1Brown](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw): Videos on various math topics.  His series on linear algebra in particular is fantastic.
* [Coding Math](https://www.youtube.com/user/codingmath): A series of 50ish basic math lessons aimed at the kind of math you'll used in video games.  Every lesson shows the concepts implemented in little Javascript demos, and it's *really* helpful to see how you actually *use* something once you learn the basic idea.
* [Game Maker's Toolkit](https://www.youtube.com/user/McBacon1337): Videos about game design.
* [Makin' Stuff Look Good](https://www.youtube.com/channel/UCEklP9iLcpExB8vp_fWQseg): Videos about how to make things look good in Unity.  The best part of the channel is the "shader case studies" where he looks at visual effects in various games and shows how to recreate them with a shader.

Game Development Beginner Resources
-----------------------------------

These are some nice books and websites geared toward teaching beginners how to
make video games.

* [Coding Math](https://www.youtube.com/user/codingmath): A YouTube channel with 50ish basic math lessons aimed at the kind of math you'll used in video games.  Every lesson shows the concepts implemented in little Javascript demos, and it's *really* helpful to see how you actually *use* something once you learn the basic idea.
* [Invent Your Own Computer Games with Python](https://inventwithpython.com/chapters/): A book about making computer games with Python.
* [Land of Lisp](http://landoflisp.com/): A book about writing video games with Lisp.  Unfortunately it's starting to bitrot, but it can still be a fun read if you're specifically interested in Lisp.
* [Learn to Code by Making Games](https://www.udemy.com/unitycourse/): A Udemy course about making video games with Unity.  It's not free, but it's worth the price.
* [Programming Guide for Video Games](http://ithare.com/programming-guide-for-video-gamers/): A page of links to even more resources for beginners.

Common Lisp Utility Libraries
-----------------------------

Anyone who writes enough Common Lisp eventually seems to end making their own
library of useful stuff (myself included).

If you want to write a portable library for other people to use, *please* don't
make the world download your own personal utility library.  But it's a lot of
fun to peek at other people's utilities, so here's a few to get you started.
I personally like printing them out and reading them on the bus.

Only non-GPL libraries are listed here (though several LLGPL'ed ones are
included).

* [alexandria](https://gitlab.common-lisp.net/alexandria/alexandria)
* [cl-jpl-util](https://www.thoughtcrime.us/software/cl-jpl-util/)
* [cl-losh](https://github.com/sjl/cl-losh)
* [clutils](https://github.com/rudolfochrist/clutils)
* [de.setf.utility](https://github.com/lisp/de.setf.utility)
* [fare-utils](https://gitlab.common-lisp.net/frideau/fare-utils)
* [incf-cl](https://github.com/jmbr/incf-cl)
* [kmrcl](https://github.com/plops/kmrcl)
* [m-util](https://github.com/Noeda/m-util)
* [metatilities-base](https://github.com/gwkkwg/metatilities-base)
* [metatilities](https://github.com/gwkkwg/metatilities)
* [monkeylib-utilities](https://github.com/gigamonkey/monkeylib-utilities)
* [pergamum](https://github.com/deepfire/pergamum)
* [quickutil](https://github.com/tarballs-are-good/quickutil)
* [rs-cll](https://github.com/ralph-schleicher/rs-cll)
* [s-utils](https://github.com/svenvc/s-utils)
* [serapeum](https://github.com/TBRSS/serapeum)
* [utils-kt](https://github.com/kennytilton/utils-kt)