Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    N

    Nanochess

    nanochess.org · Personal blog · on HN since 2014

    Óscar Toledo writes about tiny chess programs, retro game ports, and old-computer programming, including his IOCCC-winning Toledo Nanochess.

    Visit blogHN submissions
    Retro ComputingGamesProgramming
    What HN says

    Commenters like the annotated source code of his tiny chess engine and compare it to Microchess; one notes the sad news of his wife's death.

    Stats for nerds
    46HN people shared it
    28linked in comments
    1.4Kstory points
    Aug 2026last shared
    2015people per year2026

    Top posts on HN

    1. 1
      My teen years: The transputer operating system
      2 people · 257 points · first shared 2025 · 67 comments on HN
    2. 2
      Intel 8080 emulator. 19th IOCCC. Best of Show
      1 person · 256 points · first shared 2024 · 66 comments on HN
    3. 3
      I coded a Pascal compiler for transputer as a teen in 1993
      2 people · 180 points · first shared 2025 · 63 comments on HN
    4. 4
      My first Z80 assembly language program
      2 people · 173 points · first shared 2021 · 31 comments on HN
    5. 5
      Completing a BASIC language interpreter in 2025
      1 person · 101 points · first shared 2025 · 21 comments on HN
    6. 6
      Coding a new BASIC interpreter in 2025 to replace a slow one
      1 person · 87 points · first shared 2025 · 18 comments on HN
    7. 7
      LOCS: Language developed at age 9 in Z80 machine code (1988)
      1 person · 81 points · first shared 2024 · 21 comments on HN
    8. 8
      Development of a transputer ISA board
      1 person · 78 points · first shared 2025 · 14 comments on HN
    9. 9
      Viboritas: Reverse engineering of my 1990 game (I was 11 years old)
      1 person · 73 points · first shared 2024 · 17 comments on HN
    10. 10
      Show HN: Transputer emulator in JavaScript (fast enough to be useful)
      1 person · 55 points · first shared 2025 · 7 comments on HN

    What HN people wrote when they linked it

    • trompMar 2024

      A nice showcase of Postscript's abilities, which I first became aware of around 1990, when I sent a tiny program to a Postscript printer to generate a 1024x1024 maze, taking half a day to finish. The graphics are simple but good looking. The engine is weak as expected for a tiny engine. The game I played with my first 4 moves of e2e4, d2d4, e4e5, and d4d5 resulted in checkmate on move 18. I wasn't sure if it would accept en-passant capture but it did. Other tiny engines like Micro-Max [1] and nanochess [2] are much stronger. An interesting long running (2009-2021) discussion between their authors may be found on the chess programming forum [3].

      [1] https://home.hccnet.nl/h.g.muller/max-src2.html

      [2] https://nanochess.org/chess3.html

      [3] http://talkchess.com/forum3/viewtopic.php?f=7&t=26622

    • nextaccounticMar 2026

      And I guess my point is. For the firstt some decades, while they weren't exactly bound by secrecy, I think they had some obscurity, and were just doing their things in private (which involved things like bare metal assembly, building an operating system, doing embedded work, retrocomputing, etc). Not exactly sure, but from what I gather the appearances they had with media, awards etc. were relatively recent

      But when a younger member of the family published nanochess [0] and other entries to IOCCC [1] they gained international notoriety

      In any case, see also the history page [2] in the family website for context

      [0] http://nanochess.org but see repositories in https://github.com/nanochess for other projects

      [1] https://www.ioccc.org/

      [2] http://www.biyubi.com/eng_historia.html

    • WillAdamsJan 2026

      No, you don't need to learn BASIC before assembly, but many books of the time went that route, e.g.,

      https://www.goodreads.com/en/book/show/5011686-apple-machine-language

      Here is an interesting article on porting a BASIC game for the Apple II to GW BASIC:

      https://nanochess.org/akalabeth.html

      and it includes a link to the documented source code for Akalabeth (also known as Ultima 0)

      Somewhere, there's an article discussing the assembly-language like bit-blitting used to draw the high-res graphics in a timely fashion and the variable/memory management techniques needed to drive that which I'm sure a bit of searching will turn up (or one can derive it from the source).

    • david-givenMar 2017

      It didn't understand castling, en passant and promotions. It would also only play white.

      I did once try to pit it against a modern engine. It seemed to do reasonably well until the modern engine sneakily castled, and I was unable to tell 1k Chess about this, thus forcing it to forfeit the game.

      Of course, since posting that, I since found this:

      http://nanochess.org/chess6.html

      Chess for the PC; 392 bytes. You put it in your boot sector. Still no castling, en passant and promotions, though, although there's an 831 byte version which has those.

    • namuolFeb 2025

      I often wonder what sort of tools like this must have existed in-house at the many small game development studios of the era.

      This one reminds me of another modern compiler for the Intellivision console called INTYBasic, which has an extremely impressive suite of games and NES remakes implemented in it:

      https://nanochess.org/intybasic.html

      https://youtu.be/h7ttNz2UVw8

      For something even higher level check out GBStudio:

      https://www.gbstudio.dev/

    • dmurrayFeb 2026

      ToledoChess [0] has a few implementations of this in different languages. Some highlights:

      2KB of JavaScript with castling, en passant, promotion, search and even a GUI

      326 bytes of assembly, without the special rules

      I don't think the author has a UCI-compliant one, but it should be easier than the GUI. There are forks of the JS one that might do it.

      [0] https://nanochess.org/chess6.html

    Related

    David Givencowlark.com94 people

    Live coding a vi for CP/M from scratch

    David Given
    Personal · last shared 2026
    Esoteric Codesesoteric.codes61 people

    The Princeton INTERCAL Compiler's source code

    Esoteric Codes
    Publication · last shared 2026
    Lundukelunduke.substack.com91 people

    The computers used to do 3D animation for Final Fantasy VII in 1996

    Lunduke
    Personal · last shared 2026
    Not a Monad Tutorialnotamonadtutorial.com40 people

    Weld: Accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM

    Not a Monad Tutorial
    Publication · last shared 2023
    Tech Tinkeringtechtinkering.com22 people

    If only Borland had stuck with Turbo Modula-2 for CP/M (2013)

    Tech Tinkering
    Personal · last shared 2026
    K.Mandlakmandla.wordpress.com17 people

    A comparison of text-based browsers

    K.Mandla
    Personal · last shared 2025
    Random ASCIIrandomascii.wordpress.com274 people

    There are only four billion floats, so test them all (2014)

    Random ASCII
    Personal · last shared 2026
    Nerdly Pleasuresnerdlypleasures.blogspot.com27 people

    Transparency effects in SNES and Genesis games via composite video artifacts

    Nerdly Pleasures
    Personal · last shared 2026