<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Robert Bost</title>
    <link>https://bost.dev/</link>
    <description>Recent content on Robert Bost</description>
    <generator>Hugo -- 0.147.7</generator>
    <language>en-us</language>
    <copyright>2025 Robert Bost</copyright>
    <lastBuildDate>Sat, 11 Oct 2025 00:36:58 +0000</lastBuildDate>
    <atom:link href="https://bost.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>2025 Back to Blogging</title>
      <link>https://bost.dev/posts/2025-back-to-blog/</link>
      <pubDate>Mon, 02 Jun 2025 15:21:02 -0600</pubDate>
      <guid>https://bost.dev/posts/2025-back-to-blog/</guid>
      <description>&lt;p&gt;It has been a while since I have posted anything publicly and I think its time to bring it back!&lt;/p&gt;
&lt;p&gt;My last public post on here was 2018 where I had slowed down on a &lt;a href=&#34;https://bost.dev/posts/update-on-pocket-sized-satellite-tracker-2/&#34;&gt;satellite tracking project&lt;/a&gt;. I remember having a ton of fun working on that and learning A LOT about tracking satellites using &lt;a href=&#34;https://en.wikipedia.org/wiki/Two-line_element_set&#34;&gt;TLE&lt;/a&gt; data and about embedded development.&lt;/p&gt;
&lt;p&gt;Since 2018 a lot has happened in life and my career. I won&amp;rsquo;t get into that here, but I have a lot of technology experiences to share. Hopefully, on a more reasonable cadence.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://bost.dev/about/</link>
      <pubDate>Mon, 02 Jun 2025 14:18:06 -0600</pubDate>
      <guid>https://bost.dev/about/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m Robert Bost, a software engineer at Red Hat specializing in Linux systems, cloud platforms, and open source infrastructure. My work focuses on building reliable cloud-native environments and writing the software that helps teams understand and operate complex systems.&lt;/p&gt;
&lt;p&gt;At Red Hat, I support internal teams through technical enablement, troubleshooting, and scalable solution development. I stay close to both the code and the systems.&lt;/p&gt;
&lt;p&gt;This blog is where I share what I&amp;rsquo;m building, learning, and exploring — from backend code and architecture to automation and tooling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quikey Release 0.1.3</title>
      <link>https://bost.dev/posts/release-0_1_3/</link>
      <pubDate>Sun, 22 Nov 2020 00:07:35 +0000</pubDate>
      <guid>https://bost.dev/posts/release-0_1_3/</guid>
      <description>&lt;p&gt;Quikey 0.1.3 was released today and includes interactive editing and removal of phrases. This solves the problem with having to know the phrase name/key at time of edit or removal. It also solve a problem where typing the phrase name/key itself performs the text expansion!&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a brief demo showing the new feature: &lt;a href=&#34;https://asciinema.org/a/FWxBE5bolPRW75eYsD78xvVUC&#34;&gt;https://asciinema.org/a/FWxBE5bolPRW75eYsD78xvVUC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition to the new feature above, the &lt;code&gt;--help&lt;/code&gt; output is now more helpful. Also, you can no longer create a phrase name/key that is an empty since that led to zero usability of your keyboard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quikey Release 0.1.2</title>
      <link>https://bost.dev/posts/release-0_1_2/</link>
      <pubDate>Thu, 13 Aug 2020 02:07:59 +0000</pubDate>
      <guid>https://bost.dev/posts/release-0_1_2/</guid>
      <description>&lt;p&gt;Quikey 0.1.2 was released yesterday and includes the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A feature to import from &lt;a href=&#34;https://github.com/autokey/autokey&#34;&gt;AutoKey&lt;/a&gt;. See &lt;code&gt;qk keyimport --help&lt;/code&gt; for a quick reference on how to use.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/bostrt/quikey/pull/37&#34;&gt;Autostart for the Quikey daemon&lt;/a&gt; so there&amp;rsquo;s no need to run &lt;code&gt;qk start&lt;/code&gt; after a reboot or login. This should work on GNOME, Xfce, KDE, and other desktop environments following the XDG Desktop Entry standard.&lt;/li&gt;
&lt;li&gt;Added a lot of &lt;a href=&#34;https://github.com/bostrt/quikey/pull/34&#34;&gt;unit tests&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A few more minor bug fixes.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Auto Key Import</title>
      <link>https://bost.dev/posts/auto-key-import/</link>
      <pubDate>Thu, 16 Jul 2020 03:14:11 +0000</pubDate>
      <guid>https://bost.dev/posts/auto-key-import/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s some good work being done &lt;a href=&#34;https://github.com/bostrt/quikey/pull/42&#34;&gt;here&lt;/a&gt; to add import functionality for &lt;a href=&#34;https://github.com/autokey/autokey&#34;&gt;AutoKey&lt;/a&gt; users. This should ease migration for someone with a large AutoKey database. Of course, AutoKey has way more functionality than Quikey so we&amp;rsquo;ll only be importing key phrases (no mouse or scripting will be migrated).&lt;/p&gt;
&lt;p&gt;Hope everyone is staying safe, healthy, and active. &amp;lt;3&lt;/p&gt;</description>
    </item>
    <item>
      <title>Start of Quikey Blog</title>
      <link>https://bost.dev/posts/start-of-quikey-blog/</link>
      <pubDate>Thu, 12 Mar 2020 01:17:38 +0000</pubDate>
      <guid>https://bost.dev/posts/start-of-quikey-blog/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ll be hosting a blog here to track development of an application I develop called &lt;a href=&#34;https://github.com/bostrt/quikey&#34;&gt;Quikey&lt;/a&gt;, a keyboard macro tool. Content on this blog will be about new and old features, design, and future plans for Quikey.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update #3 on Pocket-Sized Satellite Tracker</title>
      <link>https://bost.dev/posts/update-on-pocket-sized-satellite-tracker-2/</link>
      <pubDate>Thu, 10 May 2018 01:06:58 +0000</pubDate>
      <guid>https://bost.dev/posts/update-on-pocket-sized-satellite-tracker-2/</guid>
      <description>&lt;p&gt;I haven&amp;rsquo;t updated much on the satellite tracker but I figured I would make the repo public since it is just sitting there at the moment. :)&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/bostrt/sattrack&#34;&gt;https://github.com/bostrt/sattrack&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/bostrt/libpredict-arduino-lib&#34;&gt;https://github.com/bostrt/libpredict-arduino-lib&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I plan to work on this some more before upcoming DEF CON 26.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update #2 on Pocket-Sized Satellite Tracker</title>
      <link>https://bost.dev/posts/update-on-pocket-sized-satellite-tracker-1/</link>
      <pubDate>Fri, 27 Oct 2017 23:11:52 +0000</pubDate>
      <guid>https://bost.dev/posts/update-on-pocket-sized-satellite-tracker-1/</guid>
      <description>&lt;p&gt;Things are progressing nicely on the satellite tracker. The following is functional:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/la1k/libpredict/&#34;&gt;libpredict&lt;/a&gt; modified to work on &lt;a href=&#34;https://www.adafruit.com/product/2772&#34;&gt;Adafruit Feather M0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.adafruit.com/product/3295&#34;&gt;Real-time clock&lt;/a&gt; with battery backup complete&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.adafruit.com/product/1895&#34;&gt;Storage&lt;/a&gt; for configs complete&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.amazon.com/Diymall-Serial-128x64-Display-Arduino/dp/B01HHOETIA&#34;&gt;OLED display&lt;/a&gt; working and displaying data calculated by libpredict&lt;/li&gt;
&lt;li&gt;USB Serial interface for configuring location, callsign, TLE&amp;rsquo;s, and time (in case RTC loses battery power)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;current-tasks&#34;&gt;Current tasks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Develop a dev pcb to replace bread-board. Just something that all the breakout boards above solder onto&lt;/li&gt;
&lt;li&gt;Finish display graphics&lt;/li&gt;
&lt;li&gt;code-cleanup&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;screenshot--photos&#34;&gt;Screenshot &amp;amp; Photos&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Serial interface&lt;/em&gt;&lt;img alt=&#34;Screenshot from 2017-10-28 11-10-24.png&#34; loading=&#34;lazy&#34; src=&#34;https://bost.dev/wp-content/uploads/2017/10/screenshot-from-2017-10-28-11-10-24.png&#34;&gt; &lt;em&gt;All components&lt;/em&gt;&lt;img alt=&#34;IMG_20171028_105906851.jpg&#34; loading=&#34;lazy&#34; src=&#34;https://bost.dev/wp-content/uploads/2017/10/img_20171028_105906851.jpg&#34;&gt; &lt;em&gt;Polar chart that will display relative satellite position&lt;/em&gt;&lt;img alt=&#34;IMG_20171028_105938349.jpg&#34; loading=&#34;lazy&#34; src=&#34;https://bost.dev/wp-content/uploads/2017/10/img_20171028_105938349.jpg&#34;&gt; &lt;em&gt;Missing photo of the satellite position data due to being in middle of display code rewrite.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update on Pocket-Sized Satellite Tracker</title>
      <link>https://bost.dev/posts/update-on-pocket-sized-satellite-tracker/</link>
      <pubDate>Thu, 28 Sep 2017 00:35:06 +0000</pubDate>
      <guid>https://bost.dev/posts/update-on-pocket-sized-satellite-tracker/</guid>
      <description>&lt;p&gt;After some fighting with &lt;a href=&#34;https://github.com/la1k/libpredict/&#34;&gt;libpredict&lt;/a&gt;, I found that I am going to need a microcontroller with better floating-point support. The Atmega series of microcontrollers do not have an &lt;a href=&#34;https://en.wikipedia.org/wiki/Floating-point_unit&#34;&gt;FPU&lt;/a&gt; which means any floating-point support is hard (either inaccurate, slow, or hacked).&lt;/p&gt;
&lt;p&gt;I found that some of the ARM Cortex processors do indeed have an FPU and their also come in  similar form as Arduinos or other development boards:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0&#34; loading=&#34;lazy&#34; src=&#34;https://cdn-shop.adafruit.com/970x728/2772-01.jpg&#34;&gt;&lt;a href=&#34;https://www.adafruit.com/product/2772&#34;&gt;https://www.adafruit.com/product/2772&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beginning Pocket-Sized Satellite Tracking</title>
      <link>https://bost.dev/posts/beginning-pocket-sized-satellite-tracking/</link>
      <pubDate>Fri, 15 Sep 2017 23:07:30 +0000</pubDate>
      <guid>https://bost.dev/posts/beginning-pocket-sized-satellite-tracking/</guid>
      <description>&lt;p&gt;A couple months ago, I worked on putting a &lt;a href=&#34;https://bost.dev/2017/07/22/flyby-satellite-tracking-on-raspberry-pi/&#34;&gt;satellite tracking application on a Raspberry Pi&lt;/a&gt;. This worked okay but I have to use a keyboard to select the satellite I want to track before going outside to find it. I also have to lug around an external battery outside which isn&amp;rsquo;t fun. I could really use something more compact.&lt;/p&gt;
&lt;p&gt;Hard Requirements&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Screen + Buttons&lt;/li&gt;
&lt;li&gt;Tracking multiple satellites (not hundreds, just a few)&lt;/li&gt;
&lt;li&gt;Display Azimuth&lt;/li&gt;
&lt;li&gt;Display Elevation&lt;/li&gt;
&lt;li&gt;Display transponder frequency with Doppler shift&lt;/li&gt;
&lt;li&gt;Polar plot (sky plot)&lt;/li&gt;
&lt;li&gt;Button to switch between satellites&lt;/li&gt;
&lt;li&gt;Ability to set the time and timezone on device (RTC required)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Soft Requirements&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flyby Satellite Tracking on Raspberry Pi</title>
      <link>https://bost.dev/posts/flyby-satellite-tracking-on-raspberry-pi/</link>
      <pubDate>Sat, 22 Jul 2017 03:23:35 +0000</pubDate>
      <guid>https://bost.dev/posts/flyby-satellite-tracking-on-raspberry-pi/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;qth&#34; loading=&#34;lazy&#34; src=&#34;https://bost.dev/wp-content/uploads/2017/07/qth.png&#34;&gt;&lt;a href=&#34;https://github.com/la1k/flyby&#34;&gt;Flyby&lt;/a&gt; is a satellite tracking application that runs in a terminal (no GUI required). I wanted to run it on my Raspberry Pi that has a display attached to it so I can carry it outside with me when tracking amateur satellites. This is much easier to move around than a laptop or even my phone where I have to keep the screen from going to sleep or touching something on the screen.Setting up Flyby on a Raspberry Pi was a bit of a challenge but it is now working fine. Here’s my setup steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing mod_serverheader</title>
      <link>https://bost.dev/posts/introducing-mod-serverheader/</link>
      <pubDate>Sun, 19 Mar 2017 03:20:52 +0000</pubDate>
      <guid>https://bost.dev/posts/introducing-mod-serverheader/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/bostrt/mod_serverheader&#34;&gt;mod_serverheader project site&lt;/a&gt; In my work, I have seen people performing security scans, going through audits, and stumbling upon information they wish they could hide about their webservers.&lt;/p&gt;
&lt;p&gt;One of the simplest questions that comes up over-and-over is regarding the Server header in Apache HTTPD responses; the thing with the arrows are pointing to below:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# curl -I http://localhost/
HTTP/1.1 200 OK
Date: Tue, 28 Feb 2017 20:56:24 EST
Server: Apache/2.4.25 (Fedora) OpenSSL/1.0.2k-fips  ◀◀◀◀◀◀◀◀
Content-Type: text/html; charset=UTF-8
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;There are a couple ways to reduce what is disclosed in the Server header.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity 2.9.x in 5 minutes</title>
      <link>https://bost.dev/posts/modsecurity-x-in-minutes/</link>
      <pubDate>Wed, 01 Mar 2017 04:18:17 +0000</pubDate>
      <guid>https://bost.dev/posts/modsecurity-x-in-minutes/</guid>
      <description>&lt;p&gt;There are just a few fundamental pieces to learn in order to get started with ModSecurity.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Phases&lt;/li&gt;
&lt;li&gt;Actions and Rules&lt;/li&gt;
&lt;li&gt;Collections&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;phases&#34;&gt;Phases&lt;/h2&gt;
&lt;p&gt;There are 5 phases of request processing in ModSecurity &lt;a href=&#34;https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Processing_Phases&#34;&gt;1&lt;/a&gt;. You can hook into any one these phases using the &lt;code&gt;phase&lt;/code&gt; keyword when writing ModSecurity Actions and Rules. The 5 phases occur in this order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Request Headers Phase&lt;/li&gt;
&lt;li&gt;Request Body Phase&lt;/li&gt;
&lt;li&gt;Response Headers Phase&lt;/li&gt;
&lt;li&gt;Response Body Phase&lt;/li&gt;
&lt;li&gt;Logging Phase&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As you pass through the phases, you can still access the information from the previous phases. So, if you are not sure where to begin, start with Logging Phase 5.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
