Add a python app

Just computer note…

I wanted to run a Flask web app for L’s Moodle conversions and doing it on the Mac server seemed the best idea. I put the web app into the www folder. Here were the steps…

cd /to_folder

python3 -m venv venv

source venv/bin/activate

pip install Flask

pip install pypandoc

python3 main.py

 

To come…

Add Gunicorn

New(ish) Kobo

An image of a Kobo Libra ereader

Back in July I thought I would spend a little money on a treat for myself. I didn’t need an new ereader (my old Aura was still working ok, albeit was a bit battered) but I wanted to check out the side handle on the Libra to see if it was more comfortable when reading at night.

A recap

I started back in 2009 with a Sony PRS-650. I used that until its battery died. Then I switched to a  Sony PRS T1  in 2013.

In 2014 I got a new Aura HD because I wanted a backlight (and was immediately a bit annoyed when I realized you needed to have a Kobo account just to use it to read books). I worked around that by having an account for the ereader that I never used and a separate account for any purchases I made and side loaded all my books through Calibre. This got replaced in 2017 with a new generation Aura after an unfortunate accident involving a suitcase and hard airport floor.

A kobo ereader with a screen that is full of weird shapes and broken images.

New reader

Which brings me to this year and my new Kobo Libra 2 with a colour screen. It’s not bad. I don’t much have use for the colour screen and the variable colour backlight is a bit annoying (more on that later). But over all I like the way it feels in the hand, like the fact the page turn buttons are back (haven’t seen them since the Sony) and am appreciative of the move to usb C.

Account registration

One of the bonuses was I looked into the whole “must have an account to use” idiocy again and found a hack:

  1. Connect Libra Colour to PC.
  2. Go to \.kobo\Kobo and find the Kobo eReader.conf file.
  3. Open the file and add the line SideloadedMode=true under the [ApplicationPreferences] section.
  4. Done! The device will now display the “My Books” tab straight away, and the online store will be disabled. You can re-enable everything by doing the same thing and adding SideloadedMode=false instead of true.

You lose the  main screen that shows the Books Reading etc but since I rarely used that its no great loss.

The downside is there are a number of “ghost” titles in the lists showing up under Author view that must have been something to do with promotions and I assume they would have been deleted int eh intial setup but annoyingly show up when I am browsing books on the ereader itself.

I have screwed around with editing the hidden KoboReader.sqlite file on the eredaer and while I can find the books in some tables, deleting them doesn’t seem to get rid of them. I imagine there are associated tables I need to clean as well but so far no joy unless I want to delete everything and start over. Still a possibility…

Battery life

I had/have a beef with the battery though. The Libra has a fancy dimming functionality. If you set bed time for, let’s say 11:00 pm, it will start slowly changing the colour of the backlight from cool (blue) to warm (orange) and dimming the screen for reading in the dark. I thought this was the cat’s meow.

But.

The battery life sucked. I mean I was recharging every 4 days! One night I hit the 10% battery life warning which used to mean I had several hours of charge left and it went out on me in less than 15 minutes. This was beyond unacceptable. I didn’t want colour at all, let alone if it was going to be such a huge battery suck. But googling yielded no solutions or even anyone else’s notice of the problem — I was starting to think maybe I got a dud ereader.

Then I started fiddling with settings and one night turned off the automatic dimmer and dialed the backlight down to 30% — which is a bit below my preferred level but workable. The next morning the battery indicator showed it was still full. Aaargh. I have left it that way and played with the colour and level and so far so good. It has only been a couple of days but the improvement is significant. I will keep on playing and see if I can nail down the exact battery-draining culprit, but so far it seems its just the timing function. Why Kobo would have such a ridiculous battery suck as a bart of the software is beyond me.

Happy?

I think so. I like the handle and page turn buttons. Now that the battery is better I have more faith in it (although I now keep my old Aura up to date and charged in case). It is a bit more bulk and doesn’t fit in a pocket anymore but that’s not an issue I care too much about except when my hands are full. And it is zippy! Interface things the Aura used to do badly like scrolling actually make sense now that the response is immediate instead of having to pause between touches.

But if I am feeling rich again I might finally break down and try a Boox or a Pocketbook. Still annoyed at Kobo? Why yes, how could you tell…? 🙂

