Check out my first novel, midnight's simulacra!

Hacking The Planet! with Notcurses

From dankwiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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