<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    
    <link href="http://blog.raymond.burkholder.net/index.php?/feeds/atom10.xml" rel="self" title="Raymond P. Burkholder - Things I Do" type="application/atom+xml" />
    <link href="http://blog.raymond.burkholder.net/"                        rel="alternate"    title="Raymond P. Burkholder - Things I Do" type="text/html" />
    <link href="http://blog.raymond.burkholder.net/rss.php?version=2.0"     rel="alternate"    title="Raymond P. Burkholder - Things I Do" type="application/rss+xml" />
    <title type="html">Raymond P. Burkholder - Things I Do</title>
    <subtitle type="html">In And Around Technology and The Arts</subtitle>
    <icon>http://blog.raymond.burkholder.net/templates/bulletproof/img/s9y_banner_small.png</icon>
    <id>http://blog.raymond.burkholder.net/</id>
    <updated>2026-07-23T14:59:23Z</updated>
    <generator uri="http://www.s9y.org/" version="1.7.2">Serendipity 1.7.2 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1360-NUT-USB-APC-BeagleBone.html" rel="alternate" title="NUT USB APC BeagleBone" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-06-28T01:10:00Z</published>
        <updated>2026-07-23T14:59:23Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1360</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1360</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/5-Debian" label="Debian" term="Debian" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1360-guid.html</id>
        <title type="html">NUT USB APC BeagleBone</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I have an APC Smart UPS 1500 connected via USB cable to a BeagleBone Green running NUT 2.8.1-5 on Linux 6.18.36-bone40.  Even on earlier Linux kernels and versions of NUT, during some sort of UPS transition, I would start to get a log full of the these error messages:

<blockquote><pre>
usbhid-ups: nut_libusb_get_report: No such device (it may have been disconnected)
</pre></blockquote>

<p>In detail:

<blockquote><pre>
kernel: musb-hdrc musb-hdrc.1: Babble
kernel: usb 1-1: USB disconnect, device number 15
kernel: usb 1-1.4: USB disconnect, device number 16
kernel: usb 1-1: new high-speed USB device number 17 using musb-hdrc
kernel: usb 1-1: New USB device found, idVendor=1a40, idProduct=0201, bcdDevice= 1.00
kernel: usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
kernel: usb 1-1: Product: USB 2.0 Hub [MTT]
kernel: hub 1-1:1.0: USB hub found
kernel: hub 1-1:1.0: 7 ports detected
kernel: usb 1-1.4: new full-speed USB device number 18 using musb-hdrc
kernel: usb 1-1.4: New USB device found, idVendor=051d, idProduct=0003, bcdDevice= 0.01
kernel: usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 1-1.4: Product: Smart-UPS_1500 FW:UPS 06.0 / ID=1028
kernel: usb 1-1.4: Manufacturer: American Power Conversion
kernel: usb 1-1.4: SerialNumber: unique_number
kernel: hid-generic 0003:051D:0003.0008: hiddev0,hidraw0: USB HID v1.11 Device [American Power Conversion  Smart-UPS_1500 FW:UPS 06.0 / ID=1028] on usb-musb-hdrc.1-1.4/input0
usbhid-ups[31894]: nut_libusb_get_report: No such device (it may have been disconnected)
usbhid-ups[31894]: nut_libusb_get_report: No such device (it may have been disconnected)
</pre></blockquote>

<p>For some reason, USB devices 'disconnect' and reconnect.  When the device reconnects, a new DeviceID is assigned to the USB device.  This breaks the usbhid-ups drivers supplied by NUT the packages.  That is, usbhid-ups no longer sees the APC USB device.

<p>One forum article suggested that there is not enough power in the BeagleBone system to propery power a USB connection.  The suggested solution is to add a powered USB hub.  I gave that a try with no success in eliminating the problem.

<p> To resolve this, I'm not sure if recent versions of the driver fix this, but I used Debian's udev system to sense the device id change and to restart the NUT USB driver.