A Kobo libra showing a list of books

Immich Implemented

Well I think I an 90% sure this is the way I will go. Back in New Image Management? I mentioned I was testing Immich as possible replacement for Apple Photos and the iphone app. I tested it out and even used it at a family visit to Brooks and so far it has performed flawlessly. I covered some of this in the original post but I thought I would  add in a bit more detail.

Server

I have this installed on my Mac Mini (2019) which has basically become my server these days. Maybe a post later about how that is set up now. Much of this is based on https://rhettbull.github.io/osxphotos/tutorial.html‘s tutorial.

Step 1 Docker

Everything is Docker (containerized) so, other than the Docker overhead, it is pretty clean install-wise. I decided to go with Docker’s Docker Desktop for the Mac rather than jump through the hoops to install it on the system itself… lower overhead vs easier management… and I was lazy.

Then I followed Immich’s install guide. The only real tricky part was that on a Mac if you try to ‘get’ the .env file it immediately is invisible (wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env). So I modified the command to read wget -O example.env https://github.com/immich-app/immich/releases/latest/download/example.env and then after editing it renamed it (in terminal mv example.env .env) to .env

The .env (Environment)

I changed the location of my library to a folder on my Mini and decided to put the postgres database there as well. Not sure if this is best practice but I am tired for hunting for elements years later when I need to change or clean up something. And then I set the time zone to America/Edmonton.

Just a note to remind you if you want to edit the .env in a text editor then hit cmd-shift-. (period), this will show all the invisible files so you can just drag the .env file to BBEdit etc. Just remember to hit cmd-shift-. again to hide them all or all the hidden files will clutter up everything.

Save the file.

Docker Compose

Make sure you are in the right directory (the one with all these files) and run the downloaded docker compose command docker compose up -d. This will invoke Docker, run though the compose file to download and set up everything and the -d ensure it is running in the background.

That’s it. You should be up and running at http://<machine-ip-address>:2283

Step 2 Apple Photos

The next big challenge is to get the photos from Photos to Immich.

If, like L, you have a bunch of images on your phone or iPad that aren’t on your desktop the easiest was is to download the Immich App from the store and set it up to back-up all the images. Once that’s done you can set it to only back up Recent and every time you open Immich on your phone it will upload the images to the server.

 

As for the main Photos Library I covered that back in the original post (New Image Management?).

Settings

A few settings and tweaks.

  • I enabled tags Account Settings > Features > Tags. This shows all the tags that I had set in Photos and allows me to set more.
  • I changed the library so it organized itself in a more understandable way. Originally all the images were stored in folders like /Immich/upload/8e403d85-6740-4ba7-8549-0feb702f0cb3/6a/04. By going to Administration > Settings > Storage Template and enabling it you can set the folders to year/month/ date etc. and it will migrate all the images to the new structure e.g. /Immich/library/User-1/1956/1956-01-01/001 – 1956.jpg.
    • Then you have to go to Administration > Jobs > Storage template migration and click Start

A Second Library

One of the neater things is that you can set up a second user and use the server for them as well. I did this and set up all L’s images to be stored in a different folder. Note that when you set up the user you then should go to Administration > User and click the three dots to edit the account. Change the Storage label to whatever you wan the folder to be called.

Then either before or after you migrate their images. Make sure you repeat the Storage template steps above.

Sharing

Now, if you want, you can set it up so the other user can see all of you images in their own Immich instance. Account Settings > Settings > Partner Sharing. Add the other user and they can  see pretty much everything by clicking on Sharing in the main sidebar.

External Access

I am still not sure if I will use this as something that is accessible external to my firewall. I did briefly set it up to one of my test domains when I was away and it worked just as advertised. i took a picture, opened the Immich app and voila it was  available pretty much instantly on the web interface.

But if I leave it inaccessible, the app stores all the thumbnails so I can”see the images wherever I am and when I am back in my own network I can upload the images then — which is pretty much how I did it with the old system. the only difference being if I want a high-res version of a photo when I am away from home I am screwed unless I VPN back in… and I rarely leave the VPN running unless I am away for extended periods.

Hmmm….

