machinelearningsite.com
@machinelearningsite.com
Heard of #gpsd but don't know its significance? I just published a new guide on using gpsd to reliably access and manage GPS data in #Python. Check it out if you work with GPS hardware or just want to make sense of those NMEA strings.
Beginner’s Guide to gpsd: A Practical Introduction to GPS Data Handling in Python
Let’s talk GPS. Not the “turn left at the big tree” kind that you cursed at when you missed an exit, but the kind that helps self-driving cars, drones, and anything that to navigate in free space. GPS, or Global Positioning System, is basically a constellation of satellites shouting “I’m here!” while your receiver goes, “Cool… where am I?” For humans, it’s usually “you’re five minutes away, traffic sucks, also don’t take that exit.” For machines, especially self-driving cars, it’s a vital system. The fundamental need of a GPS system is to help machines like self-driving cars to navigate.
machinelearningsite.com
November 9, 2025 at 10:31 AM
Our robot just came to life! In Part 3 of the #ROS2 Tutorial, we’re adding motion to our custom robot vehicle. It’s time to make those wheels spin — literally! Dive in and see your #robotics creation move for the first time.
ROS2 Tutorial: Watch Your Robot Vehicle Move for the First Time! (Part 3)
In the previous blogs, we initially defined a robot vehicle in URDF and then defined the same vehicle using Xacros by creating templates and reusing them. In this last blog of the series (I guess), we are going to add motion to that vehicle and make it run in the virtual map. In the end, the vehicle will move like this: So let's get started: Defining the Transformation Writing the Vehicle Interface Node Configuring CMakeLists.txt and package.xml files Results What's Next Defining the Transformation In the previous post of this series, we create…
machinelearningsite.com
November 2, 2025 at 5:41 PM
Using URDF to model a robot vehicle makes the code repetitive real quick. The alternative is Xacro. In this post, we build a vehicle using Xacro. Xacro allows us to create a particular template and create instances of them, keeping the code efficient and non-repetitive. Level up your #robotics game.
ROS2 Tutorial: Step-by-Step Xacro Guide for effective Robot Modeling (Part 2)
Been a while since I posted the first part in this ROS2 tutorial series, so let's start with a quick recap. In the last blog, we created a simple robotic vehicle model that looked like this: And the URDF that generated it looked something like this: <?xml version="1.0"?> <robot name="simple_vehicle"> <link name="base_link"> <visual> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> <box size="2.0 1.2 0.4"/> </geometry> <material name="red"> <color rgba="1.0 0.2 0.2 1.0"/> </material> </visual> <collision> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> <box size="2.0 1.2 0.4"/> </geometry> </collision> <inertial> <origin xyz="0 0 0" rpy="0 0 0"/> <mass value="200.0"/> <inertia ixx="16.0" iyy="66.7" izz="80.7" ixy="0" ixz="0" iyz="0"/> </inertial> </link> <!-- Left front wheel --> <link name="fl_wheel"> <visual> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length= "0.2"/> </geometry> <material name="black"> <color rgba="0.1 0.1 0.1 1.0"/> </material> </visual> <collision> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length="0.2"/> </geometry> </collision> <inertial> <mass value="10.0"/> <inertia ixx="0.45" iyy="0.45" izz="0.25" ixy="0" ixz="0" iyz="0"/> </inertial> </link> <joint name="fl_wheel_joint" type="continuous"> <parent link="base_link"/> <child link="fl_wheel"/> <origin xyz="0.9 0.8 0.0"/> </joint> <!-- Right front wheel --> <link name="fr_wheel"> <visual> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length= "0.2"/> </geometry> <material name="black"> <color rgba="0.1 0.1 0.1 1.0"/> </material> </visual> <collision> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length="0.2"/> </geometry> </collision> <inertial> <mass value="10.0"/> <inertia ixx="0.45" iyy="0.45" izz="0.25" ixy="0" ixz="0" iyz="0"/> </inertial> </link> <joint name="fr_wheel_joint" type="continuous"> <parent link="base_link"/> <child link="fr_wheel"/> <origin xyz="0.9 -0.8 0.0"/> </joint> <!-- Left rear wheel --> <link name="rl_wheel"> <visual> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length= "0.2"/> </geometry> <material name="black"> <color rgba="0.1 0.1 0.1 1.0"/> </material> </visual> <collision> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length="0.2"/> </geometry> </collision> <inertial> <mass value="10.0"/> <inertia ixx="0.45" iyy="0.45" izz="0.25" ixy="0" ixz="0" iyz="0"/> </inertial> </link> <joint name="rl_wheel_joint" type="continuous"> <parent link="base_link"/> <child link="rl_wheel"/> <origin xyz="-0.9 0.8 0.0"/> </joint> <!-- Right rear wheel --> <link name="rr_wheel"> <visual> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length= "0.2"/> </geometry> <material name="black"> <color rgba="0.1 0.1 0.1 1.0"/> </material> </visual> <collision> <origin xyz="0.0 0.0 0.0" rpy="1.5708 0 0"/> <geometry> <cylinder radius="0.3" length="0.2"/> </geometry> </collision> <inertial> <mass value="10.0"/> <inertia ixx="0.45" iyy="0.45" izz="0.25" ixy="0" ixz="0" iyz="0"/> </inertial> </link> <joint name="rr_wheel_joint" type="continuous"> <parent link="base_link"/> <child link="rr_wheel"/> <origin xyz="-0.9 -0.8 0.0"/> </joint> </robot>
machinelearningsite.com
October 12, 2025 at 3:05 PM
Sneak peek on the blog post coming tomorrow. It's about robot modeling but not using URDF but something more efficient. ROS2 is indeed fun.
#ros2 #urdf #xacro #robotoperatingsystem #roboticslearning #robotics
October 11, 2025 at 5:42 PM
What if your code could talk back? I built this silly, custom REPL that compliments you, apologizes, or throws sarcastic shade before running your code. Have a look, how your code replies to your commands:
Pathetic Programming 3: The Overly Polite Python Interpreter
Pathetic Programming is a series I started to build absurd programs with Python. With already two blogs in the series namely: Creating a Random Excuse Generator with Python and Are You Even a Real Python Programmer? Take This Useless Quiz to Find Out, I thought it was now time for the third one. And this time, we are making our code talk back to us.
machinelearningsite.com
September 20, 2025 at 9:38 AM
Just a thought:
What if your #Python code talked back at you depending on the code you input?

