Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2472

J

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.

Visit the blog
40mentions?
34HN people?
2013–2026first – last linked?
Links on Hacker News per year · peak 7 in 2022

Jack of all trades, master of none. Principal Consultant at Thoughtworks. Pronouns: he/him

Most-linked posts?

  1. Michael Abrash’s Graphics Programming Black Book, Special Edition
    8 people · 8 mentions · first linked 2021-10-08
  2. /abrash-black-book/
    7 people · 7 mentions · first linked 2017-08-31
  3. Zen of Assembly Language: Volume I, Knowledge
    3 people · 3 mentions · first linked 2016-07-31
  4. Zen of Assembly Language
    2 people · 2 mentions · first linked 2022-11-24
  5. /abrash-black-book
    2 people · 2 mentions · first linked 2022-04-05

What Hacker News says?

  1. 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”
  2. Submitted The Challenge of Separating All Things Seen from All Things Unseen (1997) as a story · 41 points

    HN discussion
  3. https://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”
  4. Submitted Michael Abrash’s Graphics Programming Black Book, Special Edition as a story · 7 points

    HN discussion
  5. Carmack 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”
  6. Submitted Zen of Assembly Language as a story · 6 points

    HN discussion
  7. Shoutout 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”
  8. Submitted Abrash Black Book as a story · 3 points

    HN discussion
  9. I'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”
  10. Submitted Converting and Preserving Michael Abrash's Graphics Programming Black Book as a story · 3 points

    HN discussion
  11. You 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”
  12. Submitted Zen of Assembly Language as a story · 2 points

    HN discussion
  13. Before 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”
  14. Submitted Getting Started With OMeta# as a story · 2 points

    HN discussion
  15. I 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”
  16. Submitted Why Assembly Language? as a story · 1 points

    HN discussion
  17. Yes. 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)”
  18. Submitted Converting and Preserving Michael Abrash's Graphics Programming Black Book as a story · 1 points

    HN discussion
  19. It'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?”
  20. Submitted Zen of Assembly Language: Volume I, Knowledge as a story · 1 points

    HN discussion
  21. Since 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”
  22. 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”
  23. > 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”
  24. 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”
  25. 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”
  26. 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”
  27. 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”
  28. 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)”
  29. 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)”
  30. 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)”

Search all of HN for jagregory.com

Linked by the same people?