|
|
|
Sunday, 1 June 2025 | Today's diary | Today's images | top | next | last |
The load on my web servers has been quite tolerable over the last week or so, with load averages mainly below 1. That doesn't correspond directly to the number of hits. Today lax had:
On 30 May 2025 you had a total of 702441 hits.
...
193130 /grog/photos/Photos.php?dirdate=19980703
That's much less than the 14 million or so that I had a while back, but it's still 5%, while the server load has dropped by over 99%. And why is this URL top of the list? It's of my musical instruments, 27 years ago. I should investigate these things more
My server ffm.lemis.com has been up for nearly 20 months:
=== grog@ffm (/dev/pts/0) ~ 14 -> date; uptime
Sun Jun 1 03:17:01 UTC 2025
3:17AM up 605 days, 16:20, 1 user, load averages: 0.25, 0.29, 0.33
That's not its longest uptime. 1½ years ago it reached an uptime of 2067 days (5 years, 8 months) before it went down due to some failure with DigitalOcean.
But now I have two servers in Frankfurt am Main, and all ffm is doing is running squid. fra.lemis.com can do that too. So shut down:
=== root@ffm (/dev/pts/0) /home/grog 2 ->
*** FINAL System shutdown message from grog@ffm.lemis.com ***
System going down IMMEDIATELY
System shutdown time has arrived
Connection to ffm.lemis.com closed by remote host.
Connection to ffm.lemis.com closed.
Disconnected at Sun 1 Jun 2025 13:18:29 AEST
Did Vultr register that? No. For that, I need to destroy it, removing all trace of it, and in particular the IP address.
=== grog@eureka (/dev/pts/9) ~ 128 -> host ffm
ffm.lemis.com has address 45.63.116.55=== grog@eureka (/dev/pts/9) ~ 129 -> host 45.63.116.55
55.116.63.45.in-addr.arpa domain name pointer 45.63.116.55.vultrusercontent.com.
I still have a snapshot of ffm, taken at 2025-05-23 02:14:56 (presumably UTC). It's 9.1 GB in size, but for billing purposes they tell me it's 25GB, the uncompressed size. I wonder if I can download it somewhere and restore it later.
So what new weather station do I buy? All are more expensive than the one I have (I think), and all will require me to adapt my software.
And then I saw the title of the instruction manual for my current WS1081:
TOUCH SCREEN WEATHER STATION WITH SOLAR POWERED
Yes, that's what they wrote. But inside it states (top of page 7):
Rechargeable batteries have lower voltages and should never be used.
But then, who writes accurate instruction manuals nowadays? In fact, this one looks relatively good in comparison to the nonsense I've seen elsewhere.
So: back to my list of issues:
So what do I do? Put in some rechargeable batteries and put the thing in the position where it belongs and see what happens.
I've been making cuttings of my Hibiscus rosa-sinensis “Uncle Max” for years, and it works well. I've never heard of growing them from seeds. But these are clearly seed pods:
![]() |
|
I suppose I should plant them and see what happens.
I signed up for Reddit years ago, and I almost never used it. But there are some interesting links on weather stations (r/myweatherstation), so I tried to sign in. “User name or password invalid”, their way of saying “we have forgotten about you”. OK, sign up again with a different name. Sorry, Groogle taken. Groogled taken. Groogledddd taken. Sorry, Reddittttt, you're lying.
Finally found a way around its broken user name recognition and signed up. Wait for confirmation message. Message doesn't show.
Try again. Same thing. Try again. Same thing. “We're having problems”. But then I found a way to register without an email address (why?). And that worked. Some time later, round 5 minutes, the confirmation messages came in, but they knew my new user name and had associated it with the email address I gave them. What's their problem?
Monday, 2 June 2025 | Today's diary | Today's images | top | previous | next | last |
Can my new WS1081 weather station run on and charge Nickel-Cadmium batteries? The first is easy to check: put in some charged batteries and see what happens. It works! So at least part of the instructions are wrong.
And charging them? That will take a while to confirm. What does Google Gemini say?
The WS1081 weather station itself does not recharge batteries directly.Outdoor Sensor (Multi-sensor): Often uses 2 x AA rechargeable batteries, and in some versions, it's solar-powered, which can help prolong the life of the rechargeable batteries.
Oh. Can I believe it? So far it looks at least as plausible as anything in the documentation. So—I think—back it goes.
Into town for a six-monthly doctor's appointment and also a couple of vaccinations, influenza and COVID-19. The nurse who had been intended to perform the vaccinations had been held up, so Paul did it himself, showing in the process that his supplies for this sort of thing are a little unusual:
![]() |
|
![]() |
|
The blood test results were nothing unusual, but today I had Yana's results there as well. Her Mean Corpuscular Volume (MCV) was normal, but there were some issues with low Vitamin B₁₂, something that I have had to do with in the past. I tried to tell Paul when it was, but it seems he already had the information: he had found the issue interesting enough to include all my old medical notes from the time before I switched to him as my GP. And it seems that in all that time my MCV has been round the 103 fl mark, the value I had today.
But then there's the issue of my great-grandfather, George Francis Lehey (1859-1921), who died of pernicious anaemia. That, too, is related to Vitamin B₁₂. But my B₁₂ levels have been fine for the last 10 years, and there have been no issues with intrinsic factor and Anti-parietal cell Antibodies. As he put it, the MCV is consistently elevated, but there's nothing pointing to why. Still, Yana's B₁₂ issues and George's (1959-1921) cause of death suggest that we should look more carefully. My pathology request for November includes active B₁₂/folate, intrinsic factor antibodies and anti-parietal cell autoantibodies.
And then there were other issues. How much Vitamin B₆ is too much? My magnesium tablets contain 60 mg per tablet, and it seems that that's far too much. Paul came up with some test that showed people taking multiple grams of B₆ daily over several years with no ill effects, but then the directive that all medications with more than 10 mg B₆ per dose should carry a warning label. So he recommends finding an alternative with less B₆.
And then he finally had the results of the DEXA scan. Values between -2.3 for the femoral neck and -1.1 for the lumbar spine, both in the osteopenia range. That's not significantly different from 2½ years ago.
My web server loads seem to be subsiding again, though there's evidence of load averages above 10:
last pid: 63326; load averages: 0.51, 0.39, 0.348
That third place after the decimal at the end of the line is the result of one of the three being above 10, shifting the text one line to the right. When it goes down again, the last digit doesn't get erased.
But by chance I found this:
On 30 January 2004 you had a total of 2875 HTML hits.
Top 30 hits:
228 /grog/cats.php
136 /grog/diary.php
68 /grog/
How times have changed!
Tuesday, 3 June 2025 | Today's diary | Today's images | top | previous | next | last |
Another attempt at pad see ew today. As planned last time, I made more sauce. I also fried the noodles by themselves in hope of finding the elusive “Wok hei” that is part of the charm of the dish. The result was darker (here 2 weeks ago and today)
![]() |
|
![]() |
|
It didn't taste bad, but I'm left wondering if I understand what “wok hei” (“the breath of the wok”) really tastes like. People talk of a “smoky” flavour, but that too is subject to interpretation.
My computer storage requirements continue to increase, mainly because of multimedia. I now have 18 TB of videos:
Filesystem 1048576-blocks Used Avail Capacity Mounted on
/dev/ada0p4 7,567,870 7,380,176 112,015 99% /spool
/dev/da0p1 5,722,572 4,592,114 1,073,232 81% /VB2
hydra:/Video 3,815,019 3,340,961 435,907 88% /Video
total 17,105,462 15,313,427 1,620,980 90%
And though my photo storage is just below the 8 TB limit of my backup disks, it won't stay that way for long. Time for some larger backup disks, and by chance found a couple of 16 TB external backup disks on eBay for $560 each. That seemed reasonable. I can use the old backup disks for something else.
But wait, there's more! Use (this code) and get 10% off. Yes, I can do that.
Or can I? To get the discount, I need to use this horrible Afterpay. I really hate everything that Afterpay stands for, but $100 are $100 (well, in this case $112). So sign in. Oh:
![]() |
|
That's not my real email address, of course, but I entered it to see if it made any difference. It didn't: the message was the same as with my valid address. OK, try with the phone number:
![]() |
|
That has one difference from what it wanted: +61 0490 494 001. Again, no difference, either with its invalid number or my corrected one.
Damn it, afterpay, I'll sign up again. Or at least I tried. I couldn't find a way to sign up! All it wanted was to breach security on my mobile phone with its app. OK, if that's the way it wants it. I can always remove the app when I'm done. And that worked, but I couldn't find a way to associate it with my eBay account.
OK, try another tack. Try the whole thing with Chromium instead of firefox. Yes! So this was just afterpay's way of saying “I don't want to talk to your firefox”.
afterpay, how I hate you!
Winter started a couple of days ago, a time where autumn meets spring. On the one hand the first bulbs are starting to flower:
![]() |
|
![]() |
|
![]() |
|
And on the other hand, we still have roses and hibiscus:
![]() |
|
![]() |
|
The hibiscus in particular is interesting because it is flowering about as well as it has done all summer.
Wednesday, 4 June 2025 | Today's diary | Today's images | top | previous | next | last |
Up round 6:00 this morning and turned the heat on, as every morning. But when I got up two hours later, the temperature in the lounge room had still not come up to the set 21°. Instead I heard several de-icing cycles from the air conditioner: the outside temperature was pretty much 0°, and even with the second air conditioner, we were still round 19.4°. It took until 11:12 before the lounge room temperature hit the set 21°. Time to keep the main unit running overnight.
One of the issues I have with my Laugengebäck is that it needs food-grade sodium hydroxide. Where do you get that? My searches online gave me one result, costing over $100 per kilogram.
Once again, Google Gemini to the rescue, pointing me inter alia at Risenflour.com, who offer food grade pearls for $23.95 per kilogram. That's only roughly double to cost of commercial sodium hydroxide.
But we're not done. After some searching, the web site divulged that they're in Perth, and the postage is expensive because of the danger of the material. Gemini also gave me other links, including the people who want $100.25 for 800 g. I'll have to go through the whole list to find who makes it easy to buy the stuff. Time to start a list.
So what new weather station do I buy? Do I buy a new weather station? Yes, the current WS1091 is really unreliable, but it's not clear that others are any better. It is clear that I would have to do considerable work to interface a new one to my system. So: I can live with changing the batteries occasionally. Will the thing talk to the base station when it's mounted in the correct place? Put it up there provisionally:
![]() |
|
Yes, there are no wind measurements (the vanes haven't been fitted, and they wouldn't turn anyway), but that's no worse than what I've had for the last year or two. So I'll keep my eye on it.
Thursday, 5 June 2025 | Today's diary | Today's images | top | previous | next | last |
While trying to sync to my web servers today, received a connection error message from fra.lemis.com. Trying again with ssh gave me:
=== grog@hydra (/dev/pts/18) ~/Photos/20250603 289 -> ssh fra
ssh: connect to host fra.lemis.com port 22: Connection refused
Disconnected at Thu 5 Jun 2025 12:08:26 AEST
What's that? It proved that sshd wasn't running, at least not the one I wanted to connect to. Fortunately I had a couple of connections open, so I was able to restart it with little trouble. But what if I hadn't? I'd have had to brave this Vultr “console” access that has given me so much pain in the past.
Anything in the logs? The closest clue might be this:
Jun 4 00:15:52 fra kernel: pid 73110 (sort), jid 0, uid 1004, was killed: failed to reclaim memory
Jun 4 00:17:42 fra kernel: pid 73316 (sshd), jid 0, uid 0: exited on signal 11 (no core dump - bad address)
The times here are UTC, 10 hours behind my local time (AEST, UTC+10). The SIGSEGVs happen far too often, and they seem not to be overly serious, though it does suggest a bug in sshd. But the sort error suggests that maybe I should put in some swap after all. Still, that doesn't seem to be the issue.
Jun 4 02:03:33 fra sshd[74499]: error: PAM: Authentication error for smmsp from 80.250.155.76
Jun 4 02:03:36 fra sshd[74502]: error: PAM: Authentication error for illegal user Admin from ip-d9bc.d-net.kiev.ua
Jun 4 02:09:22 fra sshd[74554]: error: PAM: Authentication error for illegal user postgres from p1368118-ipxg05201yosida.nagano.ocn.ne.jp
Jun 4 02:10:33 fra sshd[74571]: error: PAM: Authentication error for illegal user Default from 124.105.216.239
My connection error above happened at 02:08:26, while sshd was merrily rejecting illegal connection requests. So why did it not even respond to mine? Head-scratching needed.
Sent a message to Risenflour about shipping costs for sodium hydroxide. The response came quickly and painfully:
The estimated postage to your suburb of Parkville is $42.00, in addition to
the cost of the products you wish to order. To the other address you gave
me Dereel the postage is $95.00 😱
Ouch! That might explain the high prices some other sources charge. But it occurs to me: maybe local baking supplies have it. It's worth checking, anyway.
The German TV series „Notruf Hafenkante“ is set in the Speicherstadt in Hamburg. It's a fascinating place. Here a photo from the German Wikipedia:
While watching an episode of „Notruf Hafenkante“ tonight, I suspected—correctly—a transposition of a view out of the window. OK, Google Maps, show me some “street views”. This one certainly stood out:
![]() |
|
That's not Hamburg! It's München! Well, it's about as plausible as this image, courtesy of National Geographic, which I discovered 10 years ago:
![]() |
|
That view (of the centre of München) is a real condemnation of National Geographic. And clearly the image in Google Maps is the Piazza San Marco in Venice, here an image from the Wikipedia page:
But on closer examination, it seems that this is a model, possibly located in the Speicherstadt. What a misleading image!
Friday, 6 June 2025 | Today's diary | top | previous | next | last |
I'm running out of storage space on tiwi:/spool, one of the disks on which I store videos. And I'm downloading more. In the middle of the night I ran out of space, terminating a number of video loads.
Most of the storage space is for series: I keep the episodes after looking at them, and some individual series take up over 500 GB of storage.
What should I do? I have a choice: delete something or add more storage. A combination would also work. I don't want to delete them, so more storage is the answer, and I have it, currently:
=== grog@tiwi (/dev/pts/1) ~ 352 -> df -c /spool/ /VB2/ /Video/
Filesystem 1048576-blocks Used Avail Capacity Mounted on
/dev/ada0p4 7.567.870 7.422.409 69.782 99% /spool
/dev/da0p1 5.722.572 4.830.152 835.195 85% /VB2
hydra:/Video 3.815.019 3.341.579 435.289 88% /Video
total 17.105.462 15.594.141 1.340.266 92%
Oh for Vinum! Yes, I could probably do it with ZFS, but I'm scared. So more analysis:
=== root@tiwi (/dev/pts/4) /VB2/spool/Already/Series 108 -> du -sc /spool/*
6766451 /spool/Already
648727 /spool/Series
...
7421146 total
There are a couple of other directories, but all relatively small. The directory Already, with all videos, seen and unseen, is over 10 times the size of Series, which contains the active episodes. Time to move some of it elsewhere, for example to /VB2. Started that today:
=== grog@tiwi (/dev/pts/0) /spool/Already/Series 117 -> du -sc Um-Himmels-Willen/ WaPo-Bodensee/
408298 Um-Himmels-Willen/
16453 WaPo-Bodensee/
424750 total=== grog@tiwi (/dev/pts/0) /spool/Already/Series 118 -> mv Um-Himmels-Willen/ WaPo-Bodensee/ /VB2/spool/Already/Series/
It's not fast: /VB2 is a USB 2.0 disk running at a maximum of 25 MB/s (why?), and it ran all day.
In the evening, it hit the magic 400 GB mark. And continued merrily on, past 480 GB. What's going on? A comparison of the contents of the directories showed that I had—for reasons long forgotten—a subdirectory 11a. Normally the subdirectories represent the season, in this case 01 to 20. But 11a contained links to some of the files in other directories. And mv merrily copied them as new files: it doesn't understand links in this context! Is this a bug or a misfeature? All the man page has to say is:
As the rename(2) call does not work across file systems, mv uses cp(1)
and rm(1) to accomplish the move. The effect is equivalent to:
rm -f destination_path && \
cp -pRP source_file destination && \
rm -rf source_file
Removed 11a and let it continue, but it still took its time. Somehow this all takes far too long.
Videos aren't the only thing where storage is running out. I had replace the 8 TB disk for my photos with a 16 TB disk 9 months ago, but the backup disks are still only 8 TB, so on Tuesday I ordered 2 16 TB backup disks. Today they arrived, so to Napoleons to pick them up, also looking in to Sebastopol to pick up some fruit and vegetables that Yvonne forgot on Wednesday.
32 TB in a small box! That's the equivalent of 20,000 IBM 3330 disk drive systems, the benchmark of my youth, each of which required an estimated 10 to 20 m² of floor space, not including power and cooling. So at a conservative estimate, I have saved round 30 ha of floor space. But I went through all this last time, when I thought that the minimum footprint of repeating 3330s would be 11.1 m².
I think I'll decide that the area per unit could be 16.4 m². Then the three disks together could replace more area than that of the Vatican City.
By comparison with the video issues, installing the new backup drives (one first, just to be safe) was a breeze. The only issue was the number of inodes. The first invocation was:
=== root@eureka (/dev/pts/1) ~ 58 ->
newfs -L Photobackup12 -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 3145728 -h 64 -i 7405568 -j -k 1152 -m 1 -o space /dev/da2p1
And that only gave me 2,160,428 inodes. The /Photos disk is half full and uses 1,791,168 inodes already, so clearly that's not enough:
=== root@eureka (/dev/pts/1) ~ 61 -> df -i /Photos /pb1
Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/ada1p1 15,257,008 7,488,512 7,615,925 50% 1,791,168 4,694,974 28% /Photos
/dev/da2p1 15,258,065 6,813 15,098,671 0% 338 2,160,428 0% /pb1
So try again:
=== root@eureka (/dev/pts/1) ~ 62 -> newfs -L Photobackup12 -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 3145728 -h 64 -i 2469888 -j -k 1152 -m 1 -o space /dev/da2p1
(ridiculous number of cylinder groups)=== root@eureka (/dev/pts/1) ~ 63 -> mount /dev/da2p1 /pb1
=== root@eureka (/dev/pts/1) ~ 64 -> df -i /Photos /pb1
Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/ada1p1 15,257,008 7,488,512 7,615,925 50% 1,791,168 4,694,974 28% /Photos
/dev/da2p1 15,258,065 6,813 15,098,671 0% 338 2,160,428 0% /pb1
In passing, it's interesting to note that silly things like model numbers are uninteresting in this day and age. The boxes with the disks had no indication of the model number, just the storage capacity.
![]() |
|
Oh, no, it's there in tiny print on the bottom of the box:
|
|
But it's wrong! The probes tell me
Jun 4 15:03:39 eureka kernel: da2 at umass-sim2 bus 2 scbus6 target 0 lun 0
Jun 4 15:03:39 eureka kernel: da2: <Seagate Backup+ Desk 040B> Fixed Direct Access SPC-4 SCSI device
Jun 4 15:03:39 eureka kernel: da2: Serial Number NA7HFKNF
Jun 4 15:03:39 eureka kernel: da2: 400.000MB/s transfers
Jun 4 15:03:39 eureka kernel: da2: 7630885MB (15628053167 512 byte sectors: 255H 63S/T 972801C)
Jun 4 15:03:39 eureka kernel: da2: quirks=0x2<NO_6_BYTE>
No mention of “Seagate STKP16000400” there, just (presumably) Seagate Backup+ Desk 040B. And the serial number is different too. In that connection, it's interesting to note that the storage specification mentioned on the visible part of the box is a sticker. Have they changed the details? Has the seller changed the details? The disk seems to work well, but it's surprising. I'll look more carefully at the second disk.
I download my videos with yt-dlp. During the night not one, but all concurrent downloads failed due to lack of disk space.
OK, yt-dlp is good at restarting partial transfers. Try that and get:
[Merger] Merging formats into "Result.mp4"
ERROR: Postprocessing: Conversion failed!
What's that? Yet Another bug or incompatibility to chase!
In mid-evening discovered that the weather station hadn't been logging since shortly before midday. Dammit, what's wrong with this system? I found an endless sequence of
Jun 6 19:49:28 tiwi wh1080[23992]: Can't read device: Input/output error or Unknown error (5)
Jun 6 19:49:28 tiwi wh1080[23993]: Can't read device: Device busy or Unknown error (16)
Jun 6 19:49:31 tiwi wh1080[23997]: Can't read device: Device busy or Unknown error (16)
Damn this unreliable system! Tried things that have helped in the past, like disconnecting and reconnecting the USB cable and power cycling the indoor station. Now I have two stations, so I tried the other. All in vain.
It took me some time to discover that I had two wh1080 processes running, and they were treading on their toes. Stop everything and start again and things started stumbling on. But that doesn't explain the loss of information for the whole afternoon.
So for once it was my fault. Should I bother to put in some more tests?
While looking at tiwi's log files, saw this:
Jun 6 12:15:16 tiwi kernel: swap_pager: indefinite wait buffer: bufobj: 0, blkno: 358465, size: 65536
Jun 6 12:15:16 tiwi kernel: swap_pager: indefinite wait buffer: bufobj: 0, blkno: 290150, size: 4096
Jun 6 12:18:32 tiwi kernel: swap_pager: indefinite wait buffer: bufobj: 0, blkno: 279446, size: 4096
That doesn't look good. That's normally an indication of a dying disk, but normally that would be indicated by other error messages as well. That's all I need.
Saturday, 7 June 2025 | Today's diary | Today's images | top | previous | next | last |
Why do both weather stations fail to communicate at particular times? I had assumed that the old one was gradually dying, but the new one does it too, roughly at the same time as the old one. Surely it can't be the location. Here's an example:
![]() |
|
![]() |
|
The weather station is clearly visible about 12 m away. And the unit is supposed to have a range of 100 m.
What's wrong? One clue is that it seems to happen to both stations at the same time. Could it be that there is severe RFI from time to time? It can't be anything obvious like our computers, since it is intermittent but long-lasting. I can't make up my mind what it could be. Potentially it would make a difference if I moved the unit to the other side of the house.
But there are more issues. The two outside units are next to each other, and one indoor unit is connected to each. Before the communication failed, they displayed markedly different temperatures and pressures:
![]() |
|
![]() |
|
The first unit is connected to the new station. The outside temperature is in the second line at the left (9.8°, 75% humidity, or 8.6° and 82% humidity). The barometric prssure is on the right of the third line (961.3 mbar or 958.2 mbar). These photos were taken 10 seconds apart. How can I rely on something like that?
My 8 TB photo backup ran smoothly and completed in almost exactly 24 hours:
sent 7,824,233,002,625 bytes received 39,695,113 bytes 91,034,429.89 bytes/sec
total size is 8,657,590,230,554 speedup is 1.11
Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/da2p1 15,257,008 7,498,588 7,605,849 50% 1,814,798 4,671,344 28% /pb1
Fri 6 Jun 2025 16:29:59 AEST Photo backup started
Sat 7 Jun 2025 16:29:19 AEST Photo backup ended
And once again the size of the disks isn't the same:
=== root@eureka (/dev/pts/1) /videobackup 96 -> df -i /Photos /pb1/
Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/ada1p1 15,257,008 7,507,545 7,596,893 50% 1,791,574 4,694,568 28% /Photos
/dev/da2p1 15,257,008 7,498,588 7,605,849 50% 1,814,798 4,671,344 28% /pb1
I see that so often. What's causing it? The newfs parameters were identical. I suppose I should check more carefully with the second disk.
There's a new fisheye zoom lens on the market. It's for “full frame” cameras, so nothing that I would buy, but a statement caught my eye:
It delivers a dual fisheye effect...
Reviewers expanded on this and suggested two different projections. DPreview writes
Laowa's latest lens offers two types of fisheye perspective with a fast and constant F2.8 aperture.
That would be interesting, since most fisheye makers don't even bother to say what projection they're using. And I was wondering how they change the projection. But no, they're just stating the obvious, that the sensor coverage changes from circular at 8 mm to full-frame at 15 mm. Wow! And of course the perspective remains identical. Crop an 8 mm image and you'll get exactly the same perspective as an image taken at 15 mm.
But the claim of circular fisheye is not completely correct. My field of view program tells me that the vertical field of view at 8 mm is 171.9°, not quite the 180° that you'd expect. And then there's:
It allows for a shallow depth of field,
This is an f/2.8 lens. At 15 mm and full aperture, the hyperfocal distance is 10 m. At 1 m the depth of field is 20 cm. Shallow depth of field indeed!
Tagine d'agneau aux abricots et amandes for dinner tonight, a chance to take some more photos.
The recipe calls for ras-el-hanout. And we don't have any. What do I do? Ask Google Gemini, which suggested a number of things, including cloves and cardamom. That seemed reasonable.
We also didn't have enough almonds, so we made up for it with pistachio kernels.
And then there were the chick peas. I didn't note anything in the recipe. Shouldn't they be cooked for a long time? Yes, like beans. Boiled them for 5 minutes, during which they doubled in size, and then put them in at the beginning. They were edible but still quite firm. Next time I should cook them for an hour or two first.
How did it taste? Alright, but it's still missing something. Quantities: 393 g for me, 173 for Yvonne, a total of 566 g. We'll eat it again on Tuesday, and then we should have weights for freezer portions.
Sunday, 8 June 2025 | Today's diary | Today's images | top | previous | next | last |
It has been an extremely dry autumn, but that changed today. Overnight we had 15 mm rain, and it rained the whole day. By evening one of the rain gauges had gone off the scale (which means at least another 30 mm). The usual rain into the house entrance:
![]() |
|
And a test of the relocation of our house water pump:
![]() |
|
Yvonne was concerned, but I think it's high enough for water to overflow first.
My weather station woes continue, so yesterday I took a photo to show how close the inside and outside units are to each other.
Oh:
![]() |
|
The indoor units are at the extreme right and in front of the glass cabinet. But where are the outside units? I had chosen this view to show them, but there were other issues. First, the angle of view, which required a very wide angle. And then the difference in brightness between inside and outside, and also the difference in distance, which required both HDR and focus stacking. So I put the camera on a tripod and took a number of photos. What do I process it with? Photomatix creates HDR images, Zerene does focus stacking. But in this case it's relatively clear: the images were 4.3 EV apart, so there wasn't much choice in focus. And sure enough, it came out sharp enough, though not as needle sharp as I had expected from the originals.
But I had made the mistake of not raising the tripod to my eye height, so the weather stations disappeared behind the palisade. Don't do that, then.
Try again today. In the meantime, the inside units had failed completely. Due to the rain? I haven't seen any connection before. So I put one up against the window, where the distance was even less, and the angle of view as well:
![]() |
|
And this time I cheated by using the indoor flash, which worked up to a point. There were reflections in the window, and the indoor unit was still underexposed:
![]() |
|
So yes, HDR seems to be the way to go, but I've expended enough on the matter.
I didn't notice this detail until after processing the images:
![]() |
|
That's Bruno, who was polite enough to remain effectively still during the 70 seconds between my composite images.
And the weather station? I've repositioned the new one on the table on the verandah, where it works. But why are things so bad? Can it be the metal plant frame between the units? That shouldn't make any difference, but I can check by moving the indoor unit. Somehow it seems as if there's some environmental issue, so just replacing the unit won't help.
While planning the photos of the weather stations, tried taking a photo with the OM System OM-1 Mark II and the Leica DG Summilux 15 mm f/1.7 ASPH.. I couldn't autofocus! Much examination showed that there's some compatibility issue between camera and lens. The lens works fine on the Olympus OM-D E-M5 Mark III, the Olympus OM-D E-M1 Mark II and the Olympus E-PM2, and it works with the OM-1 Mark III as long as it's not set on C-AF autofocus.
Why? The Summilux is unique amongst my Micro Four Thirds system lenses because it has an aperture ring. It also has an AF/MF switch, but others have that too. And all works as expected on Olympus/OM System cameras. But somehow the OM-1 Mark II (and presumably Mark I as well) has an issue.
How do I report firmware bugs to OM System?
Monday, 9 June 2025 | Today's diary | Today's images | top | previous | next | last |
It's been intolerably dry for months now, and we've been waiting for rain. Finally it has come: 15 mm yesterday, 63 mm today. 78 mm in a little over 24 hours, coming close to the 24 hour value of 69 mm that we had 17 years ago.
Interestingly, the rainfall in Ballarat, only 30 km away, was considerably less, only 35.4 mm. It seems that the highest daily June rainfall there was only 46.2 mm, on 8 June 2023, a day where we only had 28 mm. Still, finally it seems that the drought has broken.
Or, as ABC reported this morning (as of 8:27),
![]() |
|
There's nothing like up-to-date news. Yes, that's nothing like up-to-date news.
Deirdre MacIntosh along today with husband Don, son Jake and a gift: AuSome Morena, a Paso Fino/Paso peruano mare bred by Jorge de Moya.
![]() |
|
![]() |
|
They didn't stay long: they had come from Flowerdale, an important place in my mother's past, and they wanted to get back.
So I have migrated one of my backup disks to the new 16 TB drive. The old 8 TB is free for other purposes, and I have it earmarked for videos.
But what if some of the images on the new disk are corrupt, and they're good on the old disk. That could happen, since many of the files on the old disk have been there for years, and it's not beyond the bounds of possibility that they could have been damaged on the main disk. How do I check them? Google Gemini to my aid. It came up with some interesting stuff: jpeginfo, of which I had never heard, and also information that ImageMagick's identify command will provide information with the -verbose flag, and exiftool has a -validate option.
Installed jpeginfo, which is in the FreeBSD Ports Collection, and it seems to do what I want. Now I just need to run it against my hundreds of thousands of files. And it still doesn't address the issue of corrupt raw files, which, I suspect, is a lost cause.
“segaloco”, one of the more active participants on the Unix Heritage Society mailing list, came up with a question: “Your Most Prized UNIX Artifacts?”.
Interesting question. Unix is software. What can you keep? Source trees? The freely available ones are on the TUHS site. People won't admit to keeping clandestine copies of copyrighted material. And of course none of the replies referred to source trees. The single most mentioned artefact was the UNIX “Live free or die” registration plate.
And for me? From my reply, with additions:
One of the more unexpected replies was from Pete Wright:
A print of a draft of The Complete FreeBSD 4th ed. signed by Greg Lehey. Still sitting in its original manila envelope by my desk.A friend (thanks .ike!) got it and gifted it to me when I ended up in the hospital the night before I was supposed to attend BSDCan '05 and couldn't attend. Lots of sentimental value for me in that one for me.
What an honour. I was one of the very few living people mentioned by name.
Exchanged email with Yana this morning. How's the new lens that I bought for her nearly 2 weeks ago? Send me some sample images. I hadn't told her about the purchase, but she picked it up from the post office last Wednesday, and for some reason didn't comment.
She sent me some sample images—from the Leica DG Summilux 15 mm f/1.7 ASPH. that I bought for her over a month ago. And the new lens? What new lens?
This one:
![]() |
|
Ha ha, only joking. Australia Post couldn't deliver it, so they took it to the post office for pickup, and didn't bother leaving a notification. So it's still there!
I've had issues with tracking and delivery with eBay and Auspost, but this really takes the cake.
Tuesday, 10 June 2025 | Today's diary | Today's images | top | previous | next | last |
Somehow the last few days have been particularly busy. Finally I had time to catch up today and address most of the mail that has been waiting for me. I still didn't make it all.
Seen in the paddock to the south of Grassy Gully Road:
|
Clearly John has arrived behind the hill to feed them.
Wednesday, 11 June 2025 | Today's diary | Today's images | top | previous | next | last |
Into town today. Apart from a haircut and a visit to the Fruit Shack, Yvonne wanted to look at a carpet for sale in Mount Clear. We were to meet there. OK, get the directions from Google Maps and send them to my phone. See that the notification arrived, head off. Enable the route. It's gone! For no obvious reason, the notification had disappeared. And the only way to get the information, including the all-important address, would have been to go back inside to a Real Computer and send it again.
No time for that. But Yvonne had told me: down to the roundabout, first left, first left.
So I tried that. It wasn't nearly as obvious as it sounded, and I found myself driving
around for a while. But Yvonne was there: find her on the map and go to her. And how about
that, I found her in Cartilage Cartledge Avenue. I recognized that name: the
house is there. But she went straight across the road and back the way I had come from.
OK, follow her. After a while she stopped, leaving me blocking an intersection, and told me
that her phone had claimed she had arrived when she was 500 m from the destination.
Fortunately, round that time, the people we want to visit called and gave us the exact
address.
The carpet itself was a disappointment, but I discovered that there was a much easier way back to Sebastopol: just head up west on Cartledge Avenue, turn left onto Tinworth Avenue and we'd hit Whitehorse Road, the road to Sebastopol. In Tinworth Avenue I asked Google Maps to take me to Arabella. But instead of giving me a route, it held a lecture about where it might be. When I finally got it to shut up, it disagreed with my route. Turn back and go down Cartledge Avenue, 1.1 km further. Ignored that and headed onwards, where there were no issues beyond traffic on Whitehorse Road.
Done? Not at all. Driving on to the Fruit Shack, it lost its mind, or at least its vision:
![]() |
|
![]() |
|
OK, maybe the app has got confused. Stop, restart.
![]() |
|
Still no map, but it had decided that I should go by foot! How do I change that? It took me 5 minutes to find that it had hidden the choice of transport down some unlikely menu at bottom left. Finally I briefly emerged from the darkness:
![]() |
|
But that went away again, and it was still like that after I finished my shopping. OK, reboot the phone. Then things worked.
Google, what a pair you have created!
Backups to my first new disk went well. Today's the day for the weekly swap, so put in the second disk. First, connect to distress to save the disk contents (one Microsoft Start_Here_Win.exe and a whole slew of programs in Start_Here_Mac.app). That was a pain: to be on the safe side, I was running the CMD.EXE as administrator, with the unexpected result that it didn't see any of my “network shares”, and it took me a while to work out what was wrong this time.
Preparing the disk for FreeBSD was easier, but not as easy as it should have been: I wrote down the steps last week, but I got them wrong (now corrected). Here what I did today:
Get the newfs parameters from /Photos and use them to create the new file system:
=== root@eureka (/dev/pts/0) /videobackup/spool 102 -> dumpfs -m /Photos/
# newfs command for /Photos/ (/dev/ada1p1)
newfs -L Photos -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 3145728 -h 64 -i 2469888 -j -k 1152 -m 1 -o space -s 31251759024 /dev/ada1p1=== root@eureka (/dev/pts/0) /videobackup/spool 102 -> newfs -L Photobackup13 -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 3145728 -h 64 -i 2469888 -j -k 1152 -m 1 -o space /dev/da2p1
=== root@eureka (/dev/pts/0) /videobackup/spool 103 -> mount /dev/da2p1 /pb1
Create the file Iam in the root directory. syncphotos uses this to identify the drive. Then run the backup:
=== root@eureka (/dev/pts/0) /videobackup/spool 112 -> cat > /pb1/Iam
Greg's photo backup 13=== root@eureka (/dev/pts/0) /videobackup/spool 113 -> mailme syncphotos /pb1
Wed 11 Jun 2025 11:33:58 AEST Greg's photo backup 13
-rw-r--r-- 1 root wheel 23 11 Jun 11:33:53 2025 /pb1/Iam
Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/da2p1 15,257,008 32 15,104,406 0% 4 6,486,138 0% /pb1
And that ran fine. The only interesting thing was when I wanted to process a photo with DxO PhotoLab:
![]() |
|
Instead of the normal 10 seconds, it took DxO 25 minutes to process the image! My guess is that it was performing lots of little transfers, each of which got held up by the disk load of the backup.
Interestingly, this disk identified itself differently. Last week there was no relationship between the serial number on the package and the serial number of the disk. Today the package stated a serial number NT17MDRZ, which the device expanded to 00000000NT17MDRZ, and the name was also different:
Jun 11 11:21:09 eureka kernel: da2 at umass-sim2 bus 2 scbus6 target 0 lun 0
Jun 11 11:21:09 eureka kernel: da2: <Seagate Expansion HDD 1802> Fixed Direct Access SPC-4 SCSI device
Jun 11 11:21:09 eureka kernel: da2: Serial Number 00000000NT17MDRZ
Jun 11 11:21:09 eureka kernel: da2: 400.000MB/s transfers
Jun 11 11:21:09 eureka kernel: da2: 15259647MB (31251759103 512 byte sectors: 255H 63S/T 1945332C)
Jun 11 11:21:09 eureka kernel: da2: quirks=0x2<NO_6_BYTE>
Is that important? If so, it's documented here.
Shopping at the Fruit Shack is always frustrating. They have lots of good things, some of the time. Today I found even less of the items on my shopping list than normal. To make the point, I found more of them at the nearby Ballarat Asian Grocery, where I normally don't find much.
As if that wasn't enough, I had had problems with an item I bought last time:
![]() |
|
I had noted it at the time because it had no identifying label, though clearly it was dòufu puffs. And when I got round to using them about 10 days ago, they had gone mouldy! The use-by date is clear: 11 September. So I asked the cashier for a refund. “But they haven't expired yet”. Tried to make it clear that they were mouldy, but I'm not sure she understood. “Why didn't you bring them earlier?”. “Look, you can call this number” (on the receipt). Neither would have helped if they hadn't been mouldy at the time. Call the manager, please. Sorry, no manager here. Finally, as a gesture of good will, she accepted it, not before I got seriously angry. And the query about the cost of some pork balls went nowhere, since they were out of stock and I couldn't show them what I bought. She just said “That was a Chinese cashier”, something obvious here where nearly everybody is Chinese. Only she is Indian or similar. Somehow the cashier name on the receipt seems appropriate: “Simple”.
What do I do? The Fruit Shack is getting more and more on my nerves, but they're a valuable resource, and I don't want them to get into trouble.
Thursday, 12 June 2025 | Today's diary | Today's images | top | previous | next | last |
Somebody left a present in our driveway:
![]() |
|
![]() |
|
![]() |
|
![]() |
|
What is it? Yvonne thought that it was a Star, or starling, and that seems likely. But the German name „Star“ is somehow appropriate: it's a homonym of „starr“, meaning stiff, and so it was.
How did it die? Yvonne thought that it might have flown against a windscreen and broken its neck, but the neck seemed unaffected. About the only thing obvious was that one foot was held higher than the other.
ffm.lemis.com in its old incarnation is gone. fra.lemis.com has taken over the net proxy, but it only occurred to me today that ffm was also a name server. OK, migrate the name servers, in the process changing IP addresses so that ffm is now a name for fra, 192.248.184.42. Simple: take the configuration from lax.lemis.com (in its incarnation as ns1.lemis.com), frob slightly and start on fra:
=== root@fra (/dev/pts/2) /usr/local/etc 17 -> service named start
/usr/local/etc/namedb/named.conf:7: unix control '/var/run/ndc': not supported
/usr/local/etc/rc.d/named: ERROR: named-checkconf for /usr/local/etc/namedb/named.conf failed
Huh? What does “not supported” mean? But I've always had trouble with rndc, and I find it easier to restart named with a kill -1. OK, comment out the reference to /var/run/ndc, which proves to be a socket. Try again.
Jun 12 05:57:25 fra named[10112]: the limit on open files is already at the maximum allowed value: 116964
Jun 12 05:57:25 fra named[10112]: isc_stdio_open '/var/log/named/named-2.log' failed: file not found
Jun 12 05:57:25 fra named[10112]: configuring logging: file not found
Jun 12 05:57:25 fra named[10112]: loading configuration: file not found
Jun 12 05:57:25 fra named[10112]: exiting (due to fatal error)
Jun 12 05:57:25 fra grog[10116]: /usr/local/etc/rc.d/named: WARNING: failed to start named
What does that mean? Ah, no /var/log/named/? Create that and try again:
Jun 12 05:58:41 fra named[10134]: isc_stdio_open '/var/log/named/named-2.log' failed: permission denied
Jun 12 05:58:41 fra named[10134]: configuring logging: permission denied
Jun 12 05:58:41 fra named[10134]: loading configuration: permission denied
Jun 12 05:58:41 fra named[10134]: exiting (due to fatal error)
Jun 12 05:58:41 fra grog[10138]: /usr/local/etc/rc.d/named: WARNING: failed to start named
Oh. /var/log/named belonged to root, but named runs as bind. Once again:
=== root@fra (/dev/pts/0) /var/log 69 -> l -d named
drwxr-xr-x 2 root wheel 512 12 Jun 05:58 named=== root@fra (/dev/pts/0) /var/log 70 -> chown bind:bind named
And then it ran. Only one message puzzled me:
Jun 12 06:00:53 fra named[10174]: the limit on open files is already at the maximum allowed value: 116964
What does that mean?
Sample photo from Yana taken with her new Leica Summilux 25 mm f/1.4 lens. Not good. I have exactly the same model, so it was relatively easy to compare (and confirm that photos of text are a good way to test lenses). Here her photo and mine, both taken at f/1.4:
![]() |
|
![]() |
|
The brightness isn't important. It's difficult to get good exposure of a display screen, and normally I would correct it. But the image quality seems much worse than mine. Here top left, centre and bottom right, first Yana's lens, then mine:
![]() |
|
![]() |
|
Centre:
![]() |
|
![]() |
|
Bottom right:
![]() |
|
![]() |
|
On the one hand, both lenses are acceptable. In the Good Old Days you wouldn't expect anything like that good a result. But clearly the new lens isn't nearly as good as the old one? Should I return it? That would be a pity.
This evening Bruno came in via the lounge room window, as is his wont recently. He had something small in his mouth—a moth, I thought. But it proved to be a mouse. That's certainly a great improvement over fairy wrens. I put them in the laundry for Bruno to complete his action. And of course he lost it, far too quickly for him to have eaten it.
Before going to bed, Mona showed great interest in the sideboard in the dining room. Left the light on overnight to make it for her to catch it.
Friday, 13 June 2025 | Today's diary | Today's images | top | previous | next | last |
First thing this morning found a dead mouse in the hallway:
![]() |
|
Was that yesterday evening's mouse? I thought it was much smaller. And how did it die? It seems that it was a single bite to the throat:
![]() |
|
In the evening, to make his point, Bruno came back with another mouse. This time I didn't let him in; instead Mona went out with him. When they came back, there was no mouse.
In passing, it's interesting to note a big difference between Bruno and Mona. Bruno is immediately apparent when he sits on the windowsill in the dark. Mona is almost invisible. This evening I saw Bruno and a disembodied eye, something like a Cheshire cat.
So how good or bad is Yana's new Leica Summilux 25 mm f/1.4? Time for some comparisons.
First, fill the screen with numbers. Start an xterm, make it full screen, and enter:
=== grog@hydra (/dev/pts/35) ~ 2 -> echo `jot 10000 10000`
![]() |
|
Then the photos. No fewer than 12 lenses:
And with the exception of the Nokton (f/0.95, f/1.4, f/2.8 and f/4), up to three apertures: f/1.4 or f/1.7 for the lenses that can do it, f/2.8 and f/4.
The results: almost useless. I did them hand-held in the assumption that it would make no difference, but it did, very much so. Firstly, the monitor I chose (a 1920x1080 Acer) is sensitive to viewing angle, and though it wasn't obvious to the naked eye, it made a real mess of the images:
![]() |
|
Then the fact that the images didn't line up, even for a single lens, meant that I couldn't really compare the results at different apertures. And finally, they all seemed to perform better than I had expected. Here the Super-Takumar at f/1.4, top left and bottom right (on the left, with the 25 mm Summicron on the right):
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
The difference in image size is due to the difference in focal length. But that's a far cry from what I experienced eight years ago, where the same lens comparison gave me (top left, here at f/1.4 and f/8):
![]() |
|
![]() |
|
![]() |
|
![]() |
|
In particular, the Super-Takumar actually appears better than the Summilux at bottom right, something that I didn't try on the previous occasion. Even the lenses that I expected to be bottom of the list didn't compare that badly. Here the Cassar (Cooke triplet) at f/2.8, FED at f/4, the Summilux at f/1.4 and the Summilux at f/2.8:
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Yes, the Summilux is better at f/2.8, but I was expecting more of a difference. And of course the Super-Takumar, the Cassar and the FED are all “full frame” lenses, so I'm just sampling the inner, better part of their field of view.
So what do I do? Clearly I need better continuity, but maybe my idea of using text as a comparison wasn't so good after all.
Part of today's investigations was to generate cropped images, as above. Not an issue: ImageMagick does that. But somehow I keep forgetting how, and the man pages don't help (I can't find a description of “geometry” anywhere). OK, dig in my scripts:
/Photos/Tools/jpegcompare-detail: ensureconvert $COMPPHOTO $TMPDIR/after-$i-bottom-right.jpeg -crop 300x225+0+0 -gravity south-east
OK, I can do that. But it doesn't work! After some searching I discovered that convert is (now) sensitive to the order of arguments, and it seems that an obvious geometry like 300x225-0-0 doesn't work. In the end I ended up writing a new script with the payload
for i in $*; do
IMAGE=`basename $i .jpeg`
convert $i -gravity north-west -crop 600x450+0+0 $IMAGE-topleft.jpeg
convert $i -gravity center -crop 600x450-0-0 $IMAGE-centre.jpeg
convert $i -gravity south-east -crop 600x450-0-0 $IMAGE-bottomright.jpeg
touch -r $i $IMAGE-topleft.jpeg $IMAGE-centre.jpeg $IMAGE-bottomright.jpeg
done
But I should check jpegcompare-detail. It seems to be intended to do the same thing.
Mail from Stephen Rothwell today. Error messages from his name server (ns1.ozlabs.org, one of my name servers):
2025-06-13T10:54:04.461783+10:00 gandalf named[32356]: zone lemis.com/IN: refresh: retry limit for primary 45.63.116.55#53 exceeded (source 150.107.74.76#0)
2025-06-13T10:54:34.471975+10:00 gandalf named[32356]: transfer of 'lemis.com/IN' from 45.63.116.55#53: failed to connect: timed out
2025-06-13T10:54:34.472173+10:00 gandalf named[32356]: transfer of 'lemis.com/IN' from 45.63.116.55#53: Transfer status: timed out
Oh. Yes, of course, it's not enough to update the zone. I also have to update my named.conf, which was still pointing to the old address for ffm.lemis.com. Now I have:
// ns1 ns3 ns6.gandi.net ns0.krpservers.com ns.ozlabs.org
allow-transfer {45.32.70.18; 192.248.184.42; 217.70.177.42; 62.13.128.200; 150.107.74.76; };
While I was at it, also added ns3.lemis.com (fra/ffm) to the list at Gandi, not without pain. I must remember that name servers in the same zone require glue records. The error message I got doesn't really help:
ns3.lemis.com has no IP address but is a glue record
Of course ns3.lemis.com has an IP address:
=== grog@freefall (/dev/pts/24) ~ 3 -> host ns3.lemis.com
ns3.lemis.com has address 192.248.184.42
What it wanted was for me to create a glue record elsewhere in the menu tree. It could have done so too and asked for confirmation, but why make things easy?
Saturday, 14 June 2025 | Today's diary | Today's images | top | previous | next | last |
Saw an article today on DPreview: Six essential camera settings to improve your phone photos. Never mind that “improve” and “essential” are not compatible, nor that I don't really use my phone for photos if I can possibly avoid it: it might be interesting reading.
And of course Android made it impossible. There was almost nothing on albo, my Xiaomi Redmi Note 13, that matched anything in the article. About the only thing that I found was the suggestion to set the image format to the match the sensor format. But while searching through the maze of twisty little menus, found this:
![]() |
|
What is it? A series of icons. And a typical mobile phone explanation:
![]() |
|
I couldn't get it to expand the text, though there's plenty of space. It should never have been truncated in the first place, but I suppose that's modern. Pressing on the icons does nothing. As far as I can tell, the whole purpose of the page is to change the order in which these icons are displayed somewhere.
Jesse Walsh along today. I had wanted him to look at some stuff in the garden, but first Yvonne wanted him to plant some self-seeding trees in the paddock to the north-west of the house. After 3 hours we had:
![]() |
|
![]() |
|
![]() |
|
Two Acacia melanoxylon planted in the same hole. Two eucalypts also planted together about 2 m away. Each of these trees can grow to 20 m, like the ones in the paddock to the west:
![]() |
|
We don't need to worry about the casuarina to the right: it prefers shade, and will probably die.
After some discussion, we agreed to plant the eucalypts in the south-west corner of the paddock and the second blackwood in the hole left behind:
![]() |
|
![]() |
|
I'll keep an eye on that.
While taking the photos in the paddock, noted a number of other things. We're in the second week of winter, but the Hibiscus rosa-sinensis “Uncle Max” still has buds and a flower that hasn't completely dried up:
![]() |
|
![]() |
|
I wonder if any of the buds will make it.
There are a number of mushrooms in the north-west paddock:
![]() |
|
![]() |
|
The first spring flowers are showing:
![]() |
|
![]() |
|
And Jesse managed to put a bigger fence around the Grevillea robusta, which, after 6 years finally looks like it is growing:
![]() |
|
Yesterday's efforts made it clear that my idea of testing lenses with photos of text on screen are probably not as good as I had hoped. But I've been there (many times) before. Eleven years ago I used a ISO 12233 lens test chart to establish that a lens I had bought was defective. How about doing that again? The chart is still available. Display on the TV (to avoid focus issues with being too close to the screen).
And that will be a whole lot more work, to be done in the evening when there are fewer reflections. Went to test. And once again I have issues with colour banding:
![]() |
|
![]() |
|
![]() |
|
What causes that? It's clearly related to the TV, but it's not repeatable. In some cases it shows up in the viewfinder but not in the final image. Maybe I should give up on the TV. Much of this would be easier, except that I want to give Yana an easy and reliable way of measuring her lenses.
Time to roll over the log files on fra.lemis.com, which involves restarting the web server. FreeBSD offers this functionality—I think—with the service program, but it's straightforward enough with the apachectl program:
=== root@fra (/dev/pts/0) /var/log/www 86 -> apachectl graceful
Cannot 'graceful' apache24. Set apache24_enable to YES in /etc/rc.conf or use 'onegraceful' instead of 'graceful'.=== root@fra (/dev/pts/0) /var/log/www 87 -> apachectl onegraceful
Usage: /usr/local/sbin/httpd [-D name] [-d directory] [-f file]
...
Oh. Something has half changed apachectl to require intervention in the FreeBSD configuration system. But onerestart (a command that doesn't exist in apachectl) hasn't been catered for. Nothing for it: I must put this in /etc/rc.conf:
apache24_enable=YES
The instructions say that I should write apache24_enable="YES", but that's silly. rc.conf is (part of) a shell script, so the quotes are not necessary.
Mail from BUPA, my health insurer, today: book an online appointment with a doctor at any time. We needed that a few months back, but they were only available some of the time.
But on searching I discover that we had already tried them, but couldn't get through. That was clearly an incorrect URL. The one I have now leads to a registration form which presumably works.
At some point I want to get Mona sitting on the window ledge in her Cheshire cat persona. It wasn't tonight—Mona didn't go outside—but I did get Bruno:
![]() |
|
I'm surprised how strong the reflections are.
Sunday, 15 June 2025 | Today's diary | Today's images | top | previous | next | last |
Twenty-five years ago today a number of us gathered at Yahoo!'s main facility in Sunnyvale to discuss the future of the FreeBSD kernel. The background was a benchmark from Mindcraft that showed that Microsoft “Windows” NT greatly outperformed Linux.
The reason was the multiprocessor support in each system. And far from getting up on our hind legs and saying “couldn't happen to FreeBSD”, we acknowledged that it could, in fact, happen. In fact, over 3 years later, on the only occasion when Linus Torvalds visited us, I demonstrated a FreeBSD system which had such problems where Linux didn't.
So on today's anniversary we came together to discuss how to improve the situation. I went into more detail at the time in a Daemon News article.
How time flies! I wonder how we compare now. I have the feeling that if it doesn't worry Netflix, it's not a problem.
By coincidence, discovered that I had spent considerable time a year ago today. There I was more interested in my “Leica” lenses, the Hektor 13.5 cm f/4.5 and the 50 mm f/3.5 FED 1. There, too, I came to the conclusion that the Hektor was not as bad as I feared, though the FED seems to have performed worse than on Friday.
I really must find a better way to compare them.
Spaghetti alla puttanesca is a well-known Neapolitan dish, and I have probably made it before. But it's a lot of work for a pasta course. Recently I saw this recipe in the New York Times. It turns it into a main course by adding “shrimp” (prawns).
OK, how hard can it be? Horrible! These bizarre old units completely confuse me, and I had already put it off once, and I spent some time today to come up with these quantities, which still aren't good enough:
For 1.5 servings.
quantity | ingredient | step | ||
215 g | (cooked) spaghetti | 1 | ||
12 g | olive oil | 2 | ||
15 g | garlic | 2 | ||
anchovy fillets | 2 | |||
black olives | 3 | |||
capers | 3 | |||
3 g | paprika, „edelsüß“ | 3 | ||
55 g | tomatoes | 4 | ||
20 g | tomato paste | 4 | ||
82 g | water | 5 | ||
120 g | prawns, 10 g | 5 | ||
parsley | 7 | |||
0 g | oregano | 8 |
Cook the spaghetti.
Cut the anchovies into small pieces and fry in the oil with the garlic. The base recipes claim that the anchovies will “dissolve”, but mine are made of sterner stuff.
Cut the olives into 3 or 4 pieces. Add olives, capers and paprika and mix well.
Add tomato and tomato paste and heat until about to dry out.
Add prawns and water. Heat until prawns are barely cooked.
![]() |
|
Add the spaghetti and transfer to a serving dish.
![]() |
|
Garnish with much parsley.
![]() |
|
Add oregano. Oops, forgot the oregano.
And the result? Not bad, but not well balanced.
![]() |
|
There were enough noodles and prawn, but the flavour ingredients were a little underrepresented. Next time I'll use more.
And it wasn't until I wrote this up that I discovered that I already had a recipe for puttanesca. It confirms my quantities. Why didn't I check first?
Monday, 16 June 2025 | Today's diary | Today's images | top | previous | next | last |
This morning before dawn a transporter came and picked up Carlotta and Dana. Carlotta is going back to Jane Ashhurst again, and Dana is going to Shelly Cooper. To make up for that, Chris Bahlo picked up her mare Pinta, leaving only Samba and Morena here. Samba was not amused: Pinta had become her friend, and Morena was the intruder. She spent all day complaining and avoiding Morena.
It has been several months since I bought disdain.lemis.com, my first Microsoft “Windows” machine. I did some basic configuration, and then left it.
Why? I hate Microsoft at the best of times, and they have gone and changed the appearance Yet Again. And I was terrified of the pain I would have to go through to set up “file sharing”. But it has to happen, and today I finally got round to it, in the process updating my living with Microsoft page.
On the whole things weren't that bad. I've found that it's easier to search for specific terms than try to guess where in the menu tree Microsoft might have hidden specific configuration functions. But they don't want to know about “map network drive”:
|
Never mind, there's a second search. But that took me to an external web page that starts by telling me
First, open File Explorer from your taskbar.
This is the same tool you use to browse your files and folders. Look for the folder icon, usually pinned to your taskbar. If it’s not there, you can find it by searching “File Explorer” in the Start menu.
On disdain the two paragraphs are separated by a whole screen's worth of advertisements. I don't “browse” my files and folders. But yes, it's the tab symbol that I know from other versions of Microsoft. For some reason they haven't changed it (yet). That takes me to something that I recall:
![]() |
|
And then it goes on:
In the top toolbar, click on the ‘Map network drive’ option.
But there's no ‘Map network drive’ option in that half-full “top toolbar”.
|
Fool! You need to click on the ... in the middle of the toolbar (the last item) and select:
![]() |
|
Still, modulo obfuscatory menus, it just worked. I was quite surprised. Next step is to install DxO PhotoLab on it, complicated by the fact that DxO never forgets a computer and claimed that I was now trying to breach the license. Mail to DxO support, no response today.
Tuesday, 17 June 2025 | Today's diary | Today's images | top | previous | next | last |
Yesterday Samba was really unhappy being left alone with Morena, and she spent all day complaining about it. That's over, fortunately:
![]() |
|
That's Samba on the left and Morena on the right.
Mail from DxO support today: I'm already running DxO on three machines. Please tell us which they are and what operating systems they are running.
Well, sorry, can't do that. I'm running on distress and I had been running it on despise, but currently it's not functional. Both running Microsoft.
More responses, showing that their license database goes by system name and exact operating system: "Windows” isn't enough. 10? 11? “Home”? “Pro”? Gave them that information (“Windows” 10 Pro in each case) and they were happy, allowing me to activate on disdain.
Next, copy my configuration. DxO offer no help whatsoever here, and though I have written down how to do it in various places, there was no document to help. Started a HOWTO page today. That, including the configuration, took all afternoon.
Following up later, it's possible that the files in the Workspaces subdirectory contain the missing information. I'll try that next time.
Finally I was able to run it. Things were still not right, and I don't know what I have missed. In particular, the “palettes” were not set the same way as on distress. The Preset Editor was enabled, and a whole lot were not: metadata, light, color, detail, Geometry, Viewpoint, Local adjustments. Viewpoint is understandable: it wasn't installed. But even after I enabled them, the view on the side panels was different.
Gave that up for the time being and did some performance testing. disdain processed 13 images in an average of 100 seconds (101, 99, 100). As expected, distress took longer, but not nearly as much longer as I had expected: an average of 110 seconds (111, 109, 110). For that it's not worth it. I should use the new machine for something else. OK, remove the SSD, buy a new one and make it the new lagoon.
Somehow this is too much stress. I had stomach ache all afternoon.
Wednesday, 18 June 2025 | Today's diary | Today's images | top | previous | next | last |
How do I check whether the photos I have on my backup disks are not corrupted? There are various check programs for JPEG images, but do they check for everything? I'm sure they recognize structural problems, but would they recognize a zeroed-out data block in the middle of the image? And of course they only check JPEG, arguably the least interesting of my photo files.
Take a step back. If I have corruption somewhere, there are two possibilities: either all copies are corrupt, or there's a version that isn't corrupt. So before I potentially delete the last correct version of a file from my myriad backup disks, I should compare them. How? sha1 seems the obvious choice. Yes, it's not as secure as more modern versions like sha512, but it's faster, and the chances that the corrupt version will have the same fingerprint as the good version are vanishingly small.
So:
=== root@eureka (/dev/pts/0) /photobackup/Photos/grog 152 -> find [12]* -print0|xargs -0 sha1 > /Photos/grog/sha1-12 2>/Photos/grog/sha1-12-err
We'll see what that looks like tomorrow, or maybe the day after.
What was missing from yesterday's copying of DxO PhotoLab configuration information? Was it really the subdirectory Workspaces? Braved stomachache and tried copying the files in that directory: Myspace.xml, __$$Customize.xml and __$$PhotoLibrary.xml. Restart DxO. Yes! My guess is that it's Myspace.xml. The other two were there on installation, though their content differed. So I have the (hopefully) final piece in my HOWTO, at least until I install a new version.
Looked at albo, my Android phone for some reason today. Two missed calls from Yvonne. Dammit, it has been in my pocket all day. And calls aren't muted. And when I tried to call her, I got no response from the phone, not even a ring tone.
What's wrong with this bloody thing? Rebooted it, after which it worked normally. But why are these things so horribly unreliable?
Ran the dishwasher this morning, as always. But the dishes didn't get clean, and the detergent was still in the now-open dispenser. Dispenser obstructed? Filter blocked? Spray arms obstructed? That's easy with things like spatulas that can hang through the basket. Checked carefully and ran it again. No problem.
Then a second load. Problem. The cycle ran normally, but once again the detergent remained in the dispenser. On further investigation discovered that the water in the sump was completely clear. Pump blockage? Pump failure? Did some basic checks, including checking the filter, and removing the upper basket and checking the waterways, but came up with nothing. So until proof of the contrary it's the recirculating pump. A good thing that we decided to keep the old dishwasher when we installed this one. But it's Yet Another repair to schedule.
Last week I noted that Mona is almost invisible when she sits on the outside windoill at night. Here's the proof:
![]() |
|
Bruno is on the right, but where is Mona? Towards the right side of the left window:
![]() |
|
You really need to look. But then, Bruno's face is not much more visible.
Yvonne had a shopping spree today, and one of the things she bought was two new beds for the dogs:
![]() |
|
![]() |
|
![]() |
|
Run the cursor over the one of the last two images to compare it with its neighbour.
Thursday, 19 June 2025 | Today's diary | Today's images | top | previous | next | last |
Pad see ew for breakfast again today. It's a dark dish, but unlike KL Hokkien mee it doesn't look attractive. Here pad see ew on the left, KL Hokkien mee on the right:
![]() |
|
![]() |
|
Part of that comes from frying the meat over high heat right at the start. So: do the Gai lan first. The result didn't look different enough to take a photo, but it did seem better.
And the wok hei? I'm still not there. Put some more oil into the wok to prevent the noodles sticking to it, with only limited success.
About the only real insight was the composition of the sauce. More fish sauce, more vinegar, less soya sauce.
Friday, 20 June 2025 | Today's diary | Today's images | top | previous | next | last |
Mail from Michael Hughes this morning. He does something similar to check the integrity of his photos, but he stores the results in a database. Is that worth it?
Shortly after my sha1 run completed. Compare the results:
=== root@eureka (/dev/pts/0) /Photos/grog 199 -> diff -wu sha1 sha1-9|less
--- sha1 2025-06-20 01:59:10.503960000 +1000
+++ sha1-9 2025-06-20 09:50:41.603228000 +1000
@@ -1,22 +1,22 @@
-SHA1 (19100101) = 4fe15d494fda7d9d31ada156b9dc7c9fd9a9fb45
-SHA1 (19100101/orig) = 0144154c165dc86f5c13fe432672afee680e9eb3
+SHA1 (19100101) = 842f2fac8d4907930e8ee206929c367cce6469d2
+SHA1 (19100101/orig) = 7bd17748fe639f257dad3a26aac111faa8211040
-SHA1 (19100101/_Ashampoo_Photo_Optimizer_Backup) = 68b6ef4090869108ebecda125669a4a4f6681022
+SHA1 (19100101/_Ashampoo_Photo_Optimizer_Backup) = 384eec54619f4115ba1d29ced9ce6b6953aca985
Oh. Those are directories. Yes, of course they can be different. Repeat the runs looking at only files? First, let's see what the rest looks like, removing some directories:
-SHA1 (19550801/Besut.jpeg) = 8ce614340bc6efa4fdb3a4fa72057696ca9a23d0
SHA1 (19550801/Pulau-Perhentian-1.jpeg) = e20bd23ecb64b110a17032181aca2b35e3eada0d
-SHA1 (19550801/Pulau-Perhentian-2.jpeg) = 2a292d311c54587f7236fbfe33fe1868583f7234
-SHA1 (19550801/Pulau-Perhentian-3.jpeg) = 5ae1cb214b8be9155a4a265baeb419117b173c1b
SHA1 (19550801/Pulau-Perhentian-4.jpeg) = c198dd795691599aeda639bf5d16ffba268d0748
+SHA1 (19550801/Pulau-Perhentian-3.jpeg) = 5ae1cb214b8be9155a4a265baeb419117b173c1b
+SHA1 (19550801/Besut.jpeg) = 8ce614340bc6efa4fdb3a4fa72057696ca9a23d0
+SHA1 (19550801/Pulau-Perhentian-2.jpeg) = 2a292d311c54587f7236fbfe33fe1868583f7234
Despite appearances, there's nothing wrong there. Only the entries aren't in the same sequence.
Would a database help? I have a large number of entries:
=== root@eureka (/dev/pts/0) /Photos/grog 202 -> l sha1 sha1-9
-rw-r--r-- 1 root lemis 83,838,489 20 Jun 01:59 sha1
-rw-r--r-- 1 root lemis 83,670,593 20 Jun 09:50 sha1-9=== root@eureka (/dev/pts/0) /Photos/grog 203 -> wc -l sha1 sha1-9
1019151 sha1
1017046 sha1-9
2036197 total=== root@eureka (/dev/pts/0) /Photos/grog 204 -> diff -wu sha1 sha1-9 | wc -l
408294
More stuff to think about. About the only thing that I won't need is on of Michael's suggestions: write it a in C. The search is I/O bound, so I wouldn't gain anything there.
I had some cabbage leaves left over. What do I do with them? Fry them and eat them with noodles. How about a mee goreng mamak? It doesn't have cabbage, but why not?
Oh. An issue that I continually have is that it wants 60 g of cooked potato. I don't very often have cooked potato on hand, and it seems silly to cook 60 g of it. OK, that's what the cabbage replaces.
And since it's such a mix of cultures, why use Hokkien mee? For the fun of it, used spirali:
![]() |
|
And how about that, it wasn't bad.
Jesse Walsh along today to tidy up the garden. I thought we might keep him busy for 2 hours, but in fact he did a good 5 hours and didn't quite get finished.
One thing of interest was the incredible dying Abutilon by the laundry door: Here photos from last month:
![]() |
|
![]() |
|
There were multiple branches spread around the bush, but to my surprise they all came from one place:
![]() |
|
And there he found some mould, and the wood was rotting away. There's nothing obvious about the mould:
![]() |
|
![]() |
|
![]() |
|
Did the mould cause the rot, or did the rot attract the mould? Hopefully it's done now.
I was expecting a parcel delivery today, so round 11:50 checked Australia Post tracking. It told me that it spent the night in Delacombe, a new location for their tracking reports. And at 8:32 it was “Unable to deliver - Item carded and transferred to post office for collection”.
I know that. Though it told me that “It's on its way”, it's really ready for collection.
OK, what does eBay say?
![]() |
|
![]() |
|
So it might arrive yesterday? And now they say that it's at Lucas. Why?
Round 14:00 off to pick up the item without any problems. Back home and checked the tracking information. Ah, it had been transferred to Lucas at 9:26 and had been waiting for me in “NAPOLEON CPA”, Australia Post's inimitable way of spelling “Napoleons” since 11:08, nearly an hour before I checked the tracking the first time. Clearly Australia Post has problems keeping up to date.
But better late than never:
From: Australia Post <noreply@notifications.auspost.com.au>
Subject: Your parcel from Returns is ready to collect
Date: Fri, 20 Jun 2025 01:51:21 -0600
And they still live somewhere in the Rocky Mountains. Why? Converting that to local time gives me 17:51:21, 4 hours after I picked it up. By the evening I had no email confirmation that it had been collected, though I did get this one an hour later referring to another package that I had picked up at the same time:
From: Australia Post <noreply@notifications.auspost.com.au>
Subject: Your parcel from McLaren Vale Cellars has been collected
Date: Fri, 20 Jun 2025 02:57:21 -0600
We've been living on the Internet for over quarter of a century now. When are companies going to finally catch up with it?
Saturday, 21 June 2025 | Today's diary | Today's images | top | previous | next | last |
Yesterday's parcel delivery was a set of three cast iron frying pans.
Why? Don't I have enough already? Yes, indeed: about 12 non-stick frying pans, 4 steel pans, 3 paelleras, 3 cast iron grill pans and a couple of others, which somehow add up to 26. So why any more?
Part of it goes back to my great disappointment with the ceramic pans that I bought starting 4 years ago. At the time I was amazed by how good they were. But it didn't take long to be amazed by how quickly they deteriorated. And Yvonne uses an old-fashioned non-stick pan with a black surface:
![]() |
|
![]() |
|
That's only about a year old, and it takes forever to get the non-stuck food rests off. So I've been using steel pans for some time now, and basically I'm happy with them. Only they're bigger than I need for some things. The smallest has a diameter of 24 cm, and I wanted things with 20 cm and 16 cm. And that's (almost) what I got: 3 pans with diameters of 15.5 (“16”), 20 and 25 (“26”) cm for a reasonable price: $41.40 and $4 postage. Why did I buy them? Another seller on eBay offers the identical set for $39 and free postage. But this one came with a 20% price reduction, to be applied at checkout, so I only paid $36.75. That's irritating in a sense: it shows that you can't rely on the indicated price to get the best deal.
So, non-stick, are they?
![]() |
|
That the 15.5 cm pan, and it looks particularly rough. Will things really not stick? I'll see when I try to fry an egg in it.
Today I used the 25 cm one to prepare breakfast, KL Hokkien Mee. Two things became apparent: the completely flat bottom, something that I haven't really seen in frying pans, and that the handle became too hot to touch after frying the pork skin for some time. I particularly appreciate the flat bottom. And at the end yes, nothing had stuck, which is even better than with the steel pans. But that was with (aqueous) liquid. We'll see how it goes with straight frying.
Another thing that I found to be an advantage was that they should go into the dishwasher. In principle the steel ones would too, but the handles are too long. Yes, the pan got clean in the dishwasher, but it also showed signs of rust, which I didn't expect. I'll have to see whether I can address that by drying them as soon as the dishwasher is finished.
Today was the June solstice, time for my monthly garden flower photos. The garden continues to decline, and winter isn't the best of times anyway. Jesse Walsh came on the 20th and tidied some stuff up, but about the only thing of interest was the discovery of why some branches of the Abutilon in front of the laundry door died off. It seems that a part of the root died, possibly as the result of a fungus. Here the stump:
![]() |
|
Our Grevilleas have never done well, but at the moment two of them are looking better:
![]() |
|
![]() |
|
And I'm gradually coming to the conclusion that the solstice is a good time for Hibiscus rosa-sinensis:
![]() |
|
![]() |
|
![]() |
|
The first one was grown from a cutting that I made only 5 months ago.
A thing that we have only just noticed now is the Callistemon that our neighbour Diane had planted on the property boundary:
![]() |
|
![]() |
|
It's strange that it should have any flowers at all right now, but it looks as if it has flowered multiple times without us noticing.
Somehow I have a horror of doing work on computers lately. I'm continually running into unexpected issues. But it has to be done. I've ordered a new M.2 SSD for what is currently disdain.lemis.com. After discovering that it was barely faster than distress.lemis.com, I decided to turn it into a new machine for Yvonne.
OK, but how do I get the old SSD out? I had had issues with the SSD when I got the box: the retaining screw for the SSD couldn't be tightened or loosened. How do I change it?
More investigation showed that the SSD is mounted on a removable plastic frame:
![]() |
|
![]() |
|
![]() |
|
And as I suspected, there's a loose nut on the other side:
![]() |
|
How can that work? Did the seller do a quick fix? But then I saw the small hole next to the screw hole:
![]() |
|
Is that intended to stop the nut turning? Yes!
![]() |
|
![]() |
|
So I can mount a new SSD with no problems.
In passing, it seems that the frame, but not the motherboard, is designed for two SSDs.
Steak and kidney pie tonight. Last time were were quite happy with the results, and this was made from the same batch. But I had forgotten to write down the quantities that we wanted to reduce. I think 120 g for me and 60 g for Yvonne would be enough.
But we both didn't like it! Last time I had thought that the chuck steak was good enough. This time it was almost unpleasant. Are our steak and kidney days over?
Sunday, 22 June 2025 | Today's diary | Today's images | top | previous | next | last |
Google Maps is quite useful for a number of things, but Google seems to have a “there can only be one” mentality. What I do in one place (office computers, phone, TV) gets relayed to the others, even to the point of changing vehicle or map view. And it produces nonsense like this:
![]() |
|
That's in Hamburg (and coincidentally the title of an ancient film). Surely Google Maps, of all apps, should know that I haven't been within 10,000 km of that location.
To my surprise, Yvonne had never heard of pilau. OK, make one. Last week I picked up this mixture:
![]() |
|
![]() |
|
The usual issues with the instructions, including two different implicit definition of cups: 175 ml and 200 ml, neither of which come close to the US “cup” (between 236 and 240 ml) or the Australian “cup” (250 ml). What I made of (half of it) was:
quantity | ingredient | step | ||
400 g | basmati rice | 1 | ||
450 g | cooked lamb shoulder | 2 | ||
25 g | ghee | 2 | ||
25 g | garlic paste | 2 | ||
15 g | ginger paste | 2 | ||
25 g (½ packet) | Shan pilau biryani spice mix | 2 | ||
100 g | yoghurt | 3 | ||
700 g | broth | 4 | ||
25 g | almonds, blanched | 5 | ||
20 g | pistachio kernels | 5 | ||
50 g | onion | 6 |
It didn't taste bad, though the meat was a little tough. Next time I'll do it as intended with raw meat.
The instructions for the pilau were interesting for a number of reasons. Apart from their confusion about the size of cups, I had:
![]() |
|
Heat 1 cup (175ml) of cooking oil and fry 1 (75g) small, finely liced onion until golden.
Use long grain old basmati rice. Beginners must use parboiled/Sayla rice.
Do they really want to (deep) fry 75 g of onion in a 175 ml cup of oil? Or is this a mistake? I would have thought oil is a mistake: it should be (much less) ghee. But the fact that they mention both “cups” and millilitres suggests that they really mean it. I'm puzzled.
To quote these gems, it seemed reasonable to look for a text version of the image. A bit of searching brought me to Free Online OCR, which amazed me with its inaccuracy. Here the complete text, errors highlighted in red:
STEPS OF COOKING
1. Take 1kg (2.2lbs) meat with bones, cut into small portions
(ChickenyGoat/Beet/Lamb), 1-2 tbsp Shan Garlic Paste, 1-2 tbsp
shan Ginger Paste and 1 packet Shan Pilau Biryani Mix. Add to
water (Beef/Goat/Lamb 2 cups; Chicken 1 cup). Cover and cook
on low heat until meat is tender (about 1 cup of stock should
remain in the pot).
2. Stir in 1 cup 7009 of plain, whipped yogurt and keep aside.
3. Separately: Wash 3% cups (750g) of Shan Basmati Rice ancHet it
soak.
Boil 15 cups (3 litres) of water and stir in 2 tosp of Shan Salt and
the soaked rice. Boil the rice until %th cooked. Remove and drain
thoroughly.
4. Spread half the rice in a pot and pour the meat curry over it. Top
with ine remaining rice. Sprinkle % tsp yellow food colour if
esired.
9. Heat 1 cup (175ml) of cooking oil and fry 1 (75g) small, finely
liced onion until golden. Pour eventy over the nce. Cover and
cook on low heat until the rice is tender (5-10 mins). Mix before
serving.
Cooking Tips Use long grain old basmati rice. Beginners must use
par iled/Sayla rice.
or best results, use meat cuts from the breast and shoulder.
Yes, the photo isn't as sharp as I would have liked (something that I should investigate), but it can't excuse these errors.
Monday, 23 June 2025 | Today's diary | Today's images | top | previous | next | last |
It's been 22 years since the USA, sadly with Australian assistance, started a war against Iraq, or maybe against the government of Saddam Hussein. They had weapons of mass destruction! Or at least, that's what the aggressors claimed, despite no evidence whatsoever. So they waged a war that destroyed the country and brought no useful results, so after 8 years they left again, leaving behind a country in ruins. History has not been kind to them.
But that was over 20 years ago! And Iran has weapons of mass destruction! Oh, no, that's an old, worn-out magic word. Iran has nukes! Oh, maybe not, but they can make them. At least, that's what they say. In contrast to Israel, Iran denies any such thing. And in contrast to Iraq, Iran has allowed inspectors from the International Atomic Energy Agency to inspect their facilities, and they found nothing pointing in that direction.
So: bomb Israel to get them to stop their nuclear program? No, Israel is a friend. Bomb Iran! Israel is only too happy to help.
What's wrong with this picture? It's easier to ask what's right: nothing. I read an interesting opinion piece by Alan Kohler contrasting the Chinese and the US American approach. It makes some interesting points:
Iran's regime is now being brought undone by its insistence on enriching uranium for nuclear weapons of war and refusing to give up.
China's leaders still work on the old-fashioned idea that economic policy is for improving the prosperity of citizens and strengthening the country, not for conducting ideological culture wars, and that diplomacy is about winning friends and influencing people.
Israel's moral foundations and international standing are being destroyed by its levelling of Gaza and refusal to accept a Palestinian state.
Wars based on lies (Iraq) or that too long (Vietnam and Afghanistan) or go too far (Gaza) come with a crippling cost, sap morale, divide the country and erode global support.
These are so obvious that I'm surprised I haven't seen them before. One thing he didn't mention is that the USA has left the moral high ground that allowed it to condemn Russia over its invasion of Ukraine. And what's the situation with the current Iranian government? It has been a thorn in the collective eye of the West since its inception. But, like with Saddam Hussein, what's the alternative? More and more I wonder if these people are capable of seeing the Big Picture.
I spent some time last week checking the sharpness of Yana's new Leica Summilux 25 mm f/1.4. I've put that on ice for the time being until I can find a better way to compare lenses.
But I wasn't expecting to find problems with my own lenses, like this photo that I discussed yesterday:
![]() |
|
That's a crop from the bottom right of the photo. But why is it so unsharp? It was taken (with flash) at 1/250 s and f/5.6, so it should be razor sharp. Is it the lens ( M.Zuiko Digital ED 12-100 mm f/4.0 IS PRO)? That's one of my best lenses.
Today I tried the same photo with three different lenses: the 12-100, the M.Zuiko Digital ED 30 mm f/3.5 Macro and the M.Zuiko Digital ED 12-200 mm f/3.5-6.3, all at 1/250 s and f/5.6. The results in that order (run the cursor over an image to compare it with its neighbour):
![]() |
|
![]() |
|
![]() |
|
Clearly the macro is the best. And the other two? Hard to say, though the results look better than last week. Maybe that's all you can expect of a zoom lens.
My new 1 TB M.2 SSD arrived today. It looks slightly different from the one in ex-disdain (bottom):
![]() |
|
What's that? Reading the Wikipedia page explained some of it: the gaps are for keys, B and M. M gives 4 PCI Express lanes, B only 2. That's OK with me.
But it doesn't work! Why? I can see three possibilities:
Which is it? Ultimately it doesn't make that much difference, only the cost of the postage: I can return it without any reason.
Tuesday, 24 June 2025 | Today's diary | Today's images | top | previous | next | last |
Fried my first egg in the middle one of the cast iron pans I got on Friday. Not a success. The pans retain much more heat, so my normal method of heating to 160° didn't work well:
![]() |
|
And the egg did stick to the pan, as I had half expected:
![]() |
|
Would it work better if I hadn't made the pan so hot? I'll have to experiment, but it looks as if this is one area where a conventional non-stick pan would work better.
Somehow I've been fighting the FreeBSD Ports Collection for decades. The idea is good: a unified method for installing and maintaining all ports and their dependencies. The reality looks different. I want to update exiftool. Where is it? You'd expect it in /usr/ports/graphics/exiftool. But no, it's a Perl program, so they have obfuscated the name. But how?
=== root@hydra (/dev/pts/11) ~ 82 -> pkg search exiftool
pkg: repository FreeBSD contains packages for wrong OS version: FreeBSD:13:amd64=== root@hydra (/dev/pts/11) ~ 83 -> uname -a
FreeBSD hydra.lemis.com 13.4-PRERELEASE FreeBSD 13.4-PRERELEASE #1 stable/13-n258139-35bde8969eb6-dirty: Sun Jul 28 08:42:07 AEST 2024 grog@hydra.lemis.com:/home/obj/home/src/FreeBSD/git/stable/13/amd64.amd64/sys/GENERIC amd64
So what's that about? Finally I found the name: it's /usr/ports/graphics/p5-Image-ExifTool. But how do I update it? I rely on exiftool for so much, and I don't want to lose it. OK, try it on tiwi.lemis.com, where it's not installed. Same thing:
=== root@tiwi (/dev/pts/4) /var/tmp 166 -> pkg search exiftool
pkg: repository FreeBSD contains packages for wrong OS version: FreeBSD:13:amd64
You have mail in /var/mail/grog=== root@tiwi (/dev/pts/4) /var/tmp 167 -> uname -a
FreeBSD tiwi.lemis.com 13.1-STABLE FreeBSD 13.1-STABLE #1 stable/13-n251977-519b3b5b542d: Fri Jul 29 15:27:13 AEST 2022 grog@tiwi.lemis.com:/eureka/home/src/FreeBSD/obj/stable-13/eureka/home/src/FreeBSD/git/stable-13/amd64.amd64/sys/GENERIC amd64
This seems to be a new bug in pkg. OK, install from the source directory. Wrong Perl version! No, sorry, I'm not going to blow away who knows how many dependencies for a test installation.
No matter: I can ignore the Ports Collection and download and install it directly, (almost) following these instructions. But they're designed for Linux and are rather more complicated than needed.
=== root@tiwi (/dev/pts/4) /var/tmp 155 -> fetch https://exiftool.org/Image-ExifTool-13.31.tar.gz
=== root@tiwi (/dev/pts/4) /var/tmp 156 -> tar xvf Image-ExifTool-13.31.tar.gz
x Image-ExifTool-13.31/: Cannot restore extended attributes: com.apple.provenance com.apple.provenance: No such file or directory
x Image-ExifTool-13.31/exiftool: Cannot restore extended attributes: com.apple.provenance com.apple.provenance: No such file or directory
x Image-ExifTool-13.31/fmt_files/: Cannot restore extended attributes: com.apple.provenance com.apple.provenance: No such file or directory
...
What's that? Clearly some Apple-related stuff that shouldn't be there. Still, they're just warnings. Moving on,
=== root@tiwi (/dev/pts/4) /var/tmp 157 -> cd Image-ExifTool-13.31
=== root@tiwi (/dev/pts/4) /var/tmp/Image-ExifTool-13.31 158 -> perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Image::ExifTool
Writing MYMETA.yml and MYMETA.json=== root@tiwi (/dev/pts/4) /var/tmp/Image-ExifTool-13.31 159 -> make test
...
t/ZISRAW.t ......... ok
All tests successful.
Files=111, Tests=595, 43 wallclock secs ( 0.27 usr 0.15 sys + 39.59 cusr 2.37 csys = 42.38 CPU)
Result: PASS=== root@tiwi (/dev/pts/4) /var/tmp/Image-ExifTool-13.31 161 -> make install
Manifying 1 pod document
Manifying 203 pod documents
Installing /usr/local/lib/perl5/site_perl/Image/ExifTool.pm
Installing /usr/local/lib/perl5/site_perl/Image/ExifTool.pod
...
And that Just Worked, modulo the strange messages. Somehow the Ports Collection has become too fragile.
More investigation of my SSD problems today. Jamie Fraser came up with this (PDF) summary of the Lenovo V520S configuration. The important part is
M.2 Solid State Drive (SSD)/PCIe NVMe,PCIe 3.0 x 4,32 Gb/s
A check with Google Gemini confirms:
Protocols/Interfaces: This is the crucial part. The keying only dictates the physical shape. The actual communication protocol is what matters for functionality:
M-key slots are typically designed for PCIe x4 (NVMe) SSDs, offering the highest speeds. They can sometimes also support SATA, but this depends on the motherboard. B-key slots are typically designed for SATA SSDs or PCIe x2 SSDs. B+M keyed SSDs can use either the SATA protocol or the PCIe x2 protocol.
Both B and M can support SATA, but the V520S doesn't. That makes sense: PCIe x 4 is much faster. But the new SSD is specifically marked SATA. So they're not compatible.
I had hoped that this kind of incompatibility would be a thing of the past. What other dangers are lurking?
I've been keeping up with international news in some detail for years now, but the news is getting worse all the time. It's having its effect: today I had a stress stomach ache for much of the afternoon. I can't change what's going on; I should try not to follow it in as much detail. About the only good news today was that Donald Trump swore at Bibi for his aggressive behaviour. Could this be the start of a change in heart?
Wednesday, 25 June 2025 | Today's diary | Today's images | top | previous | next | last |
I had some back pain a few days ago in an area that seemed like the same as I had with my slipped disk two years ago. I'm in no pain now, but I want it to stay that way, so into town this morning to see Heather Dalman again, the first time in nearly two years. She has changed employers since then.
Yes, good that I came, and I had some particularly hard knots in the muscles in that area. She gave me some new “isometric” exercises to do, mercifully less obnoxious than the old ones. She also reminded me to stop crossing my legs, something that she had mentioned before, but which seems to be generally a bad idea. Hopefully that will be the end of it.
Is it worth repairing our dishwasher? It's 7 years old, and the repair will probably cost at least $200. We paid $398 for it at the time, and as it happens we're coming to the end of the financial year, where there are lots of specials at The Good Guys, including dishwashers from $369, and offering discounts of $40 to $60. Should we maybe replace the old one? While in town dropped in to take a look at what they had.
No. I've found various issues with dishwashers over the years, and none of the three models I saw came close to addressing them. In fact, I was left with the feeling that I would have the same issues with a $1000 dishwasher. So we'll repair the old one.
While at the The Good Guys, discovered that I had left my glasses behind at the physiotherapists. Not a big deal: I had to go back and get them. But that would never have happened before my cataract surgery.
More fun with Android devices today. I've noticed that the Google Maps speed display on my phone briefly drops out from time to time. Why? Problems with the GPS receiver? With the phone? With the app? Who can tell?
When I got home, checked where Yvonne was. Somewhere in town, but “she” had stopped sharing her location with me. That wasn't her choice, I'm sure. Google Maps had decided it for some reason.
When she got home, she had a tale of woe to tell, not just with her phone. She had tried to call me, but the call didn't go through: it was just dead. And she couldn't enable mobile data:
|
That remained, and I spent something like 20 minutes trying to localize the fault. Defective SIM? Defective phone? Tried it in enzian.lemis.com, which seems much slower than ever before, but no, no problems with mobile data, though making a call was an issue.
What else can it be? Put the SIM back in fossil and spent a lot of time trying to find my way through the greyed-out configuration entries. Still can't make a call. Still can't enable mobile data. Reboot again, maybe?
And then I saw a fleeting message on boot: “Airplane [sic] mode enabled. And yes, the symbol in the settings page was relatively clear:
![]() |
|
Turn that off and all was well. Well, it worked, and location sharing came up automatically.
And what did it disable? Mobile data, clearly, also Wi-Fi (though I was able to turn that back on again), apparently phones (and the app was too polite to complain and went through the motions anyway), Google Maps location sharing. What else?
But how much pain does airplane mode cause? Wouldn't a simple change of text help? Instead of “Not available”, “Not available in airplane mode”? And why can't the phone app report problems instead of going through the motions?
We've finally had some rain, 14 mm of it in the 24 hours to 9:00 today, and more came today. And hail, the first I recall seeing since we moved to Stones Road 10 years ago:
![]() |
|
![]() |
|
![]() |
|
What we really need is much more rain.
Thursday, 26 June 2025 | Today's diary | top | previous | next | last |
Fifteen years ago we took some photos of Nemo during puppy training. The results weren't good. We were using my E-30, and for Yvonne I set it to the AUTO exposure method, and for some reason (probably inappropriate metering including the sky), all the images came out underexposed.
A few years later I did some comparisons between the various processing methods that I was using at that time. But that, too, was 8 years ago. What do things look like now? In particular, how much do my modified DxO PhotoLab settings and “Perfectly Clear“ improve things? Today I tried a five-way comparison: original, processed with UFRaw (a package that hasn't been updated in 10 years), my DxO processing of 7 years ago, the same image optimized with Perfectly Clear, and finally my current processing (run the cursor over an image to compare it with its neighbour):
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
The strange thing is the colour of my current processing. On the whole the results of 7 years ago look better. But once again I'm puzzled by the underexposure of the AUTO setting (which the Exif data report as “ESP Creative (Slow Speed)”). It's EV 14.3, fully 2 stops less than the P (“Center-weighted average Program AE”) setting that I was using. It may be no coincidence that later models dropped the AUTO setting altogether.
After yesterday's investigations, it was clear that we will keep our current dishwasher and have it repaired. Called up Brett Younger of Vic Country Appliance Repair (phone +61 419 980 987), whom somebody had recommended to Yvonne, and discussed the matter. Sent him the details of the dishwasher, and he called back to say that the pump would cost over $400, more than we paid for the dishwasher—if we could find one. And of course there's labour on top of that.
OK, that's a whole different situation. We'll need a new dishwasher, then, just not one of the el-cheapo ones that I was looking at yesterday (and which Brett, not knowing what I had been looking at, mentioned by name as ones to avoid). He recommends LG or Bosch, and yes, he can deliver and install one next Friday.
Damn! Not so much for the cost as for the research needed to decide which to buy. The Bosch models I looked at look pretty much like the one we have. And it's noisy. Have things improved? Brett guesses “yes”, but it's just a guess. The LG specs mention noise (44 dB(A)), but Bosch doesn't. For good reason? However, Google Gemini tells me that the noise from Bosch dishwashers (no model stated) ranges from 42 to 46 dB(A), so there seems not to be much difference from LG.
Friday, 27 June 2025 | Today's diary | top | previous | next | last |
So which dishwasher do I buy? Yvonne had suggested Míele, and admittedly our longest-lasting dishwasher was a Míele, which we bought shop-soiled in 1991 and which lasted until 2011, also with pump problems. But that was a commercial model, and all subsequent machines have been normal domestic ones. And Míele is far more expensive than the others.
So: what's the difference between the Bosch and LG dishwashers? The only thing that stands out is the noise that our current Bosch machine makes. Google Gemini to the rescue, with a lot of detail, but a summary:
Choose Bosch Series 4 if: You prioritize extremely quiet operation, classic German engineering and reliability, efficient condensation drying, and a solid range of core washing programs with some smart features.
Choose LG if: You value advanced cleaning technologies like QuadWash and TrueSteam, superior drying performance (especially for plastics), extensive smart features and app connectivity, and a modern design aesthetic.
“Choose Bosch if you believe that German is better”. These machines are made in Turkey. “Choose LG if you value buzzwords”. But superior drying performance sounds good. But superior drying can't be wrong, and they're also over $100 cheaper, so it'll probably be an LG. But what a lot of time it takes to research this stuff!
How do I save my Google Gemini answers? So far I have been copying and pasting, but there must be a better way. OK, Gemini, How do I save Google Gemini answers?
Oh, you just want to save it? No, this is a modern program. You can export to Google Docs, send them as a draft in Gmail, export to Google Sheets, or “For code snippets, you might have options to "Export to Colab" (Google Colaboratory) or "Export to Replit."”.
Why does this have to be so complicated?
Saturday, 28 June 2025 | Today's diary | Today's images | top | previous | next | last |
So I've finally decided on a new dishwasher: the LG XD5B14PS. The Good Guys offer it for $799, but if you look carefully and click in the right place, it's only $733. OK, fill out the web form and pay for it. But they have me on record, only not online. OK, sign up.
Their web programmers don't seem to be the best:
![]() |
|
But the next thing I ran into was a CAPTCHA requiring understanding of US American terms:
![]() |
|
Damn you, “Good” Guys! Do you want to sell merchandise or annoy potential customers? A good thing that I don't need to submit to this insult to purchase the item. Back to the other tab, finished the order, and received an immediate confirmation from PayPal.
And nothing from the “Good” Guys. More searching on their web site produced this FAQ:
|
You should receive an Online Order Confirmation email within 24hrs [sic] of placing your order.
Now doesn't that fill you with confidence, especially since they had claimed I could pick it up within an hour? Something's seriously wrong with their web site. And I didn't hear from you by the end of the day.
I've been working on this for three days! Why is it all such a pain?
Sunday, 29 June 2025 | Today's diary | Today's images | top | previous |
So I have waited the astoundingly long time (24 hours) for The Good Guys to confirm the purchase of my dishwasher. No confirmation. Problems sending email to me? No, nothing in the server logs.
OK, contact customer support, a “chat” with Sabrina. PayPal transaction number, please? Gave that, then:
Sabrina: We have located your payment from Paypal. We will need to send this to our IT team to have manually push through to our system, this can take a few hours. You will receive an email confirmation once this have been done.Me: Thank you. Can I expect this today? And what went wrong?Sabrina: There might be a technical glitch, sometimes it happens with Paypal payments.Me: But it must be on your side, right?Sabrina: Yes, we should be able to push it into the system today.
And try as I might, I couldn't get her to address the underlying problem. I got the impression that they just don't care. And of course I didn't get any email today.
A new recipe for dinner today: „Falscher Hase“ (“false hare”), a kind of meat loaf:
![]() |
|
![]() |
|
![]() |
|
I've never eaten it before, but it tasted surprisingly good. We should experiment with other similar dishes.
Do you have a comment about something I have written? This is a diary, not a “blog”, and there is deliberately no provision for directly adding comments. It's also not a vehicle for third-party content. But I welcome feedback and try to reply to all messages I receive. See the diary overview for more details. If you do send me a message relating to something I have written, please indicate whether you'd prefer me not to mention your name. Otherwise I'll assume that it's OK to do so.
Top of page | Greg's home page | Today's diary entry | Greg's photos | Copyright information |