Spencer Dixon is a Senior Ruby and Python Developer with 11+ years of experience building software for UK Government Digital Services and global conservation efforts. Technical articles on ruby, python and software architecture.
How to delete all merged git branches locally with a single command. This one-liner has been in my zshrc since 2017 — I found it buried in the CIA's Vault7 leaked developer docs.
Learn how to convert your Rails application into a Progressive Web App (PWA) in 10-15 minutes. Covers manifest.json, service workers, and upcoming Rails 8 PWA defaults.
Implement fine-grained polymorphic user permissions in Rails using Cancancan. Handle organization-level and item-specific access control with special permission grants.
Learn how to use Wisper for pub/sub event-driven architecture in Rails. Clean up bloated controllers and models by decoupling business logic with the observer pattern.
Build an AI agent that learns to play Space Invaders and other Atari games. Combine Deep Q-Networks with CNNs to learn directly from game screen pixels using OpenAI Gym.
Introduction to reinforcement learning and Q-Learning. Learn about states, actions, rewards, and the Bellman equation through building an AI that learns to play simple games.
Combine neural networks with Q-Learning to create Deep Q Networks (DQN). Learn how to approximate Q-values for large state spaces and overcome Q-table limitations.
Learn why accuracy can be a misleading metric for machine learning models. Understand precision, recall, F1 score, and when to use alternative evaluation metrics.
Learn how convolutional neural networks (CNNs) work and why they excel at image recognition. Build your own CNN with TensorFlow for improved handwriting classification.
Build a neural network with TensorFlow to classify handwritten digits from the MNIST dataset. Step-by-step tutorial for image classification with deep learning.