“Paint me like one of your French… err… humans.”

Earlier this year, OpenAI added memory to ChatGPT. If it thought something you discussed was notable, it would add that to its memory bank in order to make future conversations better.

If you’re a ChatGPT user and haven’t looked through what ChatGPT has added to its memory yet, do it! It’s wild. Here is a small sample of the things that it has remembered from various conversations.

Anyway, I decided to ask it: “Based on everything we’ve chatted about, can you create an image of what you think I look like? I want you to use your own creativity and insight into things we’ve talked about that might give you an idea of what I look like. And then create an image based on this.”

And it went to work!

Haha! I wish. I asked what the prompt for that image was:

“A creative depiction of a senior software engineer with a thoughtful and analytical demeanor. The person is sitting at a modern workspace, surrounded by elements representing their interests such as a laptop with coding screens, a bookshelf with a mix of technical books and sci-fi novels, a Betta fish tank on the desk, and a coffee mug. The individual has an approachable and intellectual vibe, with a relaxed yet focused expression. Their workspace is neat but personalized, reflecting creativity and problem-solving. The background includes subtle references to hobbies like running gear, a small display of game design sketches, and tools for crafting AI-related projects. Natural lighting with a modern and clean aesthetic.”

“Their workspace is neat…” — oh boy, if only you knew. Regardless, I’ll take it. Sure!

A Dapper Dude

We went to a local brewery this weekend, where they had a “Dogoween” costume party / contest. We took Benson and he wore his finest threads.

…he may have only placed 15th out of 16 dogs, but he will always be first place in our hearts.

That Grand Slam…

Game 1 of the World Series, Dodgers vs. Yankees.

You couldn’t have written a more amazing ending. Freddie’s hit will live on in my dreams for the rest of my days! Just unbelievable.

(I’ve already rewatched this like 34 times today)

Dealing with the inevitable mortality of our furry friends

A few years ago, I made the “mistake” of reading The Art of Racing in the Rain. Before that point, I lived my life in blissful ignorance that our dog would die someday. (To be fair, that’s not entirely true — years ago, I posted a tribute to our old family dog, Axl.)

For the last decade or so, I’ve been randomly posting about The Best Dog in the Universe: Benson. (Every dog is The Best Dog in the Universe, but especially Benson.) We’re fast approaching our 11th anniversary of adopting him. He’ll be 12 in March.

These days, he’s looking pretty grey in the snout, but he still exudes puppy energy in the mornings. When the whole family wakes up, he gives us (VERY LOUD) good morning barks. He prances around the house. His tail sticks straight up and excitedly wags back and forth. And he looooooooves our girls. And they love him. Honestly, it’s one of the best ways to start the day.

A few days ago, I was loading him into the car and noticed that he could no longer fit between the car seats as he makes his way in the back. That’s strange. Couple that with some weird eating habits and I figured it was high time to pay the vet a visit.

Oh, boy.

What started as a simple visit quickly turned into a horror show. The vet was concerned about a potential tumor or some sort of heart disease that was causing fluid build up in his abdomen. She gave me a referral to an emergency pet center where they could do a more thorough examination and any necessary procedures.

I take the old boy down there and it is just not good news.

Ultimately, he has congestive heart failure. It’s caused by a tumor growing around his heart (which is nearly as big as the heart itself). They also did a procedure to “drain” him — removing 5 liters of fluid from his body.

The prognosis isn’t… great. They gave me some meds, specifically Lasix, to help make him feel better (and potentially prevent fluid buildup again — we won’t know if it works for another few weeks).

Loading him back into the car was significantly easier — he was much lighter. No joke — he was 20 pounds lighter (confirmed on a scale after we got home)!

Anyway, he’s back home now. After a few days of resting, he’s back to his happy self. Some replies to a post of mine of Threads mentioned that their dogs lived an additional 2 to 3 years, but with Benson’s tumor, we realize we’re on borrowed time with this dude and it just breaks me.

Comet Tsuchinshan–ATLAS

We went out last night to check out Comet Tsuchinshan–ATLAS from our driveway. Once you knew where to look, you could just barely make it out.

However, your phone’s night mode camera brings in enough light that it really pops out. (Sidenote: it’s insane you can pull this image out of a phone)

The kids thought it was pretty neat, too!

Our youngest had a very hard time processing the fact that we’ll never see this particular comet again (according to this JPL page, it has no defined orbital period — meaning that it is on its way out of the solar system).

I believe this is the third comet I’ve seen:

Nagging appliances

We recently replaced an old dishwasher with a new swanky modern one. Of course, it comes with an app that you can install.

Surely, this is the future that my ancestors could only dream about!

I love that there is an automated notification about not using my dishwasher sent immediately after my dishwasher just completed a cycle.

