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… |