For instance, if you said "c = 10/0", instead of just throwing an error, it says "Daring today, aren't we?"
September 16, 2025 at 5:56 PM
Debugging code is like being a detective in a crime movie…
where you’re also the murderer, but you have no memory of committing the crime.
September 9, 2025 at 8:01 AM
Vehicle URDF model is complete and visualized in RViz2. Next step: refactoring with Xacro to make the robot description modular, easier to maintain, and ready for future extensions.

#ROS2 #RobotModel #URDF #RViz2 #Robotics #RobotSimulation #AutonomousVehicle #RobotVisualization #ROSDevelopment
August 23, 2025 at 2:03 PM
The thing with some machine learning tutorials is, you import the dataset, do some data processing, train the model and when you evaluate it.... BAM! You either have 100% accuracy or your laptop memory stays frozen in time.

#machinelearning #machinelearningtutorials
August 15, 2025 at 7:13 AM
YouTube autodub feature sucks!
August 10, 2025 at 7:34 PM
Was struggling to set up Wireguard since days. Thanks to this video, was able to set up the connection in the first go: www.youtube.com/watch?v=bVKN...

#vpn #linux #wireguard
WireGuard installation and configuration - on Linux
YouTube video by Christian Lempa
www.youtube.com
July 19, 2025 at 2:22 PM
" #Programming is not just writing a bunch of lines for some desired output. It is a walk-through of disappointments, excitements, breaking your PC, and more. "

By someone who’s two errors away from renaming all their variables "var1, var2, ..."
July 12, 2025 at 8:55 AM
Wrote a Python script to automate something I didn’t want to do. Now I maintain a Python script and still do the thing manually when it breaks.

#Python #AutomationFail #CodeStruggle
July 5, 2025 at 7:52 AM
Reposted
programming is just the art of adding bugs to an empty file
March 3, 2025 at 7:06 AM
Was banging my head over my code all week:
Why the hell wouldn’t it work ?

Yesterday it finally ran — and now I’ve got a new problem:
Why the hell does it work ?

At this point, I’m 80% dev, 20% detective… and 100% confused.

#pythonprogramming #whydoIcode
July 3, 2025 at 7:12 AM
Turn your dog, your face, or your lunch into a Van Gogh painting — using nothing but Python, PyTorch, and mild emotional instability. I walk through what style transfer is, how it works (neural network), and give you the entire working code upfront.
#Python #PyTorch #NeuralNetworks #MachineLearning
Style Transfer in Python: 6 Brilliant Steps to Turn Code into Art with PyTorch
You were probably supposed to be working on that feature ticket you promised your PM three sprints ago. But here you are, elbow-deep in convolutional layers, trying to make your dog look like a Monet painting. Bravo. In this project, you’ll take two images — this “content” image (of a donkey on a horse) and this “style” image (Van Gogh’s Starry Night) — and you’ll smash them together until the result looks something like this: Content + Style = Output that might trick your mom into thinking you’re an artist.
machinelearningsite.com
June 29, 2025 at 7:57 AM
Wrapping up my latest blog.
#Python #opencv
June 19, 2025 at 4:47 PM
Turn your face into a hilariously cartoonified version of itself using OpenCV and Python. Learn how to cartoonify real-time webcam video using OpenCV and Python. A short yet fun tutorial on edge detection, color filtering, and live video effects.
Cartoonify This: Effortlessly Turn Your Face into an Epic Cartoon with OpenCV
Because nothing says “I’m an adult with responsibilities” like spending four hours cartoonifying your own face. Let’s be honest. At some point between debugging spaghetti code and microwaving yesterday’s coffee, we’ve all wondered: "What if I looked like a cartoon character?" You know, those smooth-skinned, big-eyed, endlessly expressive people who clearly don’t have to deal with legacy CSS or Jira tickets.
machinelearningsite.com
June 19, 2025 at 11:51 AM
Want your computer to follow and monitor stuff around? Built this opencv object tracker with Python + OpenCV. Works well enough to brag about. #opencv #python
Mastering Object Tracking with OpenCV in Python: A Hands-On Guide
Imagine you're trying to follow a Formula 1 car as it races around a track. You don't care where the car started—you just want to keep your eyes glued to it as it zooms around corners. Now think of doing that with a computer, but instead of eyes, it has a camera. That's what object tracking is all about, and it looks something like this:
machinelearningsite.com
June 12, 2025 at 9:49 AM
If you think vibe coding is the future, just question your entire life and all the decisions you made till now that ultimately ended up making you this stupid.
#vibecoding #smh
June 9, 2025 at 8:54 AM