Aaron's blog

Homes in the Heartland: Balloon Frame Farmhouses of the Upper Midwest

By aaron.axvig, Fri, 08/01/2025 - 15:37
Date completed
5 days 8 hours ago

This book seems to be THE resource on this era and locale of old farmhouse styles.  There is a ton of great info about the various types and in fact this is the only material I know of which has grouped them into specific types.

The book could be improved with more example pictures.

Completion status
Rating

The Rise and Fall of D.O.D.O. by Neal Stephenson and Nicole Galland

By aaron.axvig, Mon, 07/21/2025 - 08:12
Date completed
4 weeks 2 days ago

The overall premise of magic dying out for the given reasons is pretty clever overall, and the time travel mechanism/effects holds up to some examination.  I find the historical setting to be fun and pretty well detailed in this book.

The "found documents" format is tedious, and especially so for my eBook situation due to some formatting difficulties.  I think quality dropped a bit towards the end as some plot points became less plausible.

Completion status
Rating

Hatch Rest+ 2nd gen teardown

By aaron.axvig, Fri, 05/02/2025 - 16:12

Our Hatch Rest+ 2nd gen lost all battery functionality.  If lifted off of the wireless charging base for a fraction of a second it would die.  It was replaced under warranty, and customer support even saw the second one on the same account and said it would eventually develop the same issue.  So they replaced that one too!  Great customer service, which is really what is necessary to make the best out of what I'm sure is a bad situation for them.

Most exciting for me about the whole situation was the opportunity to tear apart the old one!

Tearing off the rubber pad on the bottom reveals some screws, and then the wireless charging module comes out.  Also found here are the barrel jack, and the power and sync buttons.

Here is the component side of the wireless charging board:

With the removal of the two middle screws shown in the first picture, the top of the cone comes off.  There are some tight wires.  The battery and speaker ones each have three wires and seemed to pop off easily.  The single wire is for the metal touch ring and I think I stretched that one to a damaging extent.  I didn't plan to put it back together though.

Access through the top is by prying off the speaker grill:

The speaker is held on by a few screws:

And within there is the battery:

The battery is a single 18650 cell:

It has a BMS.  The voltage directly on the battery was effectively 0V.

Now the main board.  This picture is after I had pried the SD Card out.  You can see that I damaged the card holder, but the card itself was fine.  Like many of the cable plugs within, it had a small dab of glue on it.

The SD card is 16GB and has a FAT32 filesystem.  I found about 7GB of mostly files on there.  Curiously, it seems to have all of the files for several Hatch products.  Folders include:

  • Rest_Sounds
  • RestMini_Sounds
  • Restore_Sounds
  • Sleep_Sounds

Another folder is named Downloaded and contains two interesting files.  BeRIOTGameMusicTTR_20220607.mp3 is an hour-long rendition of what I think is the Peaceful Flute music.  And RIOT_BrownNoise_CGV3_20240115.wav is a short clip of white noise.

Removed the plastic ring:

Here is the 7 segment display.  It appears to be individual LEDs behind 7 slots.

Here is the flip side of that main board:

Espressif ESP32-WROVER-E processor:

Tags

Run Your Own Mail Server by Michael W Lucas

By aaron.axvig, Thu, 04/03/2025 - 15:38
Date completed
4 months ago

I set up my own mail server about a year before reading this book so the timing wasn't great, but still this was a good read.  And fortunately I had chosen almost exactly the same software stack.

I will probably use this to go back through and fine tune a few things on my server...eventually.  The rspamd config comes to mind.  I don't think it is updating any definitions as I mark new messages as Junk.

This book was great for putting me to sleep.  But that's OK!  It probably isn't great to read something that amps you up and keeps you up.

Completion status
Rating

Distilled water maker update

By aaron.axvig, Fri, 02/07/2025 - 10:54
RO setup in laundry sink