Volcano sighting!

I was recently in Seattle for work and finally saw The Volcano from our office.

Fun fact: Seattle has to be the place I’ve most visited, outside of where I’ve lived — I’ve visited for work under 3 different companies, plus various trips to visit friends.

The flight from the Bay Area to Seattle is a wonder of geologic sights and I often found myself staring out the window and snapping pictures of All The Volcanoes! (My poor seat mates on this Southwest flight probably thought I was quite strange).

Anyway, here is Mount Shasta.

HWM at the GAMH

Obligatory crappy iPhone photo from attending a show.

One of my favorites: Hot Water Music at the Great American Music Hall in San Francisco last night, celebrating their 30th anniversary.

Some questions will never have answers

Earlier today, we found out someone near and dear to us took their own life.

Like countless friends and family who remain behind after this happens, we’re left with more questions than answers and it’s especially painful to know that our questions will never have answers.

How do you help someone who doesn’t want to be helped? Or can’t be helped? You often hear advice that says, “Hey, if you’re thinking of harming yourself, just talk to someone! 988!”

As if it’s as simple as that.

We would sometimes hear them say, “Someday, I’m going to kill myself.

We obviously said, “No! You don’t need to do that! We’re here for you! How can we help you? You can call us any time, any place. Whatever you need, we’re here for you!

Their response was always a variation of “Hah, that’s so sweet. You don’t worry about me.

And yet. Here we are. No note. No goodbye. No reason. No nothing.

We’re left with nothing but our own confusion, grief, and anger.

Exploring Mount St. Helens blast zone using Google Earth

May 18th marked the 44th anniversary of the 1980 eruption of Mount St. Helens. Over on Threads, someone started an account that posted pseudo-realtime updates leading up to the eruption and its aftermath. It’s been really fascinating to follow and it stoked my interest in learning more about the eruption (no surprise, given my past geology background, eh?).

Like most things that I start digging into, I ended up finding  a book!

Eruption: The Untold Story of Mount St. Helens by Steve Olson. It details events surrounding the eruption and explores how a number of victims ended up around the mountain on the fateful Sunday morning. Reading it sent me down a rabbit hole of Wikipedia entries, USGS reports and Google Earth sleuthing…

In the summer of 2009, I visited Johnston Ridge Observatory and was able to see the volcano first hand (see image below). Johnston Ridge Observatory is located on the site of the Coldwater II observation post — where volcanologist David Johnston famously radioed his last words before the lateral blast swept over the ridge, destroying his encampment (Johnston’s body was never found): “Vancouver, Vancouver! This is it!”

Source: Me

The lateral blast, the result of a M5.1 earthquake that triggered the largest landslide in recorded history (sheering 1,300 feet off the top of the mountain), sent a violent pyroclastic blast northward, scouring the landscape for miles. You can still see the results of the blast to this day.

When we visited in 2009 — 29 years after the blast, evidence of the lateral blast was evident in obvious signs of tree fall (below image) — gigantic trees snapped over in the direction of the blast as if they were toothpicks.

Source: Me

Johnston Ridge (and the site of the Coldwater II Observation Post) sit about 5 miles from the Mount St. Helens. Looking out over this grand vista, your sense of scale is completely messed up. The mountain is so huge that it looks like you can reach out and touch it — you swear to yourself that it’s just right there, a short hop and skip away.

“I’m going to go on a quick hike to the volcano. I’ll be back by lunchtime,” you say.

Everyone else: “lol”

The shockwave and pyroclastic blast that resulted from the lateral blast were estimated to have reached upwards of 670 miles per hour. At that speed, it would have taken 30 seconds to travel from the volcano to overtopping the ridge.

Looking at my own photos from the observation post, you can’t help but wonder what David Johnston was thinking as he saw the shockwave and pyroclastic blast rapidly spread across the valley below, approaching his location. It was probably an awesome sight to see, quickly followed by “Oh. Shit.”

Thanks to the wonders of modern technology, we have some fantastic exploration tools. I loaded up the Google Earth web app and set about exploring the area.

One of the first things I notice is how huge the mountain is (err… was?) and how small and insignificant Johnston Ridge seems, especially in the face of the resulting landslide and pyroclastic blast.

Via Google Earth

Zooming in on the Spirit Lake area, you can still see floating tree trunks grouped together, covering the northern part of the lake (I assume due to prevailing southerly winds in the area).

Via Google Earth

If we turn toward the west and look at Johnston Ridge, you can see deposits left over as the pyroclastic blast topped the ridge. They are the lighter grey outcrops you see around the map. (I’ve attempted to poorly outline them below).

Via Google Earth

Let’s pop over the the valley just to the north of Johnston Ridge (where Spirit Lake Highway runs). We can zoom in and see a mess of tangled tree trunks along the banks of South Coldwater Creek.

Via Google Earth

At the top of that valley, we can see more evidence of pyroclastic blast deposits. Like the image of Johnston Ridge above, look for the light grey outcrops and exposures.

Via Google Earth

Alright, let’s check out how far the effects of the lateral blast were felt. If we zoom out a bit and go to the top of the ridge (the next ridge north of Johnston Ridge — I am unsure of the name), we see more evidence of blast zone tree fall. At this point, we’re about 6.5 miles from the volcano.

Via Google Earth

If we skip north across the next valley that contains Coldwater Lake, we get to the third ridge we’re going to look at. Again, at the top, we see evidence of blast zone tree fall. This is 8 miles from the volcano.

Via Google Earth

Now that we’re getting a sense of the scale of the blast, we can zoom out and start putting things together. Wherever this sort of tree fall exists, it almost looks like the landscape was scoured (it was!).

Let’s see if we can find anything else interesting. We zoom out and see some scour marks on ridges way off to the north.

Via Google Earth

The area I circled looks interesting. It’s called Goat Mountain and it’s nearly 12 miles from the volcano. Let’s zoom in… ah, yes. There is the distinct “hash mark” pattern we keep seeing, that represents the blast zone tree fall.

Via Google Earth

From our computer screen, it’s hard to get a proper sense of scale. If we use Google Earth to measure the length of one of these “match sticks” (a big dead tree!), we get about 33 feet!

Via Google Earth

A USGS report on the lateral blast showed evidence of 100 foot tall trees knocked over that were located 19 miles from the volcano! Try as I might, I am unable to find evidence of this via Google Earth, as the margins of the blast zone seem to merge with areas where loggers have clear cut the forest.

Below is an example of a clear cut logging area about 30 miles away from the volcano (this was not affected by the blast zone).

Via Google Earth

“But Dave,” I hear you say, “how do you know some of those are from the blast and some are from logging?”

You’re right! In a way, I don’t.  However, one potentially easy way to tell is by the presence of logging roads. In my example from Goat Mountain above (12 miles from the volcano), the tree fall was located on a ridge, away from any sort of easily accessible logging road.

There was one section of Steve Olson’s book that I found particularly fascinating, especially because I hadn’t heard about it before. At the exact time the mountain erupted, a small plane was flying overhead with two geologists as passengers — Keith and Dorothy Stoffel.

They were on their fourth pass over the north rim of the crater, flying west to east, when Keith noticed something moving. “Look,” he said, “the crater.” Judson tipped the Cessna’s right wing so they could get a better view. Some of the snow on the south-facing side of the crater had started to move. Then, as they looked out the plane’s windows, an incredible thing happened. A gigantic east-west crack appeared across the top of the mountain, splitting the volcano in two. The ground on the northern half of the crack began to ripple and churn, like a pan of milk just beginning to boil. Suddenly, without a sound, the northern portion of the mountain began to slide downward, toward the north fork of the Toutle River and Spirit Lake. The landslide included the bulge but was much larger. The whole northern portion of the mountain was collapsing. The Stoffels were seeing something that no other geologist had ever seen.

A few seconds later, an angry gray cloud emerged from the middle of the landslide, and a similar, darker cloud leapt from near the top of the mountain. They were strange clouds, gnarled and bulbous; they looked more biological than geophysical. The two clouds rapidly expanded and coalesced, growing so large that they covered the ongoing landslide. “Let’s get out of here,” shouted Keith as the roiling cloud reached toward their plane.

Excerpt From Eruption by Steve Olson

Now, wait a minute! You’re telling me that at the exact time the volcano erupted, there were people flying overhead? I know this happened in 1980, but there just has to be photos of this, right?

Yes, there are photos!

Via Dorothy Stoffel

Via Dorothy Stoffel

Via Dorothy Stoffel

Via Dorothy Stoffel

The photos correlate well to a famous series of images captured by Gary Rosenquist as the initial moments of the landslide and eruption unfolded.

Via USGS / Gary Rosenquist

Here’s a fun aside (if you can call something related to an epic natural disaster “fun“). A YouTuber took the series captured by Rosenquist and ran some magical AI frame interpolation on them (essentially — an AI tries to generate content to fill in missing information between frames of a video). The result is a near real-time simulation of what those initial moments of the blast may have looked like.

After taking the photos, Rosenquist and his fellow friends correctly decided it was time to leave. Immediately.

He took one last photo (this is another one I don’t remember seeing before).

Via Gary Rosenquist

Do you like geology? Want more? Here’s a post I wrote in 2010 that took a deep dive into earthquake frequency.

Project: Super Simple ChatUI

I’ve been playing around a lot with Ollama, an open source project that allows one to run LLMs locally on their machine. It’s been fun to mess around with. Some benefits: no rate-limits, private (e.g., trying to create a pseudo therapy bot, trying to simulate a foul mouthed smarmy sailor, or trying to generate ridiculous fake news articles about a Florida Man losing a fight to a wheel of cheese), and access to all sorts of models that get released.

I decided to try my hand at creating a simplified interface for interacting with it. The result: Super Simple ChatUI.

As if I need more side projects. So it goes!

Adventures in topology: The Cuckoo’s Egg and meeting Cliff Stoll

I recently finished up reading “The Cuckoo’s Egg” by Cliff Stoll. It was a fascinating story that details some of the first examples of computer hacking and computer forensics.

This post isn’t a review of his book, however! It’s more to document some adventures that resulted after reading it.

First, a quick summary:

In 1986, Cliff Stoll was  an astronomer working at Lawrence Berkeley Laboratory when he was tasked to look into a $0.75 discrepancy in compute time billed to physicists and other scientists who remotely connected to their machines.

What resulted was a year long wild-goose chase that ended up in the arrest of a KGB operative in Germany who remotely connected to university computers in the United States in order to gain access to military networks through ARPANET (precursor to the Internet of today).

Cliff wrote a book about his experience that went on to become a best seller. For fans of esoteric computer history, this was one of the first documented examples of hacking and marked the beginning of computer forensics. This book was published 35 years ago and deals with (now) antiquated technology that the young ones around here know nothing about — but oh wow, did I thoroughly enjoy this!

Anyway! That’s not why I’m here. I’m here, because I keep seeing his name pop up in various places (more recently Hacker News). A post mentioned his TED talk in 2008. It’s a hoot — and pretty inspiring, too!

One person mentioned that he makes Klein Bottles (an interesting manifold that ends up being a container with zero volume, as it only has a single surface) out of his home in… North Oakland. Oh, he also enjoys visitors.

Oh, really?!

The Klein Bottles are a really interesting object and have been a fun talking point with friends. I ended up purchasing a Klein Bottle from Cliff and asked if I could pick it up, since I live nearby. He happily obliged.

I ended up bringing our oldest kiddo and we had an absolute blast. He spent an hour with us, showing some of the artistic stuff he’s been working on (mathematical quilts!), showing off various gadgets he’s made (a fun device that draws images on his shipping boxes using Sharpies — an automated personal touch), and letting my kiddo drive the remote controlled robot he built that runs under his crawl space (!).

Just an absolutely memorable time. Thanks so much, Cliff!

TIL: List git branches by recent activity

In both my work and personal coding projects, I generally have a number of various branches going at once. Switching between various branches (or remembering past things I was working on) can somethings be a chore. Especially if I’m not diligent about deleting branches that have already been merged.

Usually, I do something like:

> git branch

Then, I get a ridiculously huge list of branches that I’ve forgotten to prune and spend all sorts of time trying to remember what I was most recently working on.

daves/XXXX-123/enable-clickstream
daves/XXXX-123/impression-events
daves/XXXX-123/tracking-fixes
daves/XXXX-123/broken-hdps
daves/XXXX-123/fix-contacts
daves/XXXX-123/listing-provider
daves/XXXX-123/revert-listing-wrapper-classname
daves/XXXX-123/typescript-models
daves/XXXX-123/inline-contact-form
daves/XXXX-123/clickstream_application_event
daves/XXXX-123/unused-file
daves/XXXX-123/convert-typescript
daves/XXXX-123/convert-typescript-v2
daves/XXXX-123/similar-impressions
daves/XXXX-123/update-node-version

At least 75% of those have already been merged and should have been pruned.

There has to be a better way, right?

Thanks to the power of the Google machine (and Stack Overflow), I found out, there is!

> git branch --sort=-committerdate

Hot diggity dog!

daves/XXXX-123/clickstream-filter-events
main
daves/XXXX-123/convert-typescript-v2
daves/XXXX-123/update-node-version
daves/XXXX-123/similar-impressions
daves/XXXX-123/convert-typescript
daves/XXXX-123/clickstream_application_event
daves/XXXX-123/unused-file
daves/XXXX-123/typescript-models
daves/XXXX-123/listing-provider
daves/XXXX-123/inline-contact-form
daves/XXXX-123/revert-listing-wrapper-classname

That list is now sorted by most recent activity on the branch.

Alright. Even though this is better, that’s still a lot of typing to remember. Fortunately, we can create an alias:

> git config --global alias.recent "branch --sort=-committerdate"

Now all I need to do is just type git recent and it works!

Nice.