Monday, December 23, 2024

Wind Turbines and Bird Deaths

The practice of painting one blade of a wind turbine in order to increase its visibility to birds is becoming commonplace. Avian brains are not wired to detect such enormous structures as a threat, but increasing the contrast and making the movement more visible helps them see it as something dangerous to be avoided.

To be clear: this is a good thing. Harming birds, even unintentionally and without malice, is bad and taking steps to avoid it is good.


But this is another example of bad faith attacks, launched carelessly and repeated endlessly, turning into a multi-year effort by the clean energy industry to respond to. The number of birds involved was tiny, less than 0.02% of bird deaths. A study in South Africa found 848 birds killed, over the course of four years, across 20 wind energy sites. This is not a large number.

The next set of allegations about wind power are harder to refute because they are completely fabricated: that wind turbines cause cancer, or that offshore turbines kill whales.

The people making this stuff up do not want to challenge clean energy to be better. They are not interested in seeing improvement to address whatever harm they cite. They are only interested in deterring the deployment of clean energy because money from fossil fuels funds their movement. It is all in bad faith, and the disproportionate cost falls on clean energy to address.

Sunday, December 22, 2024

Hannover Stadtarchiv indexes online

My wife's mother was born in Hannover, Germany, and her family lived in the Hannover area for many generations before that. In the chaos of World War II the family lost contact, and her mother emigrated to the US having met only one set of grandparents and little information about earlier family history. Over the course of the last four years we've managed to find records of her family going back many generations, and found several modern cousins via DNA matches.

Which brings me to a bit of news: this research in the Hannover area is a bit easier now. The Hannover Stadtarchiv holds records which have passed the time ranges where they are protected by Personenstandsgesetzes (privacy laws, often abbreviated PStG):

  • 110 years after a birth
  • 80 years after a marriage
  • 30 years after a death

The Stadtarchiv has been thinly staffed for over a year, and its response times to inquiries have lengthened greatly compared with several years ago. A request sent early in 2024 took eight weeks to get an initial response, and many more weeks to followup.

To try to improve the situation the archive has started putting more of its material online, starting with indexes of birth, death, and marriage registers. The indexes are free to access, allowing one to find a specific record before reaching out to the Stadtarchiv to get access to it.

This is really neat! For example the 1911 Geburtenbuch index from Standesamt Hannover I is available, and my wife's great uncle August Koch is on page 52.

The Arcinsys site is somewhat difficult to navigate, but does work. To give it a try you'd create an account and go to the Hannover Stadtarchiv object. Click "Show Associated Objects" to descend into the list of Standesämter and links for their available indexes.


 

This is a followon to two earlier articles about the process of genealogical research in Germany:

Saturday, December 21, 2024

physicaladdress.com notes

We pay for a service to maintain a mailing address separate from our home address, where the mail is intended to be available from wherever in the world we happen to be. We settled on physicaladdress.com for this service. Our mailbox is at their Laguna Beach location, as we wanted a California address.

We chose physicaladdress.com based on their operating model: they directly operate all of their locations. Many competing services offering virtual mailing services subcontract the actual postal handling to Mailboxes, Etc and similar franchises, where one's mailing address could become suddenly unavailable with no recourse if the franchise closes or moves. We wanted more surety than that, some of our documents would be difficult to redirect on short notice.

When letters or packages arrive, the envelope is scanned and an email notification sent.

One can choose to immediately shred the envelope without opening it, or open and scan the contents. Much of our correspondence is fine with just a scan to act on. The tier of service we use includes 30 envelopes per month, ten of which can be opened and scanned.

For documents where the original is important it can be forwarded. A recent example cost $0.76 to send the original letter sized envelope, delivered via USPS in a slightly oversized beige envelope. It arrived at our home in three days. In a nice touch, the sending address is our specific mailbox so any problems in delivery will be sent back where we can see what happened. They can forward mail anywhere in the world, with appropriate postage charges.

We've been using the service for a few months and are quite happy with it.

Monday, December 16, 2024

