Creating an Asteroids Game in Pygame

I recently created a simple implementation of the classic arcade game “Asteroids” using Pygame, based on the “Build an Asteroids Game” project from boot.dev. This project was a fun way to explore game development and object-oriented paradigms in Python. In this post, I’ll walk you through the main components of the game. The Game Loop The core of the game is the main loop, which handles events, updates the game state, and draws everything on the screen. ...

08 Oct 2025 · 2 min · 343 words

Fixing My Broken Multiplayer Pong Project

The Problem: A Lesson in Client-Server Architecture During my computer networking class, I had an assignment to create a multiplayer Pong game using networking, threading, and a client-server architecture. At first glance, my implementation seemed to work. Both players could connect, see each others paddles move, and play the game. However, in my naivete, I let each client handle their own movement, leading to large desyncs, ultimately making the game unplayable. ...

11 Sep 2025 · 5 min · 956 words

Building Logistic Regression from Scratch: A Complete Python Implementation

Introduction Understanding machine learning algorithms at their core is crucial for any data scientist. In this comprehensive tutorial, we’ll build logistic regression entirely from scratch using Python and NumPy. No black-box libraries, just the math implemented in code. We’ll use everything from the sigmoid function and cross-entropy loss to gradient descent optimization. Finally, we’ll test our implementation on the classic “moons” dataset to validate our approach. The Mathematical Foundation Logistic regression transforms linear combinations of features into probabilities using the sigmoid function: ...

05 Mar 2025 · 4 min · 737 words