It has been about two years since we purchased an entry level RO water maker kit (Aquatic Life RO Buddie 4-Stage Reverse Osmosis Deionization Water Filter System RO/DI Filtration Units for Aquarium, 50 GPD) to make "distilled" water for some ultrasonic humidifiers in our house.  This type of humidifier is capable of vaporizing the minerals in tap water which then deposit themselves in a thin film on everything in your house.  Using distilled water is hence required/recommended, and using RO water is good enough according to some people and to my experience.

So now two years later and a wild guess of 400 gallons produced, is it time to replace the consumables in my RO setup?  Here are the numbers:

In three minutes it produced 420ml pure water and 1450ml waste water.  Per hour that is 8.4 liters (2.2 gallons) and 29 liters (7.7 gallons).  Roughly 1:3.5 ratio which seems to be about expected.  I did the same calculations when new--of course I did not save them but from memory this was about the same.

Input water measures 279 ppm TDS and 4.3C temp.  Product water measures 0 ppm and waste water measures at 340 ppm.

My verdict: It is performing fine, I will replace the carbon and sediment filters as recommended, at a cost of $7 each.  Mainly this is to eliminate worry of chlorine damaging the membrane.

Some notes on the setup as seen in the picture:

  • The feed tees off of the washing machine supply line.  And the dryer tees off of it too so there is a lot going on there compared to the average washing machine!
  • The feed runs into a garden hose timer so I can set it to 45 minutes and walk away.  For the first year we had it connected to the faucet and would set a timer when starting it, so then have to go back and stop it.  This way we also have use of the sink.
  • The assembly is mounted inside of the laundry sink.  This way if something leaks there are decent odds that it will not be a house-flooding occasion.
  • Pure output goes straight into a watering can which we use to fill the humidifiers.  The waste line is tucked into the drain of the sink.

Update: after replacing those two filters, things seem a little worse.  In three minutes the numbers were 410ml and 1550ml.  I have no theories for this.  Certainly there is some measurement error but I think this would be at the upper bounds of error to be found in my methods.  So maybe.

Halloween candy

By aaron.axvig, Fri, 11/01/2024 - 07:32

We gave out fruit snacks, which came in a box of 160 packages. Each one contains a stingy 6 gummies.  When I counted this morning, 90 remained. We ate four last night, leaving 66 given to trick-or-treaters.

I ate two this morning while counting.

Mandan house trees

By aaron.axvig, Tue, 10/15/2024 - 20:40
Pickup loaded with trees

For posterity, here is a description of the trees that we planted in September 2021.  All were purchased from Prairie View.  I'll say they were fine but I'll check out somewhere else next time.  We went with fairly large trees and I think it was a worthwhile expense do to so.  They were all extensively watered for the first fall and then two summers.  I did almost no watering in 2024, which was helpfully a pretty wet year.

Boulevard Linden

We planted two of these in the boulevard at $327 each. These seem to be slow growers but I'm sure someday they will be mighty trees!  Just now in 2024 we finally see significant growth on the top of the north tree (more sun on that one since the south tree is shaded--my theory).  Info 

 

Medora Juniper

A sort of privacy screen is formed by these in the side yard.  $96.50 each.  These have been growing at a great pace and staying very shapely.  Water/ice falling from the porch onto one has not really harmed it so the hardiness is impressive.  Info

 

Dwarf Korean Lilac

Three of these serve as show-pieces at the very front of the yard.  I have been able to keep them trimmed in nice ball shapes.  Ideally these would be just big enough that they go just up to the sidewalk but not over the edge.  They have several years before that will be a problem.  These are grafted trees, $218 each.  The flowers only seem to last two days.  Info

 

Northern Empress Elm

This tree is in the middle of the front yard and has really started to nicely shade the porch area.  It has grown rapidly and has an impressive trunk.  Rated to grow 28 feet tall and 24 feet wide, it should not overwhelm the front yard.  It grows a ton of downwards drooping garbage branches so I get lots of practice pruning.  Apparently this was first available in 2021, the year we got it.  $312 for the pleasure!  Info

 

Hot Wings Tatarian Maple

