👋🏻  Hello!

Thanks for visiting! You'll find a bunch of musings I've been writing around these parts since the early 2000's. Lately, I've been reviewing a lot of books. But I also write about code and my experiments using generative AI. But really, you're just here to see pictures of Benson.

Blog Posts

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.

Book Review: Palo Alto by Malcolm Harris

I really struggled and finished this out of spite.

I went into it wanting to like it and hoping to learn more about the history of a specific part of California (I recently read and enjoyed “California: An American History” by John Faragher and it stoked my interest in looking for more books related to our state).

Oh, wow. What did I get myself into? This book could have been half as long and still tried to make its point: Palo Alto is the center of all evil and suffering on Earth, anyone who went to school at Stanford or started a company there had ulterior motives on world domination and fantasies of oppression, everyone is driven by a profit motive above all else, here’s 1,000 reasons why capitalism is bad, the only way to right the wrongs of the millions that have suffered or been killed due to Palo Alto ideas and inventions is to give the land back, blah, blah, blah.

Okay, Yes! There are unfortunate things that happened due to people and companies in this town that have caused people around the world to suffer. But this is not an exclusively Palo Alto problem, nor is it exclusively a capitalist problem. There are a lot of things that happened or been created here that have also been a benefit and this book just takes every opportunity to tear down and complain… about literally everything.

Maybe 1.5 stars? I am loathe to round up because I think this book is a bit disingenuous in its claims and the author has an axe (probably made in Palo Alto) that they wish to grind.

It’s Friday afternoon, so let’s write a song

My latest generative AI obsession: Suno. You provide it some lyrics, give it a musical style to emulate and hit the create button. It’s pretty wild.

I wrote some fun lyrics about deploying code on Fridays, set to some catchy 80’s pop. The result is pretty crazy.

[Verse]
Testing in production (oh yeah)
That is how we roll (whoa)
Testing in production
using my flawless code

[Bridge]
Why should I write tests (what?)
My code is never a mess (oh no)
Did I just rhyme,
Tests and a mess (yeah he did)

[Chorus]
It’s Friday afternoon.
It’s time to deploy my code. (whoa yeah)
The weekend is almost here.
It’s time to deploy my code. (watch out)

[Verse]
It’s Friday afternoon.
I don’t have anything to fear
It’s time to deploy my code.
The weekend is almost here.

[Bridge]
Why should I write tests (what?)
My code is never a mess (oh no)
Did I just rhyme,
Tests and a mess (yeah he did)

[Verse]
It’s Friday afternoon. (Whoa)
It’s Friday afternoon. (Whoaaa)
It’s Friday afternoon. (Yeah!)
It’s time to deploy my code. (WAIT WHAT)

[Bridge]
Why should I write tests (what?)
My code is never a mess (oh no)
Did I just rhyme,
Tests and a mess (yeah he did)

[Chorus]
It’s Friday afternoon.
It’s time to deploy my code. (whoa yeah)
The weekend is almost here.
It’s time to deploy my code. (watch out)

[Chorus]
It’s Friday afternoon.
It’s time to deploy my code. (whoa yeah)
The weekend is almost here.
It’s time to deploy my code. (watch out)

Tracking the total eclipse shadow

I didn’t get a chance to make it out to see the total eclipse in person this time. (Really bummed… 2017 turned me into a legit umbraphile!)

Earlier today, I pulled down a number of images from NOAA’s GOES-East satellite and compiled this video. It takes a photo every 10 minutes. You can clearly see the Moon’s shadow as it makes its way across North America.

(Protip: Set the image quality to 720p. YouTube’s compression makes that video look like garbage otherwise!)

Pretty awesome!

Somewhat related — in 2020, I compiled a bunch of NOAA imagery that encompassed 3 weeks. I need to get that project up and running again…

Ever changing communication

There was a time (really, the past 15 years or so) where responding to things with an animated GIF was so perfect and encapsulated so much (e.g., if a picture is worth 1,000 words, what is a series of pixelated images moving a 8 frames per second worth?).

For example. see the rise of services like Giphy. I even have a random 10 year old project myself that involves animated GIFs!

Now though, it’s becoming generative AI all the way down.

For example, I just received a meeting invite that increases the frequency of meetings I’m having related to a certain project to… every single day.

Me: Hey, robot! Please create a meme image of a programmer jumping up on a desk and excitedly cheering “MOAR MEETINGS!”

Robot:

Now to figure out a way to send it in my place…

Coffee confusion

February 27th, 2024, via the Washington Post:

One of the most striking findings is that coffee drinkers are less prone to developing Type 2 diabetes. Many large studies have found that people who drink three to four cups of coffee daily have about a 25 percent lower risk of the disease compared with people who drink little or no coffee. Your likelihood of developing diabetes decreases about 6 percent for each cup of coffee you consume daily — but only up to about six cups.

March 11th, 2024, via CNN:

Caffeine intoxication occurs when a person has dangerously high levels of caffeine in the system. It creates a spectrum of unpleasant and severe symptoms, such as trouble breathing and seizures. There are a few cases where people have died from caffeine intoxication.

[…]

Caffeine intoxication is more than the headache you get from drinking too much expresso. It happens when people ingest an excessive amount of caffeine. The US Food and Drug Administration defines this limit as anything more than 400 milligrams of caffeine daily for healthy adults. This is equivalent to four or five cups of coffee.