Books of the Year 2025

All the Books I Read In 2025

The year of the re-read

You can see what kind of year it was when you see the re-read stats. It was definitely the year of the comfort read over new titles. A couple of books were real slogs to get through, not through any fault of their own, but because I just didn’t want to deal with the unknown, or the despair, or the sheer amount of thought they required.

But here they are nonetheless, and despite my reluctance, I found a few really great ones.

The Books 2025

January (9)

  • House of Open Wounds Adrian Tchaikovsky (2023)
    Book 2 of The Tyrant Philosophers – ebook;
  • A Rising Thunder David Weber (2012)
    Book 13 of Honor Harrington – ebook; reread
  • Shadow of Freedom David Weber (2013)
    Book 3 of Saganami – ebook; reread
  • Sten Allan Cole & Chris Bunch (1982)
    Book 1 of Sten – ebook; reread
  • Cauldron of Ghosts David Weber & Eric Flint (2014)
    Book 3 of Crown of Slaves – ebook; reread
  • Shadow of Victory David Weber (2016)
    Book 4 of Saganami – ebook;
  • Uncompromising Honor David Weber (2018)
    Book 14 of Honor Harrington – ebook;
  • To End in Fire David Weber & Eric Flint (2021)
    Book 4 of Crown of Slaves – ebook;
  • By the Sword Mercedes Lackey (1991)
    Book 1 of Valdemar – ebook;

February (7)

  • Winds of Fate Mercedes Lackey (1992)
    Book 1 of Mage Winds – ebook;
  • Winds of Change Mercedes Lackey (1993)
    Book 2 of Mage Winds – ebook;
  • The Last Watch J. S. Dewes (2021)
    Book 1 of The Divide – ebook; reread
  • The Exiled Fleet J. S. Dewes (2021)
    Book 2 of The Divide – ebook; reread
  • The Relentless Legion J. S. Dewes (2024)
    Book 3 of The Divide – ebook;
  • Dorsai! Gordon R. Dickson (1959)
    Book 1 of Childe Cycle – ebook; reread
  • Winds of Fury Mercedes Lackey (1994)
    Book 3 of Mage Winds – ebook;

March (10)

  • A Call to Duty David Weber & Timothy Zahn (2014)
    Book 1 of Manticore Ascendant – ebook; reread
  • A Call to Arms David Weber & Timothy Zahn & Thomas Pope (2015)
    Book 2 of Manticore Ascendant – ebook; reread
  • A Call to Vengance David Weber & Timothy Zahn & Thomas Pope (2018)
    Book 3 of Manticore Ascendant – ebook; reread
  • A Call to Insurrection David Weber & Timothy Zahn & Thomas Pope (2022)
    Book 4 of Manticore Ascendant – ebook;
  • Summer’s End John van Stry (2022)
    Book 1 of Dave Walker – ebook;
  • The Tomb of Dragons Katherine Addison (2025)
    Book 3 of The Cemeteries of Amalo – ebook;
  • The Goblin Emperor Katherine Addison (2014)
    – ebook; reread
  • The Traitor Baru Cormorant Seth Dickinson (2015)
    Book 1 of The Masquerade – ebook;
  • The Monster Baru Cormorant Seth Dickinson (2018)
    Book 2 of The Masquerade – ebook;
  • When the Moon Hits Your Eye John Scalzi (2025)
    – ebook;