<p>In /home/debian, which is the default home directory, I created two files and ran 'chmod +x' on each to make them executable.  When a USB 'ADD' state is detected, nut.target is restarted to initiate the detection and connection process.  When a removal is detected, the service is stopped.  The stop does not seem to be reliable, but the restart appears to be reliable enough to get things started again.

<blockquote><pre>
$ cat usb_add.sh
#!/usr/bin/env bash

logger "USB state change detected: $1 $2 $3"
echo "$(date) USB state change detected: $1 $2 $3" >> /home/debian/usb-log.txt
systemctl restart nut.target
exit 0
</pre></blockquote>

<blockquote><pre>
$ cat usb_remove.sh
#!/usr/bin/env bash

logger "USB state change detected: $1 $2"
echo "$(date) USB state change detected: $1 $2" >> /home/debian/usb-log.txt
#systemctl stop nut.target
exit 0
</pre></blockquote>

<p>To determine useful attributes I used the following (the first is a shorter result than the second):

<blockquote><pre>
udevadm info --name=/dev/bus/usb/001/017 
udevadm info --name=/dev/bus/usb/001/017 --attribute-walk
</pre></blockquote>

<p>The rule which invokes these scripts is:

<blockquote><pre>
# cat  /etc/udev/rules.d/89-usb-ups-change.rules
SUBSYSTEM=="usb", MODE="0660", ACTION=="add",    ENV{ID_VENDOR_ID}=="051d", ENV{ID_MODEL_ID}=="0003", RUN+="/home/debian/usb_add.sh add '$env{DEVNAME}' '$env{ID_USB_SERIAL}'"
SUBSYSTEM=="usb", MODE="0660", ACTION=="remove", RUN+="/home/debian/usb_remove.sh remove $env{DEVNAME}"
</pre></blockquote>

<p>These command variations were suggested to simulate a cable re-connect but did not reliably work.  I resorted to physically disconnecting and reconnecting the cable to perform a proper test for tuning and production (using the major:minor usb device manufacturer code):

<blockquote><pre>
# major:minor usb device manufacturer code
usbreset 051d:0003
# dev bus id
udevadm test /dev/bus/usb/001/007
</pre></blockquote>

<p>Each rule change test required the following to reload the udev rules:

<blockquote><pre>
udevadm control --reload-rules
</pre></blockquote>

<p>To see what Nut sees:

<blockquote><pre>
# nut-scanner -U
Scanning USB bus.
[nutdev1]
        driver = "apc_modbus"
        port = "auto"
        vendorid = "051D"
        productid = "0003"
        product = "Smart-UPS_1500 FW:UPS 06.0 / ID=1028"
        serial = "unique id"
        vendor = "American Power Conversion"
        bus = "001"
        device = "017"
        busport = "002"
        ###NOTMATCHED-YET###bcdDevice = "0001"
</pre></blockquote>

<p>A linux command provides a concise device and manufacturer id:

<blockquote><pre>
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 016: ID 050d:0234 Belkin Components F5U234 USB 2.0 4-Port Hub
Bus 001 Device 017: ID 051d:0003 American Power Conversion UPS
</pre></blockquote>

<p>Other troubleshooting commands include:

<blockquote><pre>
udevadm monitor
</pre><blockquote>

<p>This solution for those who might encounter <a href="https://github.com/networkupstools/nut/issues/3385" target=_blank>Update 2.7.4 to 2.8.4 CP UPS driver disconnect (nut_libusb_get_report: No such device)</a> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1365-SONiC-Virtual-Switch.html" rel="alternate" title="SONiC Virtual Switch" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-07-22T03:54:08Z</published>
        <updated>2026-07-23T01:21:17Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1365</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1365</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/10-Networks" label="Networks" term="Networks" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1365-guid.html</id>
        <title type="html">SONiC Virtual Switch</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I've been hearing more and more about the <a href="https://sonicfoundation.dev/" target=_blank>SONiC Virtual Switch</a>.  It has come a long way since it's debut at an <a href="https://www.opencompute.org/" target=_blank>Open Compute</a> conference some number of years ago.

<p>To give it a try on non-ONIE hardware (nothing handy at the moment), this is what I did to get the .vs image working on my local Proxmox box:

