commit 5157b47fcf353d00ad2b42bb8f66ac2435ade381
Author: david.sorber <david.sorber@gmail.com>
Date:   Mon Nov 3 20:42:26 2025 -0500

    Minor code cleanup. Bump version to v0.5.1.

diff --git a/software/photo_compress_archiver/src/PhotoCompressArchiver.cc b/software/photo_compress_archiver/src/PhotoCompressArchiver.cc
index d771fa9..34a6748 100644
--- a/software/photo_compress_archiver/src/PhotoCompressArchiver.cc
+++ b/software/photo_compress_archiver/src/PhotoCompressArchiver.cc
@@ -1,16 +1,18 @@
 #include <chrono>
+#include <climits>
 #include <cmath>
 #include <cstdio>
 #include <fstream>
 #include <iomanip>
 #include <iostream>
-#include <limits.h>
 #include <thread>
 #include <sstream>
+#include <vector>
+
 #include <sys/stat.h>
 #include <sys/wait.h>
 #include <unistd.h>
-#include <vector>
+
 
 #include <packjpg.h>
 
@@ -37,10 +39,10 @@
 // Helper function
 std::string _format_num_bytes(uint64_t num_bytes)
 {
-    const uint64_t tera = (1024 * 1024 * 1024 * 1024L);
-    const uint64_t giga = (1024 * 1024 * 1024L);
-    const uint64_t mega = (1024 * 1024L);
-    const uint64_t kilo = 1024L;
+    constexpr uint64_t tera(1024 * 1024 * 1024 * 1024L);
+    constexpr uint64_t giga(1024 * 1024 * 1024L);
+    constexpr uint64_t mega(1024 * 1024L);
+    constexpr uint64_t kilo(1024L);
     
     double fractional; 
     std::ostringstream output;
@@ -48,28 +50,28 @@ std::string _format_num_bytes(uint64_t num_bytes)
     if (num_bytes >= tera)
     {
         // Tera
-        fractional = ((double)num_bytes) / tera;
+        fractional = static_cast<double>(num_bytes) / tera;
         output << std::fixed << std::setprecision(2) << fractional;
         output << " TB";
     }
     else if (num_bytes >= giga)
     {
         // Giga
-        fractional = ((double)num_bytes) / giga;
+        fractional = static_cast<double>(num_bytes) / giga;
         output << std::fixed << std::setprecision(2) << fractional;
         output << " GB";
     }
     else if (num_bytes >= mega)
     {
         // Mega
-        fractional = ((double)num_bytes) / mega;
+        fractional = static_cast<double>(num_bytes) / mega;
         output << std::fixed << std::setprecision(2) << fractional;
         output << " MB";
     }
     else if (num_bytes >= kilo)
     {
         // Kilo
-        fractional = ((double)num_bytes) / kilo;
+        fractional = static_cast<double>(num_bytes) / kilo;
         output << std::fixed << std::setprecision(2) << fractional;
         output << " KB";
     }
@@ -185,7 +187,7 @@ int PhotoCompressArchiver::execute()
             auto diff = current - start;
             double duration = std::chrono::duration<double>(diff).count();
             
-            double ratio = ((double)m_total_compressed_size / 
+            double ratio = (static_cast<double>(m_total_compressed_size) /
                             m_running_compressed_size) * 100;
             // This looks odd but in fact checks for NaN which we don't want to
             // display in the status
@@ -248,7 +250,7 @@ int PhotoCompressArchiver::execute()
     double duration = std::chrono::duration<double>(diff).count();
     
     // Print out message if any errors were found
-    if (m_errors.size() > 0)
+    if (! m_errors.empty())
     {
         std::cout << BOLD << RED << "\n\nNOTE: errors were encountered "
                   << "processing the following " << m_errors.size() 
@@ -274,7 +276,7 @@ int PhotoCompressArchiver::execute()
                   << _format_num_bytes(m_total_compressed_size) << std::endl;
         
         // Calculate and display ratio
-        double ratio = (double)m_total_compressed_size / m_total_uncompressed_size;
+        double ratio = static_cast<double>(m_total_compressed_size) / m_total_uncompressed_size;
         std::cout << "  Compression ratio:        " << std::fixed 
                   << std::setprecision(2) << (ratio * 100) << "%" << std::endl;
     }
@@ -384,7 +386,7 @@ void PhotoCompressArchiver::worker_thread_body(uint32_t tid)
             continue;
         }
         
-        input_stream.read((char*)file_buffer->data(), work_unit->m_file_size);
+        input_stream.read(reinterpret_cast<char*>(file_buffer->data()), work_unit->m_file_size);
         input_stream.close();
         
         // Determine input, and therefore output, filetype / extension based
@@ -463,7 +465,7 @@ void PhotoCompressArchiver::worker_thread_body(uint32_t tid)
             m_errors.push_back(work_unit);
             continue;
         }
-        output_stream.write((const char*)out_buffer, out_size);
+        output_stream.write(reinterpret_cast<const char*>(out_buffer), out_size);
         output_stream.close();
         
         // Delete original file if so instructed
@@ -481,7 +483,7 @@ void PhotoCompressArchiver::worker_thread_body(uint32_t tid)
         }
         else
         {
-            double percent = ((double)out_size) / work_unit->m_file_size;
+            double percent = static_cast<double>(out_size) / work_unit->m_file_size;
             percent *= 100;
             WRKR_OUT_REG(" -- (" << std::fixed << std::setprecision(2) 
                          << get_global_percent_done() 
@@ -503,7 +505,7 @@ void PhotoCompressArchiver::worker_thread_body(uint32_t tid)
 
 double PhotoCompressArchiver::get_global_percent_done()
 {
-    return ((double)(m_files_processed + m_errors.size()) 
+    return (static_cast<double>(m_files_processed + m_errors.size())
             / m_num_input_files) * 100;
 }
 
diff --git a/software/photo_compress_archiver/src/PhotoCompressArchiver.hh b/software/photo_compress_archiver/src/PhotoCompressArchiver.hh
index 1f13b62..de567ef 100644
--- a/software/photo_compress_archiver/src/PhotoCompressArchiver.hh
+++ b/software/photo_compress_archiver/src/PhotoCompressArchiver.hh
@@ -2,9 +2,7 @@
 #define PHOTOCOMPRESSARCHIVER_H
 
 #include <atomic>
-#include <condition_variable>
 #include <cstdint>
-#include <deque>
 #include <filesystem>
 #include <mutex>
 #include <sstream>
@@ -27,7 +25,7 @@ const std::string PURPLE("\033[35m");
 const std::string UP_ONE = "\033[1A";
 const std::string DOWN_ONE = "\033[1B";
 
-const std::string version("v0.5.0");
+const std::string version("v0.5.1");
 
 const boost::regex JPEG_REGEX("^.+\\.((jpg)|(jpeg))$", boost::regex::icase);
 const boost::regex PJG_REGEX("^.+\\.pjg$", boost::regex::icase);
@@ -35,7 +33,7 @@ const boost::regex PJG_REGEX("^.+\\.pjg$", boost::regex::icase);
 const std::string JPG_EXTENSION(".jpg");
 const std::string PJG_EXTENSION(".pjg");
 
-const uint32_t PROGRESS_BAR_WIDTH = 80;
+constexpr uint32_t PROGRESS_BAR_WIDTH(80);
 const std::string LINE(100, '-');
 
 class WorkUnit