April (17)

  • Second to None Alexander Kent (1999)
    Book 26 of Bolitho – ebook
  • Point of Hearts Melissa Scott (2025)
    Book 5 of Astreant – ebook;
  • Good Guys Steven Brust (2018)
    – ebook; reread
  • Fire With Fire Charles E. Gannon (2013)
    Book 1 of Caine Riordan – ebook; reread
  • All Systems Red Martha Wells (2017)
    Book 1 of The Murderbot Diaries – ebook; reread
  • Artificial Condition Martha Wells (2018)
    Book 2 of The Murderbot Diaries – ebook; reread
  • Rogue Protocol Martha Wells (2018)
    Book 3 of The Murderbot Diaries – ebook; reread
  • Exit Strategy Martha Wells (2018)
    Book 4 of The Murderbot Diaries – ebook; reread
  • Network Effect Martha Wells (2020)
    Book 5 of The Murderbot Diaries – ebook; reread
  • Fugitive Telemetry Martha Wells (2021)
    Book 6 of The Murderbot Diaries – ebook; reread
  • System Collapse Martha Wells (2023)
    Book 7 of The Murderbot Diaries – ebook; reread
  • Local Custom Sharon Lee & Steve Miller (2000)
    Book 1 of Liaden – ebook; reread
  • Scout’s Progress Sharon Lee & Steve Miller (2000)
    Book 2 of Liaden – ebook; reread
  • Conflict of Honors Sharon Lee & Steve Miller (1988)
    Book 3 of Liaden – ebook; reread
  • Agent of Change Sharon Lee & Steve Miller (1989)
    Book 5 of Liaden – ebook; reread
  • Carpe Diem Sharon Lee & Steve Miller (1988)
    Book 6 of Liaden – ebook; reread
  • Plan B Sharon Lee & Steve Miller (1998)
    Book 7 of Liaden – ebook; reread

May (12)

  • I Dare Sharon Lee & Steve Miller (2002)
    Book 8 of Liaden – ebook; reread
  • The Martian Contingency Mary Robinette Kowal (2025)
    Book 4 of Lady Astronaut – ebook;
  • Killing Gravity Corey J. White (2017)
    Book 1 of Voidwitch Saga – ebook; reread
  • Finity’s End C. J. Cherryh (1997)
    Book 7 of Company Wars – ebook; reread
  • Angel with the Sword C. J. Cherryh (1985)
    Book 1 of Merovingen Nights – ebook; reread
  • Drifter William C. Dietz (1991)
    Book 1 of Pik Lando – ebook; reread
  • The Black Company Glen Cook (1984)
    Book 1 of The Black Company – ebook; reread
  • Terms of Enlistment Marko Kloos (2013)
    Book 1 of Frontlines – ebook; reread
  • Lines of Departure Marko Kloos (2014)
    Book 2 of Frontlines – ebook; reread
  • Angles of Attack Marko Kloos (2015)
    Book 3 of Frontlines – ebook; reread
  • March Upcountry David Weber & John Ringo (2001)
    Book 1 of Empire of Man – ebook; reread
  • March to the Sea David Weber & John Ringo (2002)
    Book 2 of Empire of Man – ebook; reread

June (13)

  • We Few David Weber & John Ringo (2002)
    Book 4 of Empire of Man – ebook; reread
  • March Upcountry David Weber & John Ringo (2001)
    Book 1 of Empire of Man – ebook; reread
  • Chains of Command Marko Kloos (2016)
    Book 4 of Frontlines – ebook; reread
  • The Incandescent Emily Tesh (2025)
    – ebook; reread
  • Fields of Fire Marko Kloos (2017)
    Book 5 of Frontlines – ebook; reread
  • Points of Impact Marko Kloos (2018)
    Book 6 of Frontlines – ebook; reread
  • Orders of Battle Marko Kloos (2020)
    Book 7 of Frontlines – ebook; reread
  • Centers of Gravity Marko Kloos (2022)
    Book 8 of Frontlines – ebook; reread
  • Shadows Linger Glen Cook (1984)
    Book 2 of The Black Company – ebook; reread
  • Galaxy Grifter A. Zaykova (2025)
    Book 1 of BlackJack Interstellar – ebook;
  • Unnatural Habits Kerry Greenwood (2012)
    Book 19 of Phryne Fisher Mysteries – ebook;
  • The Folded Sky Elizabeth Bear (2025)
    Book 3 of White Space – ebook;
  • White Wing Shariann Lewitt & Susan Shwartz (1985)
    – ebook; reread

