The latest batch:
Sunday, 6 July 2025
Tuesday, 1 July 2025
view from a hotel window : Glasgow
Monday, 30 June 2025
escaping the heat
Friday, 27 June 2025
bun breakout
We had 4 bananas going black, so time for some baking. Here are the banana oat buns that resulted (well, all but one of them: we had to do some acceptance testing):
![]() |
Out of the oven; next step, the freezer (after testing a couple more...) |
It looks like some of the buns are attempting to escape! And in a coordinated attempt, too.
Saturday, 21 June 2025
book review : Some Desperate Glory
Some Desperate Glory.
Orbit. 2023
Kyr is a dedicated and loyal soldier on Gaea Station, pushing herself and her team hard, so that one day they can help avenge the destroyed Earth. But then she meets a captured alien, leaves Gaea Station, and experiences the strangeness of the larger universe. And then something totally unexpected happens.
This is a great space opera, as Kyr, not a very pleasant protagonist at all, keeps getting her world-view changed. And the plot keeps making right-angled turns just when you think you know where it might be going. It’s a great page-turner.
It’s a fascinating tale of fanaticism, second chances, growing up, what decisions to make, who has the right to make them, and whether choosing some appalling action is justified if you know, without a shadow of a doubt, that making any other choice would result in even worse outcomes.
Recommended.
For all my book reviews, see my main website.
Sunday, 15 June 2025
automating money
- Launch the application
- Enter my password into the text box, and click OK.
- Select File > SaveAs... in the main application
- Enter the new file name in the Save As dialogue, and click Save
- Exit the application
from pywinauto.application import Application
def backup_ace_money(pwd,file_name):
# Launch the application
app = Application().start(r'C:\Program Files (x86)\AceMoney\AceMoney.exe', timeout=10)
# Enter password, click OK
pwd_dlg = app.window(title='Enter password')
pwd_dlg.Edit.type_keys(pwd)
pwd_dlg.OKButton.click()
# Select File > SaveAs in main window
main_dlg = app.top_window()
main_dlg.menu_select('File -> Save As...')
# Enter the file name in the Save menu, and click Save
save_dlg = app.window(title='Save As')
save_dlg.SaveAsComboBox1.type_keys(file_name)
save_dlg.SaveButton.click()
# Exit AceMoney
main_dlg.close()
The only (hah!) difficult bit was discovering the name of the box to type the file name into. (I confess that discovering the mere existence of the menu_select() function took me more time, and extreme muttering, than it should have.) The print_control_identifiers() function was indispensable for finding the name of the relevant control, but the great advantage is you can access by (relatively robust) name, not (incredibly fragile) screen position.
So, a couple of hours and 10 lines of code later, this task has now been automated.
And now I'm thinking about what to automate next.
Tuesday, 10 June 2025
Why does it cry and resist before it is hurt?
I came across this recently:
Unjust laws exist: shall we be content to obey them, or shall we endeavor to amend them, and obey them until we have succeeded, or shall we transgress them at once? Men generally, under such a government as this, think that they ought to wait until they have persuaded the majority to alter them. They think that, if they should resist, the remedy would be worse than the evil. But it is the fault of the government itself that the remedy is worse than the evil. It makes it worse. Why is it not more apt to anticipate and provide for reform? Why does it not cherish its wise minority? Why does it cry and resist before it is hurt? Why does it not encourage its citizens to be on the alert to point out its faults, and do better than it would have them? Why does it always crucify Christ, and excommunicate Copernicus and Luther, and pronounce Washington and Franklin rebels?
— Henry David Thoreau (1849) Civil Disobedience, p367
Monday, 9 June 2025
scanners upgrade not in vain
A few months ago, I had an issue with a Windows upgrade bricking my Canon scanner. At the time, I reverted to an earlier version of Windows to "solve" the problem. The update reminders were becoming more aggressive, and eventually, it updated itself again, without asking.
Coincidentally, my other half has just got himself a new machine. Cue several days of his muttering and more, trying to restore his life from his previous machine, which mostly required finding new versions of software, and recompiling a lot of C code. I reminded him of my scanner woes, as I guessed he was about to encounter them, too.
Clearly, his Google-fu is better than mine, and he directed me to a site I hadn't previously found. There is a work-around, and a new version of the CaptureOnTouch software. (Note that the date of the new release is prior to my previous post. Sigh.) So, I downloaded it, unzipped it, and double-clicked the exe. It got partway through the Wizard before bailing. So I uninstalled the previous version, and tried installing again. It worked!
So, I now have both Windows 42H2 and Canon scanning ability. Success!
But it really shouldn't be this difficult.
Saturday, 7 June 2025
Wednesday, 28 May 2025
blooming spring
Saturday, 10 May 2025
brains, bees, and sea
Several more days of neuromorphic fun. There are lots of things we don't understand about the brain: very little of the brain is active at one time, neurons send other neurons encapsulated mRNA messages, split brain patients become functions extremely quickly, dendrite processing is an important process. I led a session on embodied physical reservoir computing. A session on how LLMs work was illuminating. There is work on building biotransistors which can be made on flexible substrates, and work in water. The brain includes a "neuromorphic twin" model of the world, which it uses to predict sensory data; if there is a mismatch, there can be peculiar sensations. The brain has as many glial cells, including astrocytes, as neurons; a model of these at one extreme of a spectrum of structure looks a bit like a dense associative memory, what capabilities might other places on the spectrum provide? AI basically hasn't incorporated any discoveries from neuroscience in the last 50 years. Deep learning, with its billions of parameters, works because a particular Riemannian metric is more likely to exist in these high dimensions giving a unique global minimum. Insects diverged from other animals before there were brains, so have rather different structures. Bee navigation establishes an absolute reference frame by using the sun and time of day.
Whew! That's been a lot. I'm flying home tomorrow, so today I spent time walking, decompressing by watching the sea up close (it's profoundly weird to stand close to the shore for quite a while, and the tide neither comes in nor goes out), and a bit of paddling.
![]() |
There's a lovely sandy beach in front of the hotel, which ends at these rocks. Standing listening to the water gently lapping against them is incredibly relaxing. |
Tuesday, 6 May 2025
more brains, and coastal views
We've had multiple days of great talks and conversations, and lots of walks. We've heard about evolving computer programs to become replicators and machine learning programs, evolving self-organising developmental pathways, song learning in zebra finches, navigation and learning "place" maps (when you move to a different room, you switch to a different mental map; might that be why you forget why you moved to the new room?), computing with spikes, future neuromorphic hardware, making brain-like circuits with very simple components (resistors, capacitors, batteries and memristors), a mnemonic for understanding the effect of different operations and memories (if one bit is a 1 ft box, then an adder is a room, a multiplier is the whole hotel, the closest memory cache is down on the sea shore, DRAM is Corsica, a hard drive is in Rome, and the cloud is on Jupiter!). Today the focus was on robots with neuromorphic brains, and the key role played by the environment.
May brain is full to overflowing, and we've still got a couple of days to go! To decompress a bit, I went for a walk along a costal path. Low rocky cliffs, with a few beaches scattered along the length.
![]() |
some of the coves are sandy; this one is splendidly rocky |
Wednesday, 30 April 2025
brains and trees
Today at CapoCaccia 2025 we had some discussion sessions on "Life with and without a cortex". We learned that you can take the cortex out of a mouse and it makes hardly any difference: although the mouse cannot learn new behaviours, the majority of behaviours it uses are in fact innate. One speaker said that looking at mice doesn't help to understand our brains: we need to look at more nearby species, eg monkeys, and even so, that only gets you so far. And there was the fun idea that each of the seven deadly sins is associated with a particular hormone.
More conversations, then I went exploring a bit further afield that yesterday. Unfortunately my phone's 4G isn't working, and there's no wifi outside. So I downloaded a map of the vicinity, and took great care to remember where I had come from. I found some good trails through the local pine forest. Again, stunning.
Tuesday, 29 April 2025
view from a hotel window : CapoCaccia 2025
I arrived in northern Sardinia last night, for the two week Capo Caccia workshop on Neuromorphic Intelligence. This morning I saw the view from my window: this is on the "non seaview" side of the hotel, which means the room is a little cheaper. It's still a lovely view.
![]() |
The restaurant looks over the sea, and the view is indeed stunning.
In the morning were some great "discussions" (more informal than lectures) on evolution of neural circuits, and emotions in fish. I then had some excellent conversations with participants in the afternoon. Then off for a stroll to photograph the sea view.
It promises to be a fantastic time: great talks, great conversations, great food, great venue, great weather!
Wednesday, 23 April 2025
Monday, 21 April 2025
Friday, 18 April 2025
for the title alone
Near the registration desk was a table piled with a load of free second hand books. We looked through them, but had most of the ones we might want (and, anyway, flying back puts a crimp on book acquisition). However, there was one I couldn't resist, for the title alone.
Okay, so it turns out this is two separate stories, but even so...
view from a hotel window
It was dark by the time we arrived at the convention hotel last night, so no view from the window. It was a bit gloomy and grey this morning, but enough to see the view, including the dome of the convention centre, and hills in the distance.
Off now to breakfast, and then to registration, and then to the start of the con proper.
Thursday, 17 April 2025
417 Expectation Failed
We flew in to Belfast this evening, ready for the Eastercon starting tomorrow.
We laughed in nerd as we walked along the hotel corridor to our room.
First of all, a room Not Found.
Then our room, URI Too Long.
And the last room on the corridor, Expectation Failed.
Unfortunately, no more rooms, so no teapots.
Wednesday, 16 April 2025
sequestering carbon, several books at a time CL
The latest batch:
Tuesday, 15 April 2025
breaking the trend
We had a lovely start to March: nine sunny days before the weather turned.
April has been even more amazing. Fourteen sunny days:
before the weather turned today:
Well, we needed the rain!
Saturday, 12 April 2025
moonlighting
While I was up in Scotland enjoying the spring sunshine, my other half was enjoying the clear night, using the 8" telescope and a Raspberry-Pi camera to photograph the nearly-full moon.
![]() |
Definitely better pictures than using my phone camera.
Thursday, 10 April 2025
views from two hotel windows
I travelled up to Glasgow yesterday, via Edinburgh, for a project team meeting the day before a workshop we ran today, in Edinburgh. So yesterday evening I travelled back from Glasgow to Edinburgh, to overnight here before the workshop.
![]() |
A nice sunny morning in Edinburgh. Some reflection of the double glazing, which was a foot deep and not openable. |
We held the workshop -- about 20 people discussing quantum optics and photonic computing -- and then the team travelled back to Glasgow, ready for a project debrief tomorrow (to be followed by me travelling home in the afternoon, via Edinburgh).
![]() |
A nice sunny evening in Glasgow. |
Monday, 7 April 2025
I could care more
I was reading an article the other day that branched off into a discussion about the expressions I couldn't care less (obviously correct) and I could care less (obviously bizarre). A comment pointed me to the Merriam-Webster discussion. This is all quite fair-minded, but I definitely rofl'd at the last sentence:
if you can’t get past some people continuing to use could care less, and the fact that there’s nothing you can do about it, you may console yourself with the notion that at least they are not saying “I could care fewer.”
Tuesday, 1 April 2025
asymmetry
I bought some new walking boots today, having worn my previous ones down, had them resoled, and then worn them down again.
The guy in the shop measured my feet on a nifty computerised device. He wasn't surprised that my left foot is 1mm longer than my right foot. But he seemed completely gobsmacked that my right foot is 4.5mm wider than my left foot.
![]() |
not to scale |
Saturday, 29 March 2025
Eight ways to observe the eclipse
We watched the partial solar eclipse quite closely this morning, with eight different instruments.
Going counterclockwise, we have:
- A pair of solar viewing glasses from the 1999 total eclipse.
- The SeeStar telescope with a solar filter.
- The new solar binoculars.
- The digital SLR with zoom lens, and, of course, solar filter.
- The cardboard solar projector telescope, bought for the 1999 eclipse
- The 5" Meade telescope with, you guessed it, a solar filter.
![]() |
Just starting: see the big sunspot near the limb. There are some smaller, fainter spots towards the top-middle of the disc. |
![]() |
Near maximum, and the smaller sunspots are close to the edge of the moon. |
![]() |
Nearly over |
![]() |
Look at that reflection! |
![]() |
The big dip: that's no cloud, that's the (partial) eclipse) |
Sunday, 23 March 2025
Engineering Persuadable Matter
Susan Stepney. Engineering Persuadable Matter: A Comment on Armstrong’s ‘Life, Mind and Matter’. Social Epistemology Review and Reply Collective, 14(3):33-42, 2025.
Rachel Armstrong (2024) advocates for a new approach to ‘agential chemistry’, a form of ‘new materialism’ that allows matter to take an active role. Here I comment on some of these ideas through a computational lens: the consequences if agential chemistry can perform computation to advance its own agenda; how it might provide the structure and dynamics needed for computation, and the metadynamics for open ended systems; and how it opens the possibility of a new technological discipline of engineering ‘persuadable’ agential matter.
While searching for an image to use to spice up this post, I came across an interesting Medium piece that forms a nice overview of some of the issues, from a neural AI perspective. And has the pretty image I use above (click to embiggen).
Saturday, 22 March 2025
It's always worth checking
I was writing some Python code today, and I had some logic best served by a case statement. I remembered that Python doesn't have a case statement, but I decided to google to see if there was a suitably pythonic pattern I should use instead.
Aha! Python v3.10 introduced a case statement, and I'm currently using v3.13. Excellent. I scanned the syntax, then added the relevant lines to my code.
After I'd finished that bit of coding, I went and read the official Python tutorial. Of course, Python being Python, its 'case' statement is actually a very sophisticated and powerful 'structural pattern matching' statement. I might have some fun with this...
So, every day in every way, at least Python is getting better and better.
Saturday, 15 March 2025
Reservoir computing benchmarks: a tutorial review and critique
Our latest paper, reviewing a bunch of standard benchmarks for Reservoir Computing, digging into their histories, and why some of them might not be the best approach to be using.
Chester Wringe, Martin Trefzer, Susan Stepney. Reservoir computing benchmarks: a tutorial review and critique. International Journal of Parallel, Emergent and Distributed Systems, 1-39, 2025. doi:10.1080/17445760.2025.2472211
Reservoir Computing is an Unconventional Computation model to perform computation on various different substrates, such as recurrent neural networks or physical materials. The method takes a ‘black-box’ approach, training only the outputs of the system it is built on. As such, evaluating the computational capacity of these systems can be challenging. We review and critique the evaluation methods used in the field of reservoir computing. We introduce a categorisation of benchmark tasks. We review multiple examples of benchmarks from the literature as applied to reservoir computing, and note their strengths and shortcomings. We suggest ways in which benchmarks and their uses may be improved to the benefit of the reservoir computing community.
If you don't subscribe to that journal, you can find the same text (if not as prettily typeset) on the arXiv, at arXiv:2405.06561 [cs.ET]
Friday, 14 March 2025
partial lunar eclipse
A photo, with a digital SLR and an ordinary lens, of the partial lunar eclipse this morning, looking nice and red:
By the time a longer lens was fitted to the camera, low cloud had bubbled up and hidden the moon. (We should have been better prepared: we will be for the partial solar eclipse in a fortnight.) In fact, the moon was nearly set anyway, as can be seen by "enhancing" the picture above, making the horizon visible:
A bit later, the sky was light, with an amazing contrail disappearing into the distance, as if following the setting moon.
You can identify on this picture where the moon was above, by comparing horizon profiles. (The spike pointing to the moon is the pylon on the right.) And yes, that position is still in cloud.