<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on alexsm@home</title>
    <link>http://alexsm.com/blog/</link>
    <description>Recent content in Blog on alexsm@home</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 21 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://alexsm.com/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Autonomy Slider and LLM tools for software development</title>
      <link>http://alexsm.com/autonomy-slider/</link>
      <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/autonomy-slider/</guid>
      <description>The mental model of Autonomy Slider with examples of software development use cases with LLM-based tools</description>
    </item>
    <item>
      <title>Recognition of green apples using HSV color model and region-based image processing</title>
      <link>http://alexsm.com/green-objects-hsv-erosion-dilation-connected-components/</link>
      <pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/green-objects-hsv-erosion-dilation-connected-components/</guid>
      <description>Demo of using OpenCV&amp;rsquo;s RGB-to-HSV, erosion, dilation, and connected components detection to identify green apples in an image</description>
    </item>
    <item>
      <title>Configure on-demand GitHub Copilot completions in VSCode</title>
      <link>http://alexsm.com/vscode-copilot-keybinding/</link>
      <pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/vscode-copilot-keybinding/</guid>
      <description>Control when you want the completions by a keybinding</description>
    </item>
    <item>
      <title>OpenCV perspective warping: keystone effect and rotation around center</title>
      <link>http://alexsm.com/opencv-warping/</link>
      <pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/opencv-warping/</guid>
      <description>Two examples of performing perspective transformations with OpenCV using getPerspectiveTransform and warpPerspective</description>
    </item>
    <item>
      <title>Install and configure pyenv on a Mac</title>
      <link>http://alexsm.com/install-and-configure-pyenv-on-mac/</link>
      <pubDate>Sun, 15 Dec 2024 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/install-and-configure-pyenv-on-mac/</guid>
      <description>More controllable management of Python versions</description>
    </item>
    <item>
      <title>Run Caddy in Docker for serving a static site</title>
      <link>http://alexsm.com/caddy-docker-static-site/</link>
      <pubDate>Mon, 29 Jul 2024 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/caddy-docker-static-site/</guid>
      <description>Simple command for serving a static web site, with automatic generation and renewal of HTTPS certificates</description>
    </item>
    <item>
      <title>Layered software architecture and dependencies</title>
      <link>http://alexsm.com/layered-architecture-and-dependencies/</link>
      <pubDate>Sun, 14 Apr 2024 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/layered-architecture-and-dependencies/</guid>
      <description>Communication between software layers and looser coupling through dependency injection</description>
    </item>
    <item>
      <title>References as C&#43;&#43; class members</title>
      <link>http://alexsm.com/cpp-references-as-class-members/</link>
      <pubDate>Sat, 16 Mar 2024 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-references-as-class-members/</guid>
      <description>Arguments on why and when it is a bad idea to have references as class members, and when it can be fine</description>
    </item>
    <item>
      <title>Graphviz setup on a Mac to be used with Python/Jupyter</title>
      <link>http://alexsm.com/graphviz-setup-mac-jupyter/</link>
      <pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/graphviz-setup-mac-jupyter/</guid>
      <description>Brew-installed grapviz + pip-installed graphiz library (along with an overview of other related libraries)</description>
    </item>
    <item>
      <title>Finding perpendicular lines and vectors</title>
      <link>http://alexsm.com/finding-perpendicular-lines-and-vectors/</link>
      <pubDate>Sun, 31 Dec 2023 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/finding-perpendicular-lines-and-vectors/</guid>
      <description>Examples of using linear algebra and Python/NumPy to find perpendicular lines/vectors and parallel lines at a certain distance</description>
    </item>
    <item>
      <title>Rotations and translations with Eigen and scipy.spatial</title>
      <link>http://alexsm.com/transformations-with-eigen-and-scipy-spatial/</link>
      <pubDate>Sun, 12 Nov 2023 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/transformations-with-eigen-and-scipy-spatial/</guid>
      <description>Homogeneus transformations (rotation + translation), comparing Eigen (C++) and SciPy (Python); example with the roll-pitch-yaw (RPY) sequence of rotations</description>
    </item>
    <item>
      <title>Some example of std::ranges and std::views usage in C&#43;&#43;20</title>
      <link>http://alexsm.com/cpp-ranges-views-examples/</link>
      <pubDate>Sun, 09 Jul 2023 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-ranges-views-examples/</guid>
      <description>Useful examples with ranges and views, allowing for more functional style of C++ code</description>
    </item>
    <item>
      <title>Beta distribution</title>
      <link>http://alexsm.com/beta-distribution/</link>
      <pubDate>Sun, 09 Apr 2023 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/beta-distribution/</guid>
      <description>My notes on Beta probability distribution based on the &amp;ldquo;Bayesian Statistics the Fun Way&amp;rdquo; book</description>
    </item>
    <item>
      <title>Spin up a MySQL database powered by Docker</title>
      <link>http://alexsm.com/launch-mysql-on-docker/</link>
      <pubDate>Fri, 20 Jan 2023 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/launch-mysql-on-docker/</guid>
      <description>Launch a MySQL database in Docker and communicate with it using Brew-installed mysql-client</description>
    </item>
    <item>
      <title>Update all outdated packages inside a virtualenv with pip</title>
      <link>http://alexsm.com/upgrade-outdated-packages-virtualenv-pip/</link>
      <pubDate>Fri, 25 Nov 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/upgrade-outdated-packages-virtualenv-pip/</guid>
      <description>Shell pipeline using pip, tail, awk, tr, xargs</description>
    </item>
    <item>
      <title>Reading a binary STL file with C&#43;&#43;</title>
      <link>http://alexsm.com/read-binary-stl-file-cpp/</link>
      <pubDate>Mon, 22 Aug 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/read-binary-stl-file-cpp/</guid>
      <description>Reading triangular mesh data from a binary STL file with C++; an example of using reinterpret_cast</description>
    </item>
    <item>
      <title>Homogeneous transformations: an example in 2D with Python</title>
      <link>http://alexsm.com/homogeneous-transforms/</link>
      <pubDate>Sat, 02 Jul 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/homogeneous-transforms/</guid>
      <description>2D homogeneneous transformation (rotation + translation), with NumPy-based examples and visualizations of individual transformations and chains of consecutive transformations</description>
    </item>
    <item>
      <title>Configure NAT port forwarding on VMWare Fusion for SSH</title>
      <link>http://alexsm.com/vmware-fusion-nat-port-forwarding-ssh/</link>
      <pubDate>Sat, 16 Apr 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/vmware-fusion-nat-port-forwarding-ssh/</guid>
      <description>Setting up openssh-server and ufw on an Ubuntu virtual machine, and configuring NAT on VMWare Fusion</description>
    </item>
    <item>
      <title>Homogeneous vectors</title>
      <link>http://alexsm.com/homogeneous-vectors/</link>
      <pubDate>Sun, 10 Apr 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/homogeneous-vectors/</guid>
      <description>Using homogeneous vectors to represent points and lines, with NumPy-based examples</description>
    </item>
    <item>
      <title>Looking again at Go: go.mod, go.sum, go.work, and VSCode config</title>
      <link>http://alexsm.com/back-go-golang/</link>
      <pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/back-go-golang/</guid>
      <description>Golang workspaces, modules, and some VSCode configurations</description>
    </item>
    <item>
      <title>Configuring SSH agent</title>
      <link>http://alexsm.com/configure-ssh-agent/</link>
      <pubDate>Sat, 19 Mar 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/configure-ssh-agent/</guid>
      <description>Using SSH agent across Mac and Linux, forwarding the agent in sessions</description>
    </item>
    <item>
      <title>Using git rebase --onto to attach a branch to an earlier commit</title>
      <link>http://alexsm.com/git-rebase-onto/</link>
      <pubDate>Sun, 20 Feb 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/git-rebase-onto/</guid>
      <description>Manipulating where the current branch starts with git rebase</description>
    </item>
    <item>
      <title>Different methods of search and insertion into std::map</title>
      <link>http://alexsm.com/cpp-map-lookup-and-insert/</link>
      <pubDate>Sat, 29 Jan 2022 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-map-lookup-and-insert/</guid>
      <description>Different ways of lookup and insert into C++&amp;rsquo;s map</description>
    </item>
    <item>
      <title>Automatically split and join a video using ffmpeg</title>
      <link>http://alexsm.com/ffmpeg-split-and-join/</link>
      <pubDate>Sun, 28 Nov 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/ffmpeg-split-and-join/</guid>
      <description>Using ffmpeg, a custom shell script and a file with timestamp markings to automate cutting away undesirable parts of a video</description>
    </item>
    <item>
      <title>Using a condition variable in C&#43;&#43;</title>
      <link>http://alexsm.com/cpp-condition-variable/</link>
      <pubDate>Wed, 14 Jul 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-condition-variable/</guid>
      <description>A C++ example of using a conditional variable and a mutex</description>
    </item>
    <item>
      <title>std::vector and C&#43;&#43;&#39;s braced initialization</title>
      <link>http://alexsm.com/cpp-std-vector-braced-init/</link>
      <pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-std-vector-braced-init/</guid>
      <description>When braced initialization is preferred and when it is not (when it comes to std::vector)</description>
    </item>
    <item>
      <title>Serve images on the fly in a binary form with Flask</title>
      <link>http://alexsm.com/flask-serve-images-on-the-fly/</link>
      <pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/flask-serve-images-on-the-fly/</guid>
      <description>Using Flask and OpenCV to create and serve images on the fly (with the expected Content-Type)</description>
    </item>
    <item>
      <title>Searching for the closest value in a sorted vector with C&#43;&#43;</title>
      <link>http://alexsm.com/cpp-closest-lower-bound/</link>
      <pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-closest-lower-bound/</guid>
      <description>Kind of like binary search, but for a std::vector of sorted floats, using std::lower_bound</description>
    </item>
    <item>
      <title>Building C&#43;&#43; code from command line on Windows</title>
      <link>http://alexsm.com/build-cpp-code-from-windows-terminal/</link>
      <pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/build-cpp-code-from-windows-terminal/</guid>
      <description>Some notes on using Visual Studio&amp;rsquo;s cl.exe to build C++ code from a terminal on Windows</description>
    </item>
    <item>
      <title>Optimization with Python</title>
      <link>http://alexsm.com/optimization-with-python/</link>
      <pubDate>Sun, 11 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/optimization-with-python/</guid>
      <description>Resources on doing mathematical optimization with Python (SciPy and other tools)</description>
    </item>
    <item>
      <title>Applying a command to each line in a file with xargs -L1</title>
      <link>http://alexsm.com/xargs-apply-to-each-line/</link>
      <pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/xargs-apply-to-each-line/</guid>
      <description>An xargs example for doing an operation for each line printed by cat</description>
    </item>
    <item>
      <title>Position independent code</title>
      <link>http://alexsm.com/fpic-cmake-pybind11/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/fpic-cmake-pybind11/</guid>
      <description>Applying -fPIC flag when building with CMake</description>
    </item>
    <item>
      <title>C&#43;&#43; move semantics</title>
      <link>http://alexsm.com/cpp-move-semantics/</link>
      <pubDate>Tue, 17 Sep 2019 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cpp-move-semantics/</guid>
      <description>Some notes on C++ move semantics and an example of copy/move construction and assignment</description>
    </item>
    <item>
      <title>Cancelling bad stuff in Git</title>
      <link>http://alexsm.com/cancel-bad-stuff-in-git/</link>
      <pubDate>Sun, 23 Jun 2019 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/cancel-bad-stuff-in-git/</guid>
      <description>Some Git command to recover from when something has been messed up</description>
    </item>
    <item>
      <title>Using rsync with an AWS EC2 instance and an SSH key</title>
      <link>http://alexsm.com/rsync-aws-ec2-ssh-pem/</link>
      <pubDate>Sun, 20 Jan 2019 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/rsync-aws-ec2-ssh-pem/</guid>
      <description>Using rsync with EC2 and subtleties of the trailing slash</description>
    </item>
    <item>
      <title>My favorite IPython Magic commands</title>
      <link>http://alexsm.com/jupyter-notebook-ipython-magic/</link>
      <pubDate>Mon, 25 Jun 2018 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/jupyter-notebook-ipython-magic/</guid>
      <description>matplotlib inline/notebook; autoreload; javascript/should_scroll, timeit</description>
    </item>
    <item>
      <title>Exposing C&#43;&#43; array data in Python with the Pybind11 buffer protocol</title>
      <link>http://alexsm.com/pybind11-buffer-protocol-opencv-to-numpy/</link>
      <pubDate>Sun, 24 Jun 2018 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/pybind11-buffer-protocol-opencv-to-numpy/</guid>
      <description>Integrating your C++ code with Python/NumPy code</description>
    </item>
    <item>
      <title>Building OpenCV with Conda on Linux</title>
      <link>http://alexsm.com/building-opencv-with-conda/</link>
      <pubDate>Fri, 29 Dec 2017 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/building-opencv-with-conda/</guid>
      <description>An OLD tutorial of how to build OpenCV for using it with a Conda environment</description>
    </item>
    <item>
      <title>Configuring jumbo frames in Ubuntu</title>
      <link>http://alexsm.com/configuring-jumbo-frames-in-ubuntu/</link>
      <pubDate>Sat, 28 Oct 2017 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/configuring-jumbo-frames-in-ubuntu/</guid>
      <description>Allowing jumbo frames in Ubuntu&amp;rsquo;s /etc/network/interfaces to be able to use GigE Vision cameras</description>
    </item>
    <item>
      <title>Welcome</title>
      <link>http://alexsm.com/first-post/</link>
      <pubDate>Wed, 02 Aug 2017 00:00:00 +0000</pubDate>
      <guid>http://alexsm.com/first-post/</guid>
      <description>Starting this blog</description>
    </item>
  </channel>
</rss>