July (12)

  • Wild Cards I George R. R. Martin (1987)
    Book 1 of Wild Cards – ebook;
  • Diplomatic Immunity Lois McMaster Bujold (2002)
    Book 10 of Miles Vorkosigan – ebook; reread
  • Ender’s Game Orson Scott Card (1985)
    Book 1 of Ender – ebook; reread
  • Cryoburn – ARC Lois McMaster Bujold (2010)
    Book 11 of Miles Vorkosigan – ebook; reread
  • Midnight Riot Ben Aaronovitch (2011)
    Book 1 of Rivers of London – ebook; reread
  • The White Rose Glen Cook (1985)
    Book 3 of The Black Company – ebook; reread
  • Moon Over Soho Ben Aaronovitch (2011)
    Book 2 of Rivers of London – ebook; reread
  • The Adventure of the Demonic Ox Lois McMaster Bujold (2025)
    Book 15 of Penric & Desdemona – ebook;
  • The Regiment John Dallas (1987)
    Book 1 of The Regiment – ebook; reread
  • Rapport: Friendship, Solidarity, Communion, Empathy Martha Wells (2018)
    Book 2.5 of The Murderbot Diaries – ebook;
  • Crimes Against Humanity Susan R. Matthews (2019)
    Book 8 of Under Jurisdiction – ebook;
  • Mutineer’s Moon David Weber (1994)
    Book 1 of Dahak – ebook; reread

August (10)

  • The War Of The Flowers Tad Williams (2006)
    – ebook;
  • Relentless Pursuit Alexander Kent (2001)
    Book 27 of Bolitho – ebook
  • Old Man’s War John Scalzi (2005)
    Book # of Old Man’s War – ebook; reread
  • Whispers Under Ground Ben Aaronovitch (2012)
    Book 3 of Rivers of London – ebook; reread
  • The White Regiment John Dallas (1990)
    Book 2 of The Regiment – ebook; reread
  • The Armageddon Inheritance David Weber (1994)
    Book 2 of Dahak – ebook; reread
  • Heirs of Empire David Weber (1996)
    Book 3 of Dahak – ebook; reread
  • Broken Homes Ben Aaronovitch (2014)
    Book 4 of Rivers of London – ebook; reread
  • Poor Man’s Fight Elliott Kay (2013)
    Book 1 of Poor Man’s Fight – ebook; reread
  • Rich Man’s War Elliott Kay (2015)
    Book 2 of Poor Man’s Fight – ebook; reread

September (9)

  • No Medals for Secrets Elliott Kay (2017)
    Book 3 of Poor Man’s Fight – ebook; reread
  • Dead Man’s Debt Elliott Kay (2016)
    Book 4 of Poor Man’s Fight – ebook; reread
  • Last Man Out Elliott Kay (2018)
    Book 5 of Poor Man’s Fight – ebook; reread
  • The Orb of Cairado Katherine Addison (2025)
    Book 1.5 of Goblin Emperor – ebook;
  • No Man’s Land Elliott Kay (2023)
    Book 6 of Poor Man’s Fight – ebook;
  • Foxglove Ben Aaronovitch (2015)
    Book 5 of Rivers of London – ebook; reread
  • The Hanging Tree Ben Aaronovitch (2017)
    Book 6 of Rivers of London – ebook; reread
  • Three Cheers For Me Donald Jack (1973)
    Book 1 of The Bandy Papers – ebook; reread
  • Lies Sleeping Ben Aaronovitch (2018)
    Book 7 of Rivers of London – ebook; reread

October (14)

  • The Regiment John Dallas (1993)
    Book 3 of The Regiment’s War – ebook; reread
  • The Impossible Fortune Richard Osman (2025)
    Book 5 of A Thursday Murder Club Mystery – ebook;
  • False Value Ben Aaronovitch (2020)
    Book 8 of Rivers of London – ebook; reread
  • Amongst Our Weapons Ben Aaronovitch (2022)
    Book 9 of Rivers of London – ebook; reread
  • Stone & Sky Ben Aaronovitch (2025)
    Book 11 of Rivers of London – ebook;
  • That’s Me in the Middle Donald Jack (1973)
    Book 2 of The Bandy Papers – ebook; reread
  • Up the Down Staircase Bel Kaufman (1964)
    – ebook; reread
  • It’s Me Again Donald Jack (1975)
    Book 3 of The Bandy Papers – ebook; reread
  • The Lost War Justin Lee Anderson (2022)
    Book 1 of Eidyn – ebook; reread
  • Unbreakable W. C. Bauers (2015)
    Book 1 of Chronicles of Promise Paen – ebook; reread
  • Indomitable W. C. Bauers (2016)
    Book 2 of Chronicles of Promise Paen – ebook; reread
  • Testimony of Mute Things Lois McMaster Bujold (2025)
    Book 15 of Penric & Desdemona – ebook;
  • The Bitter Crown Justin Lee Anderson (2023)
    Book 2 of Eidyn – ebook;
  • Masquerade in Lodi Lois McMaster Bujold (2020)
    Book 8 of Penric & Desdemona – ebook; reread

