Check out my first novel, midnight's simulacra!

Hacking The Planet! with Notcurses

From dankwiki
Revision as of 20:05, 27 June 2021 by Dank (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A guide to the use of Notcurses for creating vivid TUIs with character graphics.

Up-to-date (errata-corrected) PDF is available here.

A paperback version is available for purchase. It was published April 2, 2020. I upload a new copy whenever I discover major errata.

NOTA BENE The API has changed fairly significantly since I last updated the text. Most of this was additions, but there are definitely examples and text which are no longer directly applicable. I definitely discourage purchase of the book until this is remedied. Hopefully useful information remains in the interim.

Errata in the First Edition

*All known issues have been corrected in the currently-available book*

  • The very first day it was available for purchase (2020-04-02), all copies were printed with a large grey "DRAFT" watermark on each page. If you have such a copy, and would like to exchange it for one without this flaw, email me and we'll work it out.
  • I then uploaded a version which had a phantom fifth chapter entitled "A very cursory introduction to fullscreen mode". This chapter does not yet exist. It ought not have occupied a page with its title, and I am incompetent.
  • The first graphic has an incorrect caption; "IBM 3270" ought read "IBM 3279". Thanks, blackbit42!
  • The Tetris case study takes a lock in the wrong place. Tetris::Ticker() ought read:
   do{
     mtx_.lock();
     ms = msdelay_;

rather than

   mtx_.lock();
   do{
     ms = msdelay_;
  • The reference for Tetris::MoveLeft was incorrectly defined, leading to a "??" reference at the beginning of section 15.2. It is now the proper "83".
  • Listing 42 ought have the caption "Rotating planes", not "Aligning output within a plane".
  • 8.2 refers to "Chapter 49"; this ought be "Listing 49".
  • Page 24 refers to tetrimio_plane; this ought be tetrimino_plane