<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-10-30T01:07:15Z</updated>
  <generator>https://nostr.now</generator>

  <title>Nostr notes by Redhatter (VK4MSL)</title>
  <author>
    <name>Redhatter (VK4MSL)</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.now/npub1dahrhdewlpjr6ma8v4cke4840mtrgmt49kkx4ptf96wy8jdst39s6p43a5.rss" />
  <link href="https://nostr.now/npub1dahrhdewlpjr6ma8v4cke4840mtrgmt49kkx4ptf96wy8jdst39s6p43a5" />
  <id>https://nostr.now/npub1dahrhdewlpjr6ma8v4cke4840mtrgmt49kkx4ptf96wy8jdst39s6p43a5</id>
  <icon>https://secure.gravatar.com/avatar/bc98b1c68ecf392fe11c297e1922ebd64cb3201533b0554aef6937eecbb10b36?s=120&amp;d=mm&amp;r=g</icon>
  <logo>https://secure.gravatar.com/avatar/bc98b1c68ecf392fe11c297e1922ebd64cb3201533b0554aef6937eecbb10b36?s=120&amp;d=mm&amp;r=g</logo>




  <entry>
    <id>https://nostr.now/nevent1qqsq0647p67tneq3w2vt6k7c7ykfl3pq0yc60l2fw3vhu4aws5wcvxqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwyk0emlca</id>
    
      <title type="html">I’ve been doing a lot of thinking about my choices of software ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsq0647p67tneq3w2vt6k7c7ykfl3pq0yc60l2fw3vhu4aws5wcvxqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwyk0emlca" />
    <content type="html">
      I’ve been doing a lot of thinking about my choices of software of late in the face of “the sloppening”.  LLMs have infiltrated many open-source projects, some of these being ones I’ve used for decades.&lt;br/&gt;&lt;br/&gt;This has put me between a rock and a hard place.  On the one hand, I wish to support ethical choices in technology.  LLMs are not ethical.  On the other, security vulnerabilities will drag me down the road of LLM use whether I want it or not: we can’t simply ask attackers “please don’t use LLMs” — if that worked then our prison systems should be empty.## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My objections to LLM useI covered this in detail in my [last post](&lt;a href=&#34;https://vk4msl.com/2026/08/02/work-in-2026/&#34;&gt;https://vk4msl.com/2026/08/02/work-in-2026/&lt;/a&gt; ), but it boils down to this:&amp;lt;li&amp;gt;LLM output, whilst itself not directly applicable to copyright (as it is not the work of a human), &amp;lt;em&amp;gt;can&amp;lt;/em&amp;gt; sometimes contain the copyrighted work of other humans (e.g. &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://github.com/ocaml/ocaml/pull/14369&amp;#34;&amp;gt;like&#34;&gt;https://github.com/ocaml/ocaml/pull/14369&amp;#34;&amp;gt;like&lt;/a&gt; this&amp;lt;/a&amp;gt;) in violation of the license agreements that those copyrighted works are distributed.  &amp;lt;strong&amp;gt;There exists a legal risk that users of “derivative works” of copyrighted material may be found liable for unauthorised use of this copyrighted material.&amp;lt;/strong&amp;gt; — &amp;lt;em&amp;gt;I don’t want that risk!&amp;lt;/em&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Current generation LLMs are trained on material that is merely scraped off the Internet using poorly coded and highly inefficient scraper bots, then labelled with the aide of humans — &amp;lt;strong&amp;gt;often slave labour&amp;lt;/strong&amp;gt; in developing countries. — &amp;lt;em&amp;gt;I do not wish to support the slave trade!&amp;lt;/em&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Whilst the effort right now with LLMs is to achieve “human-level” intelligence, the ability of current technology to effectively simulate a neural network with the complexity and density of a human brain is severely lacking, requiring vast data centres that &amp;lt;strong&amp;gt;consume exorbitant amounts of electrical energy&amp;lt;/strong&amp;gt; and &amp;lt;strong&amp;gt;producing vast amounts of thermal energy&amp;lt;/strong&amp;gt; that must then be radiated away, represents a threat to our climate ecosystem that cannot be justified at any cost. — &amp;lt;em&amp;gt;I value the natural environment that our society exists in!&amp;lt;/em&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Development of these tools is progressing at such a rapid pace, that current generation equipment depreciates at a rapid rate, requiring frequent replacement.  Semiconductor production is necessarily a resource intensive industry and the frequent manufacture–commissioning–decommissioning cycle is producing massive amounts of e-waste whilst putting heavy demand on these facilities, &amp;lt;strong&amp;gt;further compounding the already poor environmental footprint&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;The output of these tools is often wrong, requiring the user to send the work back to be re-worked.  &amp;lt;strong&amp;gt;Wasted time and effort.&amp;lt;/strong&amp;gt;  Computers in the 1950s might’ve been wrong occasionally, but it was generally traced down to failure of hardware components, the mathematical concepts underpinning this were sound, better manufacturing and components fixed this.  “Hallucination” (really &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://en.wikipedia.org/wiki/Confabulation&amp;#34;&amp;gt;confabulation&amp;lt;/a&amp;gt&#34;&gt;https://en.wikipedia.org/wiki/Confabulation&amp;#34;&amp;gt;confabulation&amp;lt;/a&amp;gt&lt;/a&gt;;) is &amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://arxiv.org/html/2409.05746v1&amp;#34;&amp;gt;presently&#34;&gt;https://arxiv.org/html/2409.05746v1&amp;#34;&amp;gt;presently&lt;/a&gt; believed to be unfixable&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;It is said that relying on these tools has been shown to reduce one’s cognitive abilities, increasing dependence on these tools for functional work.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Financially, the companies running these systems are a house of cards on the verge of collapse.  &amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://isaiprofitable.com/&amp;#34;&amp;gt;No&#34;&gt;https://isaiprofitable.com/&amp;#34;&amp;gt;No&lt;/a&gt; LLM vendor right now is making a profit.&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;  When the real bills finally arrive, will you be able to afford them?  If they go bust, can your work continue without?&amp;lt;/li&amp;gt;### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My legal objection to LLM useThe first of these is a *legal* argument, and really it’s going to take time, but eventually there will be a test case that will confirm whether my suspicions are founded.  I am not a lawyer, so take what you see there with a grain of salt, but to be a successful software developer, one must have at least some *basic* understanding of the legal principles at play here, otherwise you find yourself in court (or in gaol) instead of in front of the computer.&lt;br/&gt;&lt;br/&gt;I don’t have the money to fend off a potential case of copyright infringement, nor do I want to spend time having to mop up after someone is found guilty of such infringement.  Code from a LLM, even if it looks *novel* and new to us because we’ve never seen it before, existed *somewhere*, and few have the resources to properly conduct a check to see where it came from.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Ethical objectionsPoints 2-4 point out the ethical issues, notably sourcing of training material, slavery and environmental concerns.&lt;br/&gt;&lt;br/&gt;I fully expect that as technology gets better, we may see hardware that is *better* able to simulate the biological systems these tools try to emulate.  Greater density, lower power consumption, less thermal waste output.  The [Manchester Baby](&lt;a href=&#34;https://en.wikipedia.org/wiki/Manchester_Baby&#34;&gt;https://en.wikipedia.org/wiki/Manchester_Baby&lt;/a&gt; ) was an early implementation of the Von-Neumann computer architecture that underpins the basic principles of every personal computer today… it needed 3.5kW to run this early 32-bit computer which had a mere 128 bytes (in today’s measurement; 1024 bits) of memory and ran at around 1100 instructions per second.  There are ARM Cortex M0&#43; cores today (also 32-bits) with thousands of times more memory, clock speeds in the hundreds of megahertz and run full speed with less than 1W of power.&lt;br/&gt;&lt;br/&gt;*That* part will get better.  Even if they do fix that problem though, they still likely will be enslaving people to do the labelling skulduggery and [using pirated material](&lt;a href=&#34;https://www.tomshardware.com/tech-industry/artificial-intelligence/meta-staff-torrented-nearly-82tb-of-pirated-books-for-ai-training-court-records-reveal-copyright-violations&#34;&gt;https://www.tomshardware.com/tech-industry/artificial-intelligence/meta-staff-torrented-nearly-82tb-of-pirated-books-for-ai-training-court-records-reveal-copyright-violations&lt;/a&gt; ) to boot.  They need to solve this problem too, but so far, their efforts have been on trying to be made exempt from those rules.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Practical concernsThe financial situation suggests prices will skyrocket once funding dries up, and when that happens, people using these tools will face a choice: hike their fees to cover the increased costs, or abandon the tools en masse and return to the “old way” of doing things.&lt;br/&gt;&lt;br/&gt;I also question the logic of feeding tokens into a machine and pushing a button, hoping that *this time*, we’ll hit the jackpot and get useful output.  If I wanted to earn an income that way, I’d visit the local poker machine.## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My actions going forwardThere are two classes of software I need to consider, the software packages I simply use, and those which I actually contribute to.  In both cases, some have viable replacements that I can switch to, some *may* have viable replacements in the future, some I still need to keep using, some I can abandon.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Linux kernelDealing with this is a tough nut.  The core kernel project is now using LLMs as part of their core workflow.  Linus Torvalds basically told us to [fork it or leave](&lt;a href=&#34;https://lore.kernel.org/all/CAHk-%3Dwi4zC%2BZe8e%2Bp3tMv8TtG_80KzsZ1syL9anBtmEh5Z40vg@mail.gmail.com/&#34;&gt;https://lore.kernel.org/all/CAHk-%3Dwi4zC%2BZe8e%2Bp3tMv8TtG_80KzsZ1syL9anBtmEh5Z40vg@mail.gmail.com/&lt;/a&gt; ) if we don’t like it.  I considered both:#### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;“Fork off”, use something elseThis isn’t a full list, but I looked at several options:&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.netbsd.org&amp;#34;&amp;gt;NetBSD&amp;lt;/a&amp;gt&#34;&gt;https://www.netbsd.org&amp;#34;&amp;gt;NetBSD&amp;lt;/a&amp;gt&lt;/a&gt;; looks like a good option for a lot of my servers.  It is open-source, POSIX-compatible and does many of the things I need of a server.  At the moment this blog runs on AlpineLinux, but moving it over to NetBSD is very doable.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;As a desktop I gave it a try, hardware support being its big Achilles heel — it can’t tap into the hardware support Linux has without tainting the kernel with GPLv2-licensed code, so drivers must be written from first principles.  Support for interfaces like Bluetooth are &amp;lt;em&amp;gt;really lacking&amp;lt;/em&amp;gt; (mind you, it at least supports it unlike OpenBSD).  It feels a lot like Linux circa early 2000s.  It’s a good base we could build from, but lots of work is needed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;For non-x86 platforms, the situation is quite spotty.  My TS-7670s basically would require me to dig through the Freescale i.MX28 user manual and port the kernel to this &amp;lt;em&amp;gt;new&amp;lt;/em&amp;gt; (to NetBSD) SoC, before then porting the TS-7670 rev D board.  My Raspberry Pis are harder still, because much of the documentation for these is under a NDA from Broadcom.  A Linux fork is really my best option for these.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;While the kernel is free of slop, there are some packages shipped in the base OS that have some slop in them (e.g. Postfix).  Not a lot we can do there.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.openbsd.org&amp;#34;&amp;gt;OpenBSD&amp;lt;/a&amp;gt&#34;&gt;https://www.openbsd.org&amp;#34;&amp;gt;OpenBSD&amp;lt;/a&amp;gt&lt;/a&gt;; is also an option on the servers, and I already do run some with OpenBSD.  &amp;lt;code&amp;gt;tmux&amp;lt;/code&amp;gt; is vibe-coded now, but that’s not a core component of the OS (despite being shipped in base) and can be safely ignored — I use GNU &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; anyway.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;I can rule out &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.freebsd.org&amp;#34;&amp;gt;FreeBSD&amp;lt;/a&amp;gt&#34;&gt;https://www.freebsd.org&amp;#34;&amp;gt;FreeBSD&amp;lt;/a&amp;gt&lt;/a&gt;; as they now embrace the slop.  Might as well stay with Linux in that case.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Similarly, I can strike out 4.4BSD fork &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.dragonflybsd.org&amp;#34;&amp;gt;DragonFlyBSD&amp;lt;/a&amp;gt&#34;&gt;https://www.dragonflybsd.org&amp;#34;&amp;gt;DragonFlyBSD&amp;lt;/a&amp;gt&lt;/a&gt;; as &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commit;h=addc09efd987e110a78fbd9df4f06bedf0049907&amp;#34;&amp;gt;they&#34;&gt;https://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commit;h=addc09efd987e110a78fbd9df4f06bedf0049907&amp;#34;&amp;gt;they&lt;/a&gt; embrace slop&amp;lt;/a&amp;gt; too.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://redox-os.org/&amp;#34;&amp;gt;RedoxOS&amp;lt;/a&amp;gt&#34;&gt;https://redox-os.org/&amp;#34;&amp;gt;RedoxOS&amp;lt;/a&amp;gt&lt;/a&gt;; has a no-AI policy, but is a long way from being usable as a desktop as it lacks support for common hardware such as WiFi and is still in an early development phase.  Worth looking at later, but not viable yet.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.haiku-os.org/&amp;#34;&amp;gt;HaikuOS&amp;lt;/a&amp;gt&#34;&gt;https://www.haiku-os.org/&amp;#34;&amp;gt;HaikuOS&amp;lt;/a&amp;gt&lt;/a&gt;; has come a long way.  It’s a re-implementation of BeOS, and like RedoxOS, has a no-AI policy.  Many common software packages run on it.  I played with it in a VM and it actually did feel like a nice desktop OS.  There is an ARM64 port of it, but when I tried that on my Raspberry Pi 400, it refused to boot.  So not ready to displace Linux yet, but looking good.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://illumos.org/&amp;#34;&amp;gt;Illumos&amp;lt;/a&amp;gt&#34;&gt;https://illumos.org/&amp;#34;&amp;gt;Illumos&amp;lt;/a&amp;gt&lt;/a&gt;; is a fork of OpenSolaris, so basically a genetic Unix rooted in BSD and Sun ancestry.  Has an anti-AI policy, supports a lot of software, but hardware support is lacking.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;http://www.9front.org/&amp;#34;&amp;gt;9Front&amp;lt;/a&amp;gt&#34;&gt;http://www.9front.org/&amp;#34;&amp;gt;9Front&amp;lt;/a&amp;gt&lt;/a&gt;; looks interesting, but very esoteric.  It is a continuation of Bell Labs Plan9.  It too has a no-AI policy, but hardware and software support is probably not going to make it a practical choice for me.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.gnu.org/software/hurd/&amp;#34;&amp;gt;GNU&#34;&gt;https://www.gnu.org/software/hurd/&amp;#34;&amp;gt;GNU&lt;/a&gt; Hurd&amp;lt;/a&amp;gt; doesn’t seem to have moved far from where it was in the 90s when Linux first started and displaced it as “the” GNU kernel.  It is clean of slop as far as I can tell, and it is even supported by &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.debian.org/ports/hurd/&amp;#34;&amp;gt;Debian&amp;lt;/a&amp;gt&#34;&gt;https://www.debian.org/ports/hurd/&amp;#34;&amp;gt;Debian&amp;lt;/a&amp;gt&lt;/a&gt;; and &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.gentoo.org/news/2026/04/01/gentoo-hurd.html&amp;#34;&amp;gt;Gentoo&amp;lt;/a&amp;gt&#34;&gt;https://www.gentoo.org/news/2026/04/01/gentoo-hurd.html&amp;#34;&amp;gt;Gentoo&amp;lt;/a&amp;gt&lt;/a&gt;;,  Hardware support is lacking, but being a GPLv2 kernel, we could possibly port Linux drivers and features over to it — this would be a big job though.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;I might’ve missed something, but that looks like a pretty extensive list.  Of that list, NetBSD seems to be the best approach, failing that maybe getting behind HaikuOS (for a desktop) or filling the gaps in Hurd (if we want to re-purpose GPLv2 code).#### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;“Fork it” approachUnder the terms of the GPLv2, we’re allowed to do this.  The “Linux™” name is trademarked, and while it’s tempting to mention an alternate name just now, I know the moment such a name is mentioned, it’ll be off to the races to the nearest domain registrar to snag the .org domain for it ahead of the squatters.  Linus himself already knows about people squatting names and profiting from it, which is why he now holds the trademark in the first place.&lt;br/&gt;&lt;br/&gt;This is not something I can do alone.  Arguably, I don’t feel I’m a skilled enough coder to do this either.  I know enough C code to be dangerous, but this is playing with stuff *deep* in a system where I have never needed to stray before.  That said, in the aim of “getting the ball rolling”, [I made a start](&lt;a href=&#34;https://github.com/sjlongland/linux/tree/slop-reduced-linux&#34;&gt;https://github.com/sjlongland/linux/tree/slop-reduced-linux&lt;/a&gt; ).  I also [made a map of where known slop is](&lt;a href=&#34;https://gist.github.com/sjlongland/70e700f1d4d8b60a049bb6caadf7bebb&#34;&gt;https://gist.github.com/sjlongland/70e700f1d4d8b60a049bb6caadf7bebb&lt;/a&gt; ) in the kernel so in the meantime, I can avoid touching it.&lt;br/&gt;&lt;br/&gt;An uncomfortable truth with this: we *will* get security vulnerability reports from people that used LLMs to discover them even if we ask them not to use such tools.&lt;br/&gt;&lt;br/&gt;I don’t want to condone such use in any way, but nonetheless, a security bug is a security bug.  I don’t think it’s unreasonable to push back on submitters and ask for a human-written-and-verified proof-of-concept, but people *will* be feeding this code to LLMs to find holes whether we like it or not.  Such a fork should aim to patch vulnerabilities with slop-free commits, but refusing to fix it at all because a LLM was involved isn’t a viable option as the bug can still be exploited.&lt;br/&gt;&lt;br/&gt;Another uncomfortable truth, people will sometimes neglect to disclose LLM use, either accidentally or deliberately.  Where we have *obvious* and *clear* evidence, we should reject such commits.  Otherwise I’m willing to operate on the principle of “innocent until found guilty”, as its nearly impossible to tell just scrutinising a commit in isolation.&lt;br/&gt;&lt;br/&gt;That said, I feel like maintaining a long-term support fork that just focusses on keeping the security updates maintained will give those of us with existing systems a viable platform that will allow us to run our existing software stacks.  This won’t be “big and professional” like Linux ([yeah, I know](&lt;a href=&#34;https://web.archive.org/web/20130302010902/http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b?pli=1&#34;&gt;https://web.archive.org/web/20130302010902/http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b?pli=1&lt;/a&gt; )), but if a few of us band together and pitch in, it’ll give many of us what we need in the immediate term whilst the alternatives get up to speed.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Linux distributionsI already use Gentoo as my desktop OS of choice, so there I’m clear.  I have a few machines that run other OSes, notably a couple of Ubuntu and Debian servers, my Ceph storage cluster all run Debian, my Mastodon instance is Debian.  I have a tablet running Debian 13, and Raspberry Pi OS on a few Raspberry Pis.&lt;br/&gt;&lt;br/&gt;Most of my servers run AlpineLinux, I do not know what their policy is, but so far I’ve not seen any slop creeping in.&lt;br/&gt;&lt;br/&gt;I have run Gentoo on servers before, but I think if a re-load is on the cards, I’ll be looking at NetBSD first.  Failing that, it may be a case of I figure out a build environment that can keep grinding away at security updates for my fleet so I can perform updates in a timely manner.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Desktop environmentMy current desktop is [FVWM](&lt;a href=&#34;https://www.fvwm.org&#34;&gt;https://www.fvwm.org&lt;/a&gt; ).  This is a X11 window manager, and while FVWM itself is slop-free, the next release of X.org server is not.  I am watching [CoW](&lt;a href=&#34;https://cow-wm.codeberg.page/cow/&#34;&gt;https://cow-wm.codeberg.page/cow/&lt;/a&gt; ) very closely, and have given it a try from time to time.  Wayland itself seems to be slop-free, but it is lacking some features of X11, notably accessibility is a big issue.&lt;br/&gt;&lt;br/&gt;For my tablet, a decent on-screen keyboard is a *must*, right now I use [Onboard](&lt;a href=&#34;https://github.com/onboard-osk/onboard&#34;&gt;https://github.com/onboard-osk/onboard&lt;/a&gt; ) which I’ve found to be the best option (although I note now, they have jumped in bed with Claude as of June this year), but this only works on X11.  Things I need: basically look at any laptop keyboard — letters *and* digits, with symbols in their usual places, *all* modifier keys, function keys and navigation keys.  Just because I’m using a tablet does not mean I won’t be interacting with pointer-naïve terminal applications, possibly via SSH… and sometimes interacting with a text field is easier done with on-screen arrow keys than with touch, [not even Apple or Google can make pure-touch work](&lt;a href=&#34;https://jenson.org/text/&#34;&gt;https://jenson.org/text/&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;I need to figure out a screen locking solution, I use XScreensaver at present which is a good option, but it depends on features that are X11-only.  It also does not work with on-screen keyboards.  I theoretically could fork it, but given recent experience, I’m not sure that my derivative work would be welcome.  Better approach might be to deal with a screen locker that maybe isn’t as pretty, but achieves the necessary job: locking the workstation securely on a Wayland desktop.  For the tablet, it’ll need on-screen keyboard support — I need to be able to unlock without a USB keyboard plugged in.&lt;br/&gt;&lt;br/&gt;I have not seen a Wayland launcher that I like, so I’m quietly working on my own [based on ideas I came up with when I last pondered desktop environments](&lt;a href=&#34;https://vk4msl.com/2014/04/12/user-interfaces/&#34;&gt;https://vk4msl.com/2014/04/12/user-interfaces/&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;Other applications, I’ve previously used a lot from the KDE desktop, but that is something I’m starting to review as they embrace the slop.  I historically have disliked GTK&#43; for its insistence on spewing error logs to stderr, but nonetheless, as at this time, this is the only main-stream widget set now that remains slop-free with Qt, wxWidgets and FLTK all embracing slop.&lt;br/&gt;&lt;br/&gt;So where I had a Qt preference years ago, I’m now moving to GTK&#43;: it appears the UI toolkit might be finally over, with the opposition choosing self-sacrifice and GTK&#43; winning by default.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Bluetooth stackRight now I use BlueZ, and it is useful as a means of moving files to/from the mobile phone as well as a key part in managing the audio links to headsets.  If I switched OSes, I’d be looking at something with a similar feature-set.&lt;br/&gt;&lt;br/&gt;Sadly it embraces the slop now.  Thankfully I haven’t needed to dig into its code… I can put up with it for now, but a more ethical option would be welcome.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Audio subsystemRight now I use pipewire for managing audio as it is a very usable blend of features from PulseAudio and JACK. I like the ability to filter audio through applications where needed and would like to keep this feature.  Its integration into the BlueZ Bluetooth stack is good too.&lt;br/&gt;&lt;br/&gt;I think JACK is cross-platform, but PipeWire is likely Linux-only, *and* it recently has embraced the slop.  I know OpenBSD has its own called &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://man.openbsd.org/sndiod&amp;#34;&amp;gt;sndiod&amp;lt;/a&amp;gt&#34;&gt;https://man.openbsd.org/sndiod&amp;#34;&amp;gt;sndiod&amp;lt;/a&amp;gt&lt;/a&gt;;, this probably can compete with PulseAudio but not with JACK/Pipewire.&lt;br/&gt;&lt;br/&gt;For now unless I need to actually debug it, I can “put up” with it.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Web BrowserI dislike Chromium because of its multi-day long builds from source code, it’s a very time consuming package to compile from source.  As a Gentoo user, that is the default way it is shipped, as source code you compile yourself.  I also dislike the idea of an Internet web browser mono-culture.  We had this 25 years ago with IE and it was hell.&lt;br/&gt;&lt;br/&gt;The only thing in Chromium’s favour is that it is open-source, so we can port it and build it ourselves, but that’s about where the advantages end.  The principle maintainer, Google, are a major LLM vendor, and very much want to encourage people to use their services including Gemeni.  I haven’t checked, but I can’t imagine Google *not* using LLMs to code their browser engine.&lt;br/&gt;&lt;br/&gt;I’m a Netscape user from way back: in 1997 it was the only viable option for getting on the Internet with Linux and so that’s what I got to know.  When Mozilla formed from Netscape’s ashes, I switched over to using the full Mozilla suite (which lives on as Seamonkey) and when Firefox came, I switched to that.  Building Firefox from source can be done in a couple of hours on even reasonably modest hardware, vs about 5 days for my teenage laptop to build Chromium.&lt;br/&gt;&lt;br/&gt;Mozilla have since come out as pro-LLM, a tone-deaf stance if ever I heard one, so much they not only use LLMs to code, they also integrate LLM features in the browser.&lt;br/&gt;&lt;br/&gt;That said, they do include an OFF switch for the LLM features, and *that* I do respect.  I’d have preferred if they made it an extension you chose to install if you wanted it, but they at least let me turn it off.  This is akin to having a gun in a safe at home but not possessing any ammunition for it.  I’d rather not have the gun in the house at all, but at least I’m not forced to have it *loaded*.&lt;br/&gt;&lt;br/&gt;[Servo](&lt;a href=&#34;https://servo.org/&#34;&gt;https://servo.org/&lt;/a&gt; ) Browser is one to watch in this space.  It’s a ground-up implementation of a new HTML renderer to compete with Blink/Webkit/KHTML and Netscape Gecko.  It’s a long way from daily driver status, but well worth getting behind, and they are making good progress.  I wish them well and continue to follow from a distance.  I’ll probably be testing some of my web-based projects with this engine going forward.&lt;br/&gt;&lt;br/&gt;I’ve tried building Waterfox, but so far haven’t cracked it… so for now I stick with Firefox ESR.  Last time I had to delve into its source code, it was trying to produce a compromise patch that would enable Firefox to build on more common MIPS platforms (e.g. SGI and Lemote) whilst retaining the compatibility for the PlayStation II that the Mozilla developers wanted to keep.  Firefox is partially coded in Rust now so this is a moot point: Rust doesn’t work on MIPS.&lt;br/&gt;&lt;br/&gt;As such, I haven’t needed to mess with its code in a long time.  So short term, I’ll stay where I am, and start looking at getting behind Servo as the replacement.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Office SuiteText documents I tend to do with LaTeX.  This so far remains slop-free, but they’ve recently [adopted a policy that permits LLM-generated](&lt;a href=&#34;https://github.com/TeX-Live/texlive-source/blob/2065f72c22818d637c3bcf48af6438ae4251b13d/AGENTS.md&#34;&gt;https://github.com/TeX-Live/texlive-source/blob/2065f72c22818d637c3bcf48af6438ae4251b13d/AGENTS.md&lt;/a&gt; ) commits so it won’t remain that way for long.&lt;br/&gt;&lt;br/&gt;For spreadsheeting, [gnumeric](&lt;a href=&#34;https://gnome.pages.gitlab.gnome.org/gnumeric-web//&#34;&gt;https://gnome.pages.gitlab.gnome.org/gnumeric-web//&lt;/a&gt; ) is “good enough”, and in fact its Engineering notation I find is a killer feature.  It remains slop-free.&lt;br/&gt;&lt;br/&gt;I do have LibreOffice installed for more complex tasks and interfacing with Microsofties.  They’ve said they won’t add LLM features *to* LibreOffice (a stance I appreciate), but they have allowed its use with writing its code.  Again, I don’t need to debug it, so I’ll deal with that later.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;EDAI don’t just write code, I design circuits too.  I’ve bounced between a few, but the two I’ve used in the open-source world are KiCAD and GEDA.  KiCAD is by far the better supported package.  Sadly contains a lot of slop in it now, but once again, so long as I don’t interact with its code I’m not tainting myself.&lt;br/&gt;&lt;br/&gt;There are alternative toolchains too, maybe the answer isn’t a “graphical” schematic capture, but to do something more like is done for FPGAs, a hardware-description language that translates to a netlist?### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;GraphicsRight now I use three tools principally: GIMP, Krita and Inkscape.  GIMP recently started accepting slop (just the one commit) as have Inkscape (two commits).  Krita remains clean (for now).&lt;br/&gt;&lt;br/&gt;I mostly still use GIMP v2 because of my use of the XSane plug-in which has not yet been ported to GIMP v3.  Inkscape taking this slop on is annoying, but so far I’ve not needed to debug it, so I can possibly put up with it for now until I can jump ship to an alternative.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Audio editingI normally use Audacity for basic needs, I should give Tenacity a look.&lt;br/&gt;&lt;br/&gt;For more advanced tasks I’ve used Ardour but given I’ve not gone deep into learning Ardour, switching to something like LMMS isn’t a big issue.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Video editingHistorically I’ve used Kdenlive, so far it remains clean.  ffmpeg though is a mess.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Text editingMy bread-and-butter, editing plain text files is how I’ve been earning a living for the past 18 years or so of professional life.  My go-to until recently was &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://www.vim.org&amp;#34;&amp;gt;gvim&amp;lt;/a&amp;gt&#34;&gt;https://www.vim.org&amp;#34;&amp;gt;gvim&amp;lt;/a&amp;gt&lt;/a&gt;;, but as they now embrace the slop, I switched over to hard fork &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://codeberg.org/evi-editor/evi&amp;#34;&amp;gt;gevi&amp;lt;/a&amp;gt&#34;&gt;https://codeberg.org/evi-editor/evi&amp;#34;&amp;gt;gevi&amp;lt;/a&amp;gt&lt;/a&gt;;.  An easy switch because EVi at this time, is practically identical to Vim, all my plug-ins and configs JustWork™.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;This blogThis blog currently uses WordPress 7.1, which includes their [Gutenberg block editor](&lt;a href=&#34;https://github.com/WordPress/gutenberg&#34;&gt;https://github.com/WordPress/gutenberg&lt;/a&gt; ).  I did look at alternatives some time back, I use this WordPress instance as an ActivityPub node, and that’s not something that’s well supported in the other platforms.&lt;br/&gt;&lt;br/&gt;Migrating to something else is also not so easy… thankfully I host it myself so I have control of my data either way.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My social media instanceI run my own [Mastodon](&lt;a href=&#34;https://mastodon.longlandclan.id.au&#34;&gt;https://mastodon.longlandclan.id.au&lt;/a&gt; ) server, have done for a couple of years now.  There is some (two commits) slop there, but generally things have remained clean.  The modifications I’ve made were done long before this slop appeared, and I’ve merely been using git stash save / update / git stash pop to move the patch between releases.&lt;br/&gt;&lt;br/&gt;Migrating to something else is not exactly trivial, even changing hostnames isn’t easy.## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Writing my own softwareSo I write a lot of my own software.  When I needed an embedded AX.25 stack for a project for Brisbane WICEN, I wrote aioax25.  When I needed a SSTV encoder after finding pySSTV wasn’t performant-enough, I wrote libsstvenc.  I’m in the process of writing my on launcher.&lt;br/&gt;&lt;br/&gt;You’ll see lots of examples on my Github and Codeberg repositories.&lt;br/&gt;&lt;br/&gt;Going forward, I’ll probably start looking more carefully at my dependencies.  Notably, I do not wish to force a hard-dependency on a LLM-infected project unless there is no viable alternative.aioax25&lt;br/&gt;&lt;br/&gt; is actually tested on Python 3.9 and up, and I’ll keep supporting this as long as I practically can.  The code is written with Python 3.5 in mind, so it should still work there too even though I don’t regularly test it on that.  This in theory opens the door to use on other Python-compatible language interpreters like [Omegathon](&lt;a href=&#34;https://codeberg.org/Allen123456hello/omegathon&#34;&gt;https://codeberg.org/Allen123456hello/omegathon&lt;/a&gt; ) (untested).  It also has no hard dependency on an OS: it should in theory work just fine on NetBSD/OpenBSD as it does on Linux.libsstvenc&lt;br/&gt;&lt;br/&gt; is straight C and doesn’t itself have any dependencies, the example programs support libgd which is clean of slop for now.  GNU GCC have stated [they won’t allow LLM-generated commits](&lt;a href=&#34;https://gcc.gnu.org/ai-policy.html&#34;&gt;https://gcc.gnu.org/ai-policy.html&lt;/a&gt; ) for the compiler itself, although there are a couple of commits already for their Fortran compiler, their C/C&#43;&#43; compiler remains clean for now.  If I remain conservative with the version of C standard, this allows use of any pre-slop C compiler that meets the spec.&lt;br/&gt;&lt;br/&gt;Checkpoint Reporter is written in pure Java using the OpenJDK v8 SDK.  I can confirm it runs fine on NetBSD, and so far, big LLM boosters [Oracle have requested that people *not* use LLMs for contributing to OpenJDK](&lt;a href=&#34;https://openjdk.org/legal/ai&#34;&gt;https://openjdk.org/legal/ai&lt;/a&gt; ).  This position I do welcome, but it does make me raise an eyebrow given how pro-LLM, if it’s supposedly so good, why not?  Their lawyers must know something they’re not willing to share.  I might have to review its use of Maven, this was a default option when creating a project in Netbeans, it may be that good ol’e Ant might be the better option.  I’ll have a look.&lt;br/&gt;&lt;br/&gt;My biggest gripe with Java remains their reluctance to consider serial devices: all solutions I can find require JNI (with bindings compiled for each desired platform, so much for write-once-run-everywhere, Ugh!).  Highly annoying.&lt;br/&gt;&lt;br/&gt;The launcher I’m writing, right now I’m trying gtkmm and friends as an alternative to Qt, which was my previous go-to UI toolkit.  Again, if I stick to older C&#43;&#43; standards (gtkmm requires C&#43;&#43;11, C&#43;&#43;20 is widely supported too), people can choose to use an older release of GCC or LLVM that’s pre-slop, or in theory, any other compiler that supports that revision of C&#43;&#43;.  gtkmm itself too, is clean, and if I support as old a release as practical, that’ll enable the launcher’s use on many pre-slop versions of Linux distributions and other Unix-like OSes.  I use C&#43;&#43; here because it allows the tools use on platforms where more recent languages such as Rust and Zig are not available.&lt;br/&gt;&lt;br/&gt;I might have a closer look at [Rust](&lt;a href=&#34;https://rust-lang.org/&#34;&gt;https://rust-lang.org/&lt;/a&gt; ), I’ve done some hello-world level stuff with it.  The memory-management approach is an interesting one, and while their policy allows “LLM ingestion” (meaning they let people feed its code to a LLM), they’ve stated that any contributions *must* be human-written (not just human-reviewed).&lt;br/&gt;&lt;br/&gt;[Zig](&lt;a href=&#34;https://ziglang.org/&#34;&gt;https://ziglang.org/&lt;/a&gt; ) may also be worth a look, it is manual memory management like C/C&#43;&#43;, but it doesn’t have some of C’s flaws, and they have an anti-AI policy.  Right now they use the LLVM back-end (which is itself, quite heavily LLM-tainted) but I hear they’re working on an alternative, so maybe in time they may sever that dependency (at least on common platforms).&lt;br/&gt;&lt;br/&gt;[eC](&lt;a href=&#34;https://ec-lang.org/&#34;&gt;https://ec-lang.org/&lt;/a&gt; ) is another I might look at.  Rather than implementing the full compiler, theirs is effectively a transpiler to C.  So it can sit atop gcc, clang or anything else.&lt;br/&gt;&lt;br/&gt;[I have written Go code in the past](&lt;a href=&#34;https://github.com/larrabee/s3sync/commit/973ca1bd42e5ec7209233959f4a33ef66d8b45ac&#34;&gt;https://github.com/larrabee/s3sync/commit/973ca1bd42e5ec7209233959f4a33ef66d8b45ac&lt;/a&gt; ), but won’t be doing so from here on in.  Especially as Go as a language isn’t anything special memory-management wise: it uses garbage-collection the same as Java and C#. &lt;br/&gt;&lt;br/&gt;I mentioned Omegathon which is a Python 3.9 fork, [Tauthon](&lt;a href=&#34;https://github.com/naftaliharris/tauthon&#34;&gt;https://github.com/naftaliharris/tauthon&lt;/a&gt; ) forks Python 2.7 and adds some interesting features from Python 3.  Given I usually enjoy working with Python, these might be worth looking at closer.&lt;br/&gt;&lt;br/&gt;For JavaScript, I lately have been using ReactJS because of my need to understand it at work, but I really haven’t enjoyed dealing with ReactJS and so will look at other options.  The elephant in the room here is tools like webpack that are LLM-infested.  Avoiding slop in this ecosystem is not an easy or trivial task, especially as there isn’t a mainstream open-source browser that is clean.&lt;br/&gt;&lt;br/&gt;In short, while slop is invading a lot of projects, there looks to be some scope to dodge the slop when creating *new* software, and there are things I can do to ensure *existing* software I write can be used in a mostly slop-free environment if that is something people want.  I aim to try to do this where practical.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2026/09/09/software-development-ethics/&#34;&gt;https://vk4msl.com/2026/09/09/software-development-ethics/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#amateurRadio #ethics #llm #openSource #softwareDevelopment
    </content>
    <updated>2026-09-09T03:28:39Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy52wpvhqp0qvqgvqnk2sydnv40gwxl6ply98f8v3d3madl07dr0szyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykg6mxf7</id>
    
      <title type="html">Atlassian Bamboo is a CI/CD server intended for large ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy52wpvhqp0qvqgvqnk2sydnv40gwxl6ply98f8v3d3madl07dr0szyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykg6mxf7" />
    <content type="html">
      Atlassian Bamboo is a CI/CD server intended for large organisations to run internal builds.  One thing that the API designers forgot with this system was a way to enumerate and download artifacts from the CI server.  Not easily anyway.&lt;br/&gt;&lt;br/&gt;The Bamboo server has a reasonable REST API that does about 60% of the work for us, it’ll let us query what the last successful build was, and give us the metadata details of that, as JSON, which we can pick through to get out what we need: mostly this is just the build number.&lt;br/&gt;&lt;br/&gt;With that, we can hit up the artifacts endpoint and download the rest, *but* there’s two flies in the ointment:&amp;lt;li&amp;gt;While the REST API supports Bearer authentication using a personal access token, the artifacts endpoint does not: one must use HTTP basic authentication&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;To download directory trees, one must scrape the HTML and walk the tree&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;Thankfully (2) can be achieved using wget --mirror.&amp;lt;code&amp;gt;# Bamboo server&lt;br/&gt;: ${BAMBOO_URI:=&lt;a href=&#34;https://bamboo.example.net&#34;&gt;https://bamboo.example.net&lt;/a&gt;}&lt;br/&gt;&lt;br/&gt;# Output directory&lt;br/&gt;: ${OUTPUT_DIR:=/tmp/output}&lt;br/&gt;&lt;br/&gt;# Plan keys (with project key prefix)&lt;br/&gt;: ${PLAN_KEYS:=PK-PROJ01 PK-PROJ02}&lt;br/&gt;&lt;br/&gt;if [ -z &amp;#34;${BAMBOO_USER}&amp;#34; ]; then&lt;br/&gt;	read -p &amp;#34;Bamboo username: &amp;#34; BAMBOO_USER&lt;br/&gt;fi&lt;br/&gt;if [ -z &amp;#34;${BAMBOO_PASSWORD}&amp;#34; ]; then&lt;br/&gt;	read -s -p &amp;#34;Bamboo password: &amp;#34; BAMBOO_PASSWORD&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;bamboo_wget() {&lt;br/&gt;	wget 	--http-user &amp;#34;${BAMBOO_USER}&amp;#34; \&lt;br/&gt;		--http-password &amp;#34;${BAMBOO_PASSWORD}&amp;#34; \&lt;br/&gt;		&amp;#34;${@}&amp;#34;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;# Download the latest artifacts from the following projects&lt;br/&gt;for plankey in ${PLAN_KEYS}; do&lt;br/&gt;	bamboo_wget	--header &amp;#34;Accept: application/json&amp;#34; \&lt;br/&gt;			-O &amp;#34;${OUTPUT_DIR}/${plankey}-result.json&amp;#34; \&lt;br/&gt;		${BAMBOO_URI}/rest/api/latest/result/${plankey}?buildstate=Successful\&amp;amp;amp;os_authType=basic&lt;br/&gt;&lt;br/&gt;	buildno=$( jq -r .results.result[0].buildNumber \&lt;br/&gt;			&amp;#34;${OUTPUT_DIR}/${plankey}-result.json&amp;#34; )&lt;br/&gt;&lt;br/&gt;	bamboo_wget -P &amp;#34;${OUTPUT_DIR}/${plankey}&amp;#34; --mirror -nd -np \&lt;br/&gt;		${BAMBOO_URI}/artifact/${plankey}/shared/build-${buildno}/?os_authType=basic&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# ${OUTPUT_DIR} will accumulate some cruft from `wget --mirror` but all the files&lt;br/&gt;# should be there.&lt;br/&gt;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Hopefully it won’t be much longer and I won’t have to deal with this house of horrors much more, but for others that are stuck with it, here’s something that may help.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2026/05/28/batch-downloading-artifacts-from-atlassian-bamboo/&#34;&gt;https://vk4msl.com/2026/05/28/batch-downloading-artifacts-from-atlassian-bamboo/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#atlassian #atlassianBamboo
    </content>
    <updated>2026-05-28T05:37:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrmsmfpnn95a6v3kf2zrr3qk9w2g3qf24d08p3rdy8sygzdw4wmrszyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykggl0ep</id>
    
      <title type="html">Last Easter, I was running a checkpoint at Imbil as I’ve done ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrmsmfpnn95a6v3kf2zrr3qk9w2g3qf24d08p3rdy8sygzdw4wmrszyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykggl0ep" />
    <content type="html">
      Last Easter, I was running a checkpoint at Imbil as I’ve done before… operating a checkpoint at Derrier Hill Grid with horses passing through from three different events simultaneously, coming from two different directions, and getting more confused than a moth in a light shop.  At that time I thought it’d be really handy to have a software program that could “sort ’em all out”.  I punch in the competitor numbers, it tells me what division they’re in and records the time… I then assign the check-points and update the paperwork.&lt;br/&gt;&lt;br/&gt;We have such a program, a VisualBASIC 6 application written by one of the other amateurs, however I use Linux.  My current tablet, a Panasonic FZ-G1 Mk1, won’t run any supported version of Windows well (Windows 10 on 4GB RAM is agonisingly slow… and it goes out of support in October anyway), but otherwise would be an ideal workhorse for this, if I could write a program.&lt;br/&gt;&lt;br/&gt;So I rolled up my sleeves, and wrote a [checkpoint reporting application](&lt;a href=&#34;https://codeberg.org/sjlongland/checkpoint-reporter&#34;&gt;https://codeberg.org/sjlongland/checkpoint-reporter&lt;/a&gt; ).  Java was used because then it can be used on Windows too, as well as any Linux distribution with OpenJDK’s JRE.  I wanted a single “distribution package” that would run on any system with the appropriate runtime, that way I wouldn’t need a build environment for each OS/architecture I wanted to support.&lt;br/&gt;&lt;br/&gt;One thing that troubled me through this process… was getting image resources working.  I used the Netbeans IDE to try and make it easier for others to contribute later on if desired: it has a GUI form builder that can help with all the GUI creation boilerplate, and helps keep the project structure more-or-less resembling a “standard” structure.  (This is something that Python’s tkinter seriously lacks: a RAD tool for producing the UIs.  The author of the aforementioned VB6 software calls it “T-stinker”, and I find it hard to disagree!)&lt;br/&gt;&lt;br/&gt;Netbeans defaults to using the Maven build system for Java projects, although Ant and Gradle are both supported as well.  (Not sure which one of the three is “preferred”, I know Android often use Gradle… thoughts Java people?)  It also supports adding bitmap resources to a project for things like icons.  I used some icons from the [GTK&#43; v3 (LGPLv2)](&lt;a href=&#34;https://codeberg.org/sjlongland/checkpoint-reporter/src/branch/master/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons/gtk&#34;&gt;https://codeberg.org/sjlongland/checkpoint-reporter/src/branch/master/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons/gtk&lt;/a&gt; ) and [Gnome Adwaita Legacy (CCBYSA3)](&lt;a href=&#34;https://codeberg.org/sjlongland/checkpoint-reporter/src/branch/master/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons/adwaita_icon_theme_legacy&#34;&gt;https://codeberg.org/sjlongland/checkpoint-reporter/src/branch/master/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons/adwaita_icon_theme_legacy&lt;/a&gt; ) projects.&lt;br/&gt;&lt;br/&gt;The problem I faced, was actually *using* them in the UI.  I was getting a NullPointerException every time I tried setting one, and [Netbeans’ documentation](&lt;a href=&#34;https://netbeans.apache.org/tutorial/main/kb/docs/java/gui-image-display/&#34;&gt;https://netbeans.apache.org/tutorial/main/kb/docs/java/gui-image-display/&lt;/a&gt; ) was no help at all.  It just wasn’t finding the .png files no matter what I did:&amp;lt;code&amp;gt;2025-06-15T06:32:54.461Z [FINEST] com.vk4msl.checkpointreporter.ui.ReporterForm: Choose nav tree node testException in thread &amp;#34;AWT-EventQueue-0&amp;#34; java.lang.NullPointerException        at javax.swing.ImageIcon.&amp;amp;lt;init&amp;amp;gt;(ImageIcon.java:217)        at com.vk4msl.checkpointreporter.ui.event.EventPanel.initComponents(EventPanel.java:239)        at com.vk4msl.checkpointreporter.ui.event.EventPanel.&amp;amp;lt;init&amp;amp;gt;(EventPanel.java:63)        at com.vk4msl.checkpointreporter.ui.ReporterForm.showEvent(ReporterForm.java:895)        at com.vk4msl.checkpointreporter.CheckpointReporter.showEntity(CheckpointReporter.java:532)        at com.vk4msl.checkpointreporter.ui.ReporterForm.navTreeValueChanged(ReporterForm.java:480)        at com.vk4msl.checkpointreporter.ui.ReporterForm.access$100(ReporterForm.java:70)        at com.vk4msl.checkpointreporter.ui.ReporterForm$2.valueChanged(ReporterForm.java:182)&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Maybe it’s my search skills, or the degradation of search, but I could not put my finger on why it kept failing… the file *was* where it should be, the path in the code was correct according to the docs, why was it failing?&lt;br/&gt;&lt;br/&gt;Turns out, when Maven does a build, it builds all the objects in a target/classes directory.  When Netbeans runs your project, it does so out of *that* directory.  Maven *did not* bother to copy the .png files across, because Netbeans never told it to.&lt;br/&gt;&lt;br/&gt;I needed the following bit of code in my &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://codeberg.org/sjlongland/checkpoint-reporter/src/tag/0.0.1/pom.xml#L114-L123&amp;#34;&amp;gt;pom.xml&amp;lt;/a&amp;gt&#34;&gt;https://codeberg.org/sjlongland/checkpoint-reporter/src/tag/0.0.1/pom.xml#L114-L123&amp;#34;&amp;gt;pom.xml&amp;lt;/a&amp;gt&lt;/a&gt;; file:&amp;lt;code&amp;gt;       &amp;amp;lt;resources&amp;amp;gt;         &amp;amp;lt;resource&amp;amp;gt;           &amp;amp;lt;targetPath&amp;amp;gt;com/vk4msl/checkpointreporter/ui/components/icons&amp;amp;lt;/targetPath&amp;amp;gt;           &amp;amp;lt;directory&amp;amp;gt;${project.basedir}/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons&amp;amp;lt;/directory&amp;amp;gt;           &amp;amp;lt;includes&amp;amp;gt;             &amp;amp;lt;include&amp;amp;gt;**/README.md&amp;amp;lt;/include&amp;amp;gt;             &amp;amp;lt;include&amp;amp;gt;**/*.png&amp;amp;lt;/include&amp;amp;gt;           &amp;amp;lt;/includes&amp;amp;gt;         &amp;amp;lt;/resource&amp;amp;gt;       &amp;amp;lt;/resources&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;*That* tells Maven to pick up those .png files (in the &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://codeberg.org/sjlongland/checkpoint-reporter/src/branch/master/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons&amp;#34;&amp;gt;com.vk4msl.checkpointreporter.ui.components.icons&amp;lt;/a&amp;gt&#34;&gt;https://codeberg.org/sjlongland/checkpoint-reporter/src/branch/master/src/main/java/com/vk4msl/checkpointreporter/ui/components/icons&amp;#34;&amp;gt;com.vk4msl.checkpointreporter.ui.components.icons&amp;lt;/a&amp;gt&lt;/a&gt;; package) and put them, along with the README.md, in the staging directory for the application.  *Then* Java would be able to find those resources, and they’d be in the .jar file in the right place.&lt;br/&gt;&lt;br/&gt;Other suggestions have been to move the project to using Ant (which was the *old* way Java projects were built, but seems to be out of favour now?)… not sure if Gradle has this problem… maybe some people more familiar with Java’s build systems can comment.  This is probably the most serious Java stuff I’ve done in the last 20 years.&lt;br/&gt;&lt;br/&gt;I used Java because it produced a single platform-independent binary that could run anywhere with the appropriate runtime, and featured a runtime that had everything I needed in a format that was easy to pick back up.  C# I’ve used for command-line applications at university, but I’ve never done anything with Windows Forms, so I’d have to learn that from scratch as well as wrestling MSBuild (yuck!).  Python *almost* was it, but as I say, dealing with tkinter and trying to map that to all the TK docs out there that assume you’re using TCL, made it a nightmare to use.  I didn’t want to bring in third-party libraries like Qt or wxWidgets as that’d complicate deployment, and other options like C&#43;&#43;, Rust and Go all produce native binaries, meaning I’d have to compile for each platform. (Or force people to build it themselves.)&lt;br/&gt;&lt;br/&gt;Java did the job nicely.  Not the prettiest application, but the end result is I have a basic Java program, using the classical Swing UI interface that should be a big help at Southbrook later this month.  I’ll probably build on this further, but this should go a big way to scratching the itch I had.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2025/06/15/using-image-resources-with-maven-java-projects-in-netbeans/&#34;&gt;https://vk4msl.com/2025/06/15/using-image-resources-with-maven-java-projects-in-netbeans/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#amateurRadio #java #maven #netbeans #wicen
    </content>
    <updated>2025-06-15T06:49:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs27avaw5qw5092wfay3taedh8gmy368r2vqmesp92cxud2zfd79gqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwyk2l0qz2</id>
    
      <title type="html">Today, I noticed I had an extremely large number of “new” ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs27avaw5qw5092wfay3taedh8gmy368r2vqmesp92cxud2zfd79gqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwyk2l0qz2" />
    <content type="html">
      Today, I noticed I had an extremely large number of “new” users, about 206 accounts in total created, with an odd username pattern:&amp;lt;code&amp;gt;www.XXXXX.blogspot.YY - Z.ZZZ BINANCE&amp;lt;/code&amp;gt;XXXXX&lt;br/&gt;&lt;br/&gt; was a randomly chosen set of letters, YY was one of many TLDs that Blogspot uses, and Z.ZZZ was some kind of price value.  Clearly, spammers have found a new way to send spam: using the registration email that WordPress uses to confirm your email address is valid.&lt;br/&gt;&lt;br/&gt;This blog has always allowed comments in one form or another.  Originally I allowed anonymous user comments and ping-backs, but when those got abused, I disabled them, requiring that a user be registered with the site to comment.&lt;br/&gt;&lt;br/&gt;That has been fine up until today.  Some “BINANCE” arsehole decided that the username field was a perfect way to spray shite from one end of the Internet to the other.  In total, 230 accounts were created in the past few hours, mostly to gmail.com email addresses.&lt;br/&gt;&lt;br/&gt;Maybe the username field can be stripped on such emails so the only thing they can supply is the email address (basically making sending mass spam this way very difficult; they’d have to “encode” it in a sub-address … not all providers support this and they can do it different ways).&lt;br/&gt;&lt;br/&gt;We’ll see what damage that’s done to the sender score on this site.  I have a second route I can use for sending outbound email that’s got a clean reputation so not all is lost.&lt;br/&gt;&lt;br/&gt;Comments for the time being will now be exclusively through ActivityPub.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2025/05/31/blog-news-user-registrations-now-disabled/&#34;&gt;https://vk4msl.com/2025/05/31/blog-news-user-registrations-now-disabled/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#activitypub #spam #wordpress
    </content>
    <updated>2025-05-31T05:35:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqspa5zhhlszmc4aygfsr2r7ld4vxe74cr28hnwu6y39epvsazsns3szyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykuutsva</id>
    
      <title type="html">This week just gone, we not only had a state election here in ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspa5zhhlszmc4aygfsr2r7ld4vxe74cr28hnwu6y39epvsazsns3szyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykuutsva" />
    <content type="html">
      This week just gone, we not only had a state election here in Queensland, with a conservative government ([LNP](&lt;a href=&#34;https://en.wikipedia.org/wiki/Liberal_National_Party_of_Queensland&#34;&gt;https://en.wikipedia.org/wiki/Liberal_National_Party_of_Queensland&lt;/a&gt; )) returned to power… we also witnessed the US hold their federal election, and vote in a conservative party there too.&lt;br/&gt;&lt;br/&gt;In both regions, the term supposedly is 4 years.  Well, here I expect the 4 year term will be upheld… this has never been an issue before and while I do remember a time when our state parliament sat for a 3 year term, it never has been infinite.&lt;br/&gt;&lt;br/&gt;Over in the US, there were rumblings along the lines of “we’ll fix it so you don’t have to vote anymore”.  Make of that what you will.&lt;br/&gt;&lt;br/&gt;Next year, Australia goes into federal election mode… While our mainstream conservative parties are nowhere near as right-wing as some of the minor parties (looking at you, [FFP](&lt;a href=&#34;https://en.wikipedia.org/wiki/Family_First_Party_(2021)&#34;&gt;https://en.wikipedia.org/wiki/Family_First_Party_(2021)&lt;/a&gt; ), [ONP](&lt;a href=&#34;https://en.wikipedia.org/wiki/Pauline_Hanson%27s_One_Nation&#34;&gt;https://en.wikipedia.org/wiki/Pauline_Hanson%27s_One_Nation&lt;/a&gt; ) and [KAP](&lt;a href=&#34;https://en.wikipedia.org/wiki/Katter%27s_Australian_Party&#34;&gt;https://en.wikipedia.org/wiki/Katter%27s_Australian_Party&lt;/a&gt; )), and state politics is theoretically separate from federal, hearing Queensland LNP front-benchers contradict then opposition leader (and now Queensland Premier) David Crisafulli on issues like abortion really does feel like they’re echoing the right-wing governments overseas.&lt;br/&gt;&lt;br/&gt;Of course, it was one of the right-wing minority party leaders, KAP’s Robbie Katter, that happened to toss that grenade into the mix… nearly de-railed the train entirely for the LNP.  I think therefore this is just a taste of what we can expect next year: minor parties (especially conservative ones) throwing their smoke bombs into the debate whenever possible on all kinds of issues… and some of them drawing “inspiration” from overseas.&lt;br/&gt;&lt;br/&gt;The previous LNP government wound up being a disagreeable mob that argued with everyone, Campbell Newman (who we had as local member here in the seat of Ashgrove) and his government were tossed out at the very next opportunity.  I think they may have learned from that and will pull their heads in a bit more… we’ll see.&lt;br/&gt;&lt;br/&gt;Their big platform was on youth crime, and their big headline remedy, “adult crime: adult time”, has been criticised as *not* having solved the problem anywhere else where it was attempted.  There’s apparently some early intervention to try and address issues before they boil-over into major societal problems… that should have a positive influence… the efficacy of punishments though will need to be proven.&lt;br/&gt;&lt;br/&gt;Federally… we’ve got different challenges now.  The US threatening new tariffs will not only push *up* inflation in the US (a nice foot-gun you’ve got there, Trump), it’ll also spell trouble for Australian exporters, notably our mining operations.  The rhetoric during this year seems to spell trouble for both the NATO and AUKUS alliances.  If the US pulls out of these, Australia will be very isolated as the UK is on the opposite side of the planet and (thanks to Brexit) a financial basket-case.&lt;br/&gt;&lt;br/&gt;A regression in the situation in Ukraine will make things unstable in Europe generally, if that spills over, the fact that we’ve got the UK as an ally may be meaningless as there’s a lot of ocean to cover for their aid to reach us.  Closer to us is China and Taiwan, which is quietly simmering away… whilst Israel wages war with both Palestine and Lebanon.&lt;br/&gt;&lt;br/&gt;Donald Trump’s rhetoric over the previous term does not endear a world of peace.  Some have praised his manner of speaking as being “refreshing”… well it most definitely is *different*.  Diplomacy is a game of subtle nuance.  Always has been.  I’m not sure shouty-shouty megaphone diplomacy will work.  It didn’t work that well for Germany in the 1930s, and many today draw parallels between that time, and today’s US.  The last US presidential debate between Trump and Kamala Harris gave us a pretty good peek as what we will probably get.  Malcolm Turnbull’s “[robust discussion](&lt;a href=&#34;https://www.abc.net.au/news/2017-02-03/donald-trump-phone-call-that-rocked-the-special-relationship/8235388?future=true&amp;amp&#34;&gt;https://www.abc.net.au/news/2017-02-03/donald-trump-phone-call-that-rocked-the-special-relationship/8235388?future=true&amp;amp&lt;/a&gt;; )” with Trump back in 2016 suggests as much too.  For a few weeks I had this cartoon living rent-free in my head…&lt;br/&gt;&lt;br/&gt;[]( &lt;img src=&#34;https://vk4msl.com/wp-content/uploads/2024/11/trump-pigeon.png&#34;&gt;  )“Debating an idiot is like playing CHESS with a PIGEON… He’ll just knock pieces over then claim he won!” — my take on the US Federal Election 2024 [posted to Mastodon](&lt;a href=&#34;https://mastodon.longlandclan.id.au/@stuartl/113371931527218733&#34;&gt;https://mastodon.longlandclan.id.au/@stuartl/113371931527218733&lt;/a&gt; ).  Yes, I am terrible at drawing people, but that does not stop me from trying my hand anyway.  At least I didn’t use an AI!Well, world leaders and heads of state alike, will be debating the pigeon for another four years.&lt;br/&gt;&lt;br/&gt;Next year, it’ll be our turn in Australia.  Federal parties will need to balance the urban and rural needs: this is an area where Queensland’s parties failed.  Labor did really well in *urban* seats, but failed miserably in the regions.  A similar pattern was seen in the US election, with most of those in *rural* areas, preferring the Republican party, whilst in urban areas, Democrats were favoured.&lt;br/&gt;&lt;br/&gt;A party should not be solely representing *just* the regions or *just* the urban centres.  They are being elected to represent *both*.  Cost of living is a big issue right now, something a third world war will not improve.  A world war might mean we in Australia are isolated, and unable to import a lot of things, making every day things a lot more expensive.  So encouraging local production and level-headed diplomacy will be critical.&lt;br/&gt;&lt;br/&gt;Healthcare is a big issue in the regions, especially for specialist services.  As it happens, our food and minerals do not come from the CBDs of capital cities — so we really do need to be helping *out there* to make life more viable.  This means hospitals should be aiming to provide what their patients need, not [inflicting restrictive guidelines](&lt;a href=&#34;https://www.abc.net.au/news/2024-11-08/orange-hospital-directs-staff-to-stop-providing-some-abortions/104537862&#34;&gt;https://www.abc.net.au/news/2024-11-08/orange-hospital-directs-staff-to-stop-providing-some-abortions/104537862&lt;/a&gt; ) on people who have few viable alternatives.&lt;br/&gt;&lt;br/&gt;Climate change will affect us all, urban *and* rural… we can’t rely on digging up former dinosaurs to fuel everything long-term… we’ve left it a little late to be constructing *big* nuclear plants.  While smaller options exist (small modular reactors are used quite successfully on submarines), a big honking reactor the size of Tarong is a biiiig risk in Australia’s climate.&lt;br/&gt;&lt;br/&gt;Yes, Europe has lots of them, but Europe built nearly all those decades ago, when they were *not* getting [massive wildfires](&lt;a href=&#34;https://www.abc.net.au/news/2022-07-18/wildfires-france-spain-in-europe-heatwave/101248916&#34;&gt;https://www.abc.net.au/news/2022-07-18/wildfires-france-spain-in-europe-heatwave/101248916&lt;/a&gt; ) and 40°C&#43; temperatures.  A small reactor that we can shut down, crane onto the back of a truck, and shift out of harm’s way might be useful for propping up parts of the grid in times of need.  A reactor that is too big to move is a major risk in a flood or bushfire emergency, and we have had a longer and more frequent history of these than any part of the world that currently uses nuclear.  Fukushima, despite the low number of people killed *as a result of the reactor* (most people in that disaster lost lives due to the tsunami), is not a blueprint for how to build a large reactor in a risky area.&lt;br/&gt;&lt;br/&gt;Battery technology isn’t ideal right now, not sure I like the idea of dealing with bushfires that are lithium-enhanced… but lithium batteries are not the only option out there for fixed installations.  This blog runs on dated but still useful AGMs.  There exist other storage technologies which could be viable at scale and should be considered.  A former manager of mine was keen on the Zebra battery, which is a form of [molten-salt battery](&lt;a href=&#34;https://en.wikipedia.org/wiki/Molten-salt_battery#Na-NiCl_2_battery&#34;&gt;https://en.wikipedia.org/wiki/Molten-salt_battery#Na-NiCl_2_battery&lt;/a&gt; ).  I couldn’t source one for him in 2008, we ended up going with LiFePO₄ cells… but there is probably wisdom in using a battery that is fine with heat.&lt;br/&gt;&lt;br/&gt;We’re likely to see a big influx of migration over the next few years, as conflict and hatred makes the planet overall a more dangerous place.  We’re hearing the phrase “your body, my choice” a lot now, a phrase no woman deserves to have levelled at them, women are more than just brood stock.&lt;br/&gt;&lt;br/&gt;Increasingly some governments have shown transgender attitudes as well, a group that does not choose their condition any more than a baby born without eyes chooses to be blind.  Everyone has challenges, and everyone deserves assistance with their challenges whatever those happen to be.  We shouldn’t be discriminating against people on the basis of the (sometimes unique) challenges an individual might face.&lt;br/&gt;&lt;br/&gt;Neurodivergence also seems to be in the cross-hairs: if that ever gets imported into Australia’s mainstream politics, yours truly will be in the cross-hairs here!  I’ve faced discrimination before (looking at you Hilder Road &amp;amp; The Gap State Schools).&lt;br/&gt;&lt;br/&gt;Lots of people from these marginal groups will be on the move escaping discrimination.  We need to do our best to ensure the same hate movement does not rise here: these are people that have a lot to give if given the opportunity.&lt;br/&gt;&lt;br/&gt;Circling back to health for a moment too… COVID-19 still rages on, there was a pleasing-looking trend last month in [Queensland hospitalisation statistics](&lt;a href=&#34;https://www.health.qld.gov.au/clinical-practice/guidelines-procedures/diseases-infection/surveillance/reports/flu#&#34;&gt;https://www.health.qld.gov.au/clinical-practice/guidelines-procedures/diseases-infection/surveillance/reports/flu#&lt;/a&gt; ) showing COVID-19 and Influenza cases *well* down a month or two back.  Not zero, they’re not gone… but not as bad as they once were.  Sadly it won’t stay that way.  Over in the US, they’re talking of giving the portfolio of health to [Robert F. Kennedy Jr](&lt;a href=&#34;https://en.wikipedia.org/wiki/Robert_F._Kennedy_Jr&#34;&gt;https://en.wikipedia.org/wiki/Robert_F._Kennedy_Jr&lt;/a&gt;. ), someone who seems keen to continue [grinding Andrew Wakefield’s axe](&lt;a href=&#34;https://en.wikipedia.org/wiki/Lancet_MMR_autism_fraud&#34;&gt;https://en.wikipedia.org/wiki/Lancet_MMR_autism_fraud&lt;/a&gt; ), and seems to be very much against current preventative measures for containing contagious disease.  With H5N1 (bird flu) rearing its ugly head, the never really dealt-with and worsening COVID-19 situation over there, and diseases we thought we had beat like polio making a come-back… we may see some particularly nasty bugs hit our shores.  Get ready for Pandemic 2.0.&lt;br/&gt;&lt;br/&gt;So a lot in store for the next 4 years at least… I think Europe is going to play a major role in the medium term.  They are already showing a lot of leadership over technical standards (we can thank the EU for universal charges on portable devices for example).  Whilst it’s not all good news there (end-to-end encryption being a controversial issue), on balance they seem to be headed in a better direction than the US is right now.  Here’s hoping cooler heads prevail and things settle down, but right now I think we need to buckle up for a bumpy ride!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2024/11/10/interesting-times/&#34;&gt;https://vk4msl.com/2024/11/10/interesting-times/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#ausPol #autism #covid19 #europe #federalPolitics #h5n1 #lbgti #lifepo4 #nuclear #politics #qldPol #statePolitics #usPol&lt;br/&gt; &lt;img src=&#34;https://vk4msl.com/wp-content/uploads/2024/11/trump-pigeon.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2024-11-10T07:07:52Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsdnywp8g26amqr5ure3dgrr5w52tqlfefm2nqf8r807ylchmeh2agzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykmdchap</id>
    
      <title type="html">There’s been a lot of discussion about federal Labor’s plan ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsdnywp8g26amqr5ure3dgrr5w52tqlfefm2nqf8r807ylchmeh2agzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykmdchap" />
    <content type="html">
      There’s been a lot of discussion about federal Labor’s plan to [ban social media networks for people under the age of 16 years.](&lt;a href=&#34;https://theconversation.com/governments-are-pushing-teen-social-media-bans-but-behind-the-scenes-is-a-messy-fight-over-science-241684&#34;&gt;https://theconversation.com/governments-are-pushing-teen-social-media-bans-but-behind-the-scenes-is-a-messy-fight-over-science-241684&lt;/a&gt; )  This is actually been boiling for a little while now, but is getting full media attention now that the US election has finished.&lt;br/&gt;&lt;br/&gt;It got me thinking though, *what is a social media network?*  A website?  A mobile phone application?  Depending on your definition, you might be shocked to learn that the concept of a social media network has existed long before the existence of both these things.&lt;br/&gt;&lt;br/&gt;Tom Standage published a book back in 1998 (yes, last century), “*[The Victorian Internet](&lt;a href=&#34;https://en.wikipedia.org/wiki/The_Victorian_Internet&#34;&gt;https://en.wikipedia.org/wiki/The_Victorian_Internet&lt;/a&gt; )*“, which discussed the development of telecommunications, from the early days of visual semaphores and banging pots and pans… through to the wired telegraph, and the parallels with the Internet we have today.&lt;br/&gt;&lt;br/&gt;Of course this book being the late 90s, a time when the state-of-the-art feature was a mobile phone that had user-programmable ringtones and maybe could play *Snake*, the idea of this *global* network being accessible from a pocketable device seemed far fetched.  This was just a year before the technology dead end called [WAP](&lt;a href=&#34;https://en.wikipedia.org/wiki/Wireless_Application_Protocol&#34;&gt;https://en.wikipedia.org/wiki/Wireless_Application_Protocol&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;If you consider a social network as being a place where people can exchange messages and ideas… then one might consider the “personal columns” of the local newspaper to be a very *early* form of social media network.  It was a place where members of the public could write in, and have published (at the editors’ discretion) their letter for the readership to see.  Sometimes the letters were public in nature, sometimes they were coded: providing a puzzle to challenge armchair cryptographers.&lt;br/&gt;&lt;br/&gt;When telegraph networks started springing up, the need for telegraph operators grew, especially as these networks transitioned from being military networks to being a short message service for the general public.  The operators themselves would go on to develop their own culture, parts of which survive today in the amateur radio world.&lt;br/&gt;&lt;br/&gt;The invention of the telephone did eventually force the closure of the telegraph network, but it too, in its own way hailed the development of a social media network that over the course of the 20th century, would become a taken-for-granted fixture in most urban homes.&lt;br/&gt;&lt;br/&gt;Many amateur radio enthusiasts are curious about electronics in general, and thus a good number of them became interested in the developing world that was the home computer.  As the cost of components came down and parts became more integrated, both radio amateurs, and non-radio electronics enthusiasts alike would experiment with home computers.&lt;br/&gt;&lt;br/&gt;Some amateur operators in the late 80s took old dial-up modems and modified them to connect to their radios, developing a protocol and standard we call “packet radio”.  Others, would leave the modems as they were, write a program to answer the telephone and create a basic message board: the bulletin board system.  People who were versed with both got the idea to make BBSes that faced both ways (packet radio *and* dial-up).&lt;br/&gt;&lt;br/&gt;Some had access into an early cold-war era computer network system called ARPAnet (we now call this the Internet), and it too, had social network services of its own (e.g. Usenet), they would develop gateways that allowed their BBS users to interact on Usenet newsgroups.  BBS software suites would also eventually develop peer-to-peer federation protocols like FIDOnet, enabling users of one BBS system to exchange messages with users of other BBSes.&lt;br/&gt;&lt;br/&gt;The “normal” folk of the day often looked on such developments with disdain.  Deriding the users as just boring “nerds”, the pioneers of this online social networking scene were often ostracised.  These were people that often were socially awkward in real life.  Today we might use the term “neurodivergent” to describe some of them.  This online network provided an alternate reality, where your place in the world was judged on *merit*, what you knew … rather than physical attributes.  A place where people could be themselves, and not get bullied about it.&lt;br/&gt;&lt;br/&gt;The people that developed these systems though, would later go on to develop online communities for themselves on what was then a relatively new Internet-based service, the *world wide web*.  MySpace, LiveJournal, Facebook, Twitter, the ActivityPub platforms (including Mastodon) and BlueSky… are all just further developments of the same ideas.  *Social networks* thus, have a very long history.&lt;br/&gt;&lt;br/&gt;Thus I come back to, *what is a social network*?  Many of the things you can do on a site like Facebook or Twitter, can similarly be done lots of other ways, equally as effectively.  MMS might be one of the last vestiges of the old WAP protocol, but it still lives on in modern mobile phones, and can send both text, pictures and video just as easily as posting to a web-based social media system like Facebook.  In short, *it is a social media network*.&lt;br/&gt;&lt;br/&gt;If the federal government wants to ban under 16s from using “social media”, they might as well create a time machine and zap our teens back to the 1700s, as it appears the only communication technology they’ll be able to legally use will all be inventions that were commonplace in that era.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2024/11/08/what-is-social-media/&#34;&gt;https://vk4msl.com/2024/11/08/what-is-social-media/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#politics #socialMedia
    </content>
    <updated>2024-11-08T10:35:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsykzcllz5zgtswamvyw9pe62a48fjd85jyetu6glwdv5wmdnz5j3qzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykenz4v0</id>
    
      <title type="html">This blog has never been on what I’d call, a high-performance ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsykzcllz5zgtswamvyw9pe62a48fjd85jyetu6glwdv5wmdnz5j3qzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykenz4v0" />
    <content type="html">
      This blog has never been on what I’d call, a high-performance server.  In fact, things are a little on the slow side.  I try to be frugal with my system resource allocation, with the assumption that my little site does not get a lot of traffic (much less since it’s no longer syndicated on Gentoo Planet).  However, I think I managed to get the performance up a notch…&lt;br/&gt;&lt;br/&gt;The site runs on my solar powered server cluster, with a couple of Ceph RBDs, one for the root OS and one for the data (MariaDB / [&lt;a href=&#34;https://www&#34;&gt;https://www&lt;/a&gt; root](&lt;a href=&#34;http://www%20root&#34;&gt;http://www%20root&lt;/a&gt; ) / /home).  The VM runs AlpineLinux.  The VM host was over-provisioned with a larger SSD than required, allowing me to dedicate some space for local cache.&lt;br/&gt;&lt;br/&gt;I had thought I could set something up that would organise the cache on the VM host, and abstract it from the VM, but so far, I’ve not gotten around to doing that. (I did have something sort-of working in OpenNebula with flashcache at work, but it was flaky.)&lt;br/&gt;&lt;br/&gt;In libvirt, I provisioned a new RBD to serve as the backing store (thus keeping a pristine copy to roll back to should things go pear shaped), and a new LVM volume for the cache.  For the time being, I moved the existing volume to be the last device.  So I had:&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;/dev/vda&amp;lt;/code&amp;gt;: OS&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;/dev/vdb&amp;lt;/code&amp;gt;: Data volume&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;/dev/vdc&amp;lt;/code&amp;gt;: Cache volume&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;/dev/vdd&amp;lt;/code&amp;gt;: &amp;lt;em&amp;gt;temporary&amp;lt;/em&amp;gt; Old &amp;lt;code&amp;gt;/dev/vdb&amp;lt;/code&amp;gt; for data migration&amp;lt;/li&amp;gt;# &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Failed approachesFirstly, what didn’t work for me, was bcachefs and bcache.## bcachefsbcachefs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; wanted to fight me every step of the way, making formatting the volumes difficult with sketchy documentation (especially as I wanted a write-through cache to facilitate VM migration).bcachefs format&lt;br/&gt;&lt;br/&gt; gives some very cryptic error messages, and has a somewhat quirky argument syntax for formatting.  The command I figured out through trial-and-error was this:&amp;lt;code&amp;gt;bcachefs format \    --replicas=1 \    --durability=0 /dev/vdc1 \    --durability=1 /dev/vdb1 \    --foreground_target /dev/vdc1 \    --promote_target /dev/vdc1 \    --background_target /dev/vdb1 \    --metadata_target /dev/vdc1&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;The problem was convincing mount to actually mount it.  I was supposed to specify every device, but each time it flatly refused, no matter what order I used, it told me “no such device”.## bcache&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;This is the underlying caching logic that bcachefs was built on, so I figured I’d try that.  *This* worked better, but I found AlpineLinux had no real knowledge of bcache, and thus did not provide any means for me to bring up /dev/bcache0 before localmount mounted it.&lt;br/&gt;&lt;br/&gt;I could have written a OpenRC init script to do this, but I wasn’t certain about this path, so decided to put the idea aside.# &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Winning approach: lvmcacheLuckily lvm2 has a built-in method: lvmcache.  After installing the lvm2 package in AlpineLinux, I blatted the partition tables on my two virtual disks, formatted them as LVM physical volumes, and added them to a volume group.&amp;lt;code&amp;gt;~ # pvcreate /dev/vdb /dev/vdc  Physical volume &amp;#34;/dev/vdb&amp;#34; successfully created.  Physical volume &amp;#34;/dev/vdc&amp;#34; successfully created.~ # vgcreate data /dev/vdb  Volume group &amp;#34;data&amp;#34; successfully created~ # vgextend data /dev/vdc   Volume group &amp;#34;data&amp;#34; successfully extended&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now to create the logical volumes, first… I created the volumes themselves.  This wound up being a little tricky because I wanted to use all the available space on each volume… I had tried specifying -L ${SZ}G but this ignored the fact that LVM uses a bit of header space on each physical volume.  It complained, but in doing so, told me the size in extents that was available, so I was able to use -l ${SZ} to specify that number of extents:&amp;lt;code&amp;gt;~ # lvcreate --size 8G --name datavol data /dev/vdb&amp;amp;nbsp;Insufficient free space: 2048 extents needed, but only 2047 available~ # lvcreate -l 2047 --name datavol data /dev/vdb &amp;amp;nbsp;&amp;amp;nbsp;Logical volume &amp;#34;datavol&amp;#34; created.~ # lvcreate -n cachevol -l 4095 data /dev/vdc&amp;amp;nbsp;Volume group &amp;#34;data&amp;#34; has insufficient free space (1023 extents): 4095 required.~ # lvcreate -n cachevol -l 1023 data /dev/vdc&amp;amp;nbsp;Logical volume &amp;#34;cachevol&amp;#34; created.&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now I had two separate LVM volumes, one on each physical device.  Now to link them:&amp;lt;code&amp;gt;~ # lvconvert --type cache --cachevol cachevol data/datavolErase all existing data on data/cachevol? [y/n]: y&amp;amp;nbsp;Logical volume data/datavol is now cached.&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Great, except I forgot to specify the write mode.  Turns out, this is a lvchange away:&amp;lt;code&amp;gt;~ # lvchange --cachemode writethrough /dev/data/datavol &amp;amp;nbsp;&amp;amp;nbsp;Logical volume data/datavol changed.&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;I could now format /dev/data/datavol with a filesystem, and migrate the data across.  rsync here we come.  An update to /etc/fstab and we were in business.&lt;br/&gt;&lt;br/&gt;So far, things seem to be more snappy, so we’ll keep an eye on things.  It’s survived a couple of reboots, the question is what happens when I boost a post on Mastodon, does all the ActivityPub instances out there cause problems?  Guess I’ll find out in a moment.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2024/09/28/lvmcache-fun-and-games/&#34;&gt;https://vk4msl.com/2024/09/28/lvmcache-fun-and-games/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#bcache #ceph #lvm
    </content>
    <updated>2024-09-28T07:51:47Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsglyjzm570rsx8tm3dcfl9ahfj79mt0ujphtz3ccvhajtzjgcgkaqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykcdlqs3</id>
    
      <title type="html">So, a few years ago, we said goodbye to the Brisbane institution ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsglyjzm570rsx8tm3dcfl9ahfj79mt0ujphtz3ccvhajtzjgcgkaqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykcdlqs3" />
    <content type="html">
      So, a few years ago, we said goodbye to the Brisbane institution that was [Classic Hits 4KQ](&lt;a href=&#34;https://vk4msl.com/2022/05/08/demise-of-a-brisbane-icon-4kq-to-become-sports-station-from-1st-july/&#34;&gt;https://vk4msl.com/2022/05/08/demise-of-a-brisbane-icon-4kq-to-become-sports-station-from-1st-july/&lt;/a&gt; )… with the decision of some Sydney bright sparks at Here, There &amp;amp; Everywhere, owners of Australian Radio Network, acquiring rival network Grant Broadcasting and merging the two together.  This put ARN over their quota for the number of stations they were allowed to operate in the Brisbane region, and so they sold off their oldest to the Sports Entertainment Network.&lt;br/&gt;&lt;br/&gt;That pretty much ended my all-day radio listening right there.  The presenters from 4KQ’s morning show wound up on 4BC, but that’s about as much as was left of the old station.  Well of course no good thing can last forever, and so Laurel, Gary &amp;amp; Mark [broadcast their final show this morning](&lt;a href=&#34;https://www.4bc.com.au/podcast/laurel-gary-and-marks-final-breakfast-show-friday-september-27th/&#34;&gt;https://www.4bc.com.au/podcast/laurel-gary-and-marks-final-breakfast-show-friday-september-27th/&lt;/a&gt; ).  I will admit there was a bit of sadness as [Greenday’s “Time Of Your Life”](&lt;a href=&#34;https://en.wikipedia.org/wiki/Good_Riddance_(Time_of_Your_Life)&#34;&gt;https://en.wikipedia.org/wiki/Good_Riddance_(Time_of_Your_Life)&lt;/a&gt; ) played (in place of Laurel’s Last Word)… then cron on my desktop PC muted qt-dab at 0900… it was time for me to get to work myself.&lt;br/&gt;&lt;br/&gt;Peter Fegan takes over that shift on the 30th… and I for one, won’t be tuning in.  4BC now has nothing to offer me.&lt;br/&gt;&lt;br/&gt;I had a quick tune around of the DAB&#43; and FM stations… to see what was on offer.&lt;br/&gt;&lt;br/&gt;B105 is not worth bothering with, and haven’t been for the better part of 30 years now, such is the sad state of top-40 music these days.  Sister station Triple M was a station I was listening to a lot at the early part of the century.  Southern Cross Austereo runs both, as well as a stack of DAB&#43; only stations, however, the DAB&#43; stations are all at 32kbps.  48kbps is *just* tolerable for audio quality on the stereo here… and through headphones I can *barely* notice some compression distortion.  32kbps is okay for voice, but sounds *terrible* for music, ringing left-right and centre.  So if I go to one of those stations, it’ll be via FM not DAB&#43;.&lt;br/&gt;&lt;br/&gt;In my hopping around, I came across one station that was broadcasting at 24kbps… through the speaker on my little portable DAB&#43; set I could hear the ringing artefacts.  Not as bad as Coles TAS (at 16kbps!), but still bloody terrible!  I didn’t realise there was a step between 16kbps and 32kbps… but I stand by my comment that 32kbps is the *bare* minimum for music… with 48kbps and above *highly* recommended.&lt;br/&gt;&lt;br/&gt;4BC’s sister station 4BH actually adopted a lot of 4KQ’s old format… so for now I’ve set qt-dab up there.  The main reason why I went to 4BC is the morning show, I had a choice to make: the people or the format… and so I decided to stick with “the people” for the morning, figuring I can fill the rest of my day with my own music.  That’s what I’ve been doing the past couple of years.  With “the people” gone, I’m now left with “the format” as the deciding factor.  As for audio quality, they broadcast on MW at 1116kHz or DAB&#43; multiplex 9B at 96kbps — one of the highest bitrate commercial DAB&#43; streams.&lt;br/&gt;&lt;br/&gt;Best case scenario I guess is the intrepid trio from 4KQ pop up here… seems this is the most likely place they’d appear.  That said, this is quite likely it for a radio show that’s been going for 30&#43; years.  End of the road.  While Laurel and Mark are nowhere near retirement age, I would not be surprised at all if Gary decided to hang his headphones up and officially retire, being the oldest of the three.&lt;br/&gt;&lt;br/&gt;I’ll admit I’ve learned a lot about the music I listen to through this show.  The trio were enlightening and entertaining in equal measure.  I guess time will tell as to whether this really is the end, or just a change of venue.&lt;br/&gt;&lt;br/&gt;As for me with channel hopping… I’ve flirted with the idea of [starting up a station of my own](&lt;a href=&#34;https://vk4msl.com/2022/05/21/building-a-broadcast-station-initial-due-diligence/&#34;&gt;https://vk4msl.com/2022/05/21/building-a-broadcast-station-initial-due-diligence/&lt;/a&gt; ), but really this is “pipe dream” material.  I’d need to team up with someone who *knew* the media business and could serve to run the organisation, whilst I’d be focussing on the technical matters of getting things on-air.  Even there, I think I’d be serving beneath someone more senior — I’d be the apprentice broadcast engineer basically.  Given the deep pool of people a prospective station general manager would have to choose from, I think there’d be a lot of competition.  This is a job where you measure your success by the number of knives in your back!&lt;br/&gt;&lt;br/&gt;Worst case… I have my music, I might tune in to a news broadcast occasionally, but otherwise my radio listening days may have finally ended.  We shall see.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2024/09/27/station-hopping-once-again/&#34;&gt;https://vk4msl.com/2024/09/27/station-hopping-once-again/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#4kq #broadcastRadio #music
    </content>
    <updated>2024-09-27T12:24:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxwlekkk4w22u0wgd7edpkps2ufnvteh9epnvdx5ttxr500uq8y7qzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykzl6txa</id>
    
      <title type="html">So, it’s political season again, and here in Queensland we made ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxwlekkk4w22u0wgd7edpkps2ufnvteh9epnvdx5ttxr500uq8y7qzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykzl6txa" />
    <content type="html">
      So, it’s political season again, and here in Queensland we made the rather foolhardy decision to run our State election roughly a month or so away from the US Federal election.&lt;br/&gt;&lt;br/&gt;Foolhardy because the media is too busy guffawing over the allegation of cats and dogs being “eaten” in a debate for an election that people like myself have no say over (and should not have any say over), to properly cover the election that is actually *mandatory* for people like myself to participate in.&lt;br/&gt;&lt;br/&gt;But I digress… in amongst all the comments, there was a post made just recently by Taylor Swift.  Now, I know she’s a very successful singer, not that I can name any of her songs ([my tastes are for older fare](&lt;a href=&#34;https://www.last.fm/user/sjlongland&#34;&gt;https://www.last.fm/user/sjlongland&lt;/a&gt; )).  But, in a recent post, she made a very valid point.  Here’s the post (transcribed from a screenshot) in full:&lt;br/&gt;&lt;br/&gt;&amp;gt; Like many of you, I watched the debate tonight.  If you haven’t already, now is a great time to do your research on the issues at hand and the stances these candidates take on the topics that matter to you the most.  As a voter, I make sure to watch and read everything I can about their proposed policies and plans for this country.&lt;br/&gt;&lt;br/&gt;&amp;gt; Recently I was made aware that AI of ‘me’ falsely endorsing Donald Trump’s presidential run was posted to his site.  It really conjured up my fears around AI, and the dangers of spreading misinformation.  It brought me to the conclusion that I need to be very transparent about my actual plans for this election as a voter.  The simplest way to combat misinformation is with the truth.&lt;br/&gt;&lt;br/&gt;&amp;gt; I will be casting my vote for Kamala Harris and Tim Walz in the 2024 Presidential Election.  I’m voting for @kamalaharris&amp;gt;  because she fights for the rights and causes I believe need a warrior to champion them.  I think she is a steady-handed, gifted leader and I believe we can accomplish so much more in this country if we are lead by calm and not chaos.  I was so heartened and impressed by her selection of running mate @timwalz&amp;gt; , who has been standing up for LGBTQ&#43; rights, IVF, and a woman’s right to her own body for decades.&lt;br/&gt;&lt;br/&gt;&amp;gt; I’ve done my research, and I’ve made my choice.  Your research is all yours to do, and the choice is yours to make.  I also want to say, especially for first time voters: Remember that in order to vote, you have to be registered!  I also find it’s much easier to vote early.  I’ll link where to register and find early voting dates and info in my story.&lt;br/&gt;&lt;br/&gt;&amp;gt; With love and hope,&lt;br/&gt;&lt;br/&gt;&amp;gt; Taylor Swift&lt;br/&gt;&amp;gt; Childless Cat Lady&lt;br/&gt;&lt;br/&gt;Now, I’ll set aside her endorsement for the US Democrats party.  As she points out, *she* personally looked into the policies of the parties, and came to that conclusion.  It’s the approach here that I want to highlight, and it’s as valid in the US with its esoteric election system as it is here in Australia with our (admittedly partially flawed, but generally highly regarded) preferential system.&lt;br/&gt;&lt;br/&gt;I won’t be sharing who I’ll be voting for in the Queensland state election, as to be perfectly honest, I haven’t actually done my homework on that matter yet.  Same goes for next year’s federal election.&lt;br/&gt;&lt;br/&gt;The take-away I observe is the remark: “*If you haven’t already, now is a great time to do your research on the issues at hand and the stances these candidates take on the topics that matter to you the most.*“&lt;br/&gt;&lt;br/&gt;She’s not saying “vote blue because I did”, she’s saying to go do your homework, and figure out how you will vote. “*Your research is all yours to do, and the choice is yours to make.*“&lt;br/&gt;&lt;br/&gt;Here in Queensland, where I am falls under the seat of “Cooper” (formerly “Ashgrove”).  We currently have a Labor candidate, [Jonty Bush](&lt;a href=&#34;https://en.wikipedia.org/wiki/Jonty_Bush&#34;&gt;https://en.wikipedia.org/wiki/Jonty_Bush&lt;/a&gt; ).  From what I understand, she’s done a reasonable job and I don’t have a problem with her being voted back in, but I really need to figure out where she’ll sit in my ballot paper.  Probably not the top, I usually like to reserve the top spaces for smaller parties, but as I say, I haven’t researched the matter much at all right now, so this is all subject to change, and nothing actually requires me to publish what I’m going to do in any case.&lt;br/&gt;&lt;br/&gt;Labor recently started a trial of [50c public transport fares](&lt;a href=&#34;https://www.abc.net.au/news/2024-08-04/50-cent-public-transport-fares-trial-to-begin-in-queensland/104159536&#34;&gt;https://www.abc.net.au/news/2024-08-04/50-cent-public-transport-fares-trial-to-begin-in-queensland/104159536&lt;/a&gt; )… with a view of encouraging their use.  I note that the Greens have a policy that goes further: [abolishing fares altogether](&lt;a href=&#34;https://greens.org.au/qld/bcc/free-public-transport&#34;&gt;https://greens.org.au/qld/bcc/free-public-transport&lt;/a&gt; ) long before the trial began, so I think we see where Labor’s policy came from.  Polling seems to suggest Labor may be on the way out anyway.  (And I remember the mess that the LNP made last time!  We wound up with [Campbell Newman](&lt;a href=&#34;https://en.wikipedia.org/wiki/Campbell_Newman&#34;&gt;https://en.wikipedia.org/wiki/Campbell_Newman&lt;/a&gt; ) as our local member.)&lt;br/&gt;&lt;br/&gt;I’ll have to dig around and see what other policies the parties have, but this is an example of just *one* issue that one might consider.  I strongly urge people to consider more than one issue!  You might not care about public transport, but care greatly about mining activities: maybe you’re a voter who has lots of shares in mines, LNP seems to be cosying up with the miners too.  That’s up to you.&lt;br/&gt;&lt;br/&gt;My approach has been to start with all parties with a score of 0; and awarding points or deducting points, depending on how I feel about each policy they publish.  I then use those “scores” to figure out my preferences.  Try to ignore “who” made the policy, and just consider the policy’s content directly.  (It’s a pity they don’t offer the policy docs in just plain text instead of a PDF or office suite file.)  You can decide for yourself if you do this, or something completely different.&lt;br/&gt;&lt;br/&gt;Crucially, there might be some hot-button issue where none of the parties agree on your position.  The Israel-Palestine war is a good example, where I’ve heard people in the US say (effectively): “I’m going to vote Republican because the Democrats won’t stop arming Israel!”  I’ve got bad news for you, the other side isn’t about to stop the flow of weapons either (quite the opposite in fact), it may be prudent to put that issue aside and focus on *everything else* for now.  Get the “least worst” candidate in, then work with them on the issues that you had to set aside.  Some will listen, some won’t.&lt;br/&gt;&lt;br/&gt;Anyway, this is just my thoughts on the matter.  No matter what part of the world you’re in, the next few years are going to be “interesting” to say the least.  We’re already seeing what happens when someone can summon up a supercomputing data-centre to conjure up synthetic photos from text prompts, and I’d be living in a fantasy land if I were to try and make out all users of such systems were benevolent.  Thus it’s incumbent on us to seek the *source* for policy research, go to the party’s website and look *there*.  Don’t believe everything you see on social media, cats and dogs are not being served up on Ohio dinner tables, and not every “policy” published there will be authentic.&lt;br/&gt;&lt;br/&gt;For us in Queensland, the [Electoral Commission Queensland](&lt;a href=&#34;https://www.ecq.qld.gov.au/elections/election-events/2024-state-general-election&#34;&gt;https://www.ecq.qld.gov.au/elections/election-events/2024-state-general-election&lt;/a&gt; ) website would be a good starting point.  The ABC will also publish details on their [Elections](&lt;a href=&#34;https://www.abc.net.au/news/elections&#34;&gt;https://www.abc.net.au/news/elections&lt;/a&gt; ) page closer to the date.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2024/09/14/elections-and-voting/&#34;&gt;https://vk4msl.com/2024/09/14/elections-and-voting/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#aupol #politics #qldElection #qldpol #usElection
    </content>
    <updated>2024-09-14T09:08:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2nfek7h6380hy8ka062x6n2gwy3y0ef7npz4u6cu0uskgv7jfxugzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykg3qesx</id>
    
      <title type="html">As we enter 2024, one technology seems to be looming large over ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2nfek7h6380hy8ka062x6n2gwy3y0ef7npz4u6cu0uskgv7jfxugzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwykg3qesx" />
    <content type="html">
      As we enter 2024, one technology seems to be looming large over many facets of society.  Back in the 1960s, the idea that a “machine” (“computers” were actually people who operated calculating machines) could “think” for itself and give “intelligent” answers was the stuff of science fiction.&lt;br/&gt;&lt;br/&gt;Television shows like StarTrek and movies/books like 2001 popularised an ever-present voice-controlled assistant that could be hailed, and asked questions or given instructions.  Most of these were benevolent (2001’s HAL being a notable exception).&lt;br/&gt;&lt;br/&gt;Fast forward nearly 80 years, and we now have voice assistants from major technology vendors like Amazon (Alexa), Apple (Siri) and Google (“OK Google”).  Microsoft tried to jump in on this too with Cortana in Windows 10, since removed.  Alexa and Siri are allegedly bleeding their parent companies’ income as the novelty wears off… and so these technology firms are starting to look at what’s next.&lt;br/&gt;&lt;br/&gt;The latest gold rush seems to be generative AI.  This has been brewing for some time.&lt;br/&gt;&lt;br/&gt;Many moons ago I recall mucking around with a markov chain plug-in that was embedded in Perlbot on IRC (no_body on the old Freenode network).  Very crude, but it sometimes did generate somewhat coherent sentences.  It was done for fun, ran on the scrap CPU cycles of an old PIII 550MHz server that also hosted this blog and acted as a web server.  Nothing huge by any stretch of the imagination.  No GPU in sight.&lt;br/&gt;&lt;br/&gt;A few years ago, we started seeing articles about an AI system that could generate imagery.  Fore-runners of the likes of DALL-E.  Ask it to generate a beach scene, you’d get some weird psychedelic image which vaguely looked like a beach if you squinted right, but with odd things merged together, like a seagull merged into a railing or building.  Faces were badly distorted, nothing looked “right”.&lt;br/&gt;&lt;br/&gt;Unfortunately, I cannot recall where I saw the image I’m thinking of or what keywords to search that will summon it.  Otherwise I’d show an actual example.  (I think it was either on The Register or Ars Technica… most likely pre-pandemic.)&lt;br/&gt;&lt;br/&gt;Fast forward to 2021, and yes, it could generate a vaguely believable image, but it still struggled with human anatomy.  A good example of this is the faked Donald Trump arrest photo that was doing the rounds:&lt;br/&gt;&lt;br/&gt;[]( &lt;img src=&#34;https://vk4msl.com/wp-content/uploads/2024/01/trump-arrest-generated-ai.jpg&#34;&gt;  )Donald Trump being arrested by police?  No, this is an AI-generated image.  ([Source](&lt;a href=&#34;https://interestingengineering.com/culture/ai-fabricated-images-trump-arrest&#34;&gt;https://interestingengineering.com/culture/ai-fabricated-images-trump-arrest&lt;/a&gt; ))This was a big improvement on what came a few years before it, but it still had lots of visual defects.&lt;br/&gt;&lt;br/&gt;This time last year, ChatGPT v3 was available to the general public, and it could passably converse with people.  For a statistical model, it did a remarkable job of appearing “intelligent”, but ask it to perform some basic tasks, [and it soon fell apart](&lt;a href=&#34;https://hackaday.com/2023/02/02/now-chatgpt-can-make-breakfast-for-me/&#34;&gt;https://hackaday.com/2023/02/02/now-chatgpt-can-make-breakfast-for-me/&lt;/a&gt; ).  Yes, it could generate code, but you’d constantly have to massage the prompt to get code that even compiled, let alone functioned the way required.&lt;br/&gt;&lt;br/&gt;The big rub with all of this, is the extreme amount of computation required to render the result of a simple prompt.  Whether the output be text, an image, audio or video… generative AI is often highly computationally expensive, requiring vast data centres crammed full with GPUs and special-purpose ASICs much like the cryptocurrency rigs of a few years ago.  There are some small models that can run on your local computer.  A top-of-the-line Raspberry Pi can *just* cram in [some AI models](&lt;a href=&#34;https://www.dfrobot.com/blog-13412.html&#34;&gt;https://www.dfrobot.com/blog-13412.html&lt;/a&gt; ) with some trade-offs in accuracy, however you cannot train an AI model with such modest hardware.&lt;br/&gt;&lt;br/&gt;Generating the models is the real sticking point: it requires vast compute resources, and in addition, *lots* of data.  It’s [Johnny 5](&lt;a href=&#34;https://en.wikipedia.org/wiki/Short_Circuit_(1986_film)&#34;&gt;https://en.wikipedia.org/wiki/Short_Circuit_(1986_film)&lt;/a&gt; ) on steroids!  Where is that data sourced from?  More often than not, it is scraped from websites without authors’ consent.  While some content is public-domain, there are examples where copyrighted material was used.&lt;br/&gt;&lt;br/&gt;Yes, we can point and laugh when [an AI hallucinates a watermark](&lt;a href=&#34;https://www.theverge.com/2023/1/17/23558516/ai-art-copyright-stable-diffusion-getty-images-lawsuit&#34;&gt;https://www.theverge.com/2023/1/17/23558516/ai-art-copyright-stable-diffusion-getty-images-lawsuit&lt;/a&gt; ), but for the copyright holder or would-be user, this is really no laughing matter.  Microsoft is already facing a lawsuit from The Times over Bing Chat (now Copilot) spitting out big chunks of copyrighted articles.&lt;br/&gt;&lt;br/&gt;A human usually has a vague idea where they learned something, even if they can’t find it later… and based on that knowledge, they might have some idea whether such content can be legally used in some given context, or can at least ask.  AIs typically do not tell you what source material was used in the construction of the output, nor is there any consideration given to whether you can legally use that material.&lt;br/&gt;&lt;br/&gt;Some vendors try to make that your problem, [MailChimp recently added an AI feature](&lt;a href=&#34;https://toot.cat/@sphakos/111256442890171301&#34;&gt;https://toot.cat/@sphakos/111256442890171301&lt;/a&gt; ) to its mailing list offering, but then made the user responsible for checking up whether the content it generated was appropriately licensed… *and* decided that your user-generated content was appropriate to feed the training of said AI engine.&lt;br/&gt;&lt;br/&gt;It has been ruled in various courts that as purely AI generated content is not “human generated”, [it is not eligible for copyright protection](&lt;a href=&#34;https://www.goodwinlaw.com/en/insights/publications/2023/10/insights-technology-aiml-is-it-possible-to-copyright-works&#34;&gt;https://www.goodwinlaw.com/en/insights/publications/2023/10/insights-technology-aiml-is-it-possible-to-copyright-works&lt;/a&gt; ).  (This ruling is why I was able to include the “Trump arrest” image above despite it not being “my work”.)&lt;br/&gt;&lt;br/&gt;This is not the last we’ll see of this technology.  AI is actually a very old term dating back to the very early days of programmable electronic computers, from ELIZA (which really was a testing ground for pattern matching, not AI at all!) and PARRY (which was the same idea expanded a little).  It includes tools like expert systems. Anyone that’s dealt with open-source software will have seen one very famous expert system: &amp;lt;a href=&amp;#34;&lt;a href=&#34;https://en.wikipedia.org/wiki/Make_(software)&amp;#34;&amp;gt;make&amp;lt;/a&amp;gt&#34;&gt;https://en.wikipedia.org/wiki/Make_(software)&amp;#34;&amp;gt;make&amp;lt;/a&amp;gt&lt;/a&gt;;.&lt;br/&gt;&lt;br/&gt;Having a system that can inspect a photo and then describe what is in the image along with reading out what text might be important, would be a game changer to the visually impaired.  In this case, it’s simply describing what is there.&lt;br/&gt;&lt;br/&gt;Having a text to speech tool that could be trained on recordings of the voice of someone who has lost their ability to speak (e.g. motor neuron), that the person could then use to communicate, would be a very noble use of generative AI.&lt;br/&gt;&lt;br/&gt;The surviving members of The Beatles recently did this with the song “[Now and Then](&lt;a href=&#34;https://en.wikipedia.org/wiki/Now_and_Then_(Beatles_song)&#34;&gt;https://en.wikipedia.org/wiki/Now_and_Then_(Beatles_song)&lt;/a&gt; )“, taking old recordings of John Lennon’s demos, and basically doing some sophisticated signal processing to separate out the components so that a studio-grade recording could be produced.&lt;br/&gt;&lt;br/&gt;The technology *does* have good uses.  In both the latter cases, we’re not “putting words into the mouths” of these people, it’s their words, they chose them.&lt;br/&gt;&lt;br/&gt;However, I think this year we’ll likely see its dark side, if we haven’t done already.  [Stephen Fry got a rude shock](&lt;a href=&#34;https://www.businessinsider.com/stephen-fry-ai-cloned-voice-create-audio-illegally-2023-9?op=1&#34;&gt;https://www.businessinsider.com/stephen-fry-ai-cloned-voice-create-audio-illegally-2023-9?op=1&lt;/a&gt; ) when he came across an audio book apparently “read” by him, except it was a book he had never actually read: it was the product of generative AI.  Someone had trained a text-to-speech model on his voice, then fed this book into it.&lt;br/&gt;&lt;br/&gt;Imagine someone using tools like that to dupe a work colleague into resetting a password and enrolling a new 2FA token over the telephone?  Depending on where you work, that could have disastrous consequences.&lt;br/&gt;&lt;br/&gt;For this reason, I’m particularly leery of systems that take audio or video as input.  My workplace used to use Atlassian’s HipChat as a communication tool originally, and when that shut down, we migrated to Slack.  At the moment it’s [privacy policy](&lt;a href=&#34;https://slack.com/intl/en-au/trust/privacy/privacy-policy&#34;&gt;https://slack.com/intl/en-au/trust/privacy/privacy-policy&lt;/a&gt; ) and [terms of service](&lt;a href=&#34;https://slack.com/intl/en-au/terms-of-service/user&#34;&gt;https://slack.com/intl/en-au/terms-of-service/user&lt;/a&gt; ) make no mention of the use of such tools.  [Zoom was forced to back down on AI use](&lt;a href=&#34;https://arstechnica.com/gadgets/2023/08/zoom-updates-terms-of-service-to-clarify-that-it-wont-use-your-calls-to-train-ai/&#34;&gt;https://arstechnica.com/gadgets/2023/08/zoom-updates-terms-of-service-to-clarify-that-it-wont-use-your-calls-to-train-ai/&lt;/a&gt; ) after a *biiig* user backlash.  [Microsoft won’t say how it is training its models](&lt;a href=&#34;https://foundation.mozilla.org/en/campaigns/microsoft-ai/&#34;&gt;https://foundation.mozilla.org/en/campaigns/microsoft-ai/&lt;/a&gt; ), but seems hell-bent on jamming its Copilot everywhere it can cram it.  They’re even talking of a [new keyboard button dedicated for it](&lt;a href=&#34;https://arstechnica.com/gadgets/2024/01/ai-comes-for-your-pcs-keyboard-as-microsoft-adds-dedicated-copilot-key/&#34;&gt;https://arstechnica.com/gadgets/2024/01/ai-comes-for-your-pcs-keyboard-as-microsoft-adds-dedicated-copilot-key/&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;For this reason, I flatly refuse to touch Microsoft Teams.  Last time I used it (in my browser), it was for one particular meeting a couple of years ago… it picked up I had a headset, and used that for speaker audio, but when it came to the microphone, did it use the same place?  Noooo… the line-in socket connected to an old Sony ST-2950F stereo tuner was more interesting!&lt;br/&gt;&lt;br/&gt;Since then, it too has gotten the AI treatment, with little transparency on what that AI is trained on and what its functions are.  It’s not clear what it is being trained on, and what the resulting data sets are used for.  Furthermore, we’re to trust them to store such training data responsibly?  The same mob that wrote code that [accepted an expired and incorrectly signed digital certificate](&lt;a href=&#34;https://arstechnica.com/security/2023/07/microsoft-takes-pains-to-obscure-role-in-0-days-that-caused-email-breach/&#34;&gt;https://arstechnica.com/security/2023/07/microsoft-takes-pains-to-obscure-role-in-0-days-that-caused-email-breach/&lt;/a&gt; ) as an access-all-areas pass?&lt;br/&gt;&lt;br/&gt;That said, the snake-oil salesmen are out in force, and the investors are going wild.  We’re seeing ChatGPT-powered sales and service bots appear on all kinds of websites now ([until they’re caught out](&lt;a href=&#34;https://www.businessinsider.com/car-dealership-chevrolet-chatbot-chatgpt-pranks-chevy-2023-12&#34;&gt;https://www.businessinsider.com/car-dealership-chevrolet-chatbot-chatgpt-pranks-chevy-2023-12&lt;/a&gt; )).  There are also lots of sites with AI-generated screed polluting search engine results.  It’ll likely play a big part in the upcoming 2024 US Federal election.  We’re in for a wild year I think.&lt;br/&gt;&lt;br/&gt;I for one, do not use ChatGPT or its elk in my day-to-day work, and refuse to do so.  My position on AI-infused tools like Microsoft Teams remains the same until such time as the AI feature is removed or its role better clarified.&lt;br/&gt;&lt;br/&gt;I still have code up on Github as it was there prior to Microsoft’s purchase of that service: I don’t like that my code may be being used in this manner, however the worst case scenario is copyright infringement — removing my code from Github does not prevent this.  I regard video and audio differently: as this can be used for impersonation, I am not going to willingly supply such a feed directly into a tool that may be training itself on it for purposes unknown to me.&lt;br/&gt;&lt;br/&gt;Right now, LLMs (large language models) are approaching the “peak of inflated expectations” phase of the [Gartner hype cycle](&lt;a href=&#34;https://en.wikipedia.org/wiki/Gartner_hype_cycle&#34;&gt;https://en.wikipedia.org/wiki/Gartner_hype_cycle&lt;/a&gt; ).  I figure they will die off before long before their *actual* utility comes to the fore.  They may improve the accuracy of machine language translations, specialised ones might be able to give domain-specific advice on a topic (much like a fancy expert system), and they may be able to fill in the gaps where a human can’t be there 100% of the time.&lt;br/&gt;&lt;br/&gt;They won’t be replacing artists, journalists, programmers, etc long-term.  Some of us will possibly lose jobs temporarily, but once the limitations are realised, I have a feeling those laid off will soon be fielding enquiries from those wishing to slay the monster they just created.  It’ll just be a matter of time.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://vk4msl.com/2024/01/05/my-position-on-generative-ai/&#34;&gt;https://vk4msl.com/2024/01/05/my-position-on-generative-ai/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#artificialIntelligence #chatgpt&lt;br/&gt; &lt;img src=&#34;https://vk4msl.com/wp-content/uploads/2024/01/trump-arrest-generated-ai.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2024-01-05T03:08:09Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8rzuxqtn8t00hruj8dpqlj20pmrp2xg40gygulvrpyfkq4t0kdlqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwyka46p6q</id>
    
      <title type="html">Humpty Dumpty built a great wall…Off of which he&amp;#39;ll have a ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8rzuxqtn8t00hruj8dpqlj20pmrp2xg40gygulvrpyfkq4t0kdlqzyphkuwah9muxg0t05ajhzmx574ldvdrdw5k6c659dyhfcs7fkpwyka46p6q" />
    <content type="html">
      Humpty Dumpty built a great wall…Off of which he&amp;#39;ll have a great fall…All the world&amp;#39;s leaders and all the world&amp;#39;s men…will not want him together again!&lt;a href=&#34;https://vk4msl.com/2017/02/02/a-nursery-rhyme-for-2017/&#34;&gt;https://vk4msl.com/2017/02/02/a-nursery-rhyme-for-2017/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#donaldTrump #humour #nurseryRhyme #politics
    </content>
    <updated>2017-02-02T09:08:48Z</updated>
  </entry>

</feed>