November (14)

  • Galactic Bounty William C. Dietz (1986)
    Book 1 of Sam McCade – ebook; reread
  • Penric’s Demon Lois McMaster Bujold (2016)
    Book 1 of Penric & Desdemona – ebook; reread
  • Penric and the Shaman Lois McMaster Bujold (2017)
    Book 2 of Penric & Desdemona – ebook; reread
  • The Hallowed Hunt Lois McMaster Bujold (2005)
    Book 3 of Chalion – ebook; reread
  • Murder and Mendelssohn Kerry Greenwood (2013)
    Book 20 of*Phryne Fisher Mysteries – ebook;
  • A Mouthful of Dust Nghi Vo (2025)
    Book 6 of The Singing Hills Cycle – ebook;
  • An Oblique Approach David Drake (1998)
    Book 1 of Belisarius – ebook; reread
  • In the Heart of Darkness David Drake (1998)
    Book 2 of Belisarius – ebook; reread
  • Destiny’s Shield David Drake (1998)
    Book 3 of Belisarius – ebook; reread
  • Fortune’s Stroke David Drake (2000)
    Book 4 of Belisarius – ebook; reread
  • The Tide of Victory David Drake (2001)
    Book 5 of Belisarius – ebook; reread
  • The Dance of Time David Drake (2006)
    Book 6 of Belisarius – ebook; reread
  • The City of Brass S. A. Chakraborty (2018)
    Book 1 of Daevabad – ebook;
  • Space Vikings H. Beam Piper (2025)
    – ebook; reread

December (14)

  • The Kingdom of Copper S. A. Chakraborty (2019)
    Book 2 of Daevabad – ebook;
  • Wizard’s Bane Rick Cook (1997)
    Book 1 of Wiz Biz – ebook; reread
  • The Paladin C. J. Cherryh (1988)
    – ebook; reread
  • An Election John Scalzi (2010)
    Book 1 of Third District – ebook;
  • Constituent Service John Scalzi (2025)
    Book 2 of Third District – ebook;
  • The Empire of Gold S. A. Chakraborty (2021)
    Book 3 of Daevabad – ebook;
  • Automatic Noodle Annalee Newitz (2025)
    – ebook;
  • Man of War Alexander Kent (2003)
    Book 28 of Bolitho – ebook;
  • Silver and Lead Seanan McGuire (2025)
    Book 19 of October Daye – ebook;
  • Starter Villain John Scalzi (2023)
    – ebook; reread
  • Valor’s Choice Tanya Huff (2000)
    Book 1 of Confederation – ebook; reread
  • The Better Part of Valor Tanya Huff (2002)
    Book 2 of Confederation – ebook; reread
  • The Heart of Valor Tanya Huff (2007)
    Book 3 of Confederation – ebook; reread
  • Valor’s Trial Tanya Huff (2008)
    Book 4 of Confederation – ebook; reread
  • The Truth of Valor Tanya Huff (2010)
    Book 5 of Confederation – ebook; reread

Unfinished (3)

  • The Damned King Justin Lee Anderson (2025)
    Book 3 of Eidyn – ebook;
  • The Tyrant Baru Cormorant Seth Dickinson (2020)
    Book 3 of The Masquerade – ebook;
  • Take Back the Sky Greg Bear (2016)
    Book 3 of War Dogs – ebook;