Daily Google Drive backup using rclone

I still make regular use of Google's Docs, Sheets, and so on but make regular backups to a local drive which is itself backed up off-site. I've settled on the following script, run from cron in the middle of the night. It sends email on failure, and reports success on Mondays just so I'll see that it is working. It is saved as /usr/local/bin/gdrive_sync.sh.

root@pve:~# cat /usr/local/bin/gdrive_sync.sh
#!/bin/sh

tmpfile=$(mktemp)
/usr/bin/rclone sync --fast-list --transfers=32 --create-empty-src-dirs \
	--exclude-if-present=exclude-from-rclone-sync \
	--drive-acknowledge-abuse \
	denny-at-example-com-google-drive-backup: \
	/pool1/GDrive/denny@example.com > ${tmpfile} 2>&1

if [ $? -ne 0 ]; then
	echo rclone Failed
	rm -f ${tmpfile}
	exit 1
fi

extra=$(grep -v -e "Duplicate object found in source" \
        -e "Duplicate directory found in source" ${tmpfile})
rm -f ${tmpfile}

if [ "${extra}" ]; then
	echo rclone errors found
	echo ${extra}
	exit 1
fi

dow=$(date +%w)
if [ ${dow} -eq 1 ]; then
	# Report success once per week
	echo Successfully backed up denny@example.com Google Drive
fi

exit 0

Vaccines Working Less Well Because of Antivax

Decades ago as an infant I received several doses of the polio vaccine, one of a panel of childhood vaccinations. Mass vaccination had already had a huge impact on the disease by that point, infections and serious consequences had already dropped substantially.


 

My Favorite Shirt

However there was no Varicella vaccine back then, the virus which causes chicken pox. We now know that Varicella is also responsible for the even more serious Shingles later in life, as the long-dormant virus can become active again.

I remember chicken pox. The thing I remember most about suffering through chicken pox isn't the itching, though that was bad. It isn't the blisters, it isn't the fever. The thing I remember most is that I had been allowed to wear my favorite shirt as a way to comfort me, and that shirt disappeared after I recovered. My parents said they didn't know what happened to it, it had been lost. I was upset about it, and remember the feeling of loss to this day.

It was decades later, after my parents had both passed away, that I realized: they burned the shirt. Chicken pox is so infectious that parents would often dispose of the bedding and clothing afterwards.

My children have little context for this. They never developed chicken pox, and don't know anyone who has. They've never even heard of anyone who developed chicken pox. The infection rate has dropped by 97% since the addition of Varicella to the childhood vaccine schedule in 1995.

In fact, until Covid-19, they didn't have to give much thought to disease at all.


 

Vaccines work

We're seeing the same rapid reduction in the many cancers which are triggered by the HPV virus. Rates of these cancers are dropping due to the introduction of widespread HPV vaccination a number of years ago.

Vaccines work. They work well at an individual level, but they work even better when a disease cannot gain any hold within a population — the much-discussed herd immunity. In the US we are rapidly losing this herd immunity as antivax sentiment gains strength and more parents decline to vaccinate their children.

We're heading into a world where, for the first time, vaccines won't work as well as they used to.


 

Booster shots

Several weeks ago I had blood titers run to gauge antibody response from the vaccines of my childhood. My wife and I got booster shots for Measles/Mumps/Rubella (MMR), Whooping Cough (tdap), and Polio, trying to compensate for a weakening herd immunity. This is the sad reality we have to prepare for.

Saturday, December 14, 2024

Google Photos Takeout failure

Two months ago I exported all photos from Google Photos to import into immich, and scheduled followon Takeout runs every two months. I had naively assumed the subsequent exports would be incremental changes from the first one, but they are instead complete exports again. Oh well.

More significantly though, they seem to require re-entering my login every 20 minutes or so. When I click on a download link if I haven't logged in within the last few minutes I am asked to login again, but also downloads which do not complete within 20 minutes seem to stop. Clicking "resume" in the Chrome download window doesn't succeed.


 

