Wizard Book n. Structure and Interpretation of Computer Programs, an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world.

Interactive SICP n. Interactive Structure and Interpretation of Computer Programs. Online version of SICP with a built-in scheme interpreter to allow readers to edit and run the code embedded in SICP. (Work in progress)

A very simple application that presents virtual wall of your reading life. You authorize this app to access your Goodreads account, and it fetches a list of all the books you've read and what you rated them. Then it queries both Goodreads and Google Books for a book cover. The rating you give for the book determines its size.

Try it on your own account here. Note: Google Books often returns 403 userRateLimitExceeded, making this fail.

js-scheme is a scheme interpreter written in javascript. My version draws box-and-pointer diagrams, which are pictorial representations of data structures (cons cells) introduced by Abelson and Sussman in Structure and Interpretation of Comptuer Programs.

Eventually, I hope to be able to draw environment diagrams, as well as integrate this into Interactive SICP.

A guided, interactive tour of the lambda calculus. An interpreter, created by INA Lintaro, is embedded with pre-defined variables to allow you to complete the exercises.

The λ-calculus is a formal system in mathematical logic and computer science for expressing computation. The objects of study are functions, and their arguments and return values are other functions. Learn how this seemingly impoverished universe can support numbers, conditional flow, booleans, data structures and recursion.

A small experiment for language learners. A parallel-language text is marked up and the two versions of the text are displayed side by side. When a user mouses over a phrase on one side, the corresponding phrase is highlighted on the other.

I tried to do this to the short story The Gift of the Magi by O. Henry.

libgit2 is a re-implementation of the git core functions as a C library. libgit2.js is my attempt to port it to javascript so that it runs in the browser. I compiled it using the Emscripten framework, which uses llvm to compile the code to an intermediate representation and then emits javascript from there.

fsm organizes your music by the folders the audio files actually reside in on disk. Perfect for people whose music does not naturally follow the album/artist organization that most music players rely on. Also takes album art from associated folder.