Wednesday, April 9, 2025

German Mothers and the Year 2031

Until 1975 German mothers did not pass on citizenship to children born in wedlock, only German fathers did. To address historic gender discrimination in citizenship practices Germany has defined a declaration process called Staatsangehörigkeit § 5. I wrote about our experience with this process, which we completed in 2023.

In the 20th century several million Germans emigrated to the United States. Staatsangehörigkeit § 5 is applicable to a very large number of their descendants today. From a post on r/GermanCitizenship about an April 2025 visit to the German Consulate:

The caseload has increased exponentially in the past 4 months. He said that aside from all the appointments each day, they get between 80 and 90 inquiries a day in the Chicago office alone.

Hand holding four German Reispässe The Staatsangehörigkeit § 5 process will be open for ten years. Having started in August 2021, declarations will be accepted until August 2031. The current wait time in the queue to be processed is about 2.5 years, and is likely to grow with the number of Americans now applying.

If you were born to a German mother prior to 1975 and you'd consider this declaration of German citizenship, I'd advise starting on it soon.

Tuesday, April 8, 2025

Coal Mining Policies

New coal policies are invariably announced in front of a group of workers wearing hard hats with lights affixed, and often in Pennsylvania for good measure. One might assume the mining profession is a huge economic force and under constant threat which must be fended off to preserve families and livelihoods.

As a profession, coal mining employs about 40,000 people in the US.

Graph from the Federal Reserve Bank of St. Louis showing employment in coal mining over time, which started at 177,800 in 1985 and declined to about 40,000 by the year 2020. Employment has been relatively flat at 40,000 since the start of the COVID-19 pandemic in March 2020.

Source: FRED (Federal Reserve Economic Data).




Construction Management requires similar levels of education and experience and according to employment statistics enjoys a similar pay scale. There are 10x to 20x more Contruction Managers in the US.

Graph from the Federal Reserve Bank of St. Louis showing employment in construction management over time, which started at 335,000 in 2000 and had grown to 785,000 by 20204.

Source: FRED (Federal Reserve Economic Data).




Coal policies are not driven by concern for workers. Coal policies are driven by concern for fossil fuel profits, which have only been made possible by externalizing the cost of the damage to human health and acceleration of global warming.

Sunday, April 6, 2025

RSS Feed Likely to Break

The FeedBurner logo, a stylized flame with a yellow upward facing crescent moon center surrounded by dull red flames, perched on a circular blue floor.

Over a decade ago I configured this Google Blogger site to use FeedBurner. This blog never generated ad revenue and I turned ad insertion off, but left the feed still going through FeedBurner.

I'm making progress in moving the blog off of Google Blogger. I am actively trying to reduce my use of big tech companies, limiting them to easily-replaced commodified services wherever possible. I have a Jekyll site working locally, with all existing posts and images imported. I expect to serve the generated static site from somewhere like GitHub Pages or Cloudflare Pages so as to not operate a public-facing site myself, but retain the content and publishing infrastructure locally. The static hosting can be moved easily.

However: I expect the RSS feed will break, with a discontiguous update making it look like more than 400 posts have suddenly published. The Jekyll site will not generate an identical feed to Google Blogger. I also don't intend to use FeedBurner with the new site, as Google began shuttering the service several years ago.

Looking at the feed today, it is three posts behind. I don't know why, but I guess I'm heartened that it is not more. I'm posting this now in hopes that it will be published to any remaining subscribers of the RSS feed before the changeover happens.

Friday, April 4, 2025

Farewell, Google Charts API

Nearly 14 years ago I wrote a joke post about the Holtzmann Shields from Frank Herbert's Dune, complete with impressive-looking but nonsense equations like this one:

LaTeX T = \frac{(0.09\frac{m}{sec})^2(0.0289644\frac{kg}{mol})}{(3)(8.3145\frac{m^2\cdot kg}{sec^2\cdot mol\cdot K})}

That equation was created using LaTeX:

T = \frac{(0.09\frac{m}{sec})^2(0.0289644\frac{kg}{mol})}{(3)(8.3145\frac{m^2\cdot kg}{sec^2\cdot mol\cdot K})}

 

At the time the post was written in 2011, Google offered a Charts API which would accept URL-encoded LaTeX and render it on the fly. The original posting from back then just embedded the Charts API URL as the source for the image, confident that Google would supply a suitable PNG:

https://chart.googleapis.com/chart?chs=239x83&cht=tx&chl=%0AT%20%3D%20%5Cfrac%7B(0.09%5Cfrac%7Bm%7D%7Bsec%7D)%5E2(0.0289644%5Cfrac%7Bkg%7D%7Bmol%7D)%7D%7B(3)(8.3145%5Cfrac%7Bm%5E2%5Ccdot%20kg%7D%7Bsec%5E2%5Ccdot%20mol%5Ccdot%20K%7D)%7D%0A

One can see the LaTeX code in the `chl` parameter.


 

The joke post turned into a joke on me: Google announced the deprecation of the Charts API the following year, and turned it off altogether in 2019. My post from 2011 has been broken for almost 6 years, without me knowing.

I am currently endeavoring to reduce my use of Big Tech services, turning to alternatives over which I have more control. Importing that 2011 post into Jekyll repeatedly failed because the image link was broken. I was able to recover the original LaTeX from the URLs to fix the old post, by generating PNGs.

