@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
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.
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
#ros2 #urdf #xacro #robotoperatingsystem #roboticslearning #robotics
October 11, 2025 at 5:42 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
#ros2 #urdf #xacro #robotoperatingsystem #roboticslearning #robotics
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
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:
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?"
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
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?"
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?"
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.
where you’re also the murderer, but you have no memory of committing the crime.
September 9, 2025 at 8:01 AM
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.
where you’re also the murderer, but you have no memory of committing the crime.
New blog is live! I just published #ROS2 Tutorial: URDF for Robot Modeling (Part 1).
In this post, I break down robot modeling into simple, practical steps — perfect if you’re starting out with ROS2 and URDF.
#ros2 #robotics
In this post, I break down robot modeling into simple, practical steps — perfect if you’re starting out with ROS2 and URDF.
#ros2 #robotics
ROS2 Tutorial: Step-by-Step URDF Guide for effective Robot Modeling (Part 1)
In ROS2, if you have ever worked with coordinate transformations, you’ve likely encountered the acronym URDF at some point. It stands for Unified Robot Description Format. Sounds formal, almost intimidating, doesn’t it? Yet behind that technical name lies something surprisingly straightforward and incredibly powerful—the way ROS2 understands what your robot looks like, how its parts fit together, and how they move. Think of URDF as the architectural blueprint for your robot’s digital twin. Without it, ROS2 can’t simulate your creation, visualize it, or plan its movements effectively. Whether you’re working on a robotic arm, a wheeled rover, or a complex humanoid, URDF is the essential language that bridges mechanical design with software.
machinelearningsite.com
August 25, 2025 at 7:48 PM
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
#ROS2 #RobotModel #URDF #RViz2 #Robotics #RobotSimulation #AutonomousVehicle #RobotVisualization #ROSDevelopment
August 23, 2025 at 2:03 PM
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
#ROS2 #RobotModel #URDF #RViz2 #Robotics #RobotSimulation #AutonomousVehicle #RobotVisualization #ROSDevelopment
Understand the fundamentals of Bayes’ Theorem and see its real-world application in #Python based text classification. #machinelearning
Understanding Bayes’ Theorem and Naive Bayes in Python: A Practical Guide from Theory to Spam Classifier
If you’ve ever tried to explain Bayes’ theorem to someone at a party, you know the look you get. That glazed-over, polite nod that says “I’ll remember your name but not a single word you just said.” And yet, Bayes’ theorem is one of those quietly powerful tools in the machine learning toolbox that’s simultaneously simple, annoyingly subtle, and sneakily everywhere. To warm you up, let’s start with the simple example. Imagine you go to the doctor for a routine check-up, and they run a screening test for a rare condition.
machinelearningsite.com
August 17, 2025 at 1:27 PM
Understand the fundamentals of Bayes’ Theorem and see its real-world application in #Python based text classification. #machinelearning
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
#machinelearning #machinelearningtutorials
August 15, 2025 at 7:13 AM
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
#machinelearning #machinelearningtutorials
YouTube autodub feature sucks!
August 10, 2025 at 7:34 PM
YouTube autodub feature sucks!
Throwback to this gem 😅. Still makes me chuckle on the choice of pic that I used to explain image processing:
machinelearningsite.com/image-proces...
#pythonprojects #pythonprogramming #opencv
machinelearningsite.com/image-proces...
#pythonprojects #pythonprogramming #opencv
Mastering Image Processing using Python: 6 Hands-On Exercises to Enhance Your Skills - Machine Learning Site
Explore the world of image processing using Python with our comprehensive guide. Dive into hands-on exercises that cover key techniques, from basic manipulations to advanced transformations. Elevate y...
machinelearningsite.com
August 10, 2025 at 11:08 AM
Throwback to this gem 😅. Still makes me chuckle on the choice of pic that I used to explain image processing:
machinelearningsite.com/image-proces...
#pythonprojects #pythonprogramming #opencv
machinelearningsite.com/image-proces...
#pythonprojects #pythonprogramming #opencv
Some say math is useless in real life. I say: try training a nonlinear model with five samples. Have a look at this.
Why Complex Models Need More Data: Polynomial Fitting in Machine Learning
You know how some people like to claim that the math we learn in high school has no real-world use? That it’s just a bunch of abstract equations you’ll never see again once you start working? Well, next time you hear someone say that, send them a link to this blog — because here’s a perfect counterexample. Story time! I’m currently working on a project that requires knowledge of the steering angle of a vehicle — a crucial parameter for several control and planning tasks. However, this value isn’t directly available on the…
machinelearningsite.com
August 3, 2025 at 7:02 AM
Some say math is useless in real life. I say: try training a nonlinear model with five samples. Have a look at this.
I turned my old Raspberry Pi into a VPN server. Now I can control my home network from a coffee shop in another city. Here’s how I did it and you can too.
I built a Wireguard VPN Server at Home with a Raspberry Pi — Now I can access my Home Network from Anywhere in the World.
I had a Raspberry Pi lying around and wanted to do something actually useful with it—something more exciting than just another media server or a blinking LED project. So, naturally, I decided to build my own WireGuard VPN server at home. The goal? To access my entire home network securely from anywhere in the world, whether I’m on dodgy public Wi-Fi or just out and about. Turns out, setting up a VPN on a Pi is way easier than it sounds, and it opens up a world of possibilities—from grabbing files on my laptop to tinkering with projects remotely.
machinelearningsite.com
July 27, 2025 at 10:24 AM
I turned my old Raspberry Pi into a VPN server. Now I can control my home network from a coffee shop in another city. Here’s how I did it and you can too.
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
#vpn #linux #wireguard
WireGuard installation and configuration - on Linux
YouTube video by Christian Lempa
www.youtube.com
July 19, 2025 at 2:22 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
#vpn #linux #wireguard
" #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, ..."
By someone who’s two errors away from renaming all their variables "var1, var2, ..."
July 12, 2025 at 8:55 AM
" #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, ..."
By someone who’s two errors away from renaming all their variables "var1, var2, ..."
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
#Python #AutomationFail #CodeStruggle
July 5, 2025 at 7:52 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
#Python #AutomationFail #CodeStruggle
Reposted
programming is just the art of adding bugs to an empty file
March 3, 2025 at 7:06 AM
programming is just the art of adding bugs to an empty file
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
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
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
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
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
#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
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
#Python #PyTorch #NeuralNetworks #MachineLearning
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
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.
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
#vibecoding #smh
June 9, 2025 at 8:54 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
#vibecoding #smh