Mat Hill
← to home
Got a recommendation? I'd love to hear it!
πŸ“Œ means I haven't bought / read / watched yet.

# Art

Guide for Drawing the Acanthus and Every Description of Ornamental Foliage (1886)
Ornamental Drawing and Architectural Design (1857)
The Illustrated Architectural, Engineering, & Mechanical Drawing Book (1881)
Drawing & Understanding Scroll Designs by Ron Smith
The Essential Guide to Drawing Scrolls by Sam Alfano
Ornamental Archive by Russ Abbott
International Association of Master Penmen, Engrossers, and Teachers of Handwriting
Spencerian Penmanship theory & workbooks (no UK delivery sadly!)
The Universal Penman by George Bickham
Fantastic Ornament I & II
Intro to Copperplate Calligraphy by Maria Montes
Treasury of American Pen & Ink Illustration 1881-1938 πŸ“Œ
Pen and Ink Techniques
Rendering in Pen and Ink
Drawing with Pen and Ink πŸ“Œ
The Calligrapher's Bible by David Harris
The Bible of Illuminated Letters by Margaret Morgan πŸ“Œ
Mastering Copperplate Calligraphy by Eleanor Winters
Bygone Arts - Calligraphy Inspired by Medieval Manuscripts
The Visual Display of Quantitative Information by Edward Tuft πŸ“Œ
Stuart Semple's blackest black paint
Bruce MacEvoy's watercolour resources πŸ“Œ
Beautiful Landscape Painting Outdoors: Mastering Plein Air πŸ“Œ
Sargent Portrait Drawings: 42 Works πŸ“Œ
John Singer Sargent: Figures and Landscapes, 1874-1882, Volume IV πŸ“Œ
Composition of Outdoor Painting by Edgar Payne πŸ“Œ
The Artist's Guide to Selecting Colors by Michael Wilcox πŸ“Œ
Bridgman's Complete Guide to Drawing From Life πŸ“Œ
Drawing the Head and Hands by Andrew Loomis πŸ“Œ
Figure Drawing for All It's Worth by Andrew Loomis πŸ“Œ
Successful Drawing by Andrew Loomis πŸ“Œ
Creative Illustration by Andrew Loomis πŸ“Œ
Alla Prima II Companion πŸ“Œ
Anders Zorn: Sweden's Master Painter πŸ“Œ
Stephen Bauman's videos
Anatomy for Sculptors
Anatomy of Facial Expression
Form of the Head and Neck
Atlas of Human Anatomy for the Artist by Stephen Rogers Peck
Carlson's Guide to Landscape Painting πŸ“Œ
Human Anatomy for Artists by Elliot Goldfinger πŸ“Œ
Animal Anatomy for Artists by Elliot Goldfinger πŸ“Œ
Ian Robert's painting & composition tutorials.
Chelsea Lang's alla prima videos and demonstrations.
Matthew Bird's history of industrial design lectures
UBUWEB's ethnopoetics
Oil Painting Techniques and Materials by Harold Speed πŸ“Œ
The Practice and Science of Drawing by Harold Speed πŸ“Œ
Alex Tzavaras's traditional fine art video tutorials
New Masters Academy
London Fine Art Studios
Alla Prima II by Richard Schmid
How To Render by Scott Robertson
How To Draw by Scott Robertson
Imaginative Realism by James Gurney
Color and Light by James Gurney
James Gurney's Video Demos
The Animator's Survival Kit by Richard Williams
Fundamentals of Drawing by V.A. Mogilevtsev
Fundamentals of Painting by V.A. Mogilevtsev
Lift Off by Scott Robertson
Screen Writing 101 by Film Crit Hulk
Wonderbook by Jeff Vandermeer
Sculpting In Time by Andrei Tarkovsky
Alive! Blender animation course
Charles Bargue Drawing Course
Understanding Comics by Scott McCloud
Ernst Haeckell: Art Forms From The Abyss
Structure 3: the Art of Sparth
Cosmonauts: Birth of the Space Age by Doug Millard
Proto Anime Cut Archive by Stefan Riekeles
Self-Organization in Biological Systems
Bojack Horseman: The Art Before the Horse by Chris McDonnell
The Design of Everyday Things by Donald A. Norman
What is Scenography? by Pamela Howard
How to Be a Graphic Designer Without Losing Your Soul by Adrian Shaughnessy
Cracking Animation By Peter Lord & Brian Sibley
Framed Perspective by Marcos Mateu-Mestre
Framed Ink by Marcos Mateu-Mestre
The Algorithmic Beauty of Plants by PrzemysΕ‚aw Prusinkiewicz

