quigs.blog

WriteFreely preview — text imported from Ghost

A screenshot of a calendar grid with photo thumbnails placed over each day. For days that are missing a photo the day number of the month is visible.

Version 1

On December 25, 2025 I started a 365 Project where I take one photo every day for a year. Because I shoot a lot of film photos I ran into an organization problem because the day I take a photo and the day I can post the developed photo are often spread out pretty far. And while a Light Room Classic collection can sort by capture date, it's not easy to identify which photos were taken when and what day number of the challenge they belong to.

So with the help of Claude I built a little calendar view for Lightroom which not only shows you the gaps in the calendar where a photo needs to be placed, but also tells you what day of the challenge the photo belongs to.

I released it on GitHub and I hope you find it useful. Installation and usage instructions are in the project README.

🤖 Note, unlike my other AI-assisted software efforts this tool is 100% vibe coded and not human reviewed. I felt safe doing so because this is a read-only data viewing tool that performs no actions and works “good enough”. I did dogfood it by testing it against my own library and photos and making sure it doesn't “write” but that is the extent of my testing.

#usefultool #photography #announcement #release #software #plugin

In 2024 I lost my watch, my ID and other important things to a volcano. Due to the politics and stupidity surrounding the removal of the blood oxygen sensor feature caused by a patent dispute between Masimo and Apple I decided to not replace it.

It's not like I needed the O2 sensor (although it did come in handy while hiking at 12,000ft / 3657 meters above sea level to see how much I should rest to get my numbers back up). It was more the principle of the thing. Two extremely rich companies fighting over something that really shouldn't be patentable.

Read more...

Last month I re-learned something that is obvious to any seasoned photographer: What you already own is usually perfectly good enough. Back in 2016, I bought a Panasonic Lumix GX8 and while I loved its video capabilities, I was consistently disappointed by the photos. Despite owning both a zoom and a prime lens, every image came out frustratingly soft.

The real kicker came with the arrival of the iPhone XR which took sharper photos (although at a lower resolution). I gave up on “real” camera photography for years due to making an amateur mistake of blaming sensor technology for my image quality problems. My assumption was that if my phone's tiny sensor could outperform my dedicated camera, my Panasonic must be outdated. Yet when I started film photography in January, I had a completely different mindset. I knew right away that the lens mattered more than the “sensor” (the film) did. I focused (pun intended) on purchasing the best lenses my budget could afford. For some reason, this fact didn't register for my digital setup until a few weeks ago.

Read more...

March was filled with various photography explorations about one hour's drive from home. It's been really fun to see things differently now that I'm actually trying to notice minor details. It's also pretty crazy how much interesting stuff is within a one hour radius of where you live.

I've gotten to the point where I notice small things completely passively now. I no longer have to concentrate on looking at my surroundings–I just notice the small things automatically now. Speaking of which, there's some work that needs to be done on the house this spring...

I discovered Pyrocat-HD and I think it's my new favorite black and white film developer. My development costs are coming down now that I've developed 23 rolls of film by myself. I've gotten pretty good at the whole thing and have yet to make any developing mistakes. (If only that could be said for capturing the photo and loading the film correctly...)

Continuing the photography obsession in another genre—I've been playing around with some code for an app. I'm not sure if anything will come from it, but maybe in a few months I'll have something I can show off.

March was pretty much entirely work, cooking tons of lamb, loads of photography, and family life. I did manage to squeeze in a movie—something I rarely make time for any more.

#photography #exploration #film #darkroom

I have fallen deep into the photography rabbit hole, especially this past February. Since my last post in January I've shot the St. Joseph, MI lighthouse twice in drastically different conditions, developed three rolls of film at the lab and 12 rolls at home. Yes the film bug bit me hard.

But that's not the overwhelming part. No, what's overwhelming is culling and editing the 298 photos of Lake Michigan I took a few weeks ago on my iPhone after I ran out of film. It turns out less is more and thanks to a stupid mistake of mis-rating a roll of film, I had even fewer actual film shots, making it quite easy to pick the ones I liked.

I spent $1.78 per shot on the film photos I kept, and $0.00 on the digital and while I got some really great photos with my phone for free, they feel less thoughtful to me and I enjoy them less as a result.


You can check out my otherworldly photos from Lake Michigan or a walkabout in an industrial area at my photo blog at https://quigs.photo or follow me on Pixelfed, Glass or Instagram.

A photo from my walkabout in early February, 2025.

I hate New Year Resolutions. They always seem too grand, too vague, or just... weird to me. So imagine my surprise when I kickstarted a new project in December of 2024 that suddenly shaped into a resolution or theme for 2025.

Just over a year ago, I bought a Chevy Bolt EV and have been taking it road tripping—which is, frankly, a terrible idea. It's a first-generation EV that charges slower than a glacier taking a coffee break. Unlike modern EVs, in the Bolt you drive for 2.5 hours, then charge for 20-45 minutes. It charges even slower in the winter, yet despite this limitation, I've covered several thousand miles over various road trips these past twelve months. Then, this month, after four years of “window shopping” on eBay, I finally took the plunge into medium format film cameras and bought a 1954 Yashicaflex A2 film camera.

Read more...

A few months ago, I climbed the volcano Acatenango in Guatemala with four of my best friends. It was a disaster of a trip on so many levels, but thanks to being able to spend quality time with people I love, I had a good time. I did, however, lose my Apple Watch, AirPods, my wallet with my ID and all my credit cards, and some additional camping equipment when I accidentally kicked them off a cliff during the worst tropical rainstorm I've ever seen. It appears that Guatemalan adventures and I are developing an expensive electronics destruction habit.[1]

As soon as I regained internet, I re-ordered and re-purchased replacements for everything I lost, except the Apple Watch. My reasoning at the time was that it was silly to buy a watch in June when new ones were going to come out in September. But as September 9 approaches, I am no longer certain I'll replace my watch at all.

This surprised me because I was an Apple Watch early adopter. I woke up at 5 a.m. to place an order for the very first Series 0 watch in 2015. That piece of crap was barely fast enough to tell the time (let alone any “smart” activities), but at the same time it was absolutely amazing to have a tiny computer on my wrist. I began to rely on the watch as a notification proxy and then quickly as a health-tracking device.

Read more...

It may seem silly to celebrate the anniversary of my first Mac purchase, which I named Serenity (after the Firefly-class vessel from the TV show by the same name). But it is not silly, because without that machine which I unboxed 18 years ago today, I would not be who I am.

The author as a teen sitting in a chair with the laptop, Serenity, open on his lap.

Without Serenity I would not:

Read more...

⚠️ 2026 Update: This method is not 100% perfect. Since writing this post I have occasionally gotten OnStar emails from GM reporting things about the car. Isolating radio signals is hard!

Last year I purchased my first modern connected vehicle. As Mozilla has previously reported, modern vehicles capture (and sell) data about your behavior (how you drive, where you live, where you drive to, what your sexual orientation is). As such, I decided to look into the process of disabling OnStar.

Thanks to Imgur I found a way to (reversibly, not permanently) disable OnStar. In short, because OnStar will still report data back to General Motors and their data brokers even if you don't pay for OnStar (as best I can tell), the only way to truly protect your privacy is to either live in California where you can request to opt out of data collectin via the California Consumer Privacy Act (CCPA) or disable the OnStar hardware. Given that I don't live in California, I opted for the latter approach.

My thanks to BiggRanger on Imgur for originally documenting this process. I followed their instructions but still ran into some difficulty so I am re-documenting this with more information about the process.

Read more...

Documenting Apple's undocumented and unclear code.

Last month I encountered my first need for a custom CoreData merge policy and turned to the Apple documentation for guidance. There wasn't much. I had a unique constraint on an id field and I wanted to overwrite the database values for conflicts with non-nil fields from the incoming change without overwriting the existing record's information if the incoming change were nil.

For example, if I made a GraphQL query that did not include some field (say a binary blob or something expensive to fetch), but the local copy of the CoreData model representing the GraphQL model already had that field from a previous (and different) call, I did not want to overwrite the already-stored-expensive-data field with nil.

Read more...

Enter your email to subscribe to updates.