Top all-time · #2472
James Gregory
Personal blog · jagregory.comprogramminggames
James Gregory's personal blog at jagregory.com covers programming and games. Since 2013, 34 different Hacker News readers have linked it 40 times, most often “Michael Abrash’s Graphics Programming Black Book, Special Edition”. The last post was in 2023, but the archive is still widely read.
Jack of all trades, master of none. Principal Consultant at Thoughtworks. Pronouns: he/him
Most-linked posts?
- Michael Abrash’s Graphics Programming Black Book, Special Edition8 people · 8 mentions · first linked 2021-10-08
- /abrash-black-book/7 people · 7 mentions · first linked 2017-08-31
- Zen of Assembly Language: Volume I, Knowledge3 people · 3 mentions · first linked 2016-07-31
- Zen of Assembly Language2 people · 2 mentions · first linked 2022-11-24
- /abrash-black-book2 people · 2 mentions · first linked 2022-04-05
What Hacker News says?
http://www.jagregory.com/abrash-black-book/ is an excellent online version of that amazing book that I believe is hosted with Michael Abrash's permission.
Comment linking /abrash-black-book/
on “My Business Card Runs Linux”Submitted The Challenge of Separating All Things Seen from All Things Unseen (1997) as a story · 41 points
HN discussionhttps://github.com/ESWAT/john-carmack-plan-archive/blob/mast... is interesting. It transitions from todo list to a narrative format right after Quake launches :) In subsequent years you see Carmack opine on various high-perf platforms for gamers, and also for Quake level pre-processing (engine licensees had money to spend on productivity) Chapter 64 onwards of https://www.jagregory.com/abrash-black-book/ is Mike Abr…
Comment linking /abrash-black-book/
on “The computers used to do 3D animation for Final Fantasy VII in 1996”Submitted Michael Abrash’s Graphics Programming Black Book, Special Edition as a story · 7 points
HN discussionCarmack also had to hound Abrash to come work for Id for over a year after finally meeting him in person (Carmack had long respected Abrash for his articles). http://www.jagregory.com/abrash-black-book/#foreword
Comment linking /abrash-black-book/
on “Introducing Michael Abrash, Oculus Chief Scientist”Submitted Zen of Assembly Language as a story · 6 points
HN discussionShoutout to https://www.jagregory.com/abrash-black-book/ The tech specifics covered have been out of use for decades. But, it's still a very fun read about thinking through the process of optimization.
Comment linking /abrash-black-book/
on “I love software rendering”Submitted Abrash Black Book as a story · 3 points
HN discussionI'd go with these two instead: Michael Abrash’s Graphics Programming Black Book http://www.jagregory.com/abrash-black-book/ Computer Graphics: Principles and Practice: Principles and Practices https://www.amazon.co.uk/Computer-Graphics-Principles-Practi...
Comment linking /abrash-black-book/
on “Bootstrap yourself to write an OS from scratch”Submitted Converting and Preserving Michael Abrash's Graphics Programming Black Book as a story · 3 points
HN discussionYou used BIOS calls ? Luxury , I used VGA registers directly to get vga mode X back in the days. http://www.jagregory.com/abrash-black-book/ now that I call low level.
Comment linking /abrash-black-book/
on “Intro to Low-Level Graphics on Linux”Submitted Zen of Assembly Language as a story · 2 points
HN discussionBefore C and C++ became widely acceptable for game development, we used to read these bibles like these, https://www.jagregory.com/abrash-black-book https://www.amazon.com/PC-Intern-Encyclopedia-Programming-De... https://www.amazon.com/Black-Art-Game-Programming-High-Speed... Very little regular C and C++ code, plenty of inline Assembly.
Comment linking /abrash-black-book
on “Accidentally making a language, for an engine, for a game”Submitted Getting Started With OMeta# as a story · 2 points
HN discussionI see your Norton and raise you an Abrash: https://www.amazon.com/Zen-Assembly-Language-Knowledge-Progr... https://www.amazon.com/Zen-Graphics-Programming-2nd-Applicat... https://www.amazon.com/Zen-Code-Optimization-Ultimate-Softwa... Zen of Asm is also online, I think a few of the other works, too. http://www.jagregory.com/abrash-zen-of-asm/
Comment linking /abrash-zen-of-asm/
on “X86 assembly doesn’t have to be scary”Submitted Why Assembly Language? as a story · 1 points
HN discussionYes. This book uses pandoc: https://github.com/jagregory/abrash-black-book This is the HTML output: http://www.jagregory.com/abrash-black-book/
Comment linking /abrash-black-book/
on “A TCP/IP Tutorial (1991)”Submitted Converting and Preserving Michael Abrash's Graphics Programming Black Book as a story · 1 points
HN discussionIt's out of date now, but back in the day Michael Abrash's 8-cycle per pixel texture mapper was considered a thing of magic: http://www.jagregory.com/abrash-black-book/#thats-nicebut-it...
Comment linking /abrash-black-book/
on “Ask HN: What are some examples of beautiful x86 assembly code?”Submitted Zen of Assembly Language: Volume I, Knowledge as a story · 1 points
HN discussionSince you mentioned latch writes, check out Michael Abrash’s Graphics Programming Black Book[0], chapter 23 onwards, if you feel like immersing yourself further in well-written VGA lore. Not recommended for your present-day productivity (unless you’re making retro games!) [0] https://www.jagregory.com/abrash-black-book/
Comment linking /abrash-black-book/
on “How Duke Nukem II’s parallax scrolling worked”By writing lots of optimizations in hand optimized Assembly. http://www.jagregory.com/abrash-zen-of-asm/ https://www.amazon.com/Windows-Assembly-Language-Systems-Pro...
Comment linking /abrash-zen-of-asm/
on “A $1, Linux-Capable, Hand-Solderable Processor”> For example, in music, there are great teams of artists, like Lennon/McCartney. Read this made me think of John Carmack and Michael Abrash, working on the Quake engine. Both are programming artists, but in different ways. When they came together, working on Quake, I'm sure we can all agree that the result was magic. Not sure where I first read about their work on Quake, but The Graphics Programming Black Book[1] c…
Comment linking /abrash-black-book/
on “The Joy of Coding: Observable”The imprecise overruns because you'll draw over it is a clever optimization. It's interesting to compare and contrast these techniques from other excellent sources, like Michael Abrash's Graphics Programming Black Book, Special Edition [1]. Thought my technical knowledge topped out somewhere in the middle of the 'Quickly Drawing Tiles' section, the prose and algorithmic detail is lovely, the rationales and code is w…
Comment linking /abrash-black-book/
on “Pushing Polygons on the Mega Drive”The OS itself was very basic. Learning to program things like TSRs, dealing with HIGHMEM, BASIC and BASIC assemblers vs C and other tools. It was a complicated environment by the restrictions, but those restrictions when explored taught one a lot about programming. Michael Abrash's graphics programming tutorials - https://www.jagregory.com/abrash-black-book/ It was a great environment to learn in. I spent time there…
Comment linking /abrash-black-book/
on “Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms”Michael Abrash's Black Book is a classic. http://www.jagregory.com/abrash-black-book/
Comment linking /abrash-black-book/
on “On lists, cache, algorithms, and microarchitecture”For rasterization, I would recommend: https://pikuma.com/courses/learn-3d-computer-graphics-progra... If the video format is not for you, I would at least follow the contents, then look up the individual pieces. The black book has a number of them: https://www.jagregory.com/abrash-black-book/ For ray tracing, Ray Tracing from the Ground Up: https://www.amazon.in/Ray-Tracing-Ground-Kevin-Suffern/dp/15... Then people…
Comment linking /abrash-black-book/
on “I still teach OpenGL ES 3.0”Is this a better link? http://www.jagregory.com/abrash-black-book/#chapter-16-there...
Comment linking /abrash-black-book/
on “Graphics Programming Black Book (1997)”Code quality is highly subjective though and often what some might consider as "high quality" also comes with a cost to performance. Fortunately the linked book provides a simple way to decide when something needs to be optimized under "Understanding High Performance" [0] -- Before we can create high-performance code, we must understand what high performance is. The objective (not always attained) in creating high-p…
Comment linking /abrash-black-book/
on “Graphics Programming Black Book (1997)”Read the book and find out! The Volvo story is also worth reading. Correction: Video Seven story. http://www.jagregory.com/abrash-black-book/#chapter-64-quake...
Comment linking /abrash-black-book/
on “Quake's Lighting Model: Surface Caching (1996)”