My name is Keith Peters.
I’ve been writing code since the mid-80s. Professionally since the late 90s. By “professionally” I mean I get paid to write code. Most of my focus in coding has been on graphics and animation, especially dynamic, interactive, physics and math based simulations, games, generative art, fractals, etc. I am also passionate about teaching and educating people in how to code cool stuff. I’m a long time believer in and contributor to open source software.
Flash
From the late 90s to the late 00s, I was all about Flash and ActionScript. I won first place in the experimental category at the Flash Forward New York conference in 2003 and wrote or contributed to about a dozen books on Flash and ActionScript during that time. I spoke at dozens of Flash conferences across the US, Canada, Germany, Netherlands, Belgium, UK and Japan. I taught several courses or workshops on programming, ranging from a few hours to several days long. I formed and operated the Boston Flash Platform User Group, which operated in the Boston area for several years. At one point I was invited to Microsoft along with eight or nine other bloggers to spend a day getting shown the latest Microsoft technology, which culminated in a one hour in-person conversation with Bill Gates. And yes, he touched my Mac Book Pro. My work in Flash won an Emmy and two Cannes Lions awards. I had a series of Flash-generated art pieces featured in Scientific American magazine.
iOS
I jumped on the iOS app bandwagon when the App Store first opened to third party developers. My game “Falling Balls” went to the number one spot in the games category and stayed in the top 100 for many months. I contributed a chapter to a book on iOS user interfaces and spoke at an iOS developer conference. Through the company I was working at at the time, I worked on one of the first official iOS Star Wars apps, Star Wars Trench Run.
JavaScript
Since around 2010 I have been more focused on web technology, creating graphics and animations using JavaScript and HTML’s Canvas element. I have created at least 200 educational videos on coding in JavaScript, through my own YouTube channel, as an instructor at the site egghead.io and through Aquent Gymnasium. I also self-published a book on fractals, chaos and strange attractors called Playing With Chaos. I’ve spoken at two or three web technology conferences (post-Flash era).
Android
From 2014-17 I worked full time as an Android developer at Dreamsocket, working on apps for Cartoon Network, Adult Swim, Turner Classic Movies, ELeague, NBC Sports and the 2016 Olympics.
Current
In 2017 I joined Notarize.com as a Senior Software Engineer on React and Ruby on Rails. Later in the year I transitioned to an Engineer Manager position.
Personally, I’ve been exploring new platforms for graphics and animation, mostly focusing on Cairo graphics through bindings available in Python, Rust and Go.
Resources
Current Blog
Old Blog
Tech Tips
BIT-101 Lab
Art From Code
Ello
Coding Math
egghead.io
Aquent Gymnasium – JavaScript Foundations – Dev Tools Course
Notable Open Source Projects
github – it’s all here
MinimalComps – Flash based UI components. Super popular back in the day.
MinimalComps2 – Reborn in HTML, CSS, JavaScript, WebComponents and Shadow DOM
GIF Loop Coder – Create animated gifs with JavaScript (no longer maintained).
QuickSettings – JavaScript library for making a quick settings panel to control code parameters (no longer maintained).
tinpig – A fast, lightweight command line utility to create projects of any kind from templates.
Project Maker – A Sublime Text 2/3 plugin to allow creating any kind of project from your own custom templates (has a new owner).
BLGO – BitLib for GoLang. BitLib is a collection of graphics, animation, math and geometry tools that I’ve done in several languages now.
BLJS – BitLib for JavaScript, 2021 version.
Technology Preferences
Personal Laptop – Thinkpad x1 Carbon running Manjaro (XFCE)
Work Laptop – Mac Book Pro running MacOS some mountain version
Pocket – One Plus Nord N10
Wrist – Garmin Forerunner 235
E-reader – Onyx Boox Air and Onyx Boox Poke 3
Editor – NeoVim
Shell – tmux on zsh
Browser – Edge
Spaces over tabs
Gif with a hard G in public. Soft G when I’m alone late at night.