# Music

Why Does This Song Stink?
rfruehwald's "Music as Pattern" lectures
Decolonise Fest
Music Theory for Guitar
Designing Sound by Andy Farnell
Concise Introduction to Tonal Harmony by Burstein & Straus
Music Theory for Computer Musicians by Michael Hewitt
Patch & Tweak by Kim BjΓΈrn & Chris Meyer
Pedal Crush by Kim BjΓΈrn & Scott Harper
Analog Man's Guide to Vintage Effects
Mixing Secrets by Mike Senior
Recording Secrets by Mike Senior
Microsound by Curtis Roads
Skissur by Γ“lafur Arnalds
The Theory and Technique of Electronic Music by Miller Puckette
The Producer's Manual by Paul White
<3 <3 <3

# Computing

A 2024 Plea for Learn Software
A Plea for Lean Software
Cyber and information security: have we all gone mad?
IBM Common User Interface guidelines
Apple Human Interface guidelines
Develop with Cocoa for Apple Devices without using Objective-C by Felix Klinge
Introduction into low-level optimization by Felix Klinge πŸ“Œ
The Art of Unix Programming πŸ“Œ
Writing a TrueType font renderer πŸ“Œ
Minimal Cross-Platform Graphics
Gemini Protocol
Small web
Virtual Memory lectures by David Black-Schaffer
Power and Energy lectures by David Black-Schaffer
Arena Allocator tips and tricks
Easy 6502 Assembly
Pikuma computing courses <3
Bias and gain are your friend.
Kevin Lynagh on choosing features
Improving texture atlas allocation in WebRender
The Trouble with Anti-Aliasing [text]
Rethinking Software Design
Why not Flexbox
The Raster Tragedy - font rendering
Adventures in Text Rendering
How to draw styled rectangles using the GPU and Metal
Text Rendering Hates You by Aria Beingessner
Davy Wybiral's Intro to x86 Assembly Language
Inter-process communication in Linux πŸ“Œ
FFTs for users πŸ“Œ
FFTs for implementers πŸ“Œ
Premultiplication & gamma
GPUs prefer premultiplication
Beware of Transparent Pixels
Porter-Duff 1984 paper: Compositing Digital Images
Tom Forsyth on Premultiplied Alpha pt. I
Tom Forsyth on Premultiplied Alpha pt. II
Mike Acton's 2007 game programming lecture at MIT
Solving the Right Problems for Engine Programmers
Fix your timestep!
Game Dev Tech's OpenGL Cocoa tutorial
How GLFW uses NSApplication's event loop
Winprog Win32 Tutorials
Neil Blakey-Milner's platform layers
Mike Oldham's handmade hero MacOS port
Jeff Buck's handmade hero MacOS port
X11 Clipboard
Game Dev Tech's OpenGL X11 tutorial
David Gow's handmade hero Linux port
Casey Muratori's Handmade Hero
Windows Timer Resolution: The Great Rule Change
The Xlib Manual
A tour through Xlib and related technologies
X11 Drag and Drop Spec
X11 Drag and Drop Pitfalls
FreeDesktop Trash spec
File URI scheme spec
URI spec
X11 Clipboard Spec
Xcb, X11, Xlib, Wayland?
Programming OpenGL in Linux: GLX and Xlib
OpenGL 3.0 Context Creation (GLX)
Language Implementation Patterns by Terence Parr πŸ“Œ
Math to code translations
Noise functions
Hacker's Delight by Henry S. Warren, Jr.
Bit Twiddling Hacks
Implementing malloc()
Modern Computer Vision library
Compilation of awesome lists
I Am Graphics And So Can You
Kohi Vulkan & C game engine series πŸ“Œ
Moving to Vulkan
JosΓ© Henriques' Vulkan 101 πŸ“Œ
Alian Galvan's Raw Vulkan πŸ“Œ
A trip through the graphics pipeline πŸ“Œ
Computer Graphics at TU Wien - Vulkan rendering tutorials
An Introduction to Vulkan
Intel Vulkan tutorial πŸ“Œ
GDC Vulkan Essentials πŸ“Œ
Engaging voyage vullkan πŸ“Œ
Vulkan shader resource binding πŸ“Œ
Vulkan memory management πŸ“Œ
Transitioning from OpenGL to Vulkan πŸ“Œ
OpenGL-like Vulkan πŸ“Œ
Vulkan on NVIDIA GPUs πŸ“Œ
Vulkan's Key Features on ARM πŸ“Œ
Porting a graphics engine to Vulkan πŸ“Œ
Get Your Engine Ready for Vulkan on Mobile πŸ“Œ
Multi-threading in Vulkan πŸ“Œ
Samsung's Vulkan Usage Recommendations πŸ“Œ
GPU-driven rendering πŸ“Œ
Most common mistakes in Vulkan apps πŸ“Œ
Vulkan fast paths πŸ“Œ
High-performance Low-overhead rendering with OpenGL and Vulkan πŸ“Œ
Vulkan Lessons Learned πŸ“Œ
Vulkan Memory Allocator
AMD's Vulkan tutorialsπŸ“Œ
Vulkan Cookbook πŸ“Œ
Vulkan Tutorial site πŸ“Œ
Jeremy Ong's graphics programming blog
RenderDoc's Vulkan in 30 minutes
vkguide πŸ“Œ
Writing and Efficient Vulkan Renderer πŸ“Œ
Brendan Galea's Vulkan Game Engine Tutorial πŸ“Œ
Write Free Software
GLSL hash functions without sin()
How technology loses out in companies, countries & continents and what to do about it by Bert Hubert
Compilers: Principles, Techniques, and Tools πŸ“Œ
Quite OK audio format.
Quite OK image format.
Is Parallel Programming Hard, And, If So, What Can You Do About It? πŸ“Œ
What really happens when you navigate to a URL
Branch prediction in modern processors
Gallery of Processor Cache Effects
NASA JPL C code standards
MISRA C code standards
SEI CERT C code standards
The use of assert() in SQLite
How SQLite is tested
SQLite's 'amalgamation' build method
Preshing on Programming
Floating point exposed
Rick Regan's floating point and binary articles
The secret life of a NaN
Bruce Dawson's floating point articles
William Kahan on the development of IEEE 754 floating point
What Every Programmer Should Know About Floating-Point Arithmetic
nakst's tutorial on UI library development
nakst's tutorial on writing a CLAP audio plugin
John Nagle on socket ACK delays
Using select() properly
C macro pitfalls
What Every C Programmer Should Know About Undefined Behavior
A Guide to Undefined Behavior in C and C++
Numerical Mathematics and Computing
Understanding SVG Coordinate Systems and Transformations
fffuel SVG reference
Unicode Text Analyser
SQL playground
Godbolt compiler explorer
Fuzz testing book
Write Fuzzable code
CG Cinematography book
A Pixel Is Not A Little Square
Collection of game graphics breakdowns
Font Rendering is Getting Interesting
Oklab colour encoding by BjΓΆrn Ottosson
How software gets color wrong by BjΓΆrn Ottosson
Color: From Hexcodes to Eyeballs
Completely Painless Programmer's Guide to XYZ, RGB, ICC, xyY, and TRCs
Bruce MacEvory's colour book
History of Reflection Mapping
From Nand 2 Tetris
Crafting Interpreters by Robert Nystrom
SS64 command line reference
SS64 ffmpeg reference
SS64 password security
SS64 numerical conversions
Motion-Picture Colour Management white paper.
The Pocket Guide to Debugging by Julia Evans
Introduction to Quantum Computing
Linear Algebra - Core Topics for the First Course πŸ“Œ
Live Coding: A User's Manual
WAV file spec
A Primer on BΓ©zier Curves πŸ“Œ
Beginner's guide to linkers
Blue noise article and textures
Nvidia's spatiotemporal blue noise
How Unicode Characters Become Glyphs on Your Screen
Parallel curves of cubic BΓ©ziers
Calculus Made Easy
OpenGL Common Mistakes
GLSL Common Mistakes
OpenGL Transformation Matrices
Hacksplaining lessons
What Every Programmer Should Know About Memory by Ulrich Drepper
High Performance Browser Networking
bash pitfalls
unofficial bash 'strict mode'
'entr' for running commands when files change
Google's Bash style guide
Secure Coding in C and C++
Building Secure and Reliable Systems
Designing Secure Software by Loren Kohnfelder
Cybersecurity for Small Networks by Seth Enoka πŸ“Œ
Writing a C Compiler by Nora Sandler πŸ“Œ
Computer Systems Security MIT Course πŸ“Œ
Network Know-How by John Ross πŸ“Œ
Nmap Essentials by David Shaw πŸ“Œ
The Linux Programming Interface by Michael Kerrisk πŸ“Œ
Thinking Forth by Leo Brodie
UNIX and Linux System Administration Handbook
Web Security for Developers
Wireshark Essentials by James H. Baxter πŸ“Œ
Linux perf Examples by Brendan Gregg πŸ“Œ
WebRTC For The Curious πŸ“Œ
Nightmare reverse engineering course πŸ“Œ
Cryptography attacks course πŸ“Œ
OpenNIC alternate DNS
Harden the World
James Mickens
wizard zines by Julia Evans
Yet Another Firefox Hardening Guide
Learn X in Y Minutes
Migadu email hosting
Foxlet's macOS VM
Rob Hansen's cryptography FAQ
Linode cloud computing
iodΓ©OS de-Google'd Android
Drew Devault's blog
Crowd Supply hardware projects
Framework laptop
Nitter twitter access
Piped YouTube access
Data Oriented Design by Richard Fabian
The Mythical Man Month by Frederick P. Brooks Jr.
Fluent Python by Luciano Ramalho
JavaScript: The Definitive Guide by David Flanagan
Beej's Guide to Network Programming by Beej
Beej's Guide to C by Beej
Hands-On Network Programming with C by Lewis Van Winkle
The Princeton Companion to Mathematics
The Princeton Companion to Applied Mathematics
Game Engine Architecture by Jason Gregory
Dave Frampton's Devlog
Essential Mathematics for Games and Interactive Applications
The Little Schemer
OpenGL SuperBible
The C Programming Language by Brian Kernighan & Dennis Ritchie
Computer Organization and Design by John Hennessy & David Patterson
Understanding Compression by Colton McAnlis & Aleks Haecky
The RISC-V Reader by David Patterson & Andrew Waterman
Operating Systems: Three Easy Pieces by R. H. and A. C. Arpaci-Dusseau
The Practice of Programming by Brian Kernigham & Rob Pike
The Elements of Computing Systems by Noam Nisan & Shimon Schocken
Packet Guide to Core Network Protocols by Bruce Hartpence
Interconnections 2nd Edition by Radia Perlman
Think Stats by Allen B. Downey
OpenCL In Action by Matthew Scarpino
GNUPlot In Action by Philip K. Janert
GPUPro 360 Guide to Image Space by Wolfgang Engel
A Programmers Introduction to Mathematics by Jeremy Kun
Make: AVR Programming by Elliot Williams
Quaternions for Computer Graphics by John Vince
Linux Basics for Hackers by OccupyTheWeb
C++ Cookbook
Learning OpenCV 3 by Adrian Kaehler & Gary Bradski
C++ Concurrency in Action by Anthony Williams
Algorithms in a Nutshell
The Rust Programming Language
Effective C++ 3rd Edition by Scott Meyers
Effective Modern C++ by Scott Meyers
Mastering Android NDK by Sergey Kosarevsky & Viktor Latypov
Analog Computing by Bernd Ulmann
Physics for Game Developers by Bryan Bywalec & David M Bourg
Cinder Creative Coding Cookbook by Dawid Gorny
Unity 5.x Shaders and Effects Cookbook by Alan Zucconi & Kenneth Lammers
Real-Time Shadows πŸ“Œ
Game Programming Patterns by Robert Nystrom
Deconstructing the Elements with 3DSMax by Pete Draper
Android Native Development Cookbook by Feipeng Liu
Assembly Language Step by Step by Jeff Duntemann
Real-Time Collision Detection by Christer Ericson πŸ“Œ
Game AI Pro 360 by Steve Rabin
Boost.Asio C++ Network Programming 2nd Edition by Dmytro Radchuk
Everything curl by Daniel Stenberg
Fullstack Vue by Hassan Djirdeh
Programming Internet Email by David Wood πŸ“Œ
Expert C Programming: Deep C Secrets by Peter van der Linden
A Small Matter of Programming: Perspectives on End User Computing by Bonnie A. Nardi
Cryptography Engineering: Design Principles and Practical Applications
Serious Cryptography by Jean-Philippe Aumasson
xkdc on passwords
GPG/PGP explainers
Go Incognito security course


