A Philosophy of Software Design
This book describes in a concrete way how to solve a certain number of common problems encountered during software development. Pitfalls are covered and explanations are demonstrated with examples.
Operating Systems: Design and Implementation
Tanenbaum & Woodhull
This book is dedicated to the design of the MINIX operating system, a minimalist UNIX for the PC that inspired the creation of Linux. The version I own is the old original version from 1987 but the last update was published in 2007. The entire source code of the OS is printed at the end of the book, which explains in detail how a modern multitasking operating system works. It's a good balance between theory and practice.
A practical guide to the Vim text editor, a powerful modal editor that works exclusively with keyboard and allows for complex automated operations. The book contains 123 tips ordered by difficulty. My goal is (to try) to be more productive with text files and code. Many editors like VSCode, JetBrains or XCode have a Vim mode.
On the Web
- Fedora is a distribution for personal computers that offers up-to-date packages and is easy to use.
- FreeBSD is a complete, lightweight and well documented UNIX operating system. It is not a Linux distribution, here the kernel and basic utilities are maintained by FreeBSD.
- Haiku OS is a free and open source operating system inspired by BeOS with a C++ microkernel. The OS is multimedia oriented, for personal computers only.
- Rocky Linux, a server-oriented OS intended to take over from CentOS.
User interfaces and old OS
- The GUIs section from toastytech.com presents a very large collection of screenshots from different operating systems and desktop environments, from the early 70's to today.
- Guidebook Gallery also features a lot of screenshots from different environments, OS default applications and evolutions of well known software. You can even find advertisements, posters and documentation about user interfaces. Unfortunately not updated since many years.
- 🇫🇷 levenez.com/NeXTSTEP: a website about the history and the universe of NeXTSTEP, the OS of NeXT stations, the professional computers developed by Steve Jobs during his period outside Apple. This OS was the basis for Mac OS X.
Design & typography
- 🇫🇷 Planète Typographie: and old site with a lot of information and links.
- 🇫🇷 Orthotypographie: lexicon of French typographical rules by Jean-Pierre Lacroux.
- 🇫🇷 Typography courses by A. Zammit in two parts : first and second.
- NeoCities is the spiritual successor of GeoCities, a hosting provider from the 90s. It offers static pages (no PHP) with a 1 GB space and 200 GB of monthly traffic, free and without advertising. Very nice to start on the Web, with its integrated online HTML editor.
- Infomaniak offers Web and e-mail hosting at reasonable prices, powered with renewable energy.
x86 assembly and DOS
- 🇫🇷 Benoit M. x86 assembly tutorial: mostly a manual, but complete and written in French.
- fysnet.net: articles for C and assembly DOS programming.
- Ralf Brown’s Interrupt List: a complete list of interruptions for DOS or other programs.
- 256-Color VGA Programming in C: tutorial for VGA-graphics oriented programming on DOS (examples in C).
- VGA Color Palettes: default color palettes for different VGA modes.
- PC DOS Retro: a lot of documentation for DOS stuff and complete keyboard scancodes.
- Atrevida Game Programming Tutorials: C and assembly stuff.