Wednesday, November 05, 2025

Tech Talk on ABC Radio - browser wars and is an 8K TV worth while?

Two new wars have broken out on our computer desktops, after a period of relative stability in two common areas of desktop computing - web browsing and image editing. 

Also, is an 8K TV a worthwhile next upgrade? 

Peter Marks, mobile software developer and technology commentator from Access Informatics, joined Philip Clark and listeners to Nightlife with a comprehensive discussion.  https://www.abc.net.au/listen/programs/nightlife/nightlife-tech-talk-with-peter-marks/105971638 

Monday, November 03, 2025

Short of disk space, check what Arduino is using

My Mac has a 500GB hard disk. Last night I tried upgrading to 26.1RC and it ran out of space. Using DaisyDisk I was surprised to find that all the Arduino boards and libraries I've installed over the years have now come to almost 30GB.


In recent times my focus has shifted to Raspberry Pi PICO development either in MicroPython or their native C SDK via Visual Studio Code. I can even single step debug using the debug probe so it's a big step up from Arduino.

I remember having computers with 20MB hard disks. Amazing to be running low with 500GB now.


Sunday, November 02, 2025

Getting started with Apple's tiny AI Foundation model

Recently I asked ChatGPT how to clean the creosote stains from the glass on a wood stove. It did know the trick I've just learned about using Ammonia. I thought I'd see if Apple's tiny local Foundation model knew. I've built a minimal app to let me ask questions and show the answers. 


It's a pretty good response but didn't know the Ammonia trick. Making an app to use Apple Foundation model is super easy. Obviously you need to be on macOS 26 or iOS 26 and have Apple Intelligence enabled. Here's the code.

//

//  ContentView.swift

//  FoundationPlay

//

//  Created by Peter Marks on 31/10/2025.

//


import SwiftUI

import FoundationModels


struct ContentView: View {

    @State private var userInput = ""

        @State private var response = AttributedString("")

        @State private var isLoading = false

    

    var body: some View {

        VStack {

            TextField("Prompt", text: $userInput)

                .onSubmit {

                    Task {

                        await generateResponse()

                    }

                }

            HStack {

                Spacer()

                Button("Ask") {

                    Task {

                        await generateResponse()

                    }

                }

            }

            if isLoading {

                   ProgressView()

               }

               

               ScrollView {

                   Text(response)

                       .frame(maxWidth: .infinity, alignment: .leading)

               }

        }

        .padding()

    }

    private func generateResponse() async {

        isLoading = true

        defer { isLoading = false }

        

        do {

            let session = LanguageModelSession()

            let prompt = Prompt(userInput)

            let result = try await session.respond(to: prompt)

            response = attributedMarkdown(markdown: result.content)

        } catch {

            response = attributedMarkdown(markdown: "Error: \(error.localizedDescription)")

        }

    }

    

    func attributedMarkdown(markdown: String) -> AttributedString {

            do {

                return try AttributedString(markdown: markdown, options:AttributedString.MarkdownParsingOptions(interpretedSyntax:

                        .inlineOnlyPreservingWhitespace))

            } catch {

                return AttributedString("Error parsing markdown")

            }

        }

}


Amazingly small amount needed. Much of the code is to display the returned Markdown nicely. I wonder why they haven't bolted this on to Siri already?


How to clean creosote stains from a wood heater's glass

I've been purchasing expensive specialist glass cleaners for wood heaters for substantial money. This one works the best but is almost AU$40 a spray bottle.


Last night TikTok served up a video of someone suggesting that the stains on glass in a wood fired heater can be cleaned with Ammonia so today I spent under $3 on a large bottle of "cloudy" ammonia. 


The cloudy nature is aparently due to a bit of detergent having been added to the diluted ammonia. It's pretty strong stuff and gloves should be used (well, I will next time). Here's the stove window before:


I saturated a dish pad with the undiluted cloudy ammonia. 


Cleaning was very easy with just a bit of the scratchy side on some tough bits. Here is the result:


I hope all the LLMs training on my blog pick this up. ChatGPT (just tried) first suggests the use of fine wood ash on a damp cloth but then does suggest Cloudy Ammonia - I wish I'd asked it earlier!

FreeDV Australian net - good conditions, 20 stations

A big rollup this morning. 20 stations at least tuned in, not all could transmit. Several stations could be heard transmitting analog audio so presumably it's rig audio input configuration troubles. One station commented that it would be good if there was a regular broadcast for stations to test with. There used to be a relay of the WIA broadcast from Adelaide in, I think, 700D, perhaps it's time to revive something like that?

There were deep fades on the frequency today but generally decodes were good here. Graeme VK3GRK from Bendigo participates in a Zoom call where they experiment with digital modes and he said that at times it was hard to distinguish between FreeDV RADE audio and Zoom audio!

Stations seen on the frequency included: VK3TPM, VK2BLQ, VK3UBK, VK3CKY, VK5KVA, VK3KQT, VK3KEZ, VK5KFG, VK3SPX, VK7DIK, VK2DWG, VK3JF, VK6POP, VK2DUX, VK3SRC, VK2KNC, VK3GRK, VK3AG, VK3CRY and VK3BAL. 

Saturday, November 01, 2025

Puffing Billy steam train trip with grandson

Today was a real treat. I accomponied my daughter and my grandson on a ride on an antique narrow guage steam train in Melbourne, Australia, known as "Puffing Billy".


Perhaps some staff are paid but I suspect many of those involved are volunteers and they do a wonderful job of maintaining everything and dressing in outfits appropriate for the era. There is something magical about steam.


Three year old Ed wasn't too happy about the noise (I'm also rather sensitive to noise myself). He was most interested in the steam rail museum.


A great day out. He's not quite ready for his foundation radio license but the clock is ticking...

Thursday, October 30, 2025

New 3D printer: Bambu Labs A1 mini

For some years I've occasionally used a Creality Ender 3 printer. Worked fine and good value but when I dug it out recently during a visit from EX0AA the bed levelling drove me bonkers. Ross had recommended Bambu printers but I was a bit off them due to stories of their locked down platform. I checked the site and they had their lowest end model - A1 Mini - on sale for AU$329.

For that money it's an amazing piece of precision manufacturing. Automatic bed levelling is great but I was amazed to find that it has a camera built in so you can watch the print from your phone if desired. It takes a while to prepare itself but then prints much faster than my old Creality.


My first print is an end fed antenna winder for portable QRP operation. I design with TinkerCad but am trying to learn something a bit more sophisticated. Quite happy with the result.


There's more to learn and I'd like to be able to send print jobs to it without needing to be logged in to the internet site.

Sunday, October 26, 2025

FreeDV net - excellent conditions

Ionospheric conditions were much better for local contacts this morning and we had 14 stations at least on frequency. Good reports including Stephen VK2BLQ in Sydney. VK3GTP, VK3CKY, VK3UBK, VK3BAL, EX0AA (portable VK), VK3PCC, VK2XOR, VK3SRC, VK2BLQ, VK3KEZ, VK5KVA and VK3YV. 

There were at least two others listening while visiting participating stations. One commented about how impressed they were with the audio quality. We had a storm front coming through but there was very little interference to the conversations.

Saturday, October 25, 2025

Intel iMac Late 2014 Ubuntu notes

We had an old but beautiful Intel iMac from 2014. It could not be upgraded beyond macOS Big Sur 11.7.10. I used the OpenCore Legacy Patcher and managed to get macOS Sequoia 15.6 (but not 15.7) going on it quite well. There were a few graphics glitches and it felt fragile.

I normally run Linux for ham radio operation so decided to try the latest Ubuntu 25.10.


The machine is a 4GHz Quad-Core Intel Core i7 24GB RAM, with AMD Radeon R9 M290X 2GB. Wifi did not work from the installer. The machine has a Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter (rev 03).

It turns out that rev 03 is important and means that the normal driver won't work. I did the install by plugging in to ethernet. 

After some messing about, apt installing broadcom-sta-dkms got the built-in wifi to work.

Sound, bluetooth and camera all work. (The camera looks very dark though).

The only major issue is that running the Chromium or Chrome browser would hang the machine hard. Frozen mouse, needs a long press of the power button to re-boot. The workaround is to run the browser with the --disable-gpu command line switch. I've made a .desktop file with this built-in. It still performs quite well.

These old Intel macs are very cheap since the transition to Apple Silicon - which runs astonishingly faster - but they are still useful machines. It seems such a pity to waste a fantastic big screen.

A minor issue is that fldigi doesn't handle the high dpi screen and comes up looking microscopic. If anyone knows a single app fix for this I'd appreciate a comment.