Groovy DSP's tutorials
Midi frequency conversion algorithms.
24/192 Music Downloads ...and why they make no sense
D/A and A/D lecture by Christopher Montgomery
Digital Media lecture by Christopher Montgomery
Discrete-Time Signal Processing by Alan V Oppenheim and Ronald W. Schafer πŸ“Œ
DSP lectures by Prof. David Anderson πŸ“Œ
Hack Audio by Eric Tarr
Digital Signal Processing by Steven W. Smith
Designing Audio Effect Plugins in C++ by Will Pirkle
Spin Semiconductor DSP tutorials snippets wiki
Pi Pico audio visualiser project
JOS's DSP textbooks etc.
Audio Effects by J. D. Reiss & Andrew McPherson
DAFX 2nd Edition

# Electronics

The Valve Wizard
LM13700 VCA circuit
Arito Suzuki's guitar pedal videos
JHS pedals videos
An Alternative to the American way of Innovation by Andrew 'bunnie' Huang
The Hardware Hacker by Andrew 'bunnie' Huang
Technology is Not Magic by Andrew 'bunnie' Huang
Moritz Klein's DIY synth tutorials
Aaron Lanterman's lectures
Tayda Electronics online store
Ben Eater's lectures
Troubleshooting Analog Circuits by Robert A. Pease
KiCad Like a Pro by Peter Dalmaris
The Art of Electronics by Horowitz & Hill
The CMOS Cookbook by Donald E. Lancaster
Small Signal Audio Design by Douglas Self
Op Amps For Everyone by Bruce Carter
Practical Electronics For Inventors by Paul Scherz
Handmade Electronic Music by Nicolas Collins
Electronics for Guitarists by Denton J. Dailey
Building Valve Amplifiers by Morgan Jones
Make: Analog Synthesizers by Ray Wilson
Make: Electronics by Charles Platt
Complete Electronics Self Teaching Guide by Earl Boysen & Harry Kybett
Electronics Projects For Musicians by Craig & Chris Anderton
Do-It Yourself Projects for Guitarists by Craig Anderton
Sequence 15's Electricity for Synth DIY'ers
Analog Devices Wiki
All About Circuits
Electronics Club's tutorials
DJ Jon Dent's useful CMOS chips
74HC595 shift register tutorial
Protecting digital inputs
WM8731 CODEC x RP2040
Compander IC stock
Open Music Labs - DIY PWM DACs etc.
Coda FX -9v from +9v example
BBD phase VCO circuit
DIYStrat guitar FX stuff
Beavis Instruments projects & tutorials
Idea2IC stories & history
Electronotes magazine archive
DIYstompboxes forum
Geofex DIY pedals
AMZ guitar FX blog
AMZ guitar FX notes & calculators
Spring Reverb info
Sound-au's articles & spring reverb example
Mutable Instruments' open source firmware repo

# Science

Media For Thinking the Unthinkable by Bret Victor
What Can a Technologist do About Climate Change? by Bret Victor
Better Without AI by David Chapman
Dr. Christopher White's Historical Geology lectures
"RGB to XYZ: The Science and History of Color" by John Austin
Bartosz Ciechanowski's interactive explainers
Bruce Lindbloom colour maths resources
Keenan Crane's Discrete Differential Geometry lectures
Norman Koren's image sharpness series
Ian Mallett's subpixel zoo

# Misc

Ian's secure shoelace knot
The Joy of Pitman Shorthand πŸ“Œ
Omniglot encyclopedia of writing systems & languages
InkBox open source OS for Kobo e-reader devices
Elle Stone's free/libre photography & digital colour resources
Akiyoshi's Illusion pages

↑ to top
← to home