Introduction
Introduction Statistics Contact Development Disclaimer Help
add kevinboone.me feed - sfeed_tests - sfeed tests and RSS and Atom files
git clone git://git.codemadness.org/sfeed_tests
Log
Files
Refs
README
LICENSE
---
commit aac5c423744499ec69164621696dc20d039ba834
parent 0a06e816bb1996faf29a90ac30586d9970c3c9df
Author: Hiltjo Posthuma <[email protected]>
Date: Mon, 4 Nov 2024 20:12:09 +0100
add kevinboone.me feed
Quirks: pubdate full month name and wrong order.
... has the wrong:
Thu, October 03 2024
... should be:
Thu, 3 Oct 2024
Diffstat:
A input/sfeed/realworld/kevinboone.m… | 2514 +++++++++++++++++++++++++++…
M input/sfeed/time/times.xml | 4 ++++
2 files changed, 2518 insertions(+), 0 deletions(-)
---
diff --git a/input/sfeed/realworld/kevinboone.me.rss.xml b/input/sfeed/realworl…
@@ -0,0 +1,2514 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rss xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
+<channel>
+<title>Kevin Boone's website</title>
+<link>https://kevinboone.me/</link>
+<description>Computing, math, science</description>
+<lastBuildDate>
+<image>
+<title>Kevin Boone's website</title>
+<link>https://kevinboone.me</link>
+<url>https://kevinboone.me/img/favicon.ico</url>
+</image>Fri, October 18 2024</lastBuildDate>
+<item>
+<title>Why are the variable names all wrong in my decompiled Java class?</titl…
+<link>https://kevinboone.me/java_dec.html</link>
+<guid>https://kevinboone.me/java_dec.html</guid>
+<description>Java decompilers usually make a good job of recovering program st…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Fri, October 18 2024</pubDate>
+</item>
+
+<item>
+<title>Log4J -- ask yourself: do I really need that library?</title>
+<link>https://kevinboone.me/log4j.html</link>
+<guid>https://kevinboone.me/log4j.html</guid>
+<description>What can the software industry learn from the Log4J security deba…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Wed, October 16 2024</pubDate>
+</item>
+
+<item>
+<title>Gentoo vs. MX Linux on old-ish laptops</title>
+<link>https://kevinboone.me/gentoo_mx.html</link>
+<guid>https://kevinboone.me/gentoo_mx.html</guid>
+<description>It isn't easy to run Linux well on ten-year-old laptops -- Linux …
+<media:thumbnail url='https://kevinboone.me/img/tux.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/tux.png' height='64' width='64'/>
+<pubDate>Fri, October 04 2024</pubDate>
+</item>
+
+<item>
+<title>How de-Googled is Lineage OS?</title>
+<link>https://kevinboone.me/lineageos-degoogled.html</link>
+<guid>https://kevinboone.me/lineageos-degoogled.html</guid>
+<description>Lineage OS is based on the Android Open-Source Project, whose pri…
+<media:thumbnail url='https://kevinboone.me/img/lineage_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/lineage_logo.png' height='64' wi…
+<pubDate>Thu, October 03 2024</pubDate>
+</item>
+
+<item>
+<title>Fitting an NVMe disk in a computer with no NVMe support</title>
+<link>https://kevinboone.me/no_nvme.html</link>
+<guid>https://kevinboone.me/no_nvme.html</guid>
+<description>Can you fit an NVMe solid-state drive into a computer that was ma…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Sat, September 21 2024</pubDate>
+</item>
+
+<item>
+<title>Getting back into C programming for CP/M</title>
+<link>https://kevinboone.me/cpm-c.html</link>
+<guid>https://kevinboone.me/cpm-c.html</guid>
+<description>This article is about how programming for CP/M, usng a 40-year-ol…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, September 19 2024</pubDate>
+</item>
+
+<item>
+<title>Comparing Dropbox, pCloud, and rsync.net for off-site storage for Linux…
+<link>https://kevinboone.me/linux_offsite_storage.html</link>
+<guid>https://kevinboone.me/linux_offsite_storage.html</guid>
+<description>For a Linux user in particular, which of these popular services i…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Mon, September 09 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: the 3.5mm headphone jack socket…
+<link>https://kevinboone.me/headphonejack.html</link>
+<guid>https://kevinboone.me/headphonejack.html</guid>
+<description>What's the real reason that cellphone manufacturers stopped fitti…
+<media:thumbnail url='https://kevinboone.me/img/plug.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/plug.png' height='64' width='64'…
+<pubDate>Thu, September 05 2024</pubDate>
+</item>
+
+<item>
+<title>Some notes on installing Lineage OS on modern-ish Samsung Android devic…
+<link>https://kevinboone.me/install_lineageos.html</link>
+<guid>https://kevinboone.me/install_lineageos.html</guid>
+<description>Although Lineage OS installation is pretty well-documented, there…
+<media:thumbnail url='https://kevinboone.me/img/lineage_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/lineage_logo.png' height='64' wi…
+<pubDate>Thu, August 15 2024</pubDate>
+</item>
+
+<item>
+<title>A few interesting features of Vim, part 1</title>
+<link>https://kevinboone.me/vim1.html</link>
+<guid>https://kevinboone.me/vim1.html</guid>
+<description>The Vim text editor is almost ubiquitous on Linux systems, and fo…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 08 2024</pubDate>
+</item>
+
+<item>
+<title>Why systemd is a problem for embedded Linux</title>
+<link>https://kevinboone.me/systemd_embedded.html</link>
+<guid>https://kevinboone.me/systemd_embedded.html</guid>
+<description>I don't want to post yet another anti-systemd rant, but I think t…
+<media:thumbnail url='https://kevinboone.me/img/tux_win.png' height='64' width…
+<media:content url='https://kevinboone.me/img/tux_win.png' height='64' width='…
+<pubDate>Thu, August 01 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make them like that any more: the Quad 306 amplifier</title>
+<link>https://kevinboone.me/quad-306.html</link>
+<guid>https://kevinboone.me/quad-306.html</guid>
+<description>The elegant simplicity and serviceability of this compact power a…
+<media:thumbnail url='https://kevinboone.me/img/quad-306.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/quad-306.jpg' height='64' width=…
+<pubDate>Sun, July 28 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make them like that any more: the Xircom REX 6000 PDA</title>
+<link>https://kevinboone.me/rex.html</link>
+<guid>https://kevinboone.me/rex.html</guid>
+<description>The REX was the world's first, and last, credit-card-sized person…
+<media:thumbnail url='https://kevinboone.me/img/rex.jpg' height='64' width='64…
+<media:content url='https://kevinboone.me/img/rex.jpg' height='64' width='64'/>
+<pubDate>Wed, July 17 2024</pubDate>
+</item>
+
+<item>
+<title>One month with Gentoo</title>
+<link>https://kevinboone.me/gentoo_one_month.html</link>
+<guid>https://kevinboone.me/gentoo_one_month.html</guid>
+<description>Will my Gentoo journey be coming to an end after the first month?…
+<media:thumbnail url='https://kevinboone.me/img/tux_win.png' height='64' width…
+<media:content url='https://kevinboone.me/img/tux_win.png' height='64' width='…
+<pubDate>Fri, July 05 2024</pubDate>
+</item>
+
+<item>
+<title>Going back to ALSA in 2024</title>
+<link>https://kevinboone.me/back_to_alsa.html</link>
+<guid>https://kevinboone.me/back_to_alsa.html</guid>
+<description>Not everybody likes Pulse audio or PipeWire. But is it practicabl…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Sun, June 30 2024</pubDate>
+</item>
+
+<item>
+<title>Can you use ALSA to get 'bit-perfect' audio playback on Linux?</title>
+<link>https://kevinboone.me/alsa_bitperfect.html</link>
+<guid>https://kevinboone.me/alsa_bitperfect.html</guid>
+<description>Regardless of the subjective merits of 'bit-perfect' audio, is it…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Thu, June 27 2024</pubDate>
+</item>
+
+<item>
+<title>Using Private Internet Access VPN with Gentoo Linux</title>
+<link>https://kevinboone.me/gentoo_pia.html</link>
+<guid>https://kevinboone.me/gentoo_pia.html</guid>
+<description>It's not that difficult, but there's no built-in support.</descri…
+<media:thumbnail url='https://kevinboone.me/img/pia_logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/pia_logo.png' height='64' width=…
+<pubDate>Sat, June 22 2024</pubDate>
+</item>
+
+<item>
+<title>Gentoo Linux -- is this the solution to the Winux problem?</title>
+<link>https://kevinboone.me/gentoo_winux.html</link>
+<guid>https://kevinboone.me/gentoo_winux.html</guid>
+<description>Even seasoned Linux developers speak of Gentoo in hushed tones. I…
+<media:thumbnail url='https://kevinboone.me/img/tux_win.png' height='64' width…
+<media:content url='https://kevinboone.me/img/tux_win.png' height='64' width='…
+<pubDate>Wed, June 12 2024</pubDate>
+</item>
+
+<item>
+<title>Differential equations: how does separation of variables really work?</…
+<link>https://kevinboone.me/separation_variables.html</link>
+<guid>https://kevinboone.me/separation_variables.html</guid>
+<description>'Separation of variables' is one of the first methods usually tau…
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Tue, June 04 2024</pubDate>
+</item>
+
+<item>
+<title>Do you need to wipe that hard drive? And can you?</title>
+<link>https://kevinboone.me/wipe_disk.html</link>
+<guid>https://kevinboone.me/wipe_disk.html</guid>
+<description>Is it safe to sell a used hard drive without securely erasing all…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Mon, May 20 2024</pubDate>
+</item>
+
+<item>
+<title>Exploring Java 17's container-awareness features</title>
+<link>https://kevinboone.me/java_container_awareness.html</link>
+<guid>https://kevinboone.me/java_container_awareness.html</guid>
+<description>How Java's "container awareness" feature works with simple (Docke…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Sat, May 11 2024</pubDate>
+</item>
+
+<item>
+<title>Using Keycloak for authentication with Apache Artemis: part 1</title>
+<link>https://kevinboone.me/artemis_keycloak.html</link>
+<guid>https://kevinboone.me/artemis_keycloak.html</guid>
+<description>This article provides a very simple example of setting up the Apa…
+<media:thumbnail url='https://kevinboone.me/img/keycloak-logo-small.png' heigh…
+<media:content url='https://kevinboone.me/img/keycloak-logo-small.png' height=…
+<pubDate>Thu, May 09 2024</pubDate>
+</item>
+
+<item>
+<title>When science and engineering are in conflict: the weird Whipple truss b…
+<link>https://kevinboone.me/whipple.html</link>
+<guid>https://kevinboone.me/whipple.html</guid>
+<description>What happens when we have to make real-world construction match u…
+<media:thumbnail url='https://kevinboone.me/img/whipple_small.jpg' height='64'…
+<media:content url='https://kevinboone.me/img/whipple_small.jpg' height='64' w…
+<pubDate>Thu, April 18 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: how the Vectrex almost revoluti…
+<link>https://kevinboone.me/vectrex.html</link>
+<guid>https://kevinboone.me/vectrex.html</guid>
+<description>The Vectrex used an entirely novel display technology that was su…
+<media:thumbnail url='https://kevinboone.me/img/vectrex.jpg' height='64' width…
+<media:content url='https://kevinboone.me/img/vectrex.jpg' height='64' width='…
+<pubDate>Sun, April 14 2024</pubDate>
+</item>
+
+<item>
+<title>Using Apache Camel to implement an IRC bot</title>
+<link>https://kevinboone.me/quarkus-ircbot.html</link>
+<guid>https://kevinboone.me/quarkus-ircbot.html</guid>
+<description>Camel's IRC support makes it relatively easy to implement an IRC …
+<media:thumbnail url='https://kevinboone.me/img/quarkus_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/quarkus_logo.png' height='64' wi…
+<pubDate>Mon, March 18 2024</pubDate>
+</item>
+
+<item>
+<title>Adventures with Artix</title>
+<link>https://kevinboone.me/artix.html</link>
+<guid>https://kevinboone.me/artix.html</guid>
+<description>Artix is a low-resource Linux that can be configured to run well …
+<media:thumbnail url='https://kevinboone.me/img/tux.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/tux.png' height='64' width='64'/>
+<pubDate>Mon, March 18 2024</pubDate>
+</item>
+
+<item>
+<title>C development for Linux without a standard library</title>
+<link>https://kevinboone.me/shnolib.html</link>
+<guid>https://kevinboone.me/shnolib.html</guid>
+<description>There are relatively few good reasons for writing C code without …
+<media:thumbnail url='https://kevinboone.me/img/gears.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/gears.png' height='64' width='64…
+<pubDate>Mon, March 18 2024</pubDate>
+</item>
+
+<item>
+<title>The nuts and bolts of anonymous inner classes in Java</title>
+<link>https://kevinboone.me/java_inner.html</link>
+<guid>https://kevinboone.me/java_inner.html</guid>
+<description>Many of the standard Java APIs make extensive use of anonymous in…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Tue, March 12 2024</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: countdown timer</title>
+<link>https://kevinboone.me/clh_countdown.html</link>
+<guid>https://kevinboone.me/clh_countdown.html</guid>
+<description>Using Linux date calculations to displaying a running countdown t…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Wed, March 06 2024</pubDate>
+</item>
+
+<item>
+<title>How Linux home directory encryption works</title>
+<link>https://kevinboone.me/linux_encrypt_homedir.html</link>
+<guid>https://kevinboone.me/linux_encrypt_homedir.html</guid>
+<description>Encryption of home directories is out of favour in modern Linux d…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Fri, March 01 2024</pubDate>
+</item>
+
+<item>
+<title>Rudiments of Java concurrency control, part 1</title>
+<link>https://kevinboone.me/java_sync.html</link>
+<guid>https://kevinboone.me/java_sync.html</guid>
+<description>The first part in a series on concurrency management in multi-thr…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Fri, February 16 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: Borland Turbo Pascal 7</title>
+<link>https://kevinboone.me/tpwin.html</link>
+<guid>https://kevinboone.me/tpwin.html</guid>
+<description>Why half a million people learned to program in Pascal, when you'…
+<media:thumbnail url='https://kevinboone.me/img/tpdisk.jpg' height='64' width=…
+<media:content url='https://kevinboone.me/img/tpdisk.jpg' height='64' width='6…
+<pubDate>Tue, February 13 2024</pubDate>
+</item>
+
+<item>
+<title>Some thoughts on using a small cellphone as a media player</title>
+<link>https://kevinboone.me/phone_media_player.html</link>
+<guid>https://kevinboone.me/phone_media_player.html</guid>
+<description>Modern portable media players are generally smartphones without a…
+<media:thumbnail url='https://kevinboone.me/img/lineage_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/lineage_logo.png' height='64' wi…
+<pubDate>Sun, February 04 2024</pubDate>
+</item>
+
+<item>
+<title>Yet another desktop Raspberry Pi media player</title>
+<link>https://kevinboone.me/pi_desktop_media.html</link>
+<guid>https://kevinboone.me/pi_desktop_media.html</guid>
+<description>Using a Raspberry Pi as a media player is by no means a new idea.…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Sat, January 20 2024</pubDate>
+</item>
+
+<item>
+<title>Making tab-and-slot boxes for electronic prototypes. Or: how I stopped …
+<link>https://kevinboone.me/lc.html</link>
+<guid>https://kevinboone.me/lc.html</guid>
+<description>Some thoughts on my first experiments with the design of electron…
+<media:thumbnail url='https://kevinboone.me/img/lc0.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/lc0.png' height='64' width='64'/>
+<pubDate>Fri, January 19 2024</pubDate>
+</item>
+
+<item>
+<title>Getting started with Kafka Streams, part 2</title>
+<link>https://kevinboone.me/kafka_streams_hello_2.html</link>
+<guid>https://kevinboone.me/kafka_streams_hello_2.html</guid>
+<description>Following on from my article on the rudiments of the Kafka Stream…
+<media:thumbnail url='https://kevinboone.me/img/kafka_logo.png' height='64' wi…
+<media:content url='https://kevinboone.me/img/kafka_logo.png' height='64' widt…
+<pubDate>Fri, January 19 2024</pubDate>
+</item>
+
+<item>
+<title>Getting started with Kafka Streams</title>
+<link>https://kevinboone.me/kafka_streams_hello.html</link>
+<guid>https://kevinboone.me/kafka_streams_hello.html</guid>
+<description>Kafka Streams is a Java library and framework for creating applic…
+<media:thumbnail url='https://kevinboone.me/img/kafka_logo.png' height='64' wi…
+<media:content url='https://kevinboone.me/img/kafka_logo.png' height='64' widt…
+<pubDate>Fri, January 19 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make them like that any more: Garmin Nuvi 300</title>
+<link>https://kevinboone.me/nuvi300.html</link>
+<guid>https://kevinboone.me/nuvi300.html</guid>
+<description>One of the earliest mass-market car satnav units, the Garmin Nuvi…
+<media:thumbnail url='https://kevinboone.me/img/antenna.png' height='64' width…
+<media:content url='https://kevinboone.me/img/antenna.png' height='64' width='…
+<pubDate>Wed, January 17 2024</pubDate>
+</item>
+
+<item>
+<title>Predicting eclipses with clockwork</title>
+<link>https://kevinboone.me/eclipse.html</link>
+<guid>https://kevinboone.me/eclipse.html</guid>
+<description>We're used to computing devices being electronic. But what can we…
+<media:thumbnail url='https://kevinboone.me/img/gears.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/gears.png' height='64' width='64…
+<pubDate>Mon, January 15 2024</pubDate>
+</item>
+
+<item>
+<title>RSS feed</title>
+<link>https://kevinboone.me/rss.html</link>
+<guid>https://kevinboone.me/rss.html</guid>
+<description>About RSS support on this website</description>
+<media:thumbnail url='https://kevinboone.me/img/rss.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/rss.png' height='64' width='64'/>
+<pubDate>Thu, January 11 2024</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: calculating the phase of the Moon</title>
+<link>https://kevinboone.me/clh_moonphase.html</link>
+<guid>https://kevinboone.me/clh_moonphase.html</guid>
+<description>How to use Bash shell arithmetic, along with the 'date' utilty, t…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Sat, January 06 2024</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: Blackberry Bold 9700</title>
+<link>https://kevinboone.me/bb_bold.html</link>
+<guid>https://kevinboone.me/bb_bold.html</guid>
+<description>The Bold 9700 was a premium cellphone from a company at the top o…
+<media:thumbnail url='https://kevinboone.me/img/bb_bold_1.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/bb_bold_1.jpg' height='64' width…
+<pubDate>Mon, January 01 2024</pubDate>
+</item>
+
+<item>
+<title>Kafka Connect from the ground up, part II</title>
+<link>https://kevinboone.me/kc2.html</link>
+<guid>https://kevinboone.me/kc2.html</guid>
+<description>This article describes what I think is the simplest possible Kafk…
+<media:thumbnail url='https://kevinboone.me/img/kafka_logo.png' height='64' wi…
+<media:content url='https://kevinboone.me/img/kafka_logo.png' height='64' widt…
+<pubDate>Tue, December 19 2023</pubDate>
+</item>
+
+<item>
+<title>Kafka Connect from the ground up</title>
+<link>https://kevinboone.me/kc.html</link>
+<guid>https://kevinboone.me/kc.html</guid>
+<description>This article describes what I think is the simplest possible Kafk…
+<media:thumbnail url='https://kevinboone.me/img/kafka_logo.png' height='64' wi…
+<media:content url='https://kevinboone.me/img/kafka_logo.png' height='64' widt…
+<pubDate>Tue, December 19 2023</pubDate>
+</item>
+
+<item>
+<title>Powering a Raspberry Pi from an attached Waveshare USB HAT</title>
+<link>https://kevinboone.me/pi_waveshare_usb.html</link>
+<guid>https://kevinboone.me/pi_waveshare_usb.html</guid>
+<description>Attaching high-capacity hard disks has always been a bit of a pro…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Fri, December 01 2023</pubDate>
+</item>
+
+<item>
+<title>Converting push-button events to keyboard events in the Raspberry Pi</t…
+<link>https://kevinboone.me/pi-button-to-kbd.html</link>
+<guid>https://kevinboone.me/pi-button-to-kbd.html</guid>
+<description>The Raspberry Pi has a bunch of GPIO pins we can use to connect p…
+<media:thumbnail url='https://kevinboone.me/img/button.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/button.png' height='64' width='6…
+<pubDate>Fri, December 01 2023</pubDate>
+</item>
+
+<item>
+<title>Rolling your own minimal embedded Linux for the Raspberry Pi -- part on…
+<link>https://kevinboone.me/pi_boot_shell.html</link>
+<guid>https://kevinboone.me/pi_boot_shell.html</guid>
+<description>This article is part of a series on building a custom Linux insta…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Wed, November 29 2023</pubDate>
+</item>
+
+<item>
+<title>Why the grammer snobs have it all wrong about the apostrophe</title>
+<link>https://kevinboone.me/apostrophe.html</link>
+<guid>https://kevinboone.me/apostrophe.html</guid>
+<description>Was there ever a golden age of the apostrophe, when everybody use…
+<media:thumbnail url='https://kevinboone.me/img/report.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/report.png' height='64' width='6…
+<pubDate>Wed, November 29 2023</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: Archos 605 media player/recorde…
+<link>https://kevinboone.me/archos605.html</link>
+<guid>https://kevinboone.me/archos605.html</guid>
+<description>You think Apple was an innovator in the world of personal media p…
+<media:thumbnail url='https://kevinboone.me/img/archos605.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/archos605.jpg' height='64' width…
+<pubDate>Wed, November 29 2023</pubDate>
+</item>
+
+<item>
+<title>ActiveMQ/Artemis or Kafka for Java messaging?</title>
+<link>https://kevinboone.me/artemis_kafka.html</link>
+<guid>https://kevinboone.me/artemis_kafka.html</guid>
+<description>ActiveMQ and Kafka are both open-source, Java-based, message brok…
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Sun, October 22 2023</pubDate>
+</item>
+
+<item>
+<title>They don't make them like that any more: the slide rule</title>
+<link>https://kevinboone.me/sliderule.html</link>
+<guid>https://kevinboone.me/sliderule.html</guid>
+<description>This simple analog computer has served humanity for more than fou…
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Sun, October 22 2023</pubDate>
+</item>
+
+<item>
+<title>Is your fitness watch lying to you?</title>
+<link>https://kevinboone.me/garmin-lies.html</link>
+<guid>https://kevinboone.me/garmin-lies.html</guid>
+<description>People are increasingly using smart watches and fitness watches f…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Wed, September 27 2023</pubDate>
+</item>
+
+<item>
+<title>Some thoughts on always-on OLED displays on smart watches</title>
+<link>https://kevinboone.me/mowf.html</link>
+<guid>https://kevinboone.me/mowf.html</guid>
+<description>Why an expensive smart watch is still less good than a cheap Time…
+<media:thumbnail url='https://kevinboone.me/img/plug.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/plug.png' height='64' width='64'…
+<pubDate>Fri, September 22 2023</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: displaying system temperature</title>
+<link>https://kevinboone.me/clh_temp.html</link>
+<guid>https://kevinboone.me/clh_temp.html</guid>
+<description>Using simple file and string handling techniques in the Bash shel…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Mon, September 18 2023</pubDate>
+</item>
+
+<item>
+<title>Does the use of custom Android ROMs improve or worsen security?</title>
+<link>https://kevinboone.me/rom_security.html</link>
+<guid>https://kevinboone.me/rom_security.html</guid>
+<description>This question is not particularly easy to answer, but understandi…
+<media:thumbnail url='https://kevinboone.me/img/lineage_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/lineage_logo.png' height='64' wi…
+<pubDate>Sat, September 09 2023</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: NVIDIA Shield K1 tablet</title>
+<link>https://kevinboone.me/k1.html</link>
+<guid>https://kevinboone.me/k1.html</guid>
+<description>Despite its low initial price, the Shield K1 continues to put mod…
+<media:thumbnail url='https://kevinboone.me/img/k1.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/k1.png' height='64' width='64'/>
+<pubDate>Tue, September 05 2023</pubDate>
+</item>
+
+<item>
+<title>Snake oil: 4K displays on smartphones</title>
+<link>https://kevinboone.me/4k.html</link>
+<guid>https://kevinboone.me/4k.html</guid>
+<description>The screen resolution of smartphones has increased dramatically o…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Mon, September 04 2023</pubDate>
+</item>
+
+<item>
+<title>What you give up, when you opt out of the surveillance economy</title>
+<link>https://kevinboone.me/degoogle.html</link>
+<guid>https://kevinboone.me/degoogle.html</guid>
+<description>Is it possible to live without Google and the like, and still use…
+<media:thumbnail url='https://kevinboone.me/img/lineage_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/lineage_logo.png' height='64' wi…
+<pubDate>Sun, August 20 2023</pubDate>
+</item>
+
+<item>
+<title>Adventures with RC2014, Z80, and CP/M</title>
+<link>https://kevinboone.me/rc2014.html</link>
+<guid>https://kevinboone.me/rc2014.html</guid>
+<description>This is a landing page for my various articles on building a peri…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Sat, August 19 2023</pubDate>
+</item>
+
+<item>
+<title>Designing a dual 5V-to-RS232 serial level converter for the RC2014</tit…
+<link>https://kevinboone.me/rc2014-rs232.html</link>
+<guid>https://kevinboone.me/rc2014-rs232.html</guid>
+<description>Using an RC2014-based retrocomputer with genuine RS232 peripheral…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Sat, August 05 2023</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: The Philips Pronto remote contr…
+<link>https://kevinboone.me/pronto.html</link>
+<guid>https://kevinboone.me/pronto.html</guid>
+<description>The Pronto offers a salutary lesson in how an excellent product c…
+<media:thumbnail url='https://kevinboone.me/img/pronto.jpg' height='64' width=…
+<media:content url='https://kevinboone.me/img/pronto.jpg' height='64' width='6…
+<pubDate>Fri, July 21 2023</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: a paean to the Cowon D2 DAB</ti…
+<link>https://kevinboone.me/d2.html</link>
+<guid>https://kevinboone.me/d2.html</guid>
+<description>The Cowon D2 DAB was a media player ahead of its time. There was …
+<media:thumbnail url='https://kevinboone.me/img/d2.jpg' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/d2.jpg' height='64' width='64'/>
+<pubDate>Fri, July 21 2023</pubDate>
+</item>
+
+<item>
+<title>CP/M resources</title>
+<link>https://kevinboone.me/cpm.html</link>
+<guid>https://kevinboone.me/cpm.html</guid>
+<description>A landing page for my various CP/M articles and utilities.</descr…
+<media:thumbnail url='https://kevinboone.me/img/z80.jpg' height='64' width='64…
+<media:content url='https://kevinboone.me/img/z80.jpg' height='64' width='64'/>
+<pubDate>Mon, July 17 2023</pubDate>
+</item>
+
+<item>
+<title>Getting to grips with JMS shared subscriptions</title>
+<link>https://kevinboone.me/dursub.html</link>
+<guid>https://kevinboone.me/dursub.html</guid>
+<description>Shared subscriptions are a 'new' feature in JMS, that seems to be…
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Thu, July 13 2023</pubDate>
+</item>
+
+<item>
+<title>Adding a floppy disk controller to my RC2014 Z80 system</title>
+<link>https://kevinboone.me/rc2014-fdc.html</link>
+<guid>https://kevinboone.me/rc2014-fdc.html</guid>
+<description>No 80s computer is complete without the chucka-chucka-chucka soun…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, July 04 2023</pubDate>
+</item>
+
+<item>
+<title>Using flash memory as non-volatile storage on the Pi Pico microcontroll…
+<link>https://kevinboone.me/picoflash.html</link>
+<guid>https://kevinboone.me/picoflash.html</guid>
+<description>The Pi Pico is an impressive microcontroller for its size and cos…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Wed, June 21 2023</pubDate>
+</item>
+
+<item>
+<title>Constructing and programming a YM2149 sound board my RC2014 Z80 system<…
+<link>https://kevinboone.me/rc2014-ym2149.html</link>
+<guid>https://kevinboone.me/rc2014-ym2149.html</guid>
+<description>An 80's-style 8-bit computer has to be cable of making 80's 8-bit…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, June 20 2023</pubDate>
+</item>
+
+<item>
+<title>Updating, building, and flashing RomWBW on an SC130 CP/M system</title>
+<link>https://kevinboone.me/rc2014_romwbw_flash.html</link>
+<guid>https://kevinboone.me/rc2014_romwbw_flash.html</guid>
+<description>A step-by-step guide to building and installing a modified versio…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, June 13 2023</pubDate>
+</item>
+
+<item>
+<title>Exchanging files between an SC130 CP/M board and a Linux system</title>
+<link>https://kevinboone.me/rc2014_files_linux.html</link>
+<guid>https://kevinboone.me/rc2014_files_linux.html</guid>
+<description>This article describes a couple of methods for sharing data and c…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, June 13 2023</pubDate>
+</item>
+
+<item>
+<title>Some thoughts on a DS1302 real-time clock board for RC2014/Z80 and CP/M…
+<link>https://kevinboone.me/rc2014-rtc.html</link>
+<guid>https://kevinboone.me/rc2014-rtc.html</guid>
+<description>Constructing and programming a real-time clock board for my Z80 C…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Mon, June 12 2023</pubDate>
+</item>
+
+<item>
+<title>Using a CP/M machine to log into a Linux server using an RS232 connecti…
+<link>https://kevinboone.me/kermit.html</link>
+<guid>https://kevinboone.me/kermit.html</guid>
+<description>Because -- why not?</description>
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Fri, June 02 2023</pubDate>
+</item>
+
+<item>
+<title>Serial device mapping in CP/M</title>
+<link>https://kevinboone.me/cpmserial.html</link>
+<guid>https://kevinboone.me/cpmserial.html</guid>
+<description>CP/M only recognized four serial devices. How did application cop…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, June 01 2023</pubDate>
+</item>
+
+<item>
+<title>The vexed problem of generating delays in a CP/M program</title>
+<link>https://kevinboone.me/cpm-delays.html</link>
+<guid>https://kevinboone.me/cpm-delays.html</guid>
+<description>CP/M has no timing or delay functions, because CP/M never stipula…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Fri, May 19 2023</pubDate>
+</item>
+
+<item>
+<title>Is Collapse OS really a practical proposition?</title>
+<link>https://kevinboone.me/collapseos.html</link>
+<guid>https://kevinboone.me/collapseos.html</guid>
+<description>Is it really possible to design an operating system for a compute…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, May 18 2023</pubDate>
+</item>
+
+<item>
+<title>Getting back into C programming for CP/M -- part 2</title>
+<link>https://kevinboone.me/cpm-c2.html</link>
+<guid>https://kevinboone.me/cpm-c2.html</guid>
+<description>Using the 1989 HI-TECH C compiler on CP/M, and some general obser…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Tue, May 16 2023</pubDate>
+</item>
+
+<item>
+<title>Using Keycloak for authentication with Apache Artemis: part 2</title>
+<link>https://kevinboone.me/artemis_keycloak_2.html</link>
+<guid>https://kevinboone.me/artemis_keycloak_2.html</guid>
+<description>This article continues my explanation of using Keycloak as an aut…
+<media:thumbnail url='https://kevinboone.me/img/keycloak-logo-small.png' heigh…
+<media:content url='https://kevinboone.me/img/keycloak-logo-small.png' height=…
+<pubDate>Thu, May 11 2023</pubDate>
+</item>
+
+<item>
+<title>A self-contained CP/M computer based on the Z80 Playground</title>
+<link>https://kevinboone.me/z80pg.html</link>
+<guid>https://kevinboone.me/z80pg.html</guid>
+<description>This article describes how to create a self-contained CP/M-based …
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Wed, May 10 2023</pubDate>
+</item>
+
+<item>
+<title>Why does my Raspberry Pi project keep displaying the 'lightning bolt' u…
+<link>https://kevinboone.me/rpi_undervoltage.html</link>
+<guid>https://kevinboone.me/rpi_undervoltage.html</guid>
+<description>The Raspberry Pi is widely used as part of a more complex electro…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, May 09 2023</pubDate>
+</item>
+
+<item>
+<title>Using an Oracle database as storage for the Apache Artemis message brok…
+<link>https://kevinboone.me/artemis_jdbc_2.html</link>
+<guid>https://kevinboone.me/artemis_jdbc_2.html</guid>
+<description>This article is the second on my series on using the Oracle datab…
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Sun, April 30 2023</pubDate>
+</item>
+
+<item>
+<title>Using an Oracle database as storage for the Apache Artemis message brok…
+<link>https://kevinboone.me/artemis_jdbc.html</link>
+<guid>https://kevinboone.me/artemis_jdbc.html</guid>
+<description>This article describes the fundamentals of setting up the Apache …
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Sat, April 29 2023</pubDate>
+</item>
+
+<item>
+<title>Using the Qpid Proton C++ library to understand AMQP</title>
+<link>https://kevinboone.me/amqp-proton.html</link>
+<guid>https://kevinboone.me/amqp-proton.html</guid>
+<description>AMQP is not a trivially-straightforward protocol to understand, b…
+<media:thumbnail url='https://kevinboone.me/img/antenna.png' height='64' width…
+<media:content url='https://kevinboone.me/img/antenna.png' height='64' width='…
+<pubDate>Sun, April 23 2023</pubDate>
+</item>
+
+<item>
+<title>What exactly is 'saturation'?</title>
+<link>https://kevinboone.me/saturation.html</link>
+<guid>https://kevinboone.me/saturation.html</guid>
+<description>Most image editing applications provide a 'saturation' adjustment…
+<media:thumbnail url='https://kevinboone.me/img/gtk-logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/gtk-logo.png' height='64' width=…
+<pubDate>Fri, March 24 2023</pubDate>
+</item>
+
+<item>
+<title>Yet another Darktable/Lightroom comparison</title>
+<link>https://kevinboone.me/darktable.html</link>
+<guid>https://kevinboone.me/darktable.html</guid>
+<description>Darktable isn't supposed to be an alternative to Adobe Lightroom,…
+<media:thumbnail url='https://kevinboone.me/img/gtk-logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/gtk-logo.png' height='64' width=…
+<pubDate>Wed, March 15 2023</pubDate>
+</item>
+
+<item>
+<title>Using media keys in a Linux console application</title>
+<link>https://kevinboone.me/console_media_keys.html</link>
+<guid>https://kevinboone.me/console_media_keys.html</guid>
+<description>Mapping keyboard keys to key codes on Linux is well-documented fo…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Fri, March 03 2023</pubDate>
+</item>
+
+<item>
+<title>Using the Linux framebuffer in C/C++ -- just the essentials (part 2)</t…
+<link>https://kevinboone.me/linuxfbc2.html</link>
+<guid>https://kevinboone.me/linuxfbc2.html</guid>
+<description>This article continues my original framebuffer "just the essentia…
+<media:thumbnail url='https://kevinboone.me/img/display.png' height='64' width…
+<media:content url='https://kevinboone.me/img/display.png' height='64' width='…
+<pubDate>Thu, February 02 2023</pubDate>
+</item>
+
+<item>
+<title>Using the Linux framebuffer in C/C++ -- just the essentials</title>
+<link>https://kevinboone.me/linuxfbc.html</link>
+<guid>https://kevinboone.me/linuxfbc.html</guid>
+<description>The absolute minimum information needed to start using the Linux …
+<media:thumbnail url='https://kevinboone.me/img/display.png' height='64' width…
+<media:content url='https://kevinboone.me/img/display.png' height='64' width='…
+<pubDate>Thu, February 02 2023</pubDate>
+</item>
+
+<item>
+<title>pico-photo-clock: an easy-to-construct Pi Pico desktop photo clock</tit…
+<link>https://kevinboone.me/pico-photo-clock.html</link>
+<guid>https://kevinboone.me/pico-photo-clock.html</guid>
+<description>This article describes how to construct a desktop photo clock usi…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Sat, January 21 2023</pubDate>
+</item>
+
+<item>
+<title>Using the Maxim DS3231 I2C real-time clock in C on the Raspberry Pi Pic…
+<link>https://kevinboone.me/pico-ds3231.html</link>
+<guid>https://kevinboone.me/pico-ds3231.html</guid>
+<description>The Maxim DS3231 I2C real-time clock is a reasonably accurate, in…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Sat, January 21 2023</pubDate>
+</item>
+
+<item>
+<title>Using ImageMagick to generate anti-aliased bitmap fonts for a microcont…
+<link>https://kevinboone.me/im-font-test.html</link>
+<guid>https://kevinboone.me/im-font-test.html</guid>
+<description>This article describes how to generate and use compressed, anti-a…
+<media:thumbnail url='https://kevinboone.me/img/display.png' height='64' width…
+<media:content url='https://kevinboone.me/img/display.png' height='64' width='…
+<pubDate>Tue, January 17 2023</pubDate>
+</item>
+
+<item>
+<title>The Pi Pico, two years on</title>
+<link>https://kevinboone.me/pico2years.html</link>
+<guid>https://kevinboone.me/pico2years.html</guid>
+<description>I've been using the Raspberry Pi Pico for embedded projects for t…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Fri, January 13 2023</pubDate>
+</item>
+
+<item>
+<title>Some thoughts on the Waveshare 3.5-inch LCD/SD module for the Raspberry…
+<link>https://kevinboone.me/pico_waveshare_lcd.html</link>
+<guid>https://kevinboone.me/pico_waveshare_lcd.html</guid>
+<description>This is a versatile touchscreen display module with a strikingly …
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, January 10 2023</pubDate>
+</item>
+
+<item>
+<title>Why 'int x = 0' is uninitialized data to the GNU C compiler</title>
+<link>https://kevinboone.me/gcc_bss.html</link>
+<guid>https://kevinboone.me/gcc_bss.html</guid>
+<description>An oddity of the GCC C compiler that can lead to strange results,…
+<media:thumbnail url='https://kevinboone.me/img/c-logo.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/c-logo.png' height='64' width='6…
+<pubDate>Mon, January 02 2023</pubDate>
+</item>
+
+<item>
+<title>Raspberry Pi Pico: loading code into RAM and running it -- part 2</titl…
+<link>https://kevinboone.me/pico_run_ram2.html</link>
+<guid>https://kevinboone.me/pico_run_ram2.html</guid>
+<description>This is the second of (at least) two articles on loading and runn…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Wed, December 07 2022</pubDate>
+</item>
+
+<item>
+<title>Raspberry Pi Pico: loading code into RAM and running it -- part 1</titl…
+<link>https://kevinboone.me/pico_run_ram.html</link>
+<guid>https://kevinboone.me/pico_run_ram.html</guid>
+<description>This is the first of (at least) two articles on loading and runni…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Wed, December 07 2022</pubDate>
+</item>
+
+<item>
+<title>Some thoughts on using a USB keyboard with the Raspberry Pi Pico</title>
+<link>https://kevinboone.me/pico_usb_kbd_lcd.html</link>
+<guid>https://kevinboone.me/pico_usb_kbd_lcd.html</guid>
+<description>The Pi Pico has USB host support, and can work with a USB keyboar…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Sun, November 13 2022</pubDate>
+</item>
+
+<item>
+<title>Using the rdkafka library to integrate a C program with Kafka messaging…
+<link>https://kevinboone.me/kafka-c-trivial.html</link>
+<guid>https://kevinboone.me/kafka-c-trivial.html</guid>
+<description>This article provides a brief overview of the rdkafka library, il…
+<media:thumbnail url='https://kevinboone.me/img/kafka_logo.png' height='64' wi…
+<media:content url='https://kevinboone.me/img/kafka_logo.png' height='64' widt…
+<pubDate>Wed, November 09 2022</pubDate>
+</item>
+
+<item>
+<title>Why synchronous write speed is likely to be the limiting factor in mess…
+<link>https://kevinboone.me/syncwrite.html</link>
+<guid>https://kevinboone.me/syncwrite.html</guid>
+<description>Administrators of middleware message brokers often struggle to ge…
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Wed, November 02 2022</pubDate>
+</item>
+
+<item>
+<title>Why your cheap mains inverter could kill you</title>
+<link>https://kevinboone.me/inverter-safety.html</link>
+<guid>https://kevinboone.me/inverter-safety.html</guid>
+<description>A mains inverter is a very useful device, but inexpensive models …
+<media:thumbnail url='https://kevinboone.me/img/plug.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/plug.png' height='64' width='64'…
+<pubDate>Fri, October 14 2022</pubDate>
+</item>
+
+<item>
+<title>Using Quarkus to provide a REST interface to a message broker</title>
+<link>https://kevinboone.me/quarkus-broker-rest.html</link>
+<guid>https://kevinboone.me/quarkus-broker-rest.html</guid>
+<description>Using a Camel application based on Quarkus to provide a way to ro…
+<media:thumbnail url='https://kevinboone.me/img/quarkus_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/quarkus_logo.png' height='64' wi…
+<pubDate>Wed, October 05 2022</pubDate>
+</item>
+
+<item>
+<title>Comparing a natively-compiled Java webservice with C</title>
+<link>https://kevinboone.me/quarkus-native-c.html</link>
+<guid>https://kevinboone.me/quarkus-native-c.html</guid>
+<description>Implementing a webservice in C and Java, to see which performs be…
+<media:thumbnail url='https://kevinboone.me/img/gears.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/gears.png' height='64' width='64…
+<pubDate>Thu, September 29 2022</pubDate>
+</item>
+
+<item>
+<title>Is dithering necessary when reducing the number of bits per sample in a…
+<link>https://kevinboone.me/dither.html</link>
+<guid>https://kevinboone.me/dither.html</guid>
+<description>The use of dithering when mastering a CD is well-established, and…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Wed, September 21 2022</pubDate>
+</item>
+
+<item>
+<title>The costs and benefits of software pulse-width modulation on the Raspbe…
+<link>https://kevinboone.me/pi-servo.html</link>
+<guid>https://kevinboone.me/pi-servo.html</guid>
+<description>The Raspberry Pi doesn't offer much in the way of analog outputs,…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Thu, September 15 2022</pubDate>
+</item>
+
+<item>
+<title>Using an HD44780 LCD display module with the Raspberry Pi, from the gro…
+<link>https://kevinboone.me/pi-lcd.html</link>
+<guid>https://kevinboone.me/pi-lcd.html</guid>
+<description>In this article I explain how to construct, and program in C, an …
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Thu, September 15 2022</pubDate>
+</item>
+
+<item>
+<title>Monitoring an INA219 chip in a Raspberry Pi battery-backed power supply…
+<link>https://kevinboone.me/pi-ina219.html</link>
+<guid>https://kevinboone.me/pi-ina219.html</guid>
+<description>Many battery-backed power supplies for the Raspberry Pi, and simi…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Thu, September 15 2022</pubDate>
+</item>
+
+<item>
+<title>Getting reasonably robust proximity measurements from an ultrasonic sen…
+<link>https://kevinboone.me/pi-hcsr04.html</link>
+<guid>https://kevinboone.me/pi-hcsr04.html</guid>
+<description>The HC-SR04 proximity sensor is an inexpensive and widely-used ul…
+<media:thumbnail url='https://kevinboone.me/img/hc-sr04-03.jpg' height='64' wi…
+<media:content url='https://kevinboone.me/img/hc-sr04-03.jpg' height='64' widt…
+<pubDate>Thu, September 15 2022</pubDate>
+</item>
+
+<item>
+<title>Using a shift register to control eight digital outputs with three GPIO…
+<link>https://kevinboone.me/74hc595.html</link>
+<guid>https://kevinboone.me/74hc595.html</guid>
+<description>A simple and inexpensive shift register can be used to increase t…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Thu, September 15 2022</pubDate>
+</item>
+
+<item>
+<title>How flat-earthers use misrepresentations of scale to promote their idea…
+<link>https://kevinboone.me/flat.html</link>
+<guid>https://kevinboone.me/flat.html</guid>
+<description>Misrepresentations of scale are common in the literature of organ…
+<media:thumbnail url='https://kevinboone.me/img/web.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/web.png' height='64' width='64'/>
+<pubDate>Thu, September 15 2022</pubDate>
+</item>
+
+<item>
+<title>Why "RMS watts" is a useless measure of power</title>
+<link>https://kevinboone.me/rms.html</link>
+<guid>https://kevinboone.me/rms.html</guid>
+<description>It's common for hifi amplifiers and speakers to have a power rati…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Wed, September 14 2022</pubDate>
+</item>
+
+<item>
+<title>Calculus of variations: a lunchbreak guide</title>
+<link>https://kevinboone.me/calcvar.html</link>
+<guid>https://kevinboone.me/calcvar.html</guid>
+<description>The calculus of variations is a branch of mathematics that deals …
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Thu, September 08 2022</pubDate>
+</item>
+
+<item>
+<title>Sorting files and directories on a FAT-formatted USB memory stick</titl…
+<link>https://kevinboone.me/sort_fat.html</link>
+<guid>https://kevinboone.me/sort_fat.html</guid>
+<description>Many portable and automotive media players accept USB memory stic…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Thu, September 01 2022</pubDate>
+</item>
+
+<item>
+<title>A review of the Leak Stereo 130 and CDT</title>
+<link>https://kevinboone.me/leak.html</link>
+<guid>https://kevinboone.me/leak.html</guid>
+<description>A number of reviews of the Leak Stereo 130 and CDT can be found o…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Wed, August 31 2022</pubDate>
+</item>
+
+<item>
+<title>Why is there a vinyl revival?</title>
+<link>https://kevinboone.me/vinylrevival.html</link>
+<guid>https://kevinboone.me/vinylrevival.html</guid>
+<description>Why are sales of vinyl records increasing, when digital streaming…
+<media:thumbnail url='https://kevinboone.me/img/record.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/record.png' height='64' width='6…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Does it matter how we rip audio CDs?</title>
+<link>https://kevinboone.me/ripcd.html</link>
+<guid>https://kevinboone.me/ripcd.html</guid>
+<description>Copying an audio CD -- perhaps to a portable music player -- is a…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Is "high resolution" audio really worth the effort?</title>
+<link>https://kevinboone.me/hiresaudio.html</link>
+<guid>https://kevinboone.me/hiresaudio.html</guid>
+<description>The availability of "better than CD" audio recordings is driving,…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Why you can't improve your hi-fi system by upgrading the mains cable</t…
+<link>https://kevinboone.me/hifimainscables.html</link>
+<guid>https://kevinboone.me/hifimainscables.html</guid>
+<description>You really can't improve your hi-fi system with a fancy mains cab…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Do different CD transports sound different?</title>
+<link>https://kevinboone.me/cdtransport.html</link>
+<guid>https://kevinboone.me/cdtransport.html</guid>
+<description>Bits are bits, right? If a CD transport just sends digital data t…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Snake oil: balanced headphones</title>
+<link>https://kevinboone.me/balancedheadphones.html</link>
+<guid>https://kevinboone.me/balancedheadphones.html</guid>
+<description>Do balanced headphones provide an improvement in sound quality ov…
+<media:thumbnail url='https://kevinboone.me/img/snakeoil.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/snakeoil.png' height='64' width=…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Why your vintage turntable could kill you</title>
+<link>https://kevinboone.me/tt-safety.html</link>
+<guid>https://kevinboone.me/tt-safety.html</guid>
+<description>Vintage vinyl records ought, perhaps, to be played on a vintage t…
+<media:thumbnail url='https://kevinboone.me/img/plug.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/plug.png' height='64' width='64'…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>A skeptic's guide to headphones</title>
+<link>https://kevinboone.me/headphones.html</link>
+<guid>https://kevinboone.me/headphones.html</guid>
+<description>Understanding the advantages and disadvantages of the various typ…
+<media:thumbnail url='https://kevinboone.me/img/headphones.jpg' height='64' wi…
+<media:content url='https://kevinboone.me/img/headphones.jpg' height='64' widt…
+<pubDate>Thu, August 18 2022</pubDate>
+</item>
+
+<item>
+<title>Are Flatpak, et al., saving or drowning the Linux desktop?</title>
+<link>https://kevinboone.me/flatpak.html</link>
+<guid>https://kevinboone.me/flatpak.html</guid>
+<description>Desktop Linux will take off next year -- or so people have been s…
+<media:thumbnail url='https://kevinboone.me/img/container-logo.png' height='64…
+<media:content url='https://kevinboone.me/img/container-logo.png' height='64' …
+<pubDate>Sat, August 06 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: timezone conversions</title>
+<link>https://kevinboone.me/clh_worldtime.html</link>
+<guid>https://kevinboone.me/clh_worldtime.html</guid>
+<description>Using 'date' and 'timedatectl' to build a utility to help with sc…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: displaying a weather summary</title>
+<link>https://kevinboone.me/clh_weather.html</link>
+<guid>https://kevinboone.me/clh_weather.html</guid>
+<description>How to use tools like curl, sed, and groff to retrieve a weather …
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: creating a tide table</title>
+<link>https://kevinboone.me/clh_tide.html</link>
+<guid>https://kevinboone.me/clh_tide.html</guid>
+<description>How to use Bash shell arithmetic to create a simple tide table</d…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: extracting audio metadata (tags)</title>
+<link>https://kevinboone.me/clh_tags.html</link>
+<guid>https://kevinboone.me/clh_tags.html</guid>
+<description>How to use Bash shell techniques to extract metadata (tags) from …
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: querying an Internet radio database</title>
+<link>https://kevinboone.me/clh_radio.html</link>
+<guid>https://kevinboone.me/clh_radio.html</guid>
+<description>Using Linux command-line utilities to query an on-line database o…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: paced breathing</title>
+<link>https://kevinboone.me/clh_paced_breathing.html</link>
+<guid>https://kevinboone.me/clh_paced_breathing.html</guid>
+<description>Using a Linux Bash script to generate audio/visual cues for timin…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: displaying news headlines in the manual viewer</t…
+<link>https://kevinboone.me/clh_newsman.html</link>
+<guid>https://kevinboone.me/clh_newsman.html</guid>
+<description>How to use tools like curl and xsltproc to retrieve news headline…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>Command-line hacking: Assigning folder icons to directories</title>
+<link>https://kevinboone.me/clh_foldericon.html</link>
+<guid>https://kevinboone.me/clh_foldericon.html</guid>
+<description>How to use basic Bash constructs, along with the Gnome gio utilit…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Thu, August 04 2022</pubDate>
+</item>
+
+<item>
+<title>How Microsoft Windows killed the palmtop computer</title>
+<link>https://kevinboone.me/palmtop.html</link>
+<guid>https://kevinboone.me/palmtop.html</guid>
+<description>1999 was the golden year of palmtop computing. Within a couple of…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Fri, July 15 2022</pubDate>
+</item>
+
+<item>
+<title>Using Podman to deploy an image directly to OpenShift 4</title>
+<link>https://kevinboone.me/podman_deploy.html</link>
+<guid>https://kevinboone.me/podman_deploy.html</guid>
+<description>This article describes how to deploy a container image direct fro…
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Wed, July 13 2022</pubDate>
+</item>
+
+<item>
+<title>Understanding Java's functional interfaces</title>
+<link>https://kevinboone.me/java_functional.html</link>
+<guid>https://kevinboone.me/java_functional.html</guid>
+<description>Functional interfaces are allow Java programmers to write methods…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Mon, July 11 2022</pubDate>
+</item>
+
+<item>
+<title>How to write a technical or scientific report</title>
+<link>https://kevinboone.me/howto_report.html</link>
+<guid>https://kevinboone.me/howto_report.html</guid>
+<description>Some guidance, mostly for science and engineering students, on ho…
+<media:thumbnail url='https://kevinboone.me/img/report.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/report.png' height='64' width='6…
+<pubDate>Sat, July 02 2022</pubDate>
+</item>
+
+<item>
+<title>Using the new pluggable active/passive management framework in Apache A…
+<link>https://kevinboone.me/artemis-zk.html</link>
+<guid>https://kevinboone.me/artemis-zk.html</guid>
+<description>The Apache ActiveMQ Artemis message broker holds out the possibil…
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Thu, June 30 2022</pubDate>
+</item>
+
+<item>
+<title>Embedding resources into executables built using GCC</title>
+<link>https://kevinboone.me/gcc-embed-data.html</link>
+<guid>https://kevinboone.me/gcc-embed-data.html</guid>
+<description>Sometimes it's helpful to be able to create an executable program…
+<media:thumbnail url='https://kevinboone.me/img/c-logo.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/c-logo.png' height='64' width='6…
+<pubDate>Fri, June 24 2022</pubDate>
+</item>
+
+<item>
+<title>You be the linker -- building "Hello, world" from scratch, in hexadecim…
+<link>https://kevinboone.me/elfdemo.html</link>
+<guid>https://kevinboone.me/elfdemo.html</guid>
+<description>This article describes how to write a trivial program for Linux u…
+<media:thumbnail url='https://kevinboone.me/img/gears.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/gears.png' height='64' width='64…
+<pubDate>Thu, June 23 2022</pubDate>
+</item>
+
+<item>
+<title>Did aliens really talk to us in "binary code" at Rendelsham Forest?</ti…
+<link>https://kevinboone.me/rendelsham-binary.html</link>
+<guid>https://kevinboone.me/rendelsham-binary.html</guid>
+<description>It isn't often that coding theory can be used to evaluate a claim…
+<media:thumbnail url='https://kevinboone.me/img/alien.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/alien.png' height='64' width='64…
+<pubDate>Tue, June 07 2022</pubDate>
+</item>
+
+<item>
+<title>They don't make 'em like that any more: the Lenovo W520</title>
+<link>https://kevinboone.me/w520.html</link>
+<guid>https://kevinboone.me/w520.html</guid>
+<description>In praise of an iconic laptop computer.</description>
+<media:thumbnail url='https://kevinboone.me/img/w520.jpg' height='64' width='6…
+<media:content url='https://kevinboone.me/img/w520.jpg' height='64' width='64'…
+<pubDate>Wed, June 01 2022</pubDate>
+</item>
+
+<item>
+<title>How problematic is resampling audio from 44.1 to 48 kHz?</title>
+<link>https://kevinboone.me/sample48.html</link>
+<guid>https://kevinboone.me/sample48.html</guid>
+<description>Audio CDs were recorded using a 44.1 kHz sample rate that is foun…
+<media:thumbnail url='https://kevinboone.me/img/notes.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.png' height='64' width='64…
+<pubDate>Tue, May 10 2022</pubDate>
+</item>
+
+<item>
+<title>Using the Qpid Proton C++ library to create a server for monitoring or …
+<link>https://kevinboone.me/amqp-monitor.html</link>
+<guid>https://kevinboone.me/amqp-monitor.html</guid>
+<description>Collecting sensor data, or low-level system status information, i…
+<media:thumbnail url='https://kevinboone.me/img/antenna.png' height='64' width…
+<media:content url='https://kevinboone.me/img/antenna.png' height='64' width='…
+<pubDate>Tue, May 03 2022</pubDate>
+</item>
+
+<item>
+<title>Why we only see one side of the moon -- the odd phenomenon of tidal loc…
+<link>https://kevinboone.me/tidal_locking.html</link>
+<guid>https://kevinboone.me/tidal_locking.html</guid>
+<description>We only see one face of the moon from the Earth, and that isn't a…
+<media:thumbnail url='https://kevinboone.me/img/telescope.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/telescope.jpg' height='64' width…
+<pubDate>Thu, April 21 2022</pubDate>
+</item>
+
+<item>
+<title>Why the energy cost or benefit of switching to DAB digital radio is har…
+<link>https://kevinboone.me/dab-power.html</link>
+<guid>https://kevinboone.me/dab-power.html</guid>
+<description>The "big switch-off" of analogue radio services in the UK has bee…
+<media:thumbnail url='https://kevinboone.me/img/battery.png' height='64' width…
+<media:content url='https://kevinboone.me/img/battery.png' height='64' width='…
+<pubDate>Fri, April 01 2022</pubDate>
+</item>
+
+<item>
+<title>Creating an "animated score" for demonstrating musical compositions on …
+<link>https://kevinboone.me/langley_hill_blues.html</link>
+<guid>https://kevinboone.me/langley_hill_blues.html</guid>
+<description>Animated musical scores are quite common on YouTube, for educatio…
+<media:thumbnail url='https://kevinboone.me/img/notes.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.png' height='64' width='64…
+<pubDate>Thu, March 31 2022</pubDate>
+</item>
+
+<item>
+<title>Why I won't be dumping DuckDuckGo over Ukraine</title>
+<link>https://kevinboone.me/ddg-ukraine.html</link>
+<guid>https://kevinboone.me/ddg-ukraine.html</guid>
+<description>Does controlling web search rankings amount to censorship? Does i…
+<media:thumbnail url='https://kevinboone.me/img/ddg-logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/ddg-logo.png' height='64' width=…
+<pubDate>Wed, March 16 2022</pubDate>
+</item>
+
+<item>
+<title>cwordle -- A Wordle-like word-guessing game for CP/M</title>
+<link>https://kevinboone.me/cwordle.html</link>
+<guid>https://kevinboone.me/cwordle.html</guid>
+<description>Building a CP/M implementation of the notorious Wordle game.</des…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Fri, February 18 2022</pubDate>
+</item>
+
+<item>
+<title>The peculiar Benford distribution</title>
+<link>https://kevinboone.me/benford.html</link>
+<guid>https://kevinboone.me/benford.html</guid>
+<description><i>Benford's law</i> or the <i>first digit rule</i> states that i…
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Fri, February 11 2022</pubDate>
+</item>
+
+<item>
+<title>UTF-8 and the problem of over-long characters</title>
+<link>https://kevinboone.me/overlong.html</link>
+<guid>https://kevinboone.me/overlong.html</guid>
+<description>How an oddity in the way UTF-8 encoding works can cause all sorts…
+<media:thumbnail url='https://kevinboone.me/img/unicode_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/unicode_logo.png' height='64' wi…
+<pubDate>Thu, February 03 2022</pubDate>
+</item>
+
+<item>
+<title>Juice-jacking -- it's a problem, but not because it's a problem</title>
+<link>https://kevinboone.me/juice-jacking.html</link>
+<guid>https://kevinboone.me/juice-jacking.html</guid>
+<description>"Juice-jacking" is the alleged practice of getting unauthorized a…
+<media:thumbnail url='https://kevinboone.me/img/usb.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/usb.png' height='64' width='64'/>
+<pubDate>Thu, February 03 2022</pubDate>
+</item>
+
+<item>
+<title>How Unicode reading direction characters defeat source code inspection,…
+<link>https://kevinboone.me/bidi.html</link>
+<guid>https://kevinboone.me/bidi.html</guid>
+<description>There's been a recent scare that Unicode reading direction charac…
+<media:thumbnail url='https://kevinboone.me/img/unicode_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/unicode_logo.png' height='64' wi…
+<pubDate>Thu, February 03 2022</pubDate>
+</item>
+
+<item>
+<title>Multi-source Z80 assembly programming for CP/M</title>
+<link>https://kevinboone.me/z80asmtest.html</link>
+<guid>https://kevinboone.me/z80asmtest.html</guid>
+<description>How to use Microsoft's Macro80 and Link80 utilities on CP/M, to b…
+<media:thumbnail url='https://kevinboone.me/img/z80.jpg' height='64' width='64…
+<media:content url='https://kevinboone.me/img/z80.jpg' height='64' width='64'/>
+<pubDate>Sun, January 30 2022</pubDate>
+</item>
+
+<item>
+<title>ARM assembly-language programming for the Raspberry Pi</title>
+<link>https://kevinboone.me/pi-asm-00_introduction.html</link>
+<guid>https://kevinboone.me/pi-asm-00_introduction.html</guid>
+<description>A series of simple, progressive examples that demonstrate the ess…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Sun, January 30 2022</pubDate>
+</item>
+
+<item>
+<title>Writing new interactive fiction games for CP/M using PunyInform and Lin…
+<link>https://kevinboone.me/punycpm.html</link>
+<guid>https://kevinboone.me/punycpm.html</guid>
+<description>It's still possible to write "text adventure" games for CP/M and …
+<media:thumbnail url='https://kevinboone.me/img/z80.jpg' height='64' width='64…
+<media:content url='https://kevinboone.me/img/z80.jpg' height='64' width='64'/>
+<pubDate>Mon, January 24 2022</pubDate>
+</item>
+
+<item>
+<title>Converting a floating-point number to a fraction (approximately) using …
+<link>https://kevinboone.me/rationalize.html</link>
+<guid>https://kevinboone.me/rationalize.html</guid>
+<description>A detailed description of a method for performing this common num…
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Sat, January 15 2022</pubDate>
+</item>
+
+<item>
+<title>Raspberry Pi as a networked storage (NAS) device</title>
+<link>https://kevinboone.me/pi-nas.html</link>
+<guid>https://kevinboone.me/pi-nas.html</guid>
+<description>How to construct a custom networked storage (NAS) unit based on a…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Mon, December 13 2021</pubDate>
+</item>
+
+<item>
+<title>Making a Raspberry Pi bootable SD card from a root filesystem</title>
+<link>https://kevinboone.me/pi-boot-sd.html</link>
+<guid>https://kevinboone.me/pi-boot-sd.html</guid>
+<description>You've created a custom Linux installation for the Raspberry Pi. …
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Fri, December 03 2021</pubDate>
+</item>
+
+<item>
+<title>Does it matter if amateur radio dies out?</title>
+<link>https://kevinboone.me/amateurradio.html</link>
+<guid>https://kevinboone.me/amateurradio.html</guid>
+<description>In this age of instant, world-wide communications, does it matter…
+<media:thumbnail url='https://kevinboone.me/img/mic.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/mic.png' height='64' width='64'/>
+<pubDate>Tue, November 30 2021</pubDate>
+</item>
+
+<item>
+<title>Why the Linux console is so awesome</title>
+<link>https://kevinboone.me/console.html</link>
+<guid>https://kevinboone.me/console.html</guid>
+<description>We've all gotten so used to graphical desktops that we're losing …
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Tue, November 30 2021</pubDate>
+</item>
+
+<item>
+<title>Making an 8x32 LED auxiliary display with a USB interface, from an LED …
+<link>https://kevinboone.me/pico7219usb.html</link>
+<guid>https://kevinboone.me/pico7219usb.html</guid>
+<description>A specific application of the Pico7219 library that I described i…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, November 23 2021</pubDate>
+</item>
+
+<item>
+<title>A very brief overview of Kotlin for Java developers</title>
+<link>https://kevinboone.me/kotlin.html</link>
+<guid>https://kevinboone.me/kotlin.html</guid>
+<description>Kotlin is a Java-compatible programming language that has increas…
+<media:thumbnail url='https://kevinboone.me/img/kotlin_logo.png' height='64' w…
+<media:content url='https://kevinboone.me/img/kotlin_logo.png' height='64' wid…
+<pubDate>Fri, November 12 2021</pubDate>
+</item>
+
+<item>
+<title>An overview of finite fields</title>
+<link>https://kevinboone.me/finite_fields.html</link>
+<guid>https://kevinboone.me/finite_fields.html</guid>
+<description>This article describes the concepts of finite fields, from the gr…
+<media:thumbnail url='https://kevinboone.me/img/padlock.png' height='64' width…
+<media:content url='https://kevinboone.me/img/padlock.png' height='64' width='…
+<pubDate>Wed, November 10 2021</pubDate>
+</item>
+
+<item>
+<title>Homeopathy: flushing science down the lavatory</title>
+<link>https://kevinboone.me/homeopathy.html</link>
+<guid>https://kevinboone.me/homeopathy.html</guid>
+<description>My purpose in this article is not to explain that homeopathy does…
+<media:thumbnail url='https://kevinboone.me/img/thomas_crapper_small.jpg' heig…
+<media:content url='https://kevinboone.me/img/thomas_crapper_small.jpg' height…
+<pubDate>Tue, November 09 2021</pubDate>
+</item>
+
+<item>
+<title>Samsung DeX -- the good, the bad, and the ugly</title>
+<link>https://kevinboone.me/dex.html</link>
+<guid>https://kevinboone.me/dex.html</guid>
+<description>The advantages and disadvantages of Samsung DeX on an Android cel…
+<media:thumbnail url='https://kevinboone.me/img/dex_logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/dex_logo.png' height='64' width=…
+<pubDate>Sat, November 06 2021</pubDate>
+</item>
+
+<item>
+<title>Implementing a web-based music player for Android</title>
+<link>https://kevinboone.me/androidmusicserver.html</link>
+<guid>https://kevinboone.me/androidmusicserver.html</guid>
+<description>Using an Android device as a remotely-controllable music player.<…
+<media:thumbnail url='https://kevinboone.me/img/androidmusicserver_logo.png' h…
+<media:content url='https://kevinboone.me/img/androidmusicserver_logo.png' hei…
+<pubDate>Fri, October 22 2021</pubDate>
+</item>
+
+<item>
+<title>Conway's Game of Life in 3D perspective</title>
+<link>https://kevinboone.me/life3d.html</link>
+<guid>https://kevinboone.me/life3d.html</guid>
+<description>Implementing a program to run Conway's cell population simulation…
+<media:thumbnail url='https://kevinboone.me/img/life3d_logo.jpg' height='64' w…
+<media:content url='https://kevinboone.me/img/life3d_logo.jpg' height='64' wid…
+<pubDate>Thu, October 21 2021</pubDate>
+</item>
+
+<item>
+<title>Using Apache Avro for passing Java objects through a message broker</ti…
+<link>https://kevinboone.me/avrotest.html</link>
+<guid>https://kevinboone.me/avrotest.html</guid>
+<description>This article describes how to use Apache Avro to flatten a Java o…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Thu, September 23 2021</pubDate>
+</item>
+
+<item>
+<title>How does Camel-K actually work?</title>
+<link>https://kevinboone.me/camelk.html</link>
+<guid>https://kevinboone.me/camelk.html</guid>
+<description>Camel-K is a relatively new technology for deploying Apache Camel…
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Wed, September 15 2021</pubDate>
+</item>
+
+<item>
+<title>Rolling your own minimal embedded Linux for the Raspberry Pi</title>
+<link>https://kevinboone.me/pi_minimal.html</link>
+<guid>https://kevinboone.me/pi_minimal.html</guid>
+<description>Introducing a series of articles on building a custom Linux insta…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Wed, September 01 2021</pubDate>
+</item>
+
+<item>
+<title>Audible's returns policy -- who wins, who loses?</title>
+<link>https://kevinboone.me/audible-returns.html</link>
+<guid>https://kevinboone.me/audible-returns.html</guid>
+<description>Audiobook supplier Audible has recently caused controversy by cha…
+<media:thumbnail url='https://kevinboone.me/img/ebook.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/ebook.png' height='64' width='64…
+<pubDate>Fri, August 13 2021</pubDate>
+</item>
+
+<item>
+<title>"Spy pixels" -- how worried should we be?</title>
+<link>https://kevinboone.me/spypixels.html</link>
+<guid>https://kevinboone.me/spypixels.html</guid>
+<description>'Spy pixels' or 'tracking pixels' are surprisingly prevalent in e…
+<media:thumbnail url='https://kevinboone.me/img/web.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/web.png' height='64' width='64'/>
+<pubDate>Fri, August 13 2021</pubDate>
+</item>
+
+<item>
+<title>Implementing Apache ActiveMQ-style broker meshes with Apache Artemis</t…
+<link>https://kevinboone.me/artemis_nob.html</link>
+<guid>https://kevinboone.me/artemis_nob.html</guid>
+<description>Both Apache ActiveMQ and Apache Artemis have infrastructure for c…
+<media:thumbnail url='https://kevinboone.me/img/activemq-logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/activemq-logo.png' height='64' w…
+<pubDate>Wed, June 30 2021</pubDate>
+</item>
+
+<item>
+<title>Deploying the Mosquitto MQTT message broker on OpenShift (part 1)</titl…
+<link>https://kevinboone.me/mosquitto-openshift.html</link>
+<guid>https://kevinboone.me/mosquitto-openshift.html</guid>
+<description>This article describes a method for deploying the Mosquitto MQTT …
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Wed, June 30 2021</pubDate>
+</item>
+
+<item>
+<title>Back to BASICs with a Pro Micro microcontroller</title>
+<link>https://kevinboone.me/pmbasic.html</link>
+<guid>https://kevinboone.me/pmbasic.html</guid>
+<description>Back in the 70s, desktop computers booted to BASIC. In this artic…
+<media:thumbnail url='https://kevinboone.me/img/pro-micro.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/pro-micro.jpg' height='64' width…
+<pubDate>Tue, June 22 2021</pubDate>
+</item>
+
+<item>
+<title>Playing Zork 1 on a CP/M emulator on Linux</title>
+<link>https://kevinboone.me/cpmzork.html</link>
+<guid>https://kevinboone.me/cpmzork.html</guid>
+<description>In the last few years there has been a revival of interest in 8-b…
+<media:thumbnail url='https://kevinboone.me/img/z80.jpg' height='64' width='64…
+<media:content url='https://kevinboone.me/img/z80.jpg' height='64' width='64'/>
+<pubDate>Tue, June 22 2021</pubDate>
+</item>
+
+<item>
+<title>JGemini -- a Java-based browser for Project Gemini protocols and conten…
+<link>https://kevinboone.me/jgemini.html</link>
+<guid>https://kevinboone.me/jgemini.html</guid>
+<description>Introducing a simple graphical browser for Project Gemini content…
+<media:thumbnail url='https://kevinboone.me/img/jgemini_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/jgemini_logo.png' height='64' wi…
+<pubDate>Tue, June 22 2021</pubDate>
+</item>
+
+<item>
+<title>Using a Pi Zero and throw-away parts to provide a serial terminal for r…
+<link>https://kevinboone.me/pi_zero_terminal.html</link>
+<guid>https://kevinboone.me/pi_zero_terminal.html</guid>
+<description>Many retrocompting projects are designed to be used with a serial…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Thu, June 17 2021</pubDate>
+</item>
+
+<item>
+<title>Deploying the Mosquitto MQTT message broker on OpenShift (part 2)</titl…
+<link>https://kevinboone.me/mosquitto-openshift-2.html</link>
+<guid>https://kevinboone.me/mosquitto-openshift-2.html</guid>
+<description>Part 2 of my article on installation the Mosquitto MQTT message b…
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Thu, June 10 2021</pubDate>
+</item>
+
+<item>
+<title>Capturing database change records using Debezium and Camel</title>
+<link>https://kevinboone.me/debezium-hello.html</link>
+<guid>https://kevinboone.me/debezium-hello.html</guid>
+<description>The notion of "change data capture" (CDC) is becoming increasingl…
+<media:thumbnail url='https://kevinboone.me/img/debezium_logo.png' height='64'…
+<media:content url='https://kevinboone.me/img/debezium_logo.png' height='64' w…
+<pubDate>Thu, June 10 2021</pubDate>
+</item>
+
+<item>
+<title>Using Apache Avro for passing Java objects through a message broker, wi…
+<link>https://kevinboone.me/avrotest-apicurio.html</link>
+<guid>https://kevinboone.me/avrotest-apicurio.html</guid>
+<description>This article extends my earlier article on using Avro with a mess…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Thu, June 10 2021</pubDate>
+</item>
+
+<item>
+<title>Developing KCalc-CPM -- a scientific calculator utility for CP/M</title>
+<link>https://kevinboone.me/kcalc-cpm.html</link>
+<guid>https://kevinboone.me/kcalc-cpm.html</guid>
+<description>My first CP/M program for nearly 40 years -- how, and why, I wrot…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Sat, May 22 2021</pubDate>
+</item>
+
+<item>
+<title>CP/M forty years on -- what it was, and why it still matters</title>
+<link>https://kevinboone.me/cpm40.html</link>
+<guid>https://kevinboone.me/cpm40.html</guid>
+<description>Why was the CP/M operating system so successful? Forty years on, …
+<media:thumbnail url='https://kevinboone.me/img/z80.jpg' height='64' width='64…
+<media:content url='https://kevinboone.me/img/z80.jpg' height='64' width='64'/>
+<pubDate>Sun, May 16 2021</pubDate>
+</item>
+
+<item>
+<title>Running CP/M on the Raspberry Pi Pico microcontroller</title>
+<link>https://kevinboone.me/cpicom.html</link>
+<guid>https://kevinboone.me/cpicom.html</guid>
+<description>This article introduces CPICOM -- an emulator for CP/M 2.2 on the…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Wed, May 05 2021</pubDate>
+</item>
+
+<item>
+<title>Why you can sometimes connect 3.3V and 5V I2C devices (and probably sho…
+<link>https://kevinboone.me/i2clevel.html</link>
+<guid>https://kevinboone.me/i2clevel.html</guid>
+<description>On websites, and in hobbyist kits for Raspberry Pi and Arduino, y…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Wed, May 05 2021</pubDate>
+</item>
+
+<item>
+<title>Controlling a chain of MAX7219 LED matrices using C on a Raspberry Pi P…
+<link>https://kevinboone.me/pico7219.html</link>
+<guid>https://kevinboone.me/pico7219.html</guid>
+<description>The MAX7219 IC is widely used to control an 8x8 matrix of LED, bu…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Wed, May 05 2021</pubDate>
+</item>
+
+<item>
+<title>Building and programming a USB auxiliary display using a SparkFun Pro M…
+<link>https://kevinboone.me/pro-micro-usb-lcd.html</link>
+<guid>https://kevinboone.me/pro-micro-usb-lcd.html</guid>
+<description>Make an "auxiliary LCD display" for a computer that displays data…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Mon, April 19 2021</pubDate>
+</item>
+
+<item>
+<title>The tabular method for integration by parts</title>
+<link>https://kevinboone.me/parts.html</link>
+<guid>https://kevinboone.me/parts.html</guid>
+<description>There is a tabular method for organizing integration computations…
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Tue, April 13 2021</pubDate>
+</item>
+
+<item>
+<title>Integrating factors from the ground up</title>
+<link>https://kevinboone.me/intfact.html</link>
+<guid>https://kevinboone.me/intfact.html</guid>
+<description>The use of integrating factors is a well-known method for turning…
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Tue, April 13 2021</pubDate>
+</item>
+
+<item>
+<title>Using an I2C analog-to-digital for temperature measurement on the Raspb…
+<link>https://kevinboone.me/adc_thermistor.html</link>
+<guid>https://kevinboone.me/adc_thermistor.html</guid>
+<description>This article describes how to do simple temperature measurement w…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, April 13 2021</pubDate>
+</item>
+
+<item>
+<title>Gâteaux differentials and Euler-Lagrange equations using Maple</title>
+<link>https://kevinboone.me/gateaux.html</link>
+<guid>https://kevinboone.me/gateaux.html</guid>
+<description>My article on calculus of variations assumed without explanation …
+<media:thumbnail url='https://kevinboone.me/img/integral.jpg' height='64' widt…
+<media:content url='https://kevinboone.me/img/integral.jpg' height='64' width=…
+<pubDate>Tue, April 13 2021</pubDate>
+</item>
+
+<item>
+<title>On master/slave</title>
+<link>https://kevinboone.me/masterslave.html</link>
+<guid>https://kevinboone.me/masterslave.html</guid>
+<description>A small step in the right direction, or political correctness gon…
+<media:thumbnail url='https://kevinboone.me/img/web.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/web.png' height='64' width='64'/>
+<pubDate>Thu, March 18 2021</pubDate>
+</item>
+
+<item>
+<title>Can Project Gemini rewind the Web thirty years?</title>
+<link>https://kevinboone.me/gemini.html</link>
+<guid>https://kevinboone.me/gemini.html</guid>
+<description>The modern World-Wide Web is broken. Is Gemini the repair?</descr…
+<media:thumbnail url='https://kevinboone.me/img/web.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/web.png' height='64' width='64'/>
+<pubDate>Mon, March 15 2021</pubDate>
+</item>
+
+<item>
+<title>More like Windows every day</title>
+<link>https://kevinboone.me/morelikewindows.html</link>
+<guid>https://kevinboone.me/morelikewindows.html</guid>
+<description>The ease of installation and use of modern desktop Linux distribu…
+<media:thumbnail url='https://kevinboone.me/img/tux_win.png' height='64' width…
+<media:content url='https://kevinboone.me/img/tux_win.png' height='64' width='…
+<pubDate>Wed, February 17 2021</pubDate>
+</item>
+
+<item>
+<title>The planet Vulcan: a cautionary tale that deserves to be better known</…
+<link>https://kevinboone.me/vulcan.html</link>
+<guid>https://kevinboone.me/vulcan.html</guid>
+<description>Why was the non-existent planet Vulcan so frequently sighted by a…
+<media:thumbnail url='https://kevinboone.me/img/telescope.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/telescope.jpg' height='64' width…
+<pubDate>Sun, February 14 2021</pubDate>
+</item>
+
+<item>
+<title>Building a custom mechanical keyboard from scratch</title>
+<link>https://kevinboone.me/keyboard11x55.html</link>
+<guid>https://kevinboone.me/keyboard11x55.html</guid>
+<description>There are many kits and plans available for constructing miniatur…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Sun, February 14 2021</pubDate>
+</item>
+
+<item>
+<title>Reviving old keyboards for Arduino</title>
+<link>https://kevinboone.me/arduino-keyboards.html</link>
+<guid>https://kevinboone.me/arduino-keyboards.html</guid>
+<description>Although connecting a USB keyboard to an Arduino-type microcontro…
+<media:thumbnail url='https://kevinboone.me/img/arduino-keyboards-logo.jpg' he…
+<media:content url='https://kevinboone.me/img/arduino-keyboards-logo.jpg' heig…
+<pubDate>Sat, February 13 2021</pubDate>
+</item>
+
+<item>
+<title>Why the fascination with retrocomputing?</title>
+<link>https://kevinboone.me/retrocomputing.html</link>
+<guid>https://kevinboone.me/retrocomputing.html</guid>
+<description>Why do so many IT professionals like to tinker with vintage compu…
+<media:thumbnail url='https://kevinboone.me/img/terminal.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/terminal.png' height='64' width=…
+<pubDate>Wed, February 03 2021</pubDate>
+</item>
+
+<item>
+<title>Peli "Protector" case as a rugged enclosure for a Raspberry Pi-based fi…
+<link>https://kevinboone.me/pi_peli.html</link>
+<guid>https://kevinboone.me/pi_peli.html</guid>
+<description>Peli cases have a reputation of robustness, and look like a promi…
+<media:thumbnail url='https://kevinboone.me/img/pi_peli_thumbnail.jpg' height=…
+<media:content url='https://kevinboone.me/img/pi_peli_thumbnail.jpg' height='6…
+<pubDate>Thu, January 21 2021</pubDate>
+</item>
+
+<item>
+<title>Building and programming a USB keypad from the ground up</title>
+<link>https://kevinboone.me/pro-micro-key-test-1.html</link>
+<guid>https://kevinboone.me/pro-micro-key-test-1.html</guid>
+<description>The first step towards designing and building a custom keyboard, …
+<media:thumbnail url='https://kevinboone.me/img/pro-micro.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/pro-micro.jpg' height='64' width…
+<pubDate>Tue, January 19 2021</pubDate>
+</item>
+
+<item>
+<title>Using Linux command-line tools for programming the SparkFun Pro Micro m…
+<link>https://kevinboone.me/pro-micro-blink.html</link>
+<guid>https://kevinboone.me/pro-micro-blink.html</guid>
+<description>Although building and deploying a simple program to an Arduino bo…
+<media:thumbnail url='https://kevinboone.me/img/pro-micro.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/pro-micro.jpg' height='64' width…
+<pubDate>Tue, January 19 2021</pubDate>
+</item>
+
+<item>
+<title>A Raspberry Pi and touchscreen case that anybody can make</title>
+<link>https://kevinboone.me/pi_wooden_case.html</link>
+<guid>https://kevinboone.me/pi_wooden_case.html</guid>
+<description>This is a design for a robust, wooden enclosure for a Raspberry P…
+<media:thumbnail url='https://kevinboone.me/img/pi_wooden_case_thumbnail.jpg' …
+<media:content url='https://kevinboone.me/img/pi_wooden_case_thumbnail.jpg' he…
+<pubDate>Mon, January 11 2021</pubDate>
+</item>
+
+<item>
+<title>Rolling your own minimal embedded Linux for the Raspberry Pi -- part fo…
+<link>https://kevinboone.me/pi_audio.html</link>
+<guid>https://kevinboone.me/pi_audio.html</guid>
+<description>This article is part of a series on building a customer Linux ins…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, December 01 2020</pubDate>
+</item>
+
+<item>
+<title>Rolling your own minimal embedded Linux for the Raspberry Pi -- part th…
+<link>https://kevinboone.me/pi_remote_access.html</link>
+<guid>https://kevinboone.me/pi_remote_access.html</guid>
+<description>This article is part of a series on building a customer Linux ins…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, December 01 2020</pubDate>
+</item>
+
+<item>
+<title>Rolling your own minimal embedded Linux for the Raspberry Pi -- part tw…
+<link>https://kevinboone.me/pi_early_init.html</link>
+<guid>https://kevinboone.me/pi_early_init.html</guid>
+<description>This article is part of a series on building a customer Linux ins…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, December 01 2020</pubDate>
+</item>
+
+<item>
+<title>Rolling your own minimal embedded Linux for the Raspberry Pi -- part fi…
+<link>https://kevinboone.me/pi_x.html</link>
+<guid>https://kevinboone.me/pi_x.html</guid>
+<description>It's entirely possible to run simple, X-based applications in an …
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, December 01 2020</pubDate>
+</item>
+
+<item>
+<title>Switching a couple of amps with a Raspberry Pi and a relay</title>
+<link>https://kevinboone.me/pi_relay.html</link>
+<guid>https://kevinboone.me/pi_relay.html</guid>
+<description>Switching loads of an amp or two with a Raspberry Pi or a microco…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Tue, December 01 2020</pubDate>
+</item>
+
+<item>
+<title>Using an I2C analog-to-digital converter chip with the Raspberry Pi, fr…
+<link>https://kevinboone.me/adc.html</link>
+<guid>https://kevinboone.me/adc.html</guid>
+<description>This article is about using an I2C analogue-to-digital device for…
+<media:thumbnail url='https://kevinboone.me/img/chip.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/chip.png' height='64' width='64'…
+<pubDate>Mon, November 30 2020</pubDate>
+</item>
+
+<item>
+<title>Using the FreeType library to render text nicely onto a Linux framebuff…
+<link>https://kevinboone.me/fbtextdemo.html</link>
+<guid>https://kevinboone.me/fbtextdemo.html</guid>
+<description>Writing graphical applications for minimal and embedded Linux sys…
+<media:thumbnail url='https://kevinboone.me/img/display.png' height='64' width…
+<media:content url='https://kevinboone.me/img/display.png' height='64' width='…
+<pubDate>Fri, November 20 2020</pubDate>
+</item>
+
+<item>
+<title>Examining simple build and deployment operations on OpenShift 3/4</titl…
+<link>https://kevinboone.me/openshift3_deployment.html</link>
+<guid>https://kevinboone.me/openshift3_deployment.html</guid>
+<description>See how OpenShift 3/4 deployment works in detail, using only comm…
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Fri, November 13 2020</pubDate>
+</item>
+
+<item>
+<title>Why pitch is not the same as frequency</title>
+<link>https://kevinboone.me/pitchfreq.html</link>
+<guid>https://kevinboone.me/pitchfreq.html</guid>
+<description>In many cases, "pitch" is just the musician's way of saying "freq…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Tue, November 10 2020</pubDate>
+</item>
+
+<item>
+<title>Why you can't rely on system calls to obtain limits, when running an ap…
+<link>https://kevinboone.me/containerlimits.html</link>
+<guid>https://kevinboone.me/containerlimits.html</guid>
+<description>The notion of resource limits (on memory, CPU, etc) has never bee…
+<media:thumbnail url='https://kevinboone.me/img/container-logo.png' height='64…
+<media:content url='https://kevinboone.me/img/container-logo.png' height='64' …
+<pubDate>Mon, October 12 2020</pubDate>
+</item>
+
+<item>
+<title>Container from scratch: building a Linux container from the ground up</…
+<link>https://kevinboone.me/containerfromscratch.html</link>
+<guid>https://kevinboone.me/containerfromscratch.html</guid>
+<description>Containers have become increasingly important for Linux developer…
+<media:thumbnail url='https://kevinboone.me/img/container-logo.png' height='64…
+<media:content url='https://kevinboone.me/img/container-logo.png' height='64' …
+<pubDate>Mon, October 12 2020</pubDate>
+</item>
+
+<item>
+<title>The importance of enabling compiler warnings in C and C++ programming</…
+<link>https://kevinboone.me/gcc_warnings.html</link>
+<guid>https://kevinboone.me/gcc_warnings.html</guid>
+<description>I see too many C (and C++) programs misbehave at runtime, for rea…
+<media:thumbnail url='https://kevinboone.me/img/c-logo.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/c-logo.png' height='64' width='6…
+<pubDate>Fri, October 02 2020</pubDate>
+</item>
+
+<item>
+<title>Why is covid-19 testing so unreliable? A pictorial view</title>
+<link>https://kevinboone.me/covidtest.html</link>
+<guid>https://kevinboone.me/covidtest.html</guid>
+<description>The UK Government's response to the covid-19 is to 'test, test, t…
+<media:thumbnail url='https://kevinboone.me/img/coronavirus.png' height='64' w…
+<media:content url='https://kevinboone.me/img/coronavirus.png' height='64' wid…
+<pubDate>Sat, September 26 2020</pubDate>
+</item>
+
+<item>
+<title>Java as a scripting language: new auto-compilation features in Java 11<…
+<link>https://kevinboone.me/java_scripting.html</link>
+<guid>https://kevinboone.me/java_scripting.html</guid>
+<description>New auto-compilation features in Java 11 give Java the potential …
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Mon, September 21 2020</pubDate>
+</item>
+
+<item>
+<title>How to run a shell script from a Java application</title>
+<link>https://kevinboone.me/exec.html</link>
+<guid>https://kevinboone.me/exec.html</guid>
+<description>Running a shell script from a Java program using <code>Runtime.ex…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Fri, September 04 2020</pubDate>
+</item>
+
+<item>
+<title>Making simple stop-motion animations using Linux and a DSLR camera</tit…
+<link>https://kevinboone.me/stopmotionlinux.html</link>
+<guid>https://kevinboone.me/stopmotionlinux.html</guid>
+<description>Creating stop-motion animated movies using a DSLR camera and some…
+<media:thumbnail url='https://kevinboone.me/img/movieclip.jpg' height='64' wid…
+<media:content url='https://kevinboone.me/img/movieclip.jpg' height='64' width…
+<pubDate>Sat, August 29 2020</pubDate>
+</item>
+
+<item>
+<title>Developing micro-microservices in C on Red Hat OpenShift</title>
+<link>https://kevinboone.me/c_microservices.html</link>
+<guid>https://kevinboone.me/c_microservices.html</guid>
+<description>Although Java dominates the webservices world, there are gains to…
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Sat, August 29 2020</pubDate>
+</item>
+
+<item>
+<title>Understanding the Hamming 'sphere packing' bound in coding theory</titl…
+<link>https://kevinboone.me/hamming_bound.html</link>
+<guid>https://kevinboone.me/hamming_bound.html</guid>
+<description>The Hamming bound is an important metric in the evaluation of inf…
+<media:thumbnail url='https://kevinboone.me/img/antenna.png' height='64' width…
+<media:content url='https://kevinboone.me/img/antenna.png' height='64' width='…
+<pubDate>Wed, August 19 2020</pubDate>
+</item>
+
+<item>
+<title>Solving a quadratic equation in a prime (finite) field</title>
+<link>https://kevinboone.me/quadratic-prime.html</link>
+<guid>https://kevinboone.me/quadratic-prime.html</guid>
+<description>This article describes how to do arithmetic in a small finite (pr…
+<media:thumbnail url='https://kevinboone.me/img/antenna.png' height='64' width…
+<media:content url='https://kevinboone.me/img/antenna.png' height='64' width='…
+<pubDate>Wed, August 19 2020</pubDate>
+</item>
+
+<item>
+<title>An introduction to joint, marginal, and conditional probabilities</titl…
+<link>https://kevinboone.me/joint_prob.html</link>
+<guid>https://kevinboone.me/joint_prob.html</guid>
+<description>An explanation from first principles of the concepts of probabili…
+<media:thumbnail url='https://kevinboone.me/img/horse.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/horse.png' height='64' width='64…
+<pubDate>Thu, July 30 2020</pubDate>
+</item>
+
+<item>
+<title>Using the Raspberry Pi official 7-inch touch-screen in embedded applica…
+<link>https://kevinboone.me/rpi_touchscreen.html</link>
+<guid>https://kevinboone.me/rpi_touchscreen.html</guid>
+<description>The official Raspberry Pi 7-inch touchscreen is a useful and well…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Wed, July 08 2020</pubDate>
+</item>
+
+<item>
+<title>Handling GPIO-connected switches robustly in C on the Raspberry Pi</tit…
+<link>https://kevinboone.me/pi-button-pipe.html</link>
+<guid>https://kevinboone.me/pi-button-pipe.html</guid>
+<description>It's surprisingly difficult to detect switch actuations in a robu…
+<media:thumbnail url='https://kevinboone.me/img/button.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/button.png' height='64' width='6…
+<pubDate>Wed, July 08 2020</pubDate>
+</item>
+
+<item>
+<title>Why switching high currents using a MOSFET and a Raspberry Pi is not as…
+<link>https://kevinboone.me/mosfet.html</link>
+<guid>https://kevinboone.me/mosfet.html</guid>
+<description>Using a single MOSFET transistor for power switching in microcont…
+<media:thumbnail url='https://kevinboone.me/img/mosfet.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/mosfet.png' height='64' width='6…
+<pubDate>Wed, July 08 2020</pubDate>
+</item>
+
+<item>
+<title>Extracting software from the Raspbian repository, for assembling a cust…
+<link>https://kevinboone.me/get_deb.html</link>
+<guid>https://kevinboone.me/get_deb.html</guid>
+<description>Using the official Raspian repository to assist the construction …
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Wed, July 08 2020</pubDate>
+</item>
+
+<item>
+<title>Bayesian statistics for dummies</title>
+<link>https://kevinboone.me/bayes.html</link>
+<guid>https://kevinboone.me/bayes.html</guid>
+<description>An explanation from first principles of this much-misunderstood p…
+<media:thumbnail url='https://kevinboone.me/img/horse.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/horse.png' height='64' width='64…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Night of the living differential equations -- modeling the zombie apoca…
+<link>https://kevinboone.me/zom.html</link>
+<guid>https://kevinboone.me/zom.html</guid>
+<description>Using a simple application of Euler's method to estimate the solu…
+<media:thumbnail url='https://kevinboone.me/img/zom.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/zom.png' height='64' width='64'/>
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Night of the living drag coefficients -- ballistics applied to zombie c…
+<link>https://kevinboone.me/zom2.html</link>
+<guid>https://kevinboone.me/zom2.html</guid>
+<description>An introduction to the science of exterior ballistics -- tracking…
+<media:thumbnail url='https://kevinboone.me/img/zom.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/zom.png' height='64' width='64'/>
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Law and small woodlands</title>
+<link>https://kevinboone.me/woodland-law.html</link>
+<guid>https://kevinboone.me/woodland-law.html</guid>
+<description>An exploration of various aspects of English law, as they apply t…
+<media:thumbnail url='https://kevinboone.me/img/tree.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/tree.png' height='64' width='64'…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>The titles game: can you buy nobility?</title>
+<link>https://kevinboone.me/thetitlesgame.html</link>
+<guid>https://kevinboone.me/thetitlesgame.html</guid>
+<description>This article is about whether you can legally and openly buy a Br…
+<media:thumbnail url='https://kevinboone.me/img/crown.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/crown.png' height='64' width='64…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>An introduction to steam locomotive technology</title>
+<link>https://kevinboone.me/steam101.html</link>
+<guid>https://kevinboone.me/steam101.html</guid>
+<description>Oh yes it's great to be an engine... But how did the driving forc…
+<media:thumbnail url='https://kevinboone.me/img/steam101_tank.jpg' height='64'…
+<media:content url='https://kevinboone.me/img/steam101_tank.jpg' height='64' w…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Prototyping a large Raspberry Pi case</title>
+<link>https://kevinboone.me/pi_case.html</link>
+<guid>https://kevinboone.me/pi_case.html</guid>
+<description>Using high-density vinyl board to construct a practical prototype…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Raspberry Pi 4 -- is it good news for experimenters and enthusiasts?</t…
+<link>https://kevinboone.me/pi4why.html</link>
+<guid>https://kevinboone.me/pi4why.html</guid>
+<description>Faster, more of everything, same price -- what's not to like?</de…
+<media:thumbnail url='https://kevinboone.me/img/pi.png' height='64' width='64'…
+<media:content url='https://kevinboone.me/img/pi.png' height='64' width='64'/>
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Building a Lua extension library for Linux in C/C++</title>
+<link>https://kevinboone.me/lualib.html</link>
+<guid>https://kevinboone.me/lualib.html</guid>
+<description>Lua is an embeddable scripting language, which can be extended in…
+<media:thumbnail url='https://kevinboone.me/img/lua-logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/lua-logo.png' height='64' width=…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Lua quick-start for Java programmers</title>
+<link>https://kevinboone.me/luajava.html</link>
+<guid>https://kevinboone.me/luajava.html</guid>
+<description>The essentials of Lua programming in one page, for experienced Ja…
+<media:thumbnail url='https://kevinboone.me/img/lua-logo.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/lua-logo.png' height='64' width=…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>A Linux storage management cheat-sheet</title>
+<link>https://kevinboone.me/linux_storage_cheatsheet.html</link>
+<guid>https://kevinboone.me/linux_storage_cheatsheet.html</guid>
+<description>This article outlines, with step-by-step examples, how to carry o…
+<media:thumbnail url='https://kevinboone.me/img/tux_disk.png' height='64' widt…
+<media:content url='https://kevinboone.me/img/tux_disk.png' height='64' width=…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>An introduction to Perl for Java programmers</title>
+<link>https://kevinboone.me/javaperl.html</link>
+<guid>https://kevinboone.me/javaperl.html</guid>
+<description>A quick-start guide that highlights the similarities and differen…
+<media:thumbnail url='https://kevinboone.me/img/perl-logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/perl-logo.png' height='64' width…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Why use of the @Override annotation is essential in Java</title>
+<link>https://kevinboone.me/java_override.html</link>
+<guid>https://kevinboone.me/java_override.html</guid>
+<description>Developers don't use @Override enough. Java's method visibility r…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>A collection of Java curiosities and oddities</title>
+<link>https://kevinboone.me/java_oddities.html</link>
+<guid>https://kevinboone.me/java_oddities.html</guid>
+<description>Why does Java have a NullPointerException when it doesn't support…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Generating simple MIDI files using Java, without using the Java Sound A…
+<link>https://kevinboone.me/javamidi.html</link>
+<guid>https://kevinboone.me/javamidi.html</guid>
+<description>Although the Java Media Framework can do some very sophisticated …
+<media:thumbnail url='https://kevinboone.me/img/notes.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.png' height='64' width='64…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>How to give a presentation</title>
+<link>https://kevinboone.me/howto_presentation.html</link>
+<guid>https://kevinboone.me/howto_presentation.html</guid>
+<description>Some guidance, mostly for students, on how to make a scientific o…
+<media:thumbnail url='https://kevinboone.me/img/report.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/report.png' height='64' width='6…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>A brief history of English land law</title>
+<link>https://kevinboone.me/history_of_land_law.html</link>
+<guid>https://kevinboone.me/history_of_land_law.html</guid>
+<description>What the Normans did for us.</description>
+<media:thumbnail url='https://kevinboone.me/img/land.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/land.png' height='64' width='64'…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Compiling a Java program to native code using GraalVM, from the ground …
+<link>https://kevinboone.me/graalvm_native.html</link>
+<guid>https://kevinboone.me/graalvm_native.html</guid>
+<description>The GraalVM 'Native Image' plugin has the capability to compile t…
+<media:thumbnail url='https://kevinboone.me/img/gears.png' height='64' width='…
+<media:content url='https://kevinboone.me/img/gears.png' height='64' width='64…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>How the Fabric8 Maven plug-in deploys Java applications to OpenShift</t…
+<link>https://kevinboone.me/fmp.html</link>
+<guid>https://kevinboone.me/fmp.html</guid>
+<description>This article describes in detail the steps the Fabric8 Maven plug…
+<media:thumbnail url='https://kevinboone.me/img/openshift_logo.png' height='64…
+<media:content url='https://kevinboone.me/img/openshift_logo.png' height='64' …
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Making a Java JAR file self-executing (on Linux)</title>
+<link>https://kevinboone.me/execjava.html</link>
+<guid>https://kevinboone.me/execjava.html</guid>
+<description>A quick-and-dirty way to make it possible to execute Java JAR fil…
+<media:thumbnail url='https://kevinboone.me/img/java_logo.png' height='64' wid…
+<media:content url='https://kevinboone.me/img/java_logo.png' height='64' width…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Ten simple rules for passing an examination</title>
+<link>https://kevinboone.me/exams.html</link>
+<guid>https://kevinboone.me/exams.html</guid>
+<description>Advice for students on how to do well in university level examina…
+<media:thumbnail url='https://kevinboone.me/img/report.png' height='64' width=…
+<media:content url='https://kevinboone.me/img/report.png' height='64' width='6…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Why you can't play Bach on a piano</title>
+<link>https://kevinboone.me/equal_tempered_scale.html</link>
+<guid>https://kevinboone.me/equal_tempered_scale.html</guid>
+<description>Well, perhaps you can play Bach on a piano, if you have the skill…
+<media:thumbnail url='https://kevinboone.me/img/notes.gif' height='64' width='…
+<media:content url='https://kevinboone.me/img/notes.gif' height='64' width='64…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>An overview of character encoding for developers</title>
+<link>https://kevinboone.me/encoding.html</link>
+<guid>https://kevinboone.me/encoding.html</guid>
+<description>How character encoding actually works, and the implications for d…
+<media:thumbnail url='https://kevinboone.me/img/unicode_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/unicode_logo.png' height='64' wi…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>A ten-minute guide to electrical theory</title>
+<link>https://kevinboone.me/electricity.html</link>
+<guid>https://kevinboone.me/electricity.html</guid>
+<description>Volts, amps, ohms, and watts, for complete beginners. This articl…
+<media:thumbnail url='https://kevinboone.me/img/plug.png' height='64' width='6…
+<media:content url='https://kevinboone.me/img/plug.png' height='64' width='64'…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Unicode combining and graphemes -- how two identical Java Strings can b…
+<link>https://kevinboone.me/combining_unicode.html</link>
+<guid>https://kevinboone.me/combining_unicode.html</guid>
+<description>Java's strict adherence to Unicode standards for text representat…
+<media:thumbnail url='https://kevinboone.me/img/unicode_logo.png' height='64' …
+<media:content url='https://kevinboone.me/img/unicode_logo.png' height='64' wi…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Using an ammo box as portable 12V power supply</title>
+<link>https://kevinboone.me/battery-box.html</link>
+<guid>https://kevinboone.me/battery-box.html</guid>
+<description>A military-surplus steel ammunition box makes a great housing for…
+<media:thumbnail url='https://kevinboone.me/img/ammo-battery-outside.jpg' heig…
+<media:content url='https://kevinboone.me/img/ammo-battery-outside.jpg' height…
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>Extending the bash 'cd' command in Linux</title>
+<link>https://kevinboone.me/bashcd.html</link>
+<guid>https://kevinboone.me/bashcd.html</guid>
+<description>The built-in cd command in the bash shell is not as smart as it c…
+<media:thumbnail url='https://kevinboone.me/img/tux.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/tux.png' height='64' width='64'/>
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+<item>
+<title>The Argleton affair, and the Wikification of the World-Wide Web</title>
+<link>https://kevinboone.me/argleton.html</link>
+<guid>https://kevinboone.me/argleton.html</guid>
+<description>How a non-existent English village ended up on maps, and the impl…
+<media:thumbnail url='https://kevinboone.me/img/web.png' height='64' width='64…
+<media:content url='https://kevinboone.me/img/web.png' height='64' width='64'/>
+<pubDate>Tue, July 07 2020</pubDate>
+</item>
+
+</channel>
+</rss>
diff --git a/input/sfeed/time/times.xml b/input/sfeed/time/times.xml
@@ -185,6 +185,10 @@
<entry><updated>14 June, 2021</updated><title>14 June, 2021</title></entry><!-…
<entry><updated>14 Jun 21</updated><title>14 Jun 21</title></entry><!-- old RF…
+<entry><updated>Fri, 14 June 2021</updated><title>Fri, 14 June 2021</title></e…
+<entry><updated>Fri, June 14 2021</updated><title>Fri, June 14 2021</title></e…
+<entry><updated>Fri, 14 June, 2021</updated><title>Fri, 14 June, 2021</title><…
+
<!-- RFC2822 4.3: obsolete short year, format used in RSS pubDate -->
<entry><updated>Sun, 26 Jul 0 19:26:34</updated><title>Sun, 26 Jul 0 19:26:34<…
<entry><updated>Sun, 26 Jul 00 19:26:34</updated><title>Sun, 26 Jul 00 19:26:3…
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.