Once this has happened enough times, Takeout disallows trying to download again.


 

ZIP archives #7 and #8 are now inaccessible to me.

I don't recall needing to login so often during the last export, two months ago. Though the downloads did sometimes fail, I also don't recall having the resume download fail because of the need to login again. It probably did not change in the intervening two months, but somehow I'm running into it this time.

Google Takeout really is a wonderful thing, but I'm going to have to do it again and — I guess — be especially careful about when to download the links. Do I have to be ready to click Resume immediately? That seems primitive.

Tuesday, December 10, 2024

LLMs for spoken language practice

One use-case for large language models that I'm especially eager to see evolve is in assisting humans in learning languages. Once one has achieved roughly A2 in a new language, progress becomes much more rapid by holding spoken conversations in the new language. It is something which an LLM should be reasonably good at:

  • Large corpus of idiomatic written and spoken language available on general topics.
  • Generate prompts for a few thousand hypothetical situations to navigate in the new language, as part of the curriculum.
  • Doesn't require the LLM to be an expert in a factual area. Just converse.

One could offer 1:1 instruction with the human student paired with an LLM instance. The prompt could gradually adjust the sophistication of the language as the student progresses. The LLM could evaluate the human student's pronunciation and word choice, and offer tips for how to be more idiomatic.

Friday, December 6, 2024

The Running of the Proxmoxes

I update Proxmox every 1-2 years.

Today was the day.

Success!

Monday, December 2, 2024

Renewing US Passports early

If a US Passport is expiring in one year or less, there is now a very nice online portal to request a renewal. If the passport has more than a year left but one wants to renew it early, paper forms must be sent and the old passport mailed in.

We wanted to renew but our passports had a bit more than one year left, so we filled out the DS-82 forms and sent them with the old passports.

  • We sent the mailer via certified mail in November, 2024.
  • The new passport books were delivered to our home 17 days later.
  • The new passport cards (first time!) were delivered to our home 1 day after that.

So passport renewals take less than three weeks right now, even without paying for expedited serice nor express mail shipment. The old passport books were returned a bit later, 22 days after we sent them in for renewal. We appreciate this, they had passport stamps which hold memories for us.

Sunday, December 1, 2024

Installing Signal is Simple

In researching Signal Messenger I was left with the impression that it was difficult to use and tryig to get the whole family to use it would be painful. Having now finished getting it set up on everyone's phone I have to say: it was not difficult at all.

We each established a 1:1 channel with each other, and a group chat for the Family. I and one of the teenagers are admins of the Group. We've also used it for a 1:1 video call between an Android phone and an iPhone.

So far, so good.

Friday, November 29, 2024

Caltrain Electrification

Caltrain is a large publicly owned train service in California. For the past few years Caltrain has been installing electrical lines above the tracks running up the San Francisco peninsula. Train electrification was proposed thirty years ago, began work seven years ago and completed in September 2024 with the retirement of diesel and replacement by electric engines.

The electric train engines have considerably better acceleration, important given the number of stops along the peninsula, and can complete the journey from San Jose to San Francisco in 30% less time than the diesel engines could. This allows trains to be scheduled more frequently.


 

Induced Demand

Studies have previously shown that service frequency has a significant impact on ridership, and indeed, Caltrain ridership is up 54%. On weekends it is up even more, by more than double.

We talk about the Braess paradox, where adding a lane to a busy roadway will further increase traffic and result in more congestion not less. Building massive highways doesn't resolve traffic congestion for car travel.

Yet increased ridership does not trigger the Braess paradox in train networks. Inherent in the paradox is that moving entities choose their own route, and will optimize for their individual outcome even at the expense of the whole. The trains are not making individual optimization choices, they just run faster.


 

Electrified Trains are Better Neighbors

As a family we enjoy a restaurant right next to the San Carlos Caltrain station, one with outdoor seating. The most recent trip there was a revelation: the electric train is quiet while getting underway, and with no diesel fumes. Electric trains fit into the cityscape more cleanly, quietly whisking passengers on their way.


 

