fogbound.net




Mon, 31 Mar 2025

Tolkien in the San Gabriel Mountains

— SjG @ 1:29 pm

I have always had a strangely strong relationship to places. It’s difficult to verbalize, but having a deep familiarity with a locale has been a fundamental way I relate to the world. This extends into mapping fantastic places I’ve read about upon the physical world.

For example, when I spent some summer months of my tweens on the Gulf Islands near Vancouver, the archipelago became Earthsea in my mind. Around that same timeframe, I lived near Altadena. When I “discovered” Tolkien’s works, Middle-earth started imprinting upon the local terrain.

The San Gabriel mountains formed an excellent stand-in for the Misty Mountains. In winter, the clouds sit on the peaks, in Spring, the “June Gloom” does the same, and in the summer, the mountains were nearly hidden by the swirling smog of the late 70s.

The area is filled with places that mapped across those worlds. There’s a windy road above a tributary to the Arroyo Seco that goes through forests of oak and deodar, and in the early evening when the sky grows dark the lights in the windows of houses on the lower slope twinkle mysteriously. It was exactly what Rivendell looked like in my mind’s eye.

As I’d read, local places would overlay. The craggy entrance to Colby Canyon with its guardian trees, the steep drop-off ridges around Mount San Gabriel, the rough-hewn tunnel just down the trail at Eaton Saddle, the rustic cabins among the bright streams and white alder groves in Sturtevant Canyon, the high forested ridges above Ice-House Canyon — all mapped to places within the Lord of the Rings for me.

Decades later, when the blockbuster movies came out, I opted not to see them. The images in my head and the mappings to places I know were too important to be overwritten by Peter Jackon’s vision.

View of the Misty Mountains.

(Disclaimer: this photo has been digitally altered beyond just adjusting color and exposure. I removed telephone poles, a power pylon, and a lot of wires.)


Fri, 28 Mar 2025

Descanso Visit

— SjG @ 10:43 am

Descanso Gardens are ridiculously photogenic at any time, but on a slightly overcast spring day?


Tue, 18 Mar 2025

Writing

— SjG @ 9:24 am

I write a lot of short stories which I then fail to get published anywhere. My idea of what makes a good story is apparently well out of step with what the reading world finds interesting.

My stories often start with an image or phrase that pops into my head. In some cases, this seed grows rapidly in the first writing session. In other cases, it sits fallow for a long time. Stories tend to accrete slowly over time – it often takes me several writing sessions to even know what I’m writing about. Sometimes they never resolve and a chunk stays unfinished. Other times, the characters or stories let me know where they want to go, and I finish them. It’s not a fast process. Most stories end up taking months to write at a few paragraphs a week.

When I’m in “the flow” when things are developing quickly, I’ll often awaken late at night with scenes or entire paragraphs bubbling up in my mind. If I rush, I can commit them to paper in the morning, but often I’ll let the specifics fade away. I suspect my semiconscious mind is busy world-building, and that will add depth to whatever specifics I end up writing later.

Filed in:

Tue, 11 Mar 2025

Stripping images from PDFs using Ghostscript

— SjG @ 10:28 am

A long PDF was to be printed, but only the text was important. As it was full of images, it seemed like removing the images would save a whole lot of ink.

It turns out ghostscript has some very nice filters for removing classes of content from a file. You can very simply remove text, images, or vector objects without changing the rest of the layout.

For example, to strip vector and images from a PDF, you can use:

gs -o text-only.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERIMAGE pdf-with-pictures.pdf

If you don’t have ghostscript installed but use Docker, there are containers that make it easy:

docker run --rm -v pwd:/app -w /app minidocks/ghostscript gs -o text-only.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERIMAGE pdf-with-pictures.pdf


Tue, 4 Mar 2025

Solving a VPN Mystery

— SjG @ 1:14 pm

The Department of Water and Power is doing work near the office, and over the weekend, there was a sustained power outage. I came in Monday to shrieking UPSes and had to power up the firewall and a few other machines. It was the normal stupid kind of stuff.

We have a few virtual servers out in “the cloud,” and we use point-to-point VPNs to make them seem local to our network. Those VPNs also needed restarting.

Through the course of the day, however, one VPN connection kept unceremoniously disconnecting. Looking at logs on the various servers was unenlightening. Everything was running normally, other than the surprise disconnects.

In the evenings, I’ve been watching the old Grenada TV/Jeremy Brett Sherlock Holmes series, so I had to apply Holmes’ deductive process. The virtual servers had experienced no changes except being disconnected, so I needed to focus on the firewall. The firewall had experienced no change, except being restarted. What could have happened?

I finally found a configuration that was incorrect (it was a netmask that was insufficiently restrictive, allowing devices not on the VPN to collide with VPN IP addresses). I fixed the netmask, and the VPN has been up and stable ever since.

But how could this be? It had been running properly literally for years. It had to be something to do with the power outage. But if that had corrupted the configuration, it wouldn’t have been a single IP netmask changing. “[W]hen you have eliminated the impossible, whatever remains, however improbable, must be the truth.” The bad configuration file could not have been in use.

The best theory is that the configuration file had been (accidentally?) modified at some point in the past, but never loaded. When the firewall was restarted, it loaded this modified configuration for the first time.