Programming
- Mesop Jeopardy
- Maneki Neko Wave Counter
- Too Many Cooks - Part 4: Simple Soup
- Opinions after three years
- Too Many Cooks - Part 3: Integrating video into geckos.io
- Too Many Cooks - Part 2: Phaser 3, Geckos.io, WebRTC
- WebRTC Poker Game - Part 6: WebRTC
- WebRTC Poker Game - Part 5: WebSockets
- WebRTC Poker Game - Part 4: Google App Engine
- WebRTC Poker Game - Part 3: Tailwind CSS
- WebRTC Poker Game - Part 2: User interface
- WebRTC Poker Game - Part 1: Introduction
- WebRTC - Signaling example
- Fast.AI - Digit Classifier - Part 2: All digits
- Fast.AI - Digit Classifier - Part 1: Two digits
- Fast.AI - Curry detector
- FastAPI, Postgres, Redis and Kubernetes
- Hellworld with FastAPI and Kubernetes
- Setting up Kubernetes for local development
- Questions about microservice authentication and authorization
- Using PostgreSQL FDW with SQLAlchemy
- Too Many Cooks - Part 1: Phaser 3, Tiled, Texture Packer
- Connecting to Vagrant directly with Ansible
- Formatting and mounting persistent disks on GCE with Ansible
- Random Docker troubleshooting
- Google Compute Engine with Ansible
- D3 Tick Marks Madness
- Hamburger Maker Part 1: Monolith Burger, Phaser, Boxy SVG
- Setting up a rails development environment with Vagrant and Ansible
- Database locks on long reads with SQLite 3 or RTFM carefully
- Beersweeper with React and Jest
- ML in Action - Part 3: Decision trees
- ML in Action - Part 2: KNN more examples
- ML in Action - Part 1: KNN toy example
- A simple deploy script
- Project Wonderchicken - Part 4: Select2
- Project Wonderchicken - Part 3: HTML5 History API with React
- Math RPG - Part 11: More with image sprites on Khan Academy CS platform
- Project Wonderchicken - Part 2: Using optgroups with WTForms
- Project Wonderchicken - Part 1: Getting started
- How to rename a Vagrant project directory
- Tips for using the LinkSprite Sim900 GSM shield with Raspberry Pi
- Hello Universe - Part 3: Static pages
- Tips for using the LinkSprite Sim900 GSM shield with pcDuino v2
- Code Examples - Part 2: Docker
- Wolfenstein 3D - Part 11: Putting it all together
- Wolfenstein 3D - Part 10: Measuring walls
- Wolfenstein 3D - Part 9: Detecting enemies
- Wolfenstein 3D - Part 8: More door thresholding
- Code Examples - Part 1: Introduction
- Wolfenstein 3D AI - Part 7: Door thresholding experiment
- Skeleton transform: First attempt
- Wolfenstein 3D AI - Part 6: First attempt at SIFT
- Wolfenstein 3D AI - Part 5: OpenCV SIFT test
- Wolfenstein 3D AI - Part 4: Preparing for SIFT
- Betelbot - Part 1: Robosim demo videos
- Wolfenstein 3D AI - Part 3: X11
- Wolfenstein 3D AI - Part 2: Helpful Links
- Wolfenstein 3D AI - Part 1: Requirements
- Hough transform - First attempt
- Math RPG - Part 10: Improved image sprites on Khan Academy CS platform
- Sobel edge detection - First attempt
- The perfect programming assignment
- Math RPG - Part 9: Importing image sprites on Khan Academy CS platform
- A few thoughts on iPython Notebook
- Sending images with WebRTC data channels
- Math RPG - Part 8: Jasmine 2.0/RequireJS
- Flashcards with Evernote
- AI for Owari - Part 2: Minimax with Tic-Tac-Toe
- Quotidian - Part 1
- Minesweeper - Neural Network
- Math RPG - Part 7: Combat mode
- Math RPG - Part 6: Storyline
- Math RPG - Part 5: Improved pixel art
- Math RPG - Part 4: Animation
- Math RPG - Part 3: Pixel art
- AI for Owari - Part 1: Rules of the game
- Math RPG - Part 2: ReactJs
- Math RPG - Part 1: Introduction