Thursday, November 28, 2024

Tailscale certificates with NextCloud

I run a self-hosted NextCloud instance within the home, and use Tailscale to access it while out and about. This entailed editing /var/www/nextcloud/config/config.php to add trusted_domains:

'trusted_domains' =>
array (
  0 => 'localhost',
  1 => 'nextcloud.tails-scales.ts.net',
),

As using the default self-signed certificate is annoying, I installed a Tailscale certificate instead. A script run from crontab each week automatically renews the certificate:

#/bin/bash

out=$(tailscale cert --cert-file /etc/ssl/certs/tailscale.crt \
                     --key-file /etc/ssl/private/tailscale.key \
                     nextcloud.tails-scales.ts.net)

if [ $? -ne 0 ]; then
  echo tailscale cert failed
  exit 1
fi

# No new certificate needed, just quietly exit
if echo ${out} | grep -q unchanged ; then
  exit 0
fi

echo tailscale cert updated, reloading apache
systemctl reload apache2

Wednesday, November 27, 2024

Backup Google Photos to immich

I have over a century's worth of pictures in Google Photos. I am not immortal or anything, I just inherited a trove of family photos and digitized them all. The oldest photos are from the late 19th century.

I honestly do very much respect Google, the company and the services, but one concern about Google is the horror stories when their systems decide a user should be suspended. I want to minimize irreplaceable losses were I to lose access to my data stored there. The first steps of this have been:

  1. Google Takeout of files in my Drive, to store it in a self-hosted NextCloud.
  2. Google Takeout of my Photos, to store in a self-hosted immich.

This post is about the second item, getting photos into immich.


 

immich

I went with immich primarily because of its good commonality with Google Photos — I've mostly liked Google's product, just looking for more control of the ownership of my data. Immich presents a chronological view of photos, and allows organization into albums. It provides facial recognition which has honestly been top notch so far.

I host immich on a Proxmox machine at my home, and use Tailscale to get access to it from anywhere. The primary immich developers prefer to package it as a set of docker containers, which Proxmox doesn't natively support. Instead I created a Debian 12 LXC for immich and installed docker, using Docker Compose to get a working system.


 

Google Takeout for Photos

This was actually the most time-consuming step in the process: I used Google Takeout to export my photos collection and schedule five more Takeouts every two months, spanning a year in total. The first export took a few hours to prepare, and then an entire day to download. It comprised fifteen ZIP files in all, the first fourteen being 50 Gigabytes in size and the last being the rest.

The ZIP files are so large because they are full of duplicates. The entire photo library is included, and every album. Every time a photo appears in an album, an entire additional copy of it is added to the ZIP file. For over a decade I've zealously made albums for every trip to the Zoo, every school event, every trip, and the duplication of a substantial percentage of the photo library adds to the size of the download. Don't worry though, the process of importing the collection into immich will deduplicate them as well.

Being Google, the Takeout also contains JSON files for any metadata about photos it has. For example if you manually add a location Photos does not add that location to the JPEG EXIF data, it provides it in the JSON file instead.

Once downloaded, the ZIP files can be left as-is — the next step can process the ZIP files directly. You don't need to unpack them.


 

immich-go

Immich-go is an alternative CLI for immich written by Jean François Cassan. One of the things it can do is import Google Takeout ZIP files. It makes a first pass collecting images and their associated JSON. Given an immich API key it then uploads the deduplicated images, creating all Albums contained within the Takeout.

After about 12 hours running, immich0go had uploaded about 60,000 photos to immich.


 

immich facial recognition

Over the next several days, immich gradually recognized faces in photos and began associating them together. This, unfortunately but understandably, is not something exported from Google Takeout. The carefully curated set of identified people from Photos is left behind at Google, instead I'll need to recontruct it afresh within immich.

On the bright side, immich thus far appears to be very accurate in its groupings, even moreso than Google's implementation. It doesn't conflate different individuals together quite so often.


 

Next steps