((\
(-.-)
o_(“)(“)

Some numbers

Total Read: 142 books

98 rereads
3 unfinished

Books by women: (21/50 authors) (56/142 books)
Oldest book: Dorsal! (1959)
Non SF/Fantasy: 5
0 print (sigh)

Some Notes

Last year I couldn’t get through War Dogs and The Monster Baru Cormorant. I still haven’t gotten back to War Dogs but I did finish The Monster Baru Cormorant. Unfortunately I got half way through The Tyrant Baru Cormorant, Seth Dickinson (2020) Book 3 of The Masquerade and stalled. I still haven’t got back to it. Not bad, just mind-numbingly (my mind) complex and not all that fast paced. It just stalled in my head.

I also powered out on book 3 of Justin Lee Anderson’s Eidyn. It was a combination of too much relentless sameness in plot and the overall sense of it (the plot) just not getting better. I like a redeeming plot/hero/arc. Sometimes it just takes too much energy to sympathize. I quite liked the first one, enjoyed the second, but by book 3, I was just not as into it. But I will finish it. I promise.

Some Thoughts

S.A (Shannon) Chakraborty

I mentioned last year that I thoroughly enjoyed The Adventures of Amina al-Sirafi by Shannon Chakraborty (Book 1 of Amina al-Sirafi) and when I came across the Daevabad series by S.A Chakraborty I went Hmmmmm…

Turns out they are the same person. I waffle between my own pet theories that a) she went by the initials because women often do in the genre (although I think [hope?] that particular prejudice moved on quite a while ago) or b) she wanted a more “authentic” name for a series that really has little of the western world in it. Either one works, especially since she is now “famous” enough to go back to her full name.

Or I could be full of it.

Notable

Not much to choose from since I really only read ~40 new books. Nghi Vo continues to impress although A Mouthful of Dust was a bit more depressing than I really wanted at the time.

Annalee Newitz’s Automatic Noodle was a standout. My “comfort read of the year” I quipped on Bluesky and got a like from Annalee. Read it. It’s fun and warm and happy. I have read another of her books — Autonomous (2017) — and liked it a lot as well. She has two more but they are bit more post-apocalyptic-ish and I think I will wait.

I finally finished up all the Honor Harrington and associated series books. Quite the slog. Some of the middle ones were almost painful but he brightened up towards the end. I think I will only cherry pick my favourites (the early ones) from now on. I can’t see any need to go through all that again.

I am enjoying Adrian Tchaikovsky’s The Tyrant Philosophers series. They are less of a series and more of a collection of tales in a particular world. I’ve read quite a bit (7) of Tchaikovsky stuff now but he really does escape definition. A little bit of everything and so far I am enjoying him. Although I have not yet been gripped by that familiar urge to read everything… which is, I think, an ok thing. I will engage him more organically… like the old days 🙂

I started in on Tad Williams. He is new-to-me—I just never really encountered him before except as a visual style of covers that didn’t really attract me. I started Tailchaser’s Song (1985) on a recommendation of books about cats, but didn’t get more than a few pages into it before I realized I wasn’t in the right frame of mind. It’s still on the list. His The War Of The Flowers (2006) was pretty darn good though. Like Tchaikovsky I probably will get back to more of his stuff as time goes by.

I also finished up some series that had been left lagging. Susan R. Matthews’ Crimes Against Humanity — Book 8 of Under Jurisdiction and Melissa Scott’s Point of Hearts — Book 5 of Astreant. I continue to chug away at Phryne Fischer (20 out of 22) and Bolitho (28 out of 30) and will likely get them done in 2026. I continue to enjoy Phryne but the Bolitho seriess are starting to get a bit more tedious and much less tight in their overall experience.

Re-reads… Some oldies

I re-read a lot of series. And I did note some were just not as good second time around. Both William C. Dietz’s Sam McCade and Pik Lando seemed a bit duller and even some of Mercedes Lackey’s Valdemar weren’t as good the second time around.

In conclusion

Stress = bad. At least bad for reading new books. I love my heroes: Staff Sergeant Torin, Murderbot, Penric, PC Peter Grant, Miles Vorkosigan, etc.… They make me happy and I’m good with that. I can’t believe I managed to not read Curse of Chalion again 🙂

But 2026 is a new year and I have quite a few books in the to-be-read pile that I have been procrastinating over.

Cheers.

Side note

I keep wondering if I should add ebooks that I have worked on. They are mostly Middle Grade fiction that, while I don’t “read”, I do consume quite a bit of…often reading a chapters at a time before I remember I am supposed to be working 🙂

I guess I will leave them off for now except the few I actually into my system. But I am just saying… In my university days I would still be able to pump out a 2000-word paper based on what I read. Lol.

 


My fellow book counters: Dr. La’s What we talk about when we talk about 2025 and the Mr Earl J. Woods’ Quality over Quantity.

Links to previous years’ book count posts:

New Image Management?

I’ve decided to give an alternative to Apple Photos a try. Photos has been increasingly  frustrating in its organization on the iphone and its pretty darn slow on my desktop if I try and offload the data base to an external drive.

Immich

An open source, self hosted photo solution, Immich is also free. And it has an iPhone app that will sync with you camera roll to automatically backup photos from the camera.

 

A screen shot of the Immich app showing thumbnails of photos.

I will flush out the documentation but basically I followed baty.net/posts/2025/12/from-apple-photos-to-immich/ 

Immich is a Docker container but My Pi’s aren’t robust enough (I think) so I installed it on my Intel Mac Mini (2019) which is doing duty as my Calibre server and Jellyfin server. This means I have to use the clucnky Docker Desktop for Mac but c’est la vie. It install via docker -compose file docs.immich.app/install/docker-compose. The wget didn’t work so I just downloaded the file from Github. I had to use terminal to rename the .env file. Then I fired up the container by running the compose file and that was pretty much it.

Visit the app by going to 192.168.1.x:2283, create an account and add a password.

Preliminary testing

cd into your directory and docker compose up -d

I played around with and the iPhone app and decided it was going to work and proceeded to move my main library of 30,000+ images. What I did was copy the photos library (Photos Library.photoslibrary) over to the mac mini (150gig, 1+ hours) then use an utility to export it. In retrospect that was silly since I exported it to an external SSD for temporary storage anyway. What I should have done was  run the utility direct from the original library to the ssd and save me a lot of time.

osxphotos

To install:

brew tap Rhetbull/osxphotos

brew install osxphotos

It’s a pretty fancy little utility but I went with the basics:

osxphotos export /Volumes/External_SSD/DestinationFolder \
--skip-original-if-edited \
--sidecar XMP \
--touch-file \
--directory "{folder_album}" \
--download-missing \
--library '/Users/admin/Desktop/photo library/Photos Library.photoslibrary'

Note this if you want to import a library other than the defualt Photos library. Otherwise you can just eliminate the last line.

It didn’t take too long and it had exported all my images in a fancy folder structure on the ssd.

immich cli

Then I had to install the command line interface for immich. I discovered it was on brew which was easier than the suggested npm.

brew install immich-cli

Then you need to go to the immich web interface (192.168.1.x:2283) and add an api key. Account Settings > Api Key.  Then add the key tot eh following and log in.

immich login http://192.168.1.x:2283/api APIKEYxxxXXXxxxXXXXxxXXXXXx

Once you are logged in, let ’er rip.

immich upload --recursive /Volumes/External_SSD/DestinationFolder --album

Less than an hour later the images were imported. It took a couple of hours for the thumbnails to appear and overnight for things like geo-location and face recognition to  finishing running.

Conclusion

So far it is pretty slick. I can  take a picture on my phone and  it is set to upload the image as soon as I open the app (if I am at home). The response is snappy, the AI assisted search is wonderful (for finding images with two cats, or bread, or pizza etc.)

A grid of many different home-baked pizzas

If I keep it I will likely set up a domain and a ssl cert so I can access the images from outside my firewall. But for now the big downside is that if I want to do anything but look at an image on my iPhone from outside my personal network I am out of luck—the app only stores thumbnails. And maybe a followup review where I can add a bit more detail…

 

Electronic waste

I dug up this picture of my desk from 2010… 15 years ago. Of all the electronics visible (and there are a lot if you look closely…including the calculator and the camera) they have all been relegated to the recycling bin.  (Actually so have the desk, shelves and chair  lol…) The very last thing I was using was the Apple keyboard which got replaced last week… so all in all I think the sometimes outrageous price of Apple products is worth the while.

A ddesk covered with electronics

I still have the ipad (1st gen) and one of the apple mices but both are in a box and only used in an emergency. Actually looking closer I still use those speakers so  I guess they are the winners 🙂