<ul>
  <li>Download recent sonic-vs.img.gz version from <a href="https://sonic.software/" target=_blank>Sonic Software</a>
  <li>scp the image over onto my Proxmox box
  <li>gunzip the image<pre>gunzip sonic-vs.img.gz</pre>
  <li>construct a virtual machine with: 4 cpu, 4G memory, q35, SeaBIOS, no-cd, no drive
  <li>assign an interface which supplies DHCP
  <li>import the disk into the vm (this one has vmid of 116) <pre>qm disk import 116 sonic-vs.img local-btrfs --target-disk ide0</pre>
  <li>in options, set boot order to ide0, disable pxe and cd
  <li>start it up, and log in with the credentials supplied at the download site
  <li>once I confirmed it had an address, I was able to ssh with: <pre>ssh admin@&lt;ipaddr&gt; -o PreferredAuthentications=password</pre>
  </ul>

<p>Add additional instances to build infrastructure.  Add interfaces to build a network. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1364-Drogon-Not-SSL-Ready.html" rel="alternate" title="Drogon - Not SSL Ready" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-07-22T03:45:10Z</published>
        <updated>2026-07-22T03:45:10Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1364</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1364</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/18-C++" label="C++" term="C++" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1364-guid.html</id>
        <title type="html">Drogon - Not SSL Ready</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I did some experimenting with <a href="https://github.com/drogonframework/drogon" target=_blank>drogon</a> to port over a web site I had implemented in <a href="https://github.com/emweb/wt" target=_blank>Wt webtoolkit</a> web tool.

<p>The views, controls, and static presentations performed well for building a web site in a traditional way.

<p>However, when it came time to assign a domain name and run an SSL certificate based website, it started failing/crashing when certain SSL incompatible web queries were generated.  It didn't have a recoverable failure mode.  It simply raised an exception and crashed.  I looked at the crash locations, and it seems that some clean up operations are mis-ordered, plus there were other problems.  Then reading the issues list, the author even acknowledges that the whole SSL thing was a bolt-on after-thought and requires significant re-write.

<p>Sigh.  Drogon is out the window.

<p>On to giving <a href="https://www.boost.org/library/latest/beast/" target=_blank>Boost Beast</a> a try.  This will require some work to add cookies and other refinements, but at least it is well integrated with SSL. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1363-Drogon-Install.html" rel="alternate" title="Drogon Install" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-07-09T01:42:08Z</published>
        <updated>2026-07-09T03:48:44Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1363</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1363</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/18-C++" label="C++" term="C++" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1363-guid.html</id>
        <title type="html">Drogon Install</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><a href="https://drogon.org/" target=_blank>drogon</a> is a fast C++ web framework.

<p>Some build notes:

<blockquote><pre>
sudo apt install git cmake build-essential
sudo apt install libjsoncpp-dev uuid-dev zlib1g-dev libsqlite3-dev  \
  libc-ares-dev dia libyaml-cpp-dev libssl-dev libbrotli-dev
git clone https://github.com/drogonframework/drogon
cd drogon
git submodule update --init
mkdir build
cd build
cmake ..
make
sudo make install
</pre></blockquote>

<p>Create a project:

<blockquote><pre>
drogon_ctl create project project_name
cd project_name/build
cmake ..
make
cd ..
# run project, default port is 5555
build/project_name

</pre></blockquote>



 <br /><a href="http://blog.raymond.burkholder.net/index.php?/archives/1363-Drogon-Install.html#extended">Continue reading "Drogon Install"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1362-Todays-Machine-Learning.html" rel="alternate" title="Today's Machine Learning" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-07-03T02:44:33Z</published>
        <updated>2026-07-03T02:44:33Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1362</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1362</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/87-Machine-Learning" label="Machine Learning" term="Machine Learning" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1362-guid.html</id>
        <title type="html">Today's Machine Learning</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><a href="https://arxiv.org/abs/2607.02046" target=_blank>Fast and Accurate Anomaly Detection in Time Series</a> - is this the cat's meow?

<blockquote>
<p><Anomaly detection is a critical and evolving field in Machine Learning, with
applications targeting different domains such as cybersecurity, finance,
healthcare, manufacturing and IoT (Internet of Things) systems. Traditionally,
anomaly detection algorithms have been designed using both supervised and
unsupervised learning paradigms. 
<p>The fundamental challenge in real-world
anomaly detection scenarios is related to the inherent class imbalance
(anomalies are typically rare) and, for supervised methods, to the scarcity of
labelled anomalous data. Indeed, labelling is both expensive and
time-consuming. Conversely unsupervised methods do not require labelling, but
may suffer from high false positive rates when deployed in safety-critical
applications. 
<p>In this work we introduce a novel unsupervised algorithm for
anomaly detection in time series based on the Haar discrete wavelet and a
suitably designed $t$-test. We establish the theoretical foundation of the
proposed $t$-test and, through extensive experimentation across 343 datasets,
demonstrate that our algorithm outperforms state-of-the-art unsupervised and
self-supervised benchmarks.
</blockquote> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1361-Weekend-Reading.html" rel="alternate" title="Weekend Reading" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-06-28T18:15:12Z</published>
        <updated>2026-06-28T18:20:18Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1361</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1361</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/50-Technology" label="Technology" term="Technology" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1361-guid.html</id>
        <title type="html">Weekend Reading</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <ul>
  <li><a href="https://grep.be/blog//en/computer/Agentic_coding_and_Free_Software/" target=_blank>Agentic coding and Free Software</a> - getting started with LLMs with WindSurf
  <li><a href="https://gwolf.org/2026/06/systemd-for-linux-sysadmins.html" target=_blank>systemd for Linux SysAdmins</a> - there is a book out about systemd - history and usage
  <li><a href="https://abbbi.github.io//sync/" target=_blank>vmsync</a> - released <a href="https://github.com/abbbi/vmsync" target=_blank>vmsync</a>. A small golang utility that implements a simple replication tool using the NBD protocol to sync virtual machines to other hosts.
  </ul> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1359-Weekend-Reading.html" rel="alternate" title="Weekend Reading" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-05-31T21:16:10Z</published>
        <updated>2026-05-31T21:16:10Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1359</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1359</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/50-Technology" label="Technology" term="Technology" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1359-guid.html</id>
        <title type="html">Weekend Reading</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <ul>
  <li><a href="https://vincent.bernat.ch/en/blog/2026-akvorado-rib-sharding" target=_blank>Scaling Akvorado BMP RIB with sharding</a>
  <li><a href="http://www.hungry.com/~pere/blog/Command_line_Norse_God_of_Wind_Hr_svelg_move_the_clouds.html" target=_blank>Command line Norse God of Wind Hræsvelg move the clouds</a>
  <li><a href="https://github.com/danielmiessler/fabric/" target=_blank>Fabric</a> is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere. 
  <li><a href="https://blog.einval.com/2026/05/22#secure_boot_ca_rollover" target=_blank>Secure Boot and Microsoft CA Rollover</a> - a heads-up for distributions
  <li><a href="https://ram.tianon.xyz/post/2026/05/20/container-security.html" target=_blank>Containers Are a Security Boundary (some assembly required)</a>
  <li><a href="https://arma.sourceforge.net/" target=_blank>Armadillo</a> - C++ library for linear algebra &amp; scientific computing
  </ul>








 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1357-SSMS-22-Offline-Installation-SQL-Server-Management-Studio-22.html" rel="alternate" title="SSMS 22 Offline Installation - SQL Server Management Studio 22" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-05-25T01:42:00Z</published>
        <updated>2026-05-25T03:21:28Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1357</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1357</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/42-MS-Windows" label="MS Windows" term="MS Windows" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1357-guid.html</id>
        <title type="html">SSMS 22 Offline Installation - SQL Server Management Studio 22</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I had someone <a href="https://learn.microsoft.com/en-us/ssms/install/create-offline" target=_blank>Create an offline installation of SQL Server Management Studio</a> for me. It was a fun install.  Sarcasm intended.  The installer could be so much smaller I think if it didn't have so many language packs in one bundle.  Why not, if building an offline installer, why not allow a language selection right there.

<p>The first step was to learn to start the installer from the command line with:

<blockquote><pre>
SSMS_22.2.1\vs_SSMS_22.2.1.exe --noWeb
</pre></blockquote>

<p>At this point, it would unpack files and then silently quit.  No messages at the command line.  

<p>The logs indicate an invalid certificate:

<blockquote><pre>
Certificate is invalid: C:\temp\SSMS_22.2.1\vs_installer.opc
Error 0x80131509: Signature verification failed. 
Error: Unable to verify the integrity of the installation files: the certificate could not be verified.
</pre></blockquote>

<p>Three of the certificates can be installed with:

<blockquote><pre>
certutil.exe -addstore -f "Root" "SSMS_22.2.1\certificates\manifestCounterSignRootCertificate.cer"
certutil.exe -addstore -f "Root" "SSMS_22.2.1\certificates\manifestRootCertificate.cer.cer"
certutil.exe -addstore -f "Root" "SSMS_22.2.1\certificates\vs_installer_opc.RootCertificate.cer"
</pre></blockquote>

<p>By looking at the logs, there is a fourth certificate, but missing, so needs to be copied and installed in a similar manner from <a href="https://github.com/loopcoder/Visual-Studio-Tool/blob/master/Microsoft%20Windows%20Code%20Signing%20PCA%202024.crt" target=_blank>Microsoft Windows Code Signing PCA 2024.crt (github)</a> or <a href="http://www.microsoft.com/pkiops/certs/Microsoft Windows Code Signing PCA 2024.crt" target=_blank>Microsoft Windows Code Signing PCA 2024.crt (microsoft.com)</a>

<p>The final hurdle has to Microsoft ODBC Driver installation.  It installs Microsoft ODBC Driver 18 for SQL Server ok.  But it fails while installing Microsoft OLEDB Driver 19 for SQL Server with a message along the lines of:
<blockquote><pre>
This application requires 
Microsoft Visual C++ Redistributable for Visual Studio 2022 
(x64/x86, version 14.38 at minimum)
</pre></blockquote>

<p>It fails even when installing <a href="https://learn.microsoft.com/en-ca/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-supported-redistributable-version" target_blank>Latest supported redistributable version x64</a>.

<p>The secret here is that the x86 version also has to be downloaded and installed.  So you should have both installers:

<blockquote><pre>
VC_redist.x64.exe
VC_redist.x86.exe
</pre></blockquote>

<p>As a final note, the installer logs are in C:\Users\&lt;UserName&gt;\AppData\Local\Temp and are named dd_setup_yyyymmddhhmm_errors.log. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://blog.raymond.burkholder.net/index.php?/archives/1358-Linux-Copying-file-to-clipboard.html" rel="alternate" title="Linux - Copying file to clipboard" />
        <author>
            <name>Raymond P. Burkholder</name>
                    </author>
    
        <published>2026-05-25T02:25:44Z</published>
        <updated>2026-05-25T02:25:44Z</updated>
        <wfw:comment>http://blog.raymond.burkholder.net/wfwcomment.php?cid=1358</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.raymond.burkholder.net/rss.php?version=atom1.0&amp;type=comments&amp;cid=1358</wfw:commentRss>
    
            <category scheme="http://blog.raymond.burkholder.net/index.php?/categories/4-Linux" label="Linux" term="Linux" />
    
        <id>http://blog.raymond.burkholder.net/index.php?/archives/1358-guid.html</id>
        <title type="html">Linux - Copying file to clipboard</title>
        <content type="xhtml" xml:base="http://blog.raymond.burkholder.net/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Install tool:
<blockquote><pre>
sudo apt install xclip
</pre></blockquote>

<p>Perform the copy:

<blockquote><pre>
cat filename.base64 | xclip -rmlastnl -selection clipboard
</pre></blockquote> 
            </div>
        </content>
        
    </entry>

</feed>