I've been happy with the results thus far. Google Takeout's first scheduled incremental export a the two month mark is coming up in a couple weeks. I'll export another, presumably much smaller, Takeout and see how well immich-go handles it.

Monday, November 18, 2024

California Driver's License reciprocity with Germany current status

A number of US states and territories have full or partial reciprocal driver’s license agreements with Germany, allowing a US license to be exchanged for German and vice-versa. Among these are:

AlabamaIowaNew MexicoUtah
ArizonaKansasOhioVirginia
ArkansasKentuckyOklahomaWest Virginia
ColoradoLouisianaPennsylvaniaWashington
DelawareMarylandSouth CarolinaWisconsin
IdahoMassachusettsSouth DakotaWyoming
IllinoisMichiganTexasPuerto Rico

California, notably, is not on the list. I believe the current status is as follows.

  1. California Vehicle Code §12804.9 does not allow the DMV to negotiate reciprocity agreements with foreign governments, only with US territories.
  2. There have been several attempts to update the Vehicle Code to allow this, most recently CA AB 639 in the 2023-2024 legislative session — which was passed out of committee but ultimately not voted on in the House and died at the end of the 2024 legislative session.
  3. In the prior legislative session, AB-723 in 2021-2022 made it through several committees and the first few steps of a vote of the House, but was also not acted on before the end of the term.
  4. AB-629 of the 2019-2020 session passed in one committee but did not proceed further.
  5. The earliest such bill I can find came in the 2017-2018 session, and appears to also be the one which made it the furthest. SB-1360 passed the California Senate and through several committees in the House, but was not brought to a vote in the full House before the end of the legislative session.

 

The Experience in Washington State

The state of Washington passed a law allowing negotiation of reciprocal driver's licenses in 2005, in RCW 46.20.125. The full text of the change is considerably simpler than the proposed changes in California law, which additionally requires a consular letter and driving history.

Washington state and Germany signed a Memorandum of Understanding in 2005 relatively soon after passage of the enabling legislation. It was renewed in 2019, which notes the agreement as having been in place for 14 years.


 

Next Steps in California

The sponsor of the most recent Assembly Bill 639 was Representative Evan Low, who will not be returning to the state congress next year. I wish him well. I am writing to several other state representatives to encourage an effort in the next legislative session.

I believe framing this as a positive approach to mutually beneficial immigration would be productive.

There is recent momentum within the United States in this area. The American Association of Motor Vehicle Administrators publishes a guide of best practices for foreign driver’s license reciprocity, last updated in 2021 after its initial publication in 2009. It includes the treaty and legislative background for such agreements, and samples of a Standard Operating Practice and a Memorandum of Understanding. It also includes survey data of the number of agreements signed each year, which shows consistent interest over time.

If you live in California or are registered to vote in California from abroad and interested in advocating for this change in the California Vehicle Code, please get in touch: denton.gentry@gmail.com. I'm writing to representatives of how it might be carried forward.

Sunday, November 10, 2024

Charles Schwab brokerage debit card

When traveling overseas a debit card from Charles Schwab is quite useful:

  • no fees for use of overseas ATMs
  • refunds fees charged by the owner of the ATM
  • withdraw in dollars and let Schwab do the currency exchange at a favorable rate

If you apply for a Schwab debit card, by default it will be tied to a checking account with Charles Schwab Bank. If you don't have a checking account Schwab will ask permission to set one up. This is fine for many people, but if you might at some point move overseas it is a problem. Schwab offers International Brokerage accounts for US citizens living overseas, but banking regulations mean that Charles Schwab Bank cannot do so and will close a checking account if they determine that the holder resides outside of the US.

However, one can also get a Schwab debit card with the same terms and conditions but attached directly to the brokerage account and not through Charles Schwab Bank at all. A debit card attached to the brokerage account will still work if it later becomes a Schwab International Brokerage account. I had to call Schwab to make this happen, the web form didn't provide an obvious way to do so.

The card looks similar but is issued by Charles Schwab Corporation not Charles Schwab Bank, and says "Schwab One brokerage" on it.