Mat Hill
← to home
Got a recommendation? I'd love to hear it!
πŸ“ͺ means a neglected book is ready for a new owner, free + shipping cost.
πŸ“Œ means I haven't bought / read / watched yet.

# Art

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
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
Drawabox
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
Knobs
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

Davy Wybiral's Intro to x86 Assembly Language
Inter-process communication in Linux πŸ“Œ
About Face: The Essentials of Interaction Design πŸ“Œ
FFTs for users πŸ“Œ
FFTs for implementers πŸ“Œ
Finish your derivations, please πŸ“Œ
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
Neil Blakey-Milner's platform layers
Mike Oldham's handmade hero MacOS port
Jeff Buck's handmade hero MacOS port
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 funcitons πŸ“Œ
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
regex101
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 πŸ“Œ
SPACEFILLER
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
docs.GL
What Every Programmer Should Know About Memory by Ulrich Drepper
High Performance Browser Networking
bash pitfalls
unofficial bash 'strict mode'
moreutils
'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 πŸ“Œ
Text Rendering Hates You by Aria Beingessner
OpenNIC alternate DNS
Harden the World
!!Con
homebrewserver.club
James Mickens
wizard zines by Julia Evans
Yet Another Firefox Hardening Guide
100R
Learn X in Y Minutes
Migadu email hosting
Sourcehut
Foxlet's macOS VM
Permacomputing
Rob Hansen's cryptography FAQ
Linode cloud computing
iodΓ©OS de-Google'd Android
Drew Devault's blog
Crowd Supply hardware projects
Fairphone
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

# DSP

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
MusicDSP.org snippets wiki
Pi Pico audio visualiser project
JOS's DSP textbooks e.t.c.
Audio Effects by J. D. Reiss & Andrew McPherson πŸ“ͺ
DAFX 2nd Edition πŸ“ͺ

# Electronics

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
Pine64
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
LOOK MUM NO COMPUTER
Electroboom
electronics-tutorials.ws
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 e.t.c.
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

Omniglot encyclopedia of writing systems & languages
InkBox open source OS for Kobo e-reader devices
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 πŸ“Œ
Elle Stone's free/libre photography & digital colour resources
Akiyoshi's Illusion pages
Norman Koren's image sharpness series
Ian Mallett's subpixel zoo

↑ to top
← to home