I thought for sure that the leaves would be the hot-wings-colored part of this, but I see now that it is the seeds.  That does make sense, since the seeds (samaras, aka helicopters) are like wings, and that is what they say turns red.  $186 for this one.  It had 6 main shoots going straight up in a bundle for the first two years, and they were very annoying in the way that they tangled with each other, but now they have matured out to do their own thing and the tree looks good.  This one is in the side yard.  I imagine that people think it is dumb to put a maple tree right between two kind of close houses and with overhead power lines nearby, but this tree should only grow to 18 feet in both height and width so should fit nicely as a mature tree.  Info

 

Prairie Expedition Elm

A big tree for the big back yard.  Our neighbor Joyce has a nice big elm in her back yard and hopefully this one can fill in the skyline once that one has moved on.  This grows at a ridiculous rate, with many new 8' shoots each year.  They are too long and susceptible to wind damage so sometimes I cut the ends off.  This one was kind of a disorganized wreck when we got it, with a dead and sideways leader, so who knows if it will turn out to be a decent tree.  Maybe some good pruning tactics will become obvious as it continues to grow over the next few years.  Dutch-elm-disease resistant.  $280.  Info

 

Shrubs/flowers

Tiny Tortuga Turtleheads on each side of the front gate.  Mammoth Yellow Quill Daisies to the south of the gate.  Fulda Glow Sedum by the turtleheads.

Windows SSH client removes hmac-sha1 (and host key algorithm ssh-rsa) from defaults

By aaron.axvig, Tue, 10/15/2024 - 16:57

I ran into trouble connecting to some old network gear this week.  It seems that the hmac-sha1 MAC was removed from the default client connection settings.  And then next I was having some trouble with the host key algorithm--the host key algorithm ssh-rsa was removed too.  They are still supported so can be specified manually in the client config file, such as this set that I use for older Extreme switches:

Host switch-1.domain.tld
    KexAlgorithms diffie-hellman-group1-sha1
    HostKeyAlgorithms ssh-dss
    Ciphers aes256-cbc
    MACs hmac-sha1
    HostKeyAlgorithms ssh-rsa

The errors I was getting:

Unable to negotiate with 192.168.1.1 port 22: no matching MAC found. Their offer: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96

Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-rsa

You can see the difference in old and new ssh -vv outputs:

A Windows Server 2022 example:

OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
<snip>
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1

Freshly updated (2024-10-15) Windows 11 example:

OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2
<snip>
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com
debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512

The changes can be found in the myproposal.h file.  Below is a before and after of the MAC section since the diffs on GitHub seemed confusing to me.

Before:

#define    KEX_SERVER_MAC \
    "umac-64-etm@openssh.com," \
    "umac-128-etm@openssh.com," \
    "hmac-sha2-256-etm@openssh.com," \
    "hmac-sha2-512-etm@openssh.com," \
    "hmac-sha1-etm@openssh.com," \
    "umac-64@openssh.com," \
    "umac-128@openssh.com," \
    "hmac-sha2-256," \
    "hmac-sha2-512," \
    "hmac-sha1"

After:

#ifdef WINDOWS
#define    KEX_SERVER_MAC \
    "umac-64-etm@openssh.com," \
    "umac-128-etm@openssh.com," \
    "hmac-sha2-256-etm@openssh.com," \
    "hmac-sha2-512-etm@openssh.com," \
    "umac-64@openssh.com," \
    "umac-128@openssh.com," \
    "hmac-sha2-256," \
    "hmac-sha2-512,"
#else
#define    KEX_SERVER_MAC \
    "umac-64-etm@openssh.com," \
    "umac-128-etm@openssh.com," \
    "hmac-sha2-256-etm@openssh.com," \
    "hmac-sha2-512-etm@openssh.com," \
    "hmac-sha1-etm@openssh.com," \
    "umac-64@openssh.com," \
    "umac-128@openssh.com," \
    "hmac-sha2-256," \
    "hmac-sha2-512," \
    "hmac-sha1"
#endif

They did an #IFDEF so that this only affects the Windows client.

And the changes for the ssh-rsa setting were made way back in 2021 yet took until now to reach my PC.