I’ve been caught up in a protracted debate with Flickr users recently over the question of whether those stupid “Award Codes” amount to spam. Ended up making a survey and writing a piece for Medium:
I sometimes encourage photographers to consider (or re-consider) using Flickr as their primary photo platform. But it can take a while to find the really good stuff on Flickr, so some people get discouraged. So I’ve been casually maintaining a list of some of my favorite photographers on Flickr, which I encourage you to follow if you’re just getting started.
There are 60 million or so photographers on the platform, so obviously this list barely scratches the surface – these are really just some personal bookmarks I thought others might find useful. If you find an amazing profile there, leave a link in the comments!
I’ll update this list over time / as I bump into more outstanding photographers.
See also: Flickr Is No Ghost Town
And thereâ€™s meâ€¦ Iâ€™m shacker
Groups I Recommend
Found it! A few weeks ago I caught an episode of Bay Curious where they talked about â€œThe Lone Toiletâ€ â€” a mysterious outhouse hanging out all by its lonesome in the marshes off Sears Point. At the time the episode was recorded, the reason for the toiletâ€™s existence was apparently a mystery to everyone. Who built it? When, and why?
I had a general idea of where it was, but nothing specific. Headed out to explore the marshes along Hwy 37, keeping an eye out, but couldnâ€™t find it. Did find a bunch cool bridges and antennae, and mini-murmurations of Starlings, but had given up on the outhouse. Then, while taking a shot under a bridge, turned back to the car and spotted a structure off in the distance. There it was!
Trudging through, I eventually found a plank someone had left to help visitors cross a deep rivulet, and was able to make my way out here. Seemed to be about 100 years old or so, and surrounded by absolutely nothing else.
Last night, I googled it and found this article, saying the mystery has since been solved – built by an eccentric sailor name of Fresh Air Dick (because he liked to sleep out in the air on his boat), who made his living carving wooden duck decoys. At the time, there was a marsh town called Tubs Island around here, but its remains have long since sunk beneath the mud. The outhouse was built in the 1920s – why it still stands when everything else sunk, I do not know.
Images shot with FujiFilm X-T3. Follow me on Flickr!
It’s been a hell of a year, everyone. The pandemic has affected everyone differently, but no one has been untouched by it. My personal therapy through the Quarantimes has been to explore the wonders of the Bay Area with a camera. 2020 was the year I finally made the switch from iPhone to proper cameras (for real this time). I put much of my spare time into learning about lenses, about the power and flexibility of the RAW format, and finally made the jump from Apple Photos to Lightroom. Also spent some of the time messing with editing apps like Snapseed, Tiny Planet, and RNI Aero. On the weekends, on hikes and bike rides, and on morning/evening dog walks, I explored every nook and cranny of this amazing place. I tried to make it a discipline to post one image to Flickr and Instagram in the morning before work, and another after work. Didn’t always succeed, but tried. Here are shots from Point Pinole, Albany Bulb, Berkeley Hills, Mare Island, Pt. Reyes, Guerneville, Alameda, Crab Cove, Tiburon, Morro Bay, and everywhere I landed. If youâ€™re curious, yes, Iâ€™m very careful, always masked, almost always alone or well-distanced (Iâ€™m safe). Photography has been my therapy, my go-to, my geek-out, and a re-awakening of a long-dormant creative side. For better and for worse, here are some of the images I shot in the first year of the global pandemic. May all humans be vaccinated before we lose another soul. Can’t wait to see you all again.
I’ve gathered up most of the posted images from the first pandemic year in a Flickr album – a few samples embedded here.
One of the “buried treasures” of living in the SF Bay Area is discovering the strange remnants of WWII that still exist in remnant form. One of those I’ve been visiting lately is the Richmond Shipyards – an area spanning several acres of crumbling concrete piers and docs, old-school Mike Mulligan and the Steamshovel-era cranes, rusty tugboats, and the monolithic Art Deco / brutalist General Warehouse.
In their heyday, more warships were produced in these yards than anywhere else in America – as many as three per day (747 total). And the final stop before each ship set out to see was the General Warehouse – a four-story edifice full of ropes and stoves and beds and compasses and clocks and radar screens and everything else a ship needed to support a crew and carry out its mission.
Today, General Warehouse is still standing proud, though its sign has crumbled and there’s no getting inside (though one photographer did a few years ago). Anyway, a few shots from the yards one night last week. Amazing place.
A while back I promised to write a post describing what I do by day at Energy Solutions, so here goes (with a small twist at the end). But it requires a bit of setup.
State governments often make pledges like “We’re going to reduce our carbon footprint 15% by the year 2020.” To make that happen, they put up a big pile of money and entrust it to power companies, since they understand the energy world. The utilities come up with with incentive programs to do things like encourage hospitals and schools to replace old HVAC systems with newer, more energy efficient ones, or for building contractors to replace lighting systems with smart ones that know when no one is home (to give a couple of examples). They work with organizations like the California Public Utilities Commission to come up with “Measures” — ways to evaluate what kind of equipment saves how much energy in a given climate zone, etc.
It turns out that actually getting a program like that off the ground is hard. There are literally millions of pieces of equipment out there that use energy in some way, and a dizzying variety of ways to measure energy savings. There are millions of buildings in the United States, under the jurisdiction of dozens of utilities. How do you devise an incentive program that’s fair to all, and that actually works? How do you prove that a person claiming an incentive is actually entitled to it? How do you measure the efficiency of a given heat pump or ballast or EV charger relative to its usage in a school, or apartment complex, or whatever? How do you ensure the system isn’t abused, and that the equipment was actually installed? How do you compare the attributes of the relevant Measures against the properties of all that equipment (complex queries at scale)? How do you make sure the person is claiming for the best possible program? And so on.
So the utilities hire a consultancy to design and run the program, write all of the logic that makes the magic happen, and build a web interface and batch processing system to handle all of the data and logic? My company, Energy Solutions, employs experts in every tiny corner of the energy industry, and is one of only a few organizations in the country that knows how to do this sort of thing.
Historically, the company created custom code for each new program (madness!). Four years ago, I was hired to help design and build a meta-system, configurable in every dimension, to host many domains running many programs, on top of all that ever-expanding data. While my personal history is mostly in making content management systems for journalists and academia, this job is different – the website is just a very thin layer on top of the most complex software I’ve ever worked on.
My expertise is in Python, and my framework speciality is Django. Over time, we started adding developers, and Iâ€™m now the Codebase Lead for a team of developers who report to a very large (too large?) group of stakeholders. Iâ€™m responsible for the quality, security, and performance of the codebase and the system. I do all of the code review, work with the ops team, and spend a little too much time in meetings talking about how to implement the Next Big Idea. So I spend my days bouncing between code, github, Slack conversations, and meetings.
And itâ€™s stressful. For the past few years, Iâ€™ve fooled myself that things would settle down and get easier in a few months. But as soon as we solve one hard problem, three more pop up to take its place. I finish my days aching to get away from the computer and hit the trail. In the evenings, Iâ€™m brain-drained for hours. Lately Iâ€™ve been feeling the need to juggle fewer balls, to do something more focused. Iâ€™m honored to function as Codebase Lead, but honestly in need of a break. Recently, another opportunity came up in the same company, and Iâ€™ve just made the decision to transition to a different-but-related project. Not fooling myself itâ€™ll be easy, but it should definitely be more focused and have fewer moving parts.
Iâ€™m proud of what we do – Energy Solutions does a lot more than just run the project I described there – weâ€™re just a little corner of the company. All-told, ES saves more energy in the U.S. than the state of Alaska consumes (that stat was from four years ago – Iâ€™m sure itâ€™s much more now). And they have their sights set high. With the Biden administrationâ€™s climate goals shaping up, thereâ€™s going to be way more to do in coming years.
A little while ago, I was running a conversion process on some data, watching it all roll by as it ran, and it struck me (should be obvious, but we get sucked in by architecture challenges and lose sight of the bigger picture): This isnâ€™t just a few seconds worth of data – this is energy that was NOT used because of what we do, what weâ€™ve built together. The stress is worth it – weâ€™re making a difference not by talking about the importance of carbon reduction, but by making it happen.
After an amazing hike with Dave at Mount Montara in Pacifica last weekend, headed off to Maverickâ€™s to watch some big-wave surfing (it was flat, despite 6-foot waves farther up the coast!), then stopped at the bizarre Devilâ€™s Slide Bunker on the way back up Hwy 1.
A teenager had figured out a way to climb inside (not obvious!), then up on top. Caught him in mid-air jumping down, before he ventured back in to help his little brother, who was temporarily stuck.
From a distance, I thought it was an abandoned attempt at a modernist home, but found this description in Atlas Obscura later:
â€œThe bunker on Devilâ€™s Peak was originally built during World War II as a triangulation and observing station and was once simply a piece of a much bigger set of buildings and facilities. When in service, a watcher equipped with a set of binoculars would keep watch out at sea and if they spotted any enemy ships they simply radioed a massive six-inch gun not far away which would sink them before they got close. Unfortunately, with the advent of more modern missile defenses the station became obsolete and the entire site was abandoned in 1949, leaving an empty bunker atop Devilâ€™s Slide.â€
Amazing piece of history, and a local wonder.
Got a note from my boss yesterday, asking why my voice on a meeting was speeding up and slowing down and sounding squishy. That shouldnâ€™t be – we pay for and receive gigabit bandwidth (which translates to 500mbps over wifi).
Since forever, ISPs have put all the emphasis on download speeds, and given the general public very slow upload speeds. That was fine, until Covid – most people just want to watch NetFlix and have no need for fast uploads. But now we all have multiple people at home on Zoom at the same time, and upload speeds have become the new bottleneck.
When youâ€™re sharing video of yourself, youâ€™re uploading – each person using around 1.5mbps. Three people at once takes you to 4.5mbps. Speedtest said I was getting 3-6mpbs â€” right on the threshold with no breathing room. But wait – our gigabit service should be giving us 35mbps upload speed!
Contacted the provider and discovered that our cable modem was old enough to have fallen off the end of the â€œsupportedâ€ list. So even though we pay for good speed, and we blanket coverage through the house and yard with a mesh network (eero), the bottleneck had become the modem itself. If Iâ€™d been leasing the modem from the ISP like most people do, it would have been upgraded by them. But years ago I chose to save on the monthly rental cost by owning my own modem.
So, takeaway is this: If you own your own modem and are having a crappy Zoom experience, check all of your bottlenecks, and re-check your ISPâ€™s modem compatibility list. Also, if your partner shows full-length movies to their students while youâ€™re trying to have critical meetings, consider joining via phone until you get a new modem :)
When adding or altering model schemas in Django, developers typically generate and commit accompanying migration files. But, counterintuitively, Django wants to track all model changes in migration files, even if they don’t result in database schema changes. Those can be easy to miss.
Regardless the reason, you never want your repo to be in a state where migrations are detected as needed, but accompanying migration files aren’t committed.
Writing a pytest test that can be triggered on github, Circle, Travis, Jenkins, or whatever you use turns out to be trivial, but I couldn’t find documentation or examples on the interwebs, so am posting this here for posterity:
import pytest from django.core.management import call_command @pytest.mark.django_db def test_for_missing_migrations(): """ If no migrations are detected as needed, `result` will be `None`. In all other cases, the call will fail, alerting your team that someone is trying to make a change that requires a migration and that migration is absent. """ result = call_command("makemigrations", check=True, dry_run=True) assert not result
It really is that simple! If no migrations are needed,
result will be
None. Any other return value means someone should run
./manage.py makemigrations to see what’s missing, and commit the results.
Cycling Pt. Reyes/Petaluma today, stopped off to check out a trailhead I hadn’t seen before, when suddenly I heard a band. Just over the hill, this family – Mom and Dad and two daughters – shooting a music video out in the middle of nowhere. “El Radio Fantastique” they call themselves. As Beefheart said, “Practice in front of a bush.”
Felt a bit embarrassed when I realized too late that they were in the middle of filming a music video – I had thought the guy with the smartphone was another hiker surprised to find a band playing on the trail! My apologies to the band if I interrupted your creative flow.