I think this reinforces the desire to not depend upon Big Tech. Google kills services every day, especially ones like the Charts API which didn't have their own monetization path.

Wednesday, April 2, 2025

Preparing for Offsite Backup

Apple Time Capsule, a thin white device with rounded corners and a single power light on the right side.

For many years, too many years, my family computer backup plan was an aging Apple Airport Time Capsule paired with the fervent hope that nothing would ever fail. That worked pretty well in that we haven't lost anything important, but Backup Theater is honestly worse than just admitting there is no real backup.

Last year I decided that Adulting should include ensuring that family data remains safe and the kids don't lose schoolwork, or the custom Doom WADs they've developed, or what have you. The Adulting Plan for Backups consists of:

  • Android and iOS devices should be backed up somewhere outside of the home.
  • Windows and macOS laptops should be backed up somewhere outside of the home.
  • Proxmox VMs and LXCs should be backed up somewhere outside of the home.

Repetative and boring, perhaps, but that is how a backup plan should be: replicated and safe.


 

Android and iOS

The mobile devices were simplest: they already backed themselves up, Android to Google Drive and iOS to iCloud. Downloading all iCloud photos to immich allowed us to drop to a less expensive iCloud+ storage plan while still using it for device backups.

One downside of using the mechanisms which Google and Apple provide is that the backups are not encrypted from outside access. Google and Apple can access the contents of the device backups. I hope to come back to re-examine these backup plans in the future with something we have more control over.


 

Windows and macOS

After some searching, we paid for Arq Backup Premium, which provides one license for each of our five laptops. Each laptop is configured to back itself up twice:

  1. To the cloud storage which Arq Premium provides.
  2. Using SFTP over Tailscale to the fileserver within our home.

The backup files for all of the laptops together come to a bit over 800GB, nicely fitting within the 1TB of Google Cloud storage from Arq Premium. The backups are encrypted using a key which only we have, neither Arq nor Google can read the contents.


 

Proxmox

The Proxmox server within the home has 10 terabytes of ZFS storage. It provides the SFTP backup which the laptops are configured to reach via Tailscale, and it backs up its own VMs and LXCs to ZFS using vzdump. I'm working on offsite replication for this and might post again when that is done.

Monday, March 31, 2025

ZFS Spooky Failure at a Distance

I use Proxmox with a ZFS array to run a number of self-hosted services. I have been working on setting up zrepl for offsite backup, replicating encrypted ZFS datasets which the remote system will be able to store but not decrypt.


 

While working through all of this, the new 28TB disk intended for the remote system appears to have failed.

root@zfsremote:~# zpool status
  pool: pool1
 state: DEGRADED
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
config:

        NAME        STATE     READ WRITE CKSUM
        pool1       DEGRADED     0     0     0
          sdb       DEGRADED     0    35     0  too many errors

 

Indeed, there are kernel messages about disk errors:

Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368396833 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368399137 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368397089 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368401697 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368401441 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368399393 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368402721 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368402465 ...
Mar 31 07:16:33 zfsremote kernel: I/O error, dev sdb, sector 23368402209 ...
Mar 31 07:16:34 zfsremote kernel: I/O error, dev sdb, sector 23368401953 ...

 

It seems odd, though. I had run `badblocks` destructive tests for weeks before moving on to creating the ZFS pool. After all that, it would choose this moment to begin uncorrectable failures?

Quite suspiciously, 07:16:33 is also the very instant when I sent a kill signal to a vzdump process running on the Proxmox host.

116: 2025-03-31 07:14:31 INFO:  29% (7.4 TiB of 25.5 TiB) in 9h 37m 2s
116: 2025-03-31 07:16:33 ERROR: interrupted by signal
116: 2025-03-31 07:16:33 INFO: aborting backup job

As I now know, trying to kill vzdump with a signal is not the right thing to do. `vzdump -stop` is the right way to interrupt it.

The OpenZFS docs say: "the following cases will all produce errors that do not indicate potential device failure: 1) A network attached device lost connectivity but has now recovered"

So far as I can tell, this is the explanation for this failure. Me sending a signal to vzdump interrupted the stream of ZFS operations, which manifested as a failed array on the other end. I have to say that I'm not fond of array failure as the way to report network errors. I've cleared the failure using `zpool clear` and will hope that zrepl will sort out bringing the two ZFS filesystems back into sync.

I plan to give it a day, then restore the remote dataset and check whether the file contents are sensible. The remote system does not, and will never, have the encryption key to be able to check the contents of the datasets it holds. I'll have to transfer them back to be able to access them.

Saturday, March 29, 2025

Stadtarchiv Hannover bis 2026 geschlossen

I received a Sterbeurkunde from Stadtarchiv Hannover on 28 March 2025, with the following note in the email signature:

Von März bis Jahrsende 2025 verlagert das Stadtarchiv seinen Standort in das neue Sammlungszentrum an der Vahrenwalder Straße 321. Der Lesesaal ist geschlossen, die Bearbeitung von Anfragen eingestellt.

Bei der Erreichbarkeit unserer Kolleg*innen und unseres Funktionspostfachs stadtarchiv@hannover-stadt.de kann es zeitweilig zu Verzögerungen kommen. Wir bitten um Verständnis und freuen uns, Ihnen voraussichtlich ab Jahresbeginn 2026 am neuen Standort wieder im vollen Umfang zur Verfügung zu stehen.

Bitte beachten Sie hierzu auch die Informationen auf unserer Homepage unter www.stadtarchiv-hannover.de.


From March until the end of 2025, the city archive will relocate to the new collection center at 231 Vahrenwalder Straße. The reading room is closed and the processing of inquiries is suspended.

There may be temporary delays in reaching our colleagues and our functional mailbox stadtarchiv@hannover-stadt.de. We ask for your understanding and look forward to being fully available to you again at the new location from the beginning of 2026.

Please also refer to the information on our homepage at www.stadtarchiv-hannover.de.

In 7/2023 a request to Stadtarchiv Hannover would usually be answered in a week, but then something happened. Since 2024 response times have been 6-8 weeks. A post on their website mentioned a challenging staffing situation. I'm hopeful that in the long term, moving to a larger facility will help.

Imagery from the indexes was added to Arcinsys last year, those should still be available in the interim.

Thursday, March 27, 2025

Macbook Air M1 USB-C Port Replacement

My Macbook Air M1 was gradually developing some kind of impairment in its USB-C ports where I'd have to jiggle or put actual pressure on a USB-C cable to get it to be recognized — and since it has no Magsafe port for charging, this meant it would switch to and from battery as its charging cable periodically lost contact.

Searching turned up people reporting similar issues, especially that the rear port started having a problem first until eventually the front port did as well. There wasn't a consensus solution but a replacement USB-C board from iFixit came up several times. For only $20, I ordered one.

Innards of a Macbook Air M1, with the old USB-C board off to the side and the new board installed

The original USB-C board is off to the right side in this picture. One can see some corrosion and dirt, and also a bit of blackening on what I assume is a power pin. I believe that carbon buildup is likely the primary issue. I'll scrub it off with some alcohol on a cloth and put it away for the future, it would probably work again if needed.

Wednesday, March 26, 2025

Venmo Public Transactions

Venmo pushes hard for transaction activity to be Public. It doesn't say whether any past payments were actually public, and puts up an interstitial to confirm a change to Private.

This selection does have a benefit for the user, in making it more straightforward for friends to find each other and to make payment arrangements. However the choice has a larger impact on Venmo's user growth, and does come with downsides for their users like making activities public which they assumed were not.

Venmo Privacy settings page with options for Public, Friends, and Private. The current selection is Private. Below are buttons to change past transactions to Friends or to Private. Venmo confirmation to really change past transactions to Private?

Presumably Venmo has data on how much of a network effect they get from having payment information be Public, drawing in friends and family and acquaintances and randos. Venmo appears to allow this data to impact their UI design to steer users toward the choice most beneficial to the company.

Tuesday, March 25, 2025

EFF Privacy Badger

EFF Privacy Badger window showing 20 potentia trackers blocked or restricted. The ones shown by URL are contextual.media.net which is blocked, cdn.optimizely.com where cookies are blocked, widgets.outbrain.com which is blocked, get.s-onetag.com which is blocked, api.spot.com where cookies are blocked, and direct-events-collector.spot.im where cookies are blocked.

I started using Privacy Badger from the Electronic Frontier Foundation several months ago. It is a browser extension — I use it with Chrome — which blocks or restricts domains known to track identities and activity across the web.

One can click on the Privacy Badger extension icon to see what has been blocked, and also to make exceptions for the website being visited if needed.


 
 
Privacy Badger has replaced this X (Twitter) widget

This includes live links to tweets and other social media, which Twitter uses to gather data about the viewer. I allow these on certain sites which curate related tweets into stories.

I don't actively use Twitter any more but still find the zeitgeist there to be informative.

Monday, March 24, 2025

Ringing Endorsement for Signal

As published in The Atlantic today:

The Trump Administration Accidentally Texted Me Its War Plans
U.S. national-security leaders included me in a group chat about upcoming military strikes in Yemen. I didn’t think it could be real. Then the bombs started falling.
 
By Jeffrey Goldberg

The aforementioned group chat was using Signal. I guess that is quite the ringing endorsement of Signal's security and trustworthiness.

Signal was already being targeted by every nation-state and major criminal hacking group, I doubt that the knowledge it is being used for US war planning will especially increase the pressure they are under. As a family, we use Signal to coordinate everything important to us.

Signal chat showing an entire pallet of Kirkland eggs for sale at Costco, with a response asking if they are at the usual price

Saturday, March 22, 2025

sync; sanc; sunc

# sync; sync; sync
#

Pros: Works.
Cons: Boring.
 


# cat ~/.profile
alias sanc=sync
alias sunc=sync
# 
# 
# sync; sanc; sunc

Much better.

Friday, March 14, 2025

Giant Airplanes Flying Low at 3am

Why yes, a Boeing 747 flying low directly over our house at 3am does wake us up. Who could possibly have predicted it?

Screenshot of a flight radar map showing an Asiana Cargo 747 to South Korea taking off from San Francisco International Airport over the San Francisco Bay, then turning to cross the Peninsula directly over Redwood City and San Carlos.

Thursday, March 13, 2025

Deleting Pokémon GO data

The last Pokémon I ever caught, in July 2019
My final Pokémon

I was an enormous fan of Pokémon GO for several years, zealously playing no matter where I was. It spurred me to do interesting things like visit parks in my area to which I had never been, to capture the Pokestop. I joined in legendary battles. I recall captuing MewTwo at a local park with about a dozen other players. I'd been a player of Niantic's earlier game Ingress, and thought of Pokémon GO as a newer, shinier take on the concept.

As happens, my interest in catching Pokémon waned and eventually stopped by the summer of 2019. We went to LEGOLand and there is exactly one Pokémon screenshot in my photos, in what was surely a target rich environment. Emailed entreaties from Niantic to come back started a couple months later.

I knew that location data was the main economic reason for the game's existence. I wasn't especially concerned about it at the time, I felt confident that my visits to parks and monuments and fountains wouldn't be something to be concerned about.


 

That was then, this is now. The world seems more threatening, and Niantic's announcement of the sale of its games and location data to Scopely, which is owned by the Saudi Arabian sovereign wealth fund, is enough to trigger my spidey sense.

One can request deletion of the account and associated data from within the app if still installed, but it is not necessary to reinstall if already gone. Niantic has a request form to delete a Pokémon GO account. If you don't remember your account name, search your Inbox for the pleading entreaties to come back to the game — it went on for years.

After submitting the deletion request, Niantic sent an email requiring that I reply with a code to confirm the deletion within 30 days. Right now I'm trusting that they will actually delete the data: one person's information is valueless, there isn't a reason to lie about doing so.

Saturday, March 8, 2025

Ausland Urkunden, Berlin Standesamt 1

In 2023 my wife and our children became German citizens via a declaration process called Staatsangehörigkeit § 5. The official paperwork came in the form of a document, an Urkunde über den Erwerb der deutschen Staatsangehörigkeit durch Erklärung, which we used to apply for Reisepässe.

The Urkunde durch Erklärung is very important, and will be needed to renew the passports. It is possible to replace it if something happens like fire or theft, but it isn't very straightforward to obtain the replacement. We decided to additionally file for birth certificates in Germany. These would be straightforward to re-order in the future as needed, and would serve as proof of citizenship. While at it, we also registered our marriage.

A civil records office in Germany is called a Standesamt, and registrations of foreign births are handled by Standesamt 1 in Berlin. The Berlin Standesamt 1 is famously backed up in processing submissions, we were advised to expect 2-3 years to process our forms.

Happily though, it effectively only took 5 months.

Geburtsurkunde, Standesamt 1 in Berlin, in Fremont, Kalifornien, Vereinigte Staaten von Amerika

 

I say "effectively" because we missed the email of invoices to pay the Standesamt, until the Consulate sent them again 3.5 months later. So overall it took 8.5 months, three and a half months of which was on us.

Jun 17, 2024Submitted forms at San Francisco Consulate.
Aug 2, 2024Consulate forwards invoices from Standesamt in Berlin, which we missed seeing.
Nov 18, 2024Consulate re-sends the invoices from Standesamt in Berlin, we paid the next day.
Jan 17, 2025Recording date listed on the certificates.
Feb 7, 2025Consulate receives the certificates from Germany.
Feb 28, 2025Certificates delivered to us.

If you decide to do something similar, be aware that it is an expensive undertaking. Registering four births and one marriage cost 334 US Dollars in fees to the Consulate and a total of 630 Euros to Berlin Standesamt I. Altogether, the fees came to about a thousand US Dollars. One is not required to register the births in Germany, only do so if you believe it will be worth it.

Sunday, March 2, 2025

Exporting 23andme Data

silhouette of DNA double helix

Our whole family had submitted DNA kits to 23andme including our kids and even my mother, who has since passed away. Our earliest kits used 23andme's v3 chip, the more recent ones used v5. However in the latter half of 2024 there came concerning news about 23andme's financial cicumstances. Last September we decided to export all of our data and ask that 23andme delete it. We didn't want it all to be handed over to a new buyer whose motivations we would not know.

We requested export and had to wait a bit for an email saying the exported data was ready. It generally arrived within a day of asking. Altogether each person's downloaded data is about 400 Megabytes, 375 Megabytes of which is in a single file: "imputed_genotype_data_r6." One of the requested exports seemed to get lost, but was processed on the second request. It took a few days altogether to request and download everything, then ask for deletion.

Nonetheless despite being concerned about what might happen at 23and me, we actually do want to continue to look for DNA matches to discover cousins and relatives. Each year at roughly the time of the RootsTech conference, MyHeritage offers free upload and processing of DNA data exported from other companies like Ancestry or 23andme. We uploaded the exported 23andme DNA data, omitting the kids for now.

We have decided to trust MyHeritage with our data because of a clear commitment in their privacy policy: MYHERITAGE HAS NEVER SOLD OR LICENSED GENETIC DATA OR HEALTH DATA, AND WILL NEVER DO SO IN THE FUTURE.

We'll watch for news if that ever changes, but such an unambiguous statement gives us enough confidence to proceed.

Saturday, March 1, 2025

German Mothers Prior to 1975

My spouse's mother was German and emigrated to the United States in 1958. Until 1975 German mothers did not pass on citizenship to children born in wedlock. When that policy changed there was a process where parents could declare the citizenship of their children born before 1975, but it ended in 1977 and we think her mother never even knew of it.

So my wife was not born a German citizen.


 

Staatsangehörigkeit § 14

As the result of a court case in 2019, the modern state of Germany decided that this gender discriminitory practice where fathers would pass on citizenship and mothers would not had been unconstitutional. In 2020 an existing discretionary naturalization process called Staatsangehörigkeit § 14 ("StAG 14") was extended with a Müttererlass or mother's redress provision which relaxed some of the requiremens for descendants of German mothers in this circumstance.

We spent much of 2020 gathering documents and conducting genealogical research to prove her mother's German citizenship, as we no longer had the passport. The packet of documentation reached 77 pages altogether: German birth and marriage records, evidence of ties to Germany, sworn translations of English US documents to German, proof of financial sufficiency and health care, and more.

We mailed it in December 2020, and waited. The queue to process applications was several years long.


 

Staatsangehörigkeit § 5

In August of 2021 while our StAG 14 application sat in the queue, a new and much simpler process to address historic gender discrimination in citizenship practices was introduced called Staatsangehörigkeit § 5 ("StAG 5"). It is a declaration, one declares one's German citizenship and provides evidence to support it.

The requirements are much simpler and the application is vastly shorter: it does not require evidence of ties to Germany, nor finanical information, nor any of the rest. It only requires the documentation of descent from a German parent within the timeframe and circumstances addressed by StAG 5.

  • In May 2023 our original StAG 14 packet reached the front of the queue for processing. We received a letter from Germany noting the subsequent creation of StAG 5 and providing guidance if we chose to switch to it. We filled out the new forms to send in, relying on the documentation from the original StAG 14 submission for the rest of the supporting evidence.
  • In September 2023 we received a letter describing several mistakes we'd made along with details of how to correct them, and one last bit of evidence needed. We submitted a response within a week.
  • In December 2023 we received notice that the Declaration had been accepted. My spouse and our children were now dual citizens of Germany and of the United States. It was effective as of the date the declaration was made, in June 2023 when the StAG 5 forms arrived in Germany.
  • We made appointments in February 2024 for each of them to apply for German passports, their Reisepässe.
Hand holding four German Reispässe

If you are in a similar circumstance or a descendant, born to a German mother prior to 1975, the StAG 5 process is straightforward and can be done on your own. The cost is minimal: the application is free and obtaining needed documentation will generally cost less than one hundred Euros.


 

Getting Help

There are several available avenues for help:

  • Reddit's /r/GermanCitizenship subreddit is amazingly helpful in advice and instructions. It unfortunately didn't exist when we started this process, and I only discovered it after we'd completed the entire thing. If I'd found it earlier it probably would have avoided the mistakes we had to correct in September 2023.
  • It is absolutely possible to obtain documents from Germany on your own, and I wrote two blog posts about our experiences in doing so: #1 and #2.
  • There are professional genealogists based in Germany active on /r/GermanCitizenship and available for hire, who can help obtain documents.
  • One can hire a legal firm, though I won't link to any because I think that is a poor use of money. Legal firms won't help you gather the documentation you need, they will at most hire a genealogist on your behalf and then substantially mark up the fee. Hiring a lawyer is the most expensive way imaginable to fill out the StAG 5 form.

Saturday, February 15, 2025

Google Photos Takeout Download using Firefox

List of ZIP archives available for download from takeout.google.com, each approximately 50 gigabytes until the last which is smaller. All were successfully downloaded.

Four 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. Two months later, download of the first scheduled Takeout repeatedly failed until Google disabled the download links, leaving me unable to download my photos at all.

After another two months, I made another attempt with the next scheduled export. I tried downloading the first archive using Chrome, and it failed twice. I switched to Firefox to download instead of Chrome, and it worked much better. Firefox appears to not give up so quickly and keeps trying. I was able to download all fifteen ZIP archives, fifty Gigabytes each, with only one download failure where I had to start it again.

Hurray!

Monday, February 3, 2025

Electrified USPS Fleet

In its initial proposal for a refreshed fleet of delivery trucks in 2022, the US Postal Service and its contractor Oshkosh Defense proposal listed a combined vehicle + cargo weight of 8501 pounds. This is a remarkably specific number, exactly one pound heavier than emissions rules would constrain. Were the vehicle 1 pound lighter it would be required to be considerably cleaner — and likely electric, to meet those requirements.

With more effort, and additional $3 billion in funding from the Biden administration, by the following year this proposal was revised and proposed that most of the fleet be electric. A gasoline version would be used for long routes in rural areas without sufficient charging infrastructure. Initial electric vehicles were delivered in September of 2024, apparently to excellent reviews by postal workers using them.

White USPS vehicle with a very large windshield and a low hood, on display on a stage at the Consumer Electronics Show

Oshkosh has delivered only 100 electric trucks thus far, production was expected to ramp up from the initial deliveries a few months ago. The Oshkosh Defense CEO now says they'd be happy deliver the rest of the order as solely gasoline vehicles. It is difficult to see this in any positive way.

Sunday, February 2, 2025

Google Cloud Four Cent Bill

I'd say not to spend it all in one place but I think the maximum number of places they could possibly spend it is four, so... go ahead. Live your best life, Google, with my compliments.

Google Cloud payment received email. Your payment amount of $0.04 to Google was received on Feb 1, 2025.

Saturday, February 1, 2025

OPNsense 25.1 and ZFS

OPNsense logo

OPNsense 25.1 has been released. I'll update in a week or two, it looks neat.

My OPNsense instance is a VM running on a Proxmox host, where Proxmox uses ZFS as its storage. I doubt the ZFS support within OPNsense will be applicable, I think it sees a raw block device. I wouldn't want OPNsense to create a ZFS filesystem using the blocks which reside within the Proxmox ZFS filesystem. While I'm sure it would work, it seems like it would just be confusing without really being beneficial.

Monday, January 27, 2025

YOLO Credit Union

The storefront of the YOLO Federal Credit Union, Branch Office and Real Estate Center, 501 G Street in Davis, California.

This is a legitimate credit union in Davis, California, I just find it amusing.

Wednesday, January 22, 2025

California Driver's License reciprocity status 1.2025

Reciprocal driver’s license agreements allow a license in one participating nation to be exchanged for the other — either in whole or in part by waiving the practical driving exam and any mandatory driving lessons and requiring only a written/eyesight/etc exam.

Twenty-eight US States and territories have reciprocal driver’s license agreements with Germany. Similar agreements exist between US states and South Korea and with Taiwan. California is not a party to any such agreement. California Vehicle Code §12804.9 does not allow the DMV to negotiate reciprocity agreements with foreign governments.

I am seeking a California legislator willing to author legislation enabling foreign driver’s license reciprocity in the 2025-2026 legislative session.

Prior legislative activity

Several prior attempts have been made to pass enabling legislation:

AB 639 and AB 723, the most recent, were submitted by the Honorable Evan Low who will not be returning to the California House in 2025.

In 2021 the American Association of Motor Vehicle Administrators published a best practices guide for foreign license reciprocity, including suggested language for enabling legislation, at: https://www.aamva.org/topics/driver-license-foreign-reciprocity

Why we will succeed

  • Immigration is at the top of the national agenda. Steps demonstrating a positive approach to immigration help counterbalance the news cycle.
  • Three organizations representing >100,000 Americans living overseas are willing to canvas their members registered to vote in California who would list themselves as supporters of the legislation at https://calegislation.lc.ca.gov/Advocates/
  • Advertisements on Reddit subs and Facebook pages for US immigrants and expatriates can also seek more supporters registered to vote in California. The website to use in these ads has been created: https://sites.google.com/view/ab-123456-advocacy/home by foreign.license.reciprocity@gmail.com

Tuesday, January 21, 2025

OPNsense and sonic.net DHCPv6

I love the Sonic Fiber-optic Internet Service and use it in northern California. Their support is great, the price is reasonable, and the throughput is good.

One area where they were a little behind the curve is in IPv6 support. I used a 6IN4 tunnel until just a few weeks ago, after Sonic completed rollout of DHCP6 support in my neighborhood sometime last year. An issue I ran into was in receiving NoAddrsAvail in response to the DHCP6 Solicit send by my router.

14:59:58.681985 IP6 (class 0xc0, hlim 64, next-header UDP (17) payload length: 204) fe80::5e5e:abff:fed5:a1c0.547 > fe80::a236:9fff:fe59:19b0.546: [udp sum ok] dhcp6 advertise (xid=42fee3 (client-ID hwaddr/time type 1 time 656596109 a0369f5919b0) (server-ID vid 0000058335633a35) (IA_NA IAID:0 T1:0 T2:0 (status-code NoAddrsAvail)) (IA_PD IAID:0 T1:10800 T2:17280 (IA_PD-prefix 2001:5a8:xxxx:xxxx::/56 pltime:21600 vltime:21600)) (DNS-server 2001:5a8::11 2001:5a8::33))

As a result, my router did not get an IPv6 address.

igb0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
        description: WAN (wan)
        options=4800028<VLAN_MTU,JUMBO_MTU,HWSTATS,MEXTPG>
        inet 135.180.x.x netmask 0xfffffc00 broadcast 135.180.x.x
        inet6 fe80::a236:9fff:fe59:19b0%igb0 prefixlen 64 scopeid 0x1
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>

 

Sonic answered the question in their support forum that their DHCP6 rollout only delegates prefixes. My router needs to only send an IA_PD, not an IA_NA. With OPNsense this is done in the Interfaces setting, "Request prefix only."


 

Voila! IPv6 works from within the house.

Thursday, January 16, 2025

Google Lens Determining the Year

"This is a photo of the Justizpalast (Palace of Justice) in Munich, Germany, taken around 1970."

Ok, that is impressive from Google Lens. The photo was taken in 1969. Presumably the metadata about images in the training set includes the year when the image was taken often enough for it to have associated the shape of automobiles with a range of years.

Justizpalast in München surrounded by cars on the street. A Google Lens sidebar says: This is a photo of the Justizpalast (Palace of Justice) in Munich, Germany, taken around 1970.

I absolutely understand the belief that Google rushed out its AI too early, resulting in embarassing snafus. I do however wonder, had Google not gotten its work into the field, whether it would have the opposite problem now: being perceived as incompetent, hopeless, obsolete. Google's AI work at DeepMind has been very strong and done very early, were they to demonstrate an inability to bring feature to market that would also be damaging.

Personally: I value the AI features but do not yet trust them. I'm willing to give it time.

Tuesday, January 14, 2025

Nextdoor Emails Ads to Non-Users

Email from a Nextdoor user named Lisa: Hi Denton, Hope all is well. I'm currently trying to generate some new business. I'm hoping you'd be kind enough to give my business a Fave on Nextdoor, the neighborhood app, to help get the word out to our other neighbors. Sharing your support would be really appreciated and valuable for our growth - thanks!

I received an email from Nextdoor, clearly a paid advertisement targeted at people who live in my town.

The person who paid for the ad is asking something fairly innocuous, trying to build their business by generating enthusiasm on Nextdoor. Fake enthusiasm, but that is the way capitalism works nowadays.

I decided to obscure the name of their business because I don't really consider them to be a bad actor in this. Nextdoor is.

I am not a user of Nextdoor.
I have never been a user of Nextdoor.
I have no account there.


However, my mother was an active user and, as I learned today, likely allowed Nextdoor to access her contacts. Nextdoor's privacy policy article about this mentions names, email addresses, phone numbers, and "other information" will be harvested from uploaded contact information. Clearly it includes the postal address as well since Nextdoor targeted a geographical ad at me.

Nextdoor is selling access to me, without any kind of relationship with me and never having provided any value to me whatsoever. Someone had an account, therefore my information is free for them to monetize and do with as they please.

This stuff mostly fades into the background. Even while drafting this post, LinkedIn sent an email of "Denton, this top CEO is answering your questions live" which is clearly also a paid email advertisement targeted at me. I pay for LinkedIn Premium, but my information is nonetheless still used to juice some additional revenue. I receive this stuff regularly enough that don't even think about it, but Nextdoor stood out.

privacy@nextdoor.com

I wrote to privacy@nextdoor.com:

Referencing https://help.nextdoor.com/s/article/Information-for-people-who-don-t-use-Nextdoor-Products, may I have a copy of the information Nextdoor has for my email address?

They responded:

We’re sorry to hear that this email was unwelcome.
 
Upon review, there is no account associated with your email address, therefore we cannot provide a copy of your information.
 
From time to time, Nextdoor receives information from third parties about non-users. In your case, we received your information from a third-party partner and used this information to invite you to join your Nextdoor Neighborhood.
 
I can confirm that we have deleted from our systems the personal information associated with the email address that you used to contact us.
 
Let me know if you have any questions.

I didn't mention anything about an email. Apparently they get enough complaints about this practice that they just assume it is so.

Monday, January 13, 2025

Rent Then Versus Now, 32 Years Later

When I first moved to California in 1992 I rented a one bedroom apartment in Mountain View at a complex called The Shadows. I remember it being $900 for a 700-750 square foot apartment with one bedroom and a small kitchen.

The apartment complex is still there. Rent for that apartment now starts at $3295 per month.

Friday, January 10, 2025

Passport Cards

In November 2024 we decided to renew our US passports. We also ordered Passport Cards for the first time. The cards arrived 18 days after we mailed in the forms, without paying for expedited service nor even for express mail.

The Passport Card is a stiff plastic card, slightly thicker than our driver's licenses. It is not as broadly applicable as a traditional Passport Book:

Passport card issued November 2024
  • There is nowhere to put a visa nor anywhere for entry/exit stamps.
  • It is specifically not valid for international air travel, though it can be used to board a domestic flight and is Real-ID compliant.
  • The card is considerably cheaper at $30 versus $130 for a Passport Book, at least as of the timeframe we ordered in late 2024.

Most importantly though: it is rugged and fits in a wallet. It is much more reasonable to have a Passport Card with you at all times than it would be to carry around a Passport Book, and the card is a valid proof of citizenship. It can be used within the United States, can be used for travel within the Americas, and will allow re-entry into the US even if you have lost the regular Passport Book.

One caution: in another ten years when it comes time to renew, both the Passport Book and Card will need to be turned in for renewal. Keep good care of both, if one is lost then the renewal of the other becomes a Lost Passport event which requires DS-64 and DS-11 forms to replace. The DS-11 requires birth certificates and other proof of citizenship, just like getting the passport for the first time required.

Thursday, January 9, 2025

Family Use of Signal Messenger Status Report

About six weeks ago we moved our family chat over to Signal Messenger after considering alternatives WhatsApp and Telegram. We are a mix of very technical, somewhat technical, and non-technical users. Signal has been quite usable.

  • We have 1:1 conversations between each of us, and a Family group chat.
  • We've used it for group video calls and voice, text and images.
  • We paste silly GIFs and use emoji to react to things.

It is, quite simply, fine. We use it for all of the important conversations now.

A+, would recommend. If you are looking for alternatives to WhatsApp, because reasons, Signal is fine for groups of all sorts.

Wednesday, January 8, 2025

AuthaGraph World Map Projection

The AuthaGraph map projection projects the Earth's surface onto a triangular pyramid which is then unfolded and transformed into a rectangular map. The size and position of the continents and oceans are much more accurate while preserving a rectangular shape for ease of use — and our comfort, that maps are usually rectangular. Its designer, Hajime Narukawa, won a 2016 design award in Japan for this effort.


 

I just think it is neat. I've tried using the Dymaxion triangular projection but it just looks so weird that it distracts from the point it is trying to illustrate. People instead get lost in the sharp edges of the map. It looks dangerous.


 

Inovative map projections which do not exaggerate the land area of Canada and Greenland seem especially relevant right now.

Monday, January 6, 2025

Sauna Heaters and AI Misinformation

It started, simply enough, as a search for manuals for a sauna heater. The nameplate says it was made by AB Bahco in Enköping, Sweden. Google confidently informs me that this heater does not exist.

Google AI summary: AB Bahco is a Swedish company known for its hand tools, but doesn't have a dedicated sauna heater division or product line. You might be looking for a different sauna heater brand or product, or perhaps a different company altogether.

According to the faceplate the heater was made by the Ventilation division of AB Bahco. Snap-on Tools bought AB Bahco in 1999. I wrote to Snap-on customer support asking for PDFs of owners manuals or other documentation. Their response was as one might expect.

"The assortment of products Bahco offers is limited to professional hand tools, metal cutting saws, files and rotary burrs, wrenches and spanners, sockets and accessories, torque tools, impact tools and bits, screwdrivers, pliers, automotive special tools, electronics and fine mechanical pliers, extractors, refrigeration tools, tool storage, woodworking tools, pruning tools, and forestry hand tools.

I do not believe we have ever made saunas or sauna components."

I'd provided pictures of the heater with the original inquiry, but still I sympathize: the acquisition was 25 years ago, and clearly motivated by Bahco's power tool product lines. Google says Bahco doesn't make sauna heaters. What else is a customer service rep short on time going to respond with?

Thus I am left trying to add facts to the machine's training corpus, with a blog post. I feel like I am poking at the bear with a stick.

Let this be a record on the Internet of a thing which exists: AB Bahco sauna heaters, made in Enköping Sweden, do exist. They were sold in the United States in the 1950s and 1960s, distributed by the Viking Sauna corporation based in San Francisco, California. The model we have is a 9 kilowatt unit labelled "BTD 9."

I don't have owners or repair manuals, only the simple circuit diagram on the label. It is a very simple unit with just a thermostat control. We added a mechanical timer on the control circuit to ensure we don't accidentally leave it on.

I am still seeking manuals, if I find them I will update this post with links. If you have owners or repair manuals and are willing to scan them in, please contact me.

Saturday, January 4, 2025

Hannover Stadtarchiv Success

Earlier this year the Hannover Stadtarchiv put their indexes online in Arcinsys. Last week I think I found a record for a relative I've been researching for a year.

I knew that Klara Koch was born between 1909 and 1925, and that she married someone named Holz. The Stadtarchiv said Koch was too common a name to search for without knowing a date, but with the indexes available I can spend as much time on it as I want. I think this is it: Theodor Holz married Klara Koch in 1933. It is record number 1614 in 1933 at Hannover Standesamt I, which I've sent in an order for.

Wednesday, January 1, 2025

A Tale of Two Crises: Y2K and O₃

"Y2K," or 1/1/2000, was 25 years ago today. Dire predictions of how bad the Y2K Bug might be, with the failure of computing systems leading to widespread disruption, did not manifest. NPR chose what has become the dominant framing, a cynical take that Y2K was overblown and a delusional over-reaction. A nothingburger.

It is easy to see why one might believe this. Since 1/1/2000 we have lived through a seemingly neverending series of grift bubbles: the dot-com bust, subprime mortgages, cryptocurrencies, etc. It is easy to assume that Y2K was surely similar, a cynical hype cycle enabling some kind of profiteering.


 

Y2K Spending

To be clear: money was spent. Y2K remediation wasn't just some developers combing through COBOL, as is often depicted. It was more cost effective to simply replace a lot of computing systems from the 1970s and 1980s with something more modern.

Development of the modern Internet was accelerated by Y2K spending. The new systems were usually Windows Server or some form of Unix, with TCP/IP and robust networking built in. Businesses in many industries, their upgrade cycle moved up to meet Y2K demands, could make their service available on the Internet years earlier than they otherwise would have. I think we can even see it in the oft-cited productivity gains of the late 1990s.

Yet all of that effort and all of that spending wasn't in service to a fake grift. It worked. We fixed it. We actually fixed it. It is perhaps difficult to comprehend from our vantage point in 2025, but we faced a large problem and we solved it with a correspondingly large effort.


 

The Ozone Hole

We will digress for a moment to a different topic which might not seem related, but is: the Ozone Hole of the 1970s and 1980s. It is another formerly big problem which seems to have gone away — not entirely solved as the hole is still there, but the ozone layer is recovering. A common reaction is to question whether it was overhyped.


A lot of people put in a lot of effort for a lot of years replacing chemicals which caused most of the damage to the ozone. Money and political capital were spent: every nation on Earth ratified the Montreal Protocol mandating the phasing out of CFC manufacture.

It worked. We fixed it.


 

Why Not Now

The important discussion is not whether large challenges of the past were somehow not large challenges. The important discussion is why we have been unable to rise to similar challenges now.

  • Climate change is everywhere but we're still debating whether it will be so bad and equivocating on what to do.
  • Covid-19 should have led to HVAC retrofits to improve indoor air quality but it instead empowered antivaxers to rip people's masks off.

Within living memory we have risen to challenges requiring the whole world to cooperate, a feat which seems impossible now.

  1. Then, the forces uniting us had the most effective means of coordination and of broadcasting their message: the UN and governmental coordination, and a mass media which created a shared reality.
  2. Today, the forces dividing us have the most effective means of coordination and broadcasting their message: online social media and an entirely separate infosphere.