-
Learn Similarity Search by Writing a Vector Database
I want to be technically correct. I don’t want “You’re absolutely right…” or “That’s a great point”. The idea that I’ve stumbled on is that Claude Code can be an excellent teacher for building a vector db when given the right set of rules. Specifically the key for me has been adding this as a ground rule Do not just write the code. I want you to ask questions to ensure I am learning. Do not be my friend, be tough and critical in evaluating my understanding. Even though Claude Code can write u
-
How it is going AI vibe coding
When I started experimenting with AI vibe coding, I wouldn't have predicted that it would actually be useful. While I am still unsure about trusting whatever is returned by Claude for professional code, it has earned its spot for personal projects. In the last couple of months, I have been able to knock off several items on my running tally of software projects. Most of the items are silly but are still worth it because the math has changed on how good they need to be. When the investment to
-
Removing YouTube Shorts (because I am old)
I don't know why I hate YouTube Shorts so much, but they do. I find it a very user hostile feature that even with a YouTube Premium account there is no way to disable it. I get that that they can't resist the siren song of enshittification but that doesn't mean I have to see it. Sure I could use one of the existing extensions but I don't like the idea of giving that much access to an unknown 3rd-party. So the natural answer is to write a simple version. Here is the first version of it that yo
-
Solving Silly Syncing Problem
I've been dealing with an annoyance for years. Having multiple computers means that you now need to coordinate where files are. This is a known issue for larger, important files. Where it is less obvious, are in the smaller transient files like screenshots. I take a lot of screenshots and screen recordings. It is a cheap way to keep a snapshot of a moment in time. Got a new feature working? Take a screenshot. About to make some big changes? Take a screenshot. Want to share it with some
-
Going Big by Going Small
I am winding down the first phase of a customer pilot and wanted to celebrate a little before getting wrapped up in phase two. This project needs some AI which is really data science, computer vision, and machine learning. There are several data sources that need to be integrated into a dashboard and data explorer. The interesting part is that this is a great use case for my prior classifier work. The idea behind my classifier project is instead of having a single large model, with huge datas
-
Trophies for Day in the Dirt
Each year we go and race in the Day in the Dirt down south race. It is a terrific event put on by RedBull. This year I decided to make commemorative trophies for my brothers and nephew. I'm happy with how they turned out and for Send Cut Send for doing the machine work. It started as a quick sketch in onShape. I exported the two files as DFXs and uploaded to SendCutSend. I order one frame in 0.250" aluminum, three in 0.250" steel powder-coated white, and one in 0.250" steel powder-coated red
-
AI wrote me a short children's story
First, the story Once upon a time, in a pond on the outskirts of town, there lived a duck named Julio. Julio was a bit of a goofball, but he was also a very curious duck. One day, while Julio was swimming through the pond, he overheard a group of swans talking about something called "cognitive biases." Julio had no idea what that was, so he asked the swans to explain it to him. "Cognitive biases are ways that our brains can trick us into thinking things that aren't necessarily true," one of the
-
Running AI model on Surveillance Camera
This is a follow up to my previous post on training this model.
-
Learning a New Skill: CNC
I have been a huge fan of 3D printing and additive manufacturing. It is great for functional items like brackets, mounts, and replacement parts to fix a vacuum. The only problem, is that most people don't actual want stuff made out of plastic. Switching over to subtractive manufacturing, and step back 50 years in time, brings us to CNC. CNC is an elegant technology in the sense that it is fairly simple, robust, proven to work, and incredibly flexible. The biggest problems with it are having
-
Where I Use Docker Containers
Skipping the hype around Docker, Kubernetes, and containers in general; I wanted to talk through how I use them and where they have been very helpful. The three use cases I want to highlight are local development, API examples, and deployment. Local development with Python is a headache of dependencies and conflicting Python versions. You can use virtual environments or Docker containers, but docker containers have several other advantages when deploying or sharing. If you start from a fresh
-
Making Python use all those Cores and RAM
It is cheap and easy to build a machine with 8/16 cores and 32GB of RAM. It is more complicated to make Python use all those resources. This blog post will go through strategies to use all the CPU, RAM, and the speed of your storage device. I am using the AMD 3700x from my previous post . It has 8 cores and 16 threads. For this post I will be treating it each thread as a core because that is how Ubuntu displays it in System Monitor. Looping through a of directory of 4 million images and doi
-
Curating Datasets is the New Programming
Machine learning has changed how I approach new programming tasks. I am going to be working through an example of detecting vehicles in a specific parking space. Traditionally this would be done by looking for motion inside of a specific ROI (region of interest). In this blog post I will be talking through achieving better results by focusing on dataset curation and machine learning. The traditional way to detect a vehicle would be to try and catch it at a transition point, entering or exiting
-
Building an AI/ML workstation in 2020
The cloud is a great way to get started with AI/ML. The going rate is around $4/hr for a GPU instance. It might be all that you need, but if you need to maximize your personal hardware buget this is my guide to buiding workstation. Price I spent ~$1000 and you could get it even lower with the current deals. I decided on a AMD Ryzen 3700X, Nvidia 2060 Super, 32GB of RAM, and an NVME drive. I could connect all of this into a B450m motherboard so I didn't see any reason to spend more. I also i
-
Recognizing QR Codes in Video
This is a quick example on how to recognize QR codes in video streams and extract the metadata. Read the full write-up over at https://een.cloud .
-
Blinking a light when Eagle Eye camera detects motion
This is a quick video on how to blink a light when an Eagle Eye camera detects motion. There are plenty of ways to do this, and this is just the way I decided based on what I had available on my desk. I used the following parts: Raspberry Pi 2B Arduino Uno one red LED 3D printed Eagle Eye logo EE-blinker that runs on the Raspberry Pi blink_sketch that runs on the Arduino The Arduino was configured with the red LED on pin 13. The sketch looks for serial communication (over the USB port from the
-
Detecting an open garage door with Machine Learning, Computer Vision, and Eagle Eye
Introduction I wanted to know if the garage door is left open. This is how I trained my computer to text me when it has been open for too long. Detecting if a garage door is open or closed is a surprisingly challenging problem. It is possible to do this with contact sensors or even with a motion (PIR) sensor, but that requires running additional wires and a controller. My solution was to put a wireless IP camera to the ceiling. It connects to my home network using wifi and plugs into the same
-
Apple Watch Charging Stand
This is a present I made for a friend. It makes a handy travel stand because it is cheap to produce, light weight, and snaps together with magnets. You can download the STL files on Thingiverse
-
3D printed bomb drop kit
This is a kit that I designed and printed. Each bomb bay requires a channel on your RC receiver. In this video I am using an 8-channel receiver but you easily disconnect your rudder and use that while you fly the plane with just bank and yank. You'll be able to download the STL files.
- Journey to 11,000ft
-
Why are coders afraid of writing code?
At a previous startup, I had a great idea that we could improve our product with realtime updates from the server. At the time we had implemented long-polling in the client. After failing to get everyone on board I decided to take a weekend to create an example with socket.io and Node.js. On Monday morning I was proud to show it off around the company. The CEO liked the idea and agreed with me. Yay! We got on a call with the CTO and I proudly explained my work. He looked at it, then asked me t