Skip to content
No description, website, or topics provided.
HTML Go JavaScript Processing Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
coding_trig Processing (#5) Jan 5, 2020
.gitignore start of some build files. restructure Oct 26, 2019 Update Jan 18, 2020 support page Jan 18, 2020 Create Oct 14, 2019 Update Jan 4, 2020


bitbooks is a multi-language repository of knowledge and techniques.

One of my earliest code epiphanies was a small Commodore 64 BASIC program that contained a long list of numbers and used those numbers to render a detailed drawing of an eye. I realized you could create art with code.

Shortly after that I got my own computer, a Commodore Amiga, and discovered the Mandelbrot set. Code + Math could create art.

Some years later I saw an animated Flash piece on the web. It was an object that you could drag and throw with the mouse. It would bounce around and finally settle at the bottom of the screen. Code + Math + Physics could create animated, interactive art. Ever since then, I've constantly been on the hunt for any math, formulas, concepts, physics principles, etc. that could be used to make something that looks cool, and ideally something that moved and let you interact with it.

That bouncy Flash piece that kicked it all off was in 1998. I figured out how to recreate the effect and wrote it all up in a piece I called the Gravity Tutorial. Hundreds, maybe thousands of people read this article. They translated it to several other languages. I wrote more tutorials. I started getting book deals (something like 15 all told) and self-published one book. I got invited to speak at conferences. I taught workshops and seminars and classes. I started a blog and shared everything I learned. I released hundreds of open source projects. Maybe more than 1,000 depending on how you count them. I started and ran two local user groups/meetups. I started a youtube channel called Coding Math where I did videos on how to use math in code. And I've done educational coding videos for two other companies.

I just love learning cool stuff and then explaining that cool stuff to other people. People say I'm pretty good at it, which is fortunate because I'd be doing it whether I was good at it or not, so I'm glad my stuff isn't total garbage. If I make something really cool and everyone thinks it's amazing, that's nice. But if I can't sit down and explain exactly how I did it, then it all kind of falls flat for me.

As I write this, I'm 55 years old. It's been an amazing 20-something years of coding and educating. When I started all this back in 1998, I was staying in a spare room in a friend's house in a rough part of town, doing office work for a temp agency. These days... well, I can look back and say I've done pretty well for myself. I'm proud of what I've done and don't really have anything to prove. And I'm not interested in leveraging education into some kind of money-making venture. I just want to share more knowledge.

One of the problems with a lot of the stuff I've done so far is that it gets obsolete way too quickly. Most of the books I wrote were for Flash/ActionScript, which is, for all intents and purposes, a dead platform. The same with a lot of the tutorials and blog posts from back in the day. Others were for Objective-C on iPhone 3G era devices. Later I moved to JavaScript and that promised to hold up for a while, but even that's seen some big changes in the last few years. I wanted to share knowledge in some format that could potentially last a while longer. Maybe even outlast me.

The goal of bitbooks is to compile as much knowledge as I can on these subjects, in a format that is free, open, dynamic and updateable, and spans multiple programming languages. I'll start with a couple of open source books. These, by necessity will be based on a single language - JavaScript at this point. But there will be code samples in at least one or two other languages. And I'm hoping that the coding community will contribute samples in even more languages. If somebody wants, they could even fork the repo and change the books' texts to present the examples in another language.

The books will be written in markdown and exported as epub, mobi, pdf and html for those who want to read them on various devices.

While I am not in any way doing this as a source of income, I'm happy to accept any kind of support, including monetary donations. If you want to send something my way, this is the easiest way to do so at the moment:

Read the first book as a work in progress: Coding Trigonometry

You can’t perform that action at this time.