The Right Way to Build a Hotel on the Moon

There are three reasons to visit the moon:

  1. Low-gravity sex
  2. To say you did it
  3. It’s the fucking moon.

I have seen in my day more than one plan for a moon hotel. A few of those plans have some good ideas (really tall towers you can jump down the core of), but none of those designs understand a fundamental truth: Construction matters — every mark the construction crew makes on the landscape will outlive humanity.

On Earth, bulldozers level the property, the hotel goes up, and then the landscapers erase the scars of the machines used to create the hotel. On the moon, that won’t work.

Those footprints will still be there long after humanity is forgotten

When I’m looking out the window of Lunar Hotel 6, I don’t want to see the shattered remains of a landscape that will remember each footprint for tens of thousands of years. I want to see the moon, the way it is now. Every mark made during construction cannot be undone, so construction can make no marks near the hotel.

One of my best stories (note to self: submit story to next market) takes place in a hotel on the moon. Much of the story takes place in a dome that was raised from an underground tunnel and deployed like an umbrella, so that no human disturbance is evident on the other side.

I’ve got nothing against towers, either, but unless you want the tower dwellers to forever look out over wretched destruction, those towers have to be built from the inside. (Flashing to a 3D printer that turns material excavated from the tunnels below into the walls of the tower, lifted up one level at a time until the tower is two miles high and the horizon is curved. I might have a spiritual sequel.)

My note to any who might be considering building a hotel on the moon: It’s the moon. Respect that. Understand that. Hire me as a consultant. I’ve just given you good stuff for free, but I have more.

A Matter of Consistency

While I was attempting (and failing) to write an episode thirty days in a row here at Muddled Ramblings and Half-Baked Ideas, a kid named James, known as the Iron Cowboy, today wrapped doing 100 full-length triathlons in 100 days.

Yep, 2.4-mile swim, 112-mile bike ride, followed by a full-ass 26.2-mile marathon.

100 times. In 100 days.

He did it to raise funds and awareness to rescue children from sex trafficking and sexual exploitation, so maybe he’s crazy, but it’s the right kind of crazy. My pals at Fezzari Bikes are proud sponsors, and I love them for that as well.

I can only imagine how it will feel for the Iron Cowboy to take a day off tomorrow. Congratulations, James!

Measuring Myself Against the Mountain

Plan A today was to head south on the lovely Coyote Creek trail, and depending how I felt when I got there, try attacking a new hill. The trail was blocked by a fire truck, however, as the crew sprayed water over a still-smoldering brush fire. I turned around and decided instead to test my progress toward my long-term goal of summiting Mt. Hamilton. I wouldn’t try to break my record, I decided, but there’s a nice loop that goes up the main highway and then descends on a smaller road that sees almost no traffic.

About a mile after I turned around I thought, “I should have taken a picture — fire trucks are exciting!”

It was even more annoying than usual getting to the base of the mountain, catching almost every single red light as I rode through the city. Grrr. Then it was time to climb. I have gotten better at riding very, very slowly, and I’m strong enough that I can almost sustain that snail’s pace for a decent period of time. The grade of the road is very consistent, but occasionally there’s a short stretch that’s a wee bit steeper, a difference you wouldn’t even notice while driving, but for me it’s the difference between sustainable and deficit. A little less down force on the seat post would put me over the top, I think.

I got to the turn-off for the descent, and after a short breather I decided instead to try to push up the mountain a little farther before going back down. Which is when my legs delivered their big, fat NOPE! I’d hardly gone any distance at all before I turned back and rolled on down the mountain. I added a couple of easy miles at the end for nothing more than pride.

Twenty miles to get to and from the actual ride, and six miles for the climb and descent.

1

The Chosen One

The archives of the True Disciples of the World-Changer were burned to the ground, and it turned out the data backup service they used was owned by their enemies. It is only by the most outside of chances that the content of the email the Disciples sent me was saved by their email provider for marketing purposes.

I did not read the email at the time, and even if I had, it would not have changed anything. When you read the excerpt below, you can see that it comes off a bit… Nigerian.

It began thus:

Blessings upon you, chosen one! You have been “randomly” selected to usher humanity into a new era! What will this new era be like? We all wait with great anticipation to learn the answer to that question from you! As the chosen one, you will leave a permanent imprint on the course of humanity forevermore.

How you exercise this great responsibility is of course entirely up to you, but we True Disciples of the World-Changer are eager to help you come to terms with your responsibility.

Alas, please note that the True Disciples of the World-Changer only invoke the “random-chance” protocol when humanity is under dire threat, and this time is no exception. Should those forces that wish to end humanity learn that you are the chosen one, they will stop at nothing to end you. For that reason, please do not share this email with anyone, no matter how trusted.

In retrospect, that explains a lot of what’s happening now. Especially when you consider that email is not remotely secure, and the Band of Destruction had long since put their tentacles in every email provider. There was more in the email, about contacting them, and giving them info, and thwarting an existential threat, but how many of those do you get every day?

Live and learn, I guess. Sorry, human race. My bad.

php’s missing array_usearch

Pure geekery today, kids.

php has a bunch of functions that work on arrays. (In most modern languages arrays are defined by classes or prototypes and have methods built-in. php is not a modern language.) There are functions like array_sort that takes an array and puts the elements of that array in order. That’s fine if you have an array of numbers or strings, but for more complex things, how does the code decide which comes first?

For that use, there is another function, array_usort that takes an array, and you tell it what code to use to compare the two items.

php also has a method called array_search which finds whether an array has a particular item in it. As before this works fine for simple items, but becomes less useful as the items in the array grow in complexity, or you want to find something that you don’t already have a full example of. What if you have a list of books and you want to find the one titled Huckleberry Finn?

It seems logical that there would be a search function where, as for array_usort, you tell the code what defines a “match”, and then off it goes to see what comes up. Logical, but it’s not there (unless it’s tucked away with a terrible name that makes no sense, which is entirely possible in php).

So after about the eleventy-hundredth time writing a little loop to find something in an array I said, “dangit, I’m writing array_usearch.”

function array_usearch(array $array, Closure $test) {
    $found = false;
    $iterator = new ArrayIterator($array);
 
    while ($found === false && $iterator->valid()) {
        if ($test($iterator->current())) {
            $found = $iterator->key();
        }
        $iterator->next();
    }
 
    return $found;
}

All this does is try each element in the array against a function you provide until the function returns true, then it returns the key for that item in the array. If no match is found, it returns false, the same way array_search does. Simple! Using it would look something like this:

// define a type to put into a list
class Thing  {
    public $id;
    public $name;
 
    public function __construct($id, $name, $category) {
        $this->id = $id;
        $this->name = $name;
    }
}
 
// make a list of them, mixed up a bit
$listOfThings = [
    new Thing(1, 'one'),
    new Thing(2, 'two'),
    new Thing(4, 'four'),
    new Thing(3, 'three'),
];
 
// find the index of the item with id = 4
$id4Index = array_usearch($listOfThings, function($thing) {
    return $thing->id === 4;
});
// $id4Index will now be 2

The function will work on all php array types, whether with numeric indices or strings.

php purists might object to using the name array_usearch because all the other array_u* functions take a callable for defining the function, while this version uses a Closure. There are a couple of reasons: 1) Closures didn’t exist in php when the array_u* functions were defined, 2) it’s the 21st century now and other languages use closures in this manner for a reason, and 3) closures allow the function that gets passed to array_usearch to be reused with different values. With a little extra setup we can make searching super-clean:

// function that returns an anonymous function that captures the id to search for
$idClosure = function($id) {
    return function($item) use ($id) {
        return $item->id = $id;
    }
}
 
$id4Index = array_usearch($idClosure(4)); // value will be 2
$id2Index = array_usearch($idClosure(2)); // value will be 1

Now we can write code compactly that can search for matches of arbitrary complexity, and we can create little factories to produce the search functions themselves, so the complexity is tucked away out of sight. This variation takes an array of key/value pairs and searches for items that match all of those values:

function firstIndexMatching(array $array, array $criteria, bool $useStrict = true) {
 
    if (count($criteria) < 1) {
        return false;
    }
 
    // create a closure that has captured the search criteria
    $testWithCriteria = function($criteria, $useStrict) {
 
        return function($item) use ($criteria, $useStrict) {
 
            foreach($criteria as $key => $value) {
                if (!isset($item->$key)) {
                    return false;
                } else if ($useStrict && $item->$key !== $value) {
                    return false;
                } else if (!$useStrict && $item->$key != $value) {
                    return false;
                }
            }
 
            return true;
        };
    };
 
    return array_usearch($array, $testWithCriteria($criteria, $useStrict));
}

Now if you have an array of people, for instance, you can search for the first match with a given name:

$joeCoolIndex = firstIndexMatching($people, [
    'firstName' => 'Joe',
    'lastName' => 'Cool'
]);

The loop and the comparisons are moved out of the way and all the main part of your code need to do is supply the criteria for the search.

Ultimately after a search like this, you will want to have the item, not just its index. That’s easy enough, but don’t forget that if no match is found, array_usearch will return false, which php will often conflate with 0, so extra care has to be taken when using the returned index.

$joeCool = $joeCoolIndex !== false ? $people[$joeCoolIndex] ?? null : null;

Obviously this could be added to the firstIndexMatching function if one is never interested in the index itself.

And there you have it! A simple callback-based search function, ready to keep your main code clean and clear.

Gettin’ the Lingo

The official Sweetie of Muddled Ramblings and Half-Baked Ideas recently acted on an long-term resolution to become better at speaking the language of many of our neighbors. After all, our city of residence is not Saint Joseph.

To pursue this goal, she has subscribed to Duolingo, an online language-learning application. She has been sure to put in a little time on the project every day, often combining it with time on our exercise machine. Buffing up brain and body at the same time!

When she went to the payment section of the portal, she discovered that a family pack didn’t cost that much more than an individual license, and she knew full-well that there were several family members who have been wanting to learn one language or another.

So now I’m signed up, too. I will be learning Spanish too, but first I wanted to get a start on remembering what little Czech I once knew. I have family members who speak Czech, so it makes sense. I figure a month to show progress with the Czech before I add in Spanish sessions as well.

It’s pretty exciting, but when the program tested my current level of Czech proficiency, it politely said, “let’s start at the beginning.” So I’m starting at the beginning, but when they throw a new word at me, there’s a pretty good chance I already know it.

Is Duolingo better than other language-learning software? Honestly I don’t know, and I’m not sure how much that even matters. What matters is devoting a little time each day to add a new phrase or two. Beyond the actual lessons, Duolingo devotes enormous energy to rewarding consistency, and bestowing worthless cartoon trinkets for taking an extra lesson in a session. I got my five-day-straight pat on the back today.

Big June

It’s been June for about two hours now, Pacific Daylight Time. It’s going to be a big month. I have mede some commitments.

I will exercise. I have joined a team health habit challenge with some coworkers and I will not let them down.

I will blog. Every day this month I will post some half-assed shit. Welcome to the first installment of that.

I will write. Every damn day I will add to Munchies. Or subtract from Munchies. Whatever’s right at the time.

Addendum: I will remember to hit “Publish” after I write a blog episode.

A Tale of Two Bicycles

According to the Velominati, the correct number of bicycles to own is n+1. However, I’m pretty content with two.

I bought the first bike in 2014. I went in to a Mom-and-Pop-and-Kids bike shop and told them I would be commuting on a bike but I didn’t need anything fancy. They pointed me to the Escape 0 by Giant, which I think was discounted because it was being discontinued. It is a “hybrid” bike aimed at commuters – mountain bike drive train with lots of gears (important for skinny-leg people carrying lots of stuff), an upright posture good for traffic awareness, but narrower tires intended for road use.

I kind of fell for the upsell when I chose that bike, but I have no regrets. And I had a list of other stuff to load up on before I even left the store: cushier seat, floor pump, helmet of course, and on and on. I left a fair chunk of scratch at the bike store, and I’ve paid quite a bit more since, yet conservatively all of that has been paid and then some with gasoline not burned driving to and from work.

To say nothing of the other benefits. Health, happiness, and Yet Another Bike Episode here at MR&HBI.

Over time I’ve added a beefier rack, gone through a few different panniers (the bags that attach to the rack), put fenders on for rainy days (I kind of like the rain), various lights (including Revolights, which were a great idea but never found their market), and on and on. My mantra was, “the weight I take off the bike should come from my gut.” I’ve put a lot of miles on that fine machine; many good hours being out in the world instead of boxed in metal and glass.

When I commuted by bike regularly, I started to recognize some of the others out there. A lot the other riders were decked out in tight-fitting bike gear, riding their fancy bikes. I would measure myself against those riders, pushing a little extra to maybe catch up with the Big Bald Guy at the next light. I could sometimes keep it close with one spandex-wearer, but if another came along, that was it. they would vanish over the horizon with a wink of light.

Most of that, of course, is because I’m a skinny-leg big-belly graybeard, but it turns out the hardware matters as well. Enter the Fezzari.

When the pandemic came down, I had not been riding regularly. Early on I took the disruption of my life as an opportunity to rebuild some good life habits, and the bike was at the center of that. Things were going great, until a mechanical issue during a major supply-chain disruption left me with no bike for a while. Late one night, I thought, “Whit if I buy another bike?” The only bikes available were the really high-end ones, but if I was gong to justify another purchase, it had to fill a different role than my commuter bike anyway.

You know how that turned out. And now here we are.

Wednesday I rode the Giant to work, lugging along a change of clothes, a laptop, shoes, about five pounds of food, and other odds and ends. Even if I could fit all that in a backpack (doubtful), then my back would be a swamp by the time I got to work. No problem on the Giant. It is a stable ride, comfortable, with an upright posture and wide handlebars for easy control. Thirty different gear ratios to choose from and that good ol’ cushy seat mean while I’m riding I’m just traveling, getting where I’m going with a minimum of fuss. It’s not a bike commute, it’s simply a commute.

It’s the bike I ride to the store (usually the bike store).

When I got on the Fezzari I discovered a new sort of bicycling. The bike is small, and twitchy, and fast. I’m still learning to ride it, still getting used to the more aggressive seating posture (I’m very happy I asked them to set it up with a “relaxed” posture, adding a bit of height on the handlebars so I’m less hunched over.) My hands tend to go numb on long rides; I’m still searching for the right posture and grip to deal with that extra weight on my arms.

But there are times, many times, when all that is forgotten and I’m cranking along to the sound of my tires whooshing over the pavement and it’s sublime. I love that bike.

I think, in fact, I love it more because I still put in the miles on the Giant. I am constantly reminded just what makes the fancy road bike special. Without that contrast would I start to take my new bike for granted? (Actually, probably not, but it’s still a good reminder.) And what about my faithful pack mule? I love it more, too, for having ridden the Fezzari; I appreciate the comfort and the capacity and the simpleness of riding it. It’s the perfect tool for the job.

Special bonus: twice the time tinkering in the shade of the tree in our backyard.

3

This Cracks Me Up

Great fashion section, though.

6

Life Hack

When you’re staring at the stranger in the mirror, wondering who the fuck you are and how the fuck you got here, you may as well be flossing.

1

Bitcoin is Cool, but It’s not Money

The subject of blockchain technology in general, and cryptocurrency in particular, has come up a few times lately, and I’ve been doing some reading. When you look, you mostly find stuff that does a bad job describing what blockchain is, before jumping to some particular use for it – generally cryptocurrency, and why you should buy some.

But “blockchain” is the second-least important word in this discussion. “Cryptocurrency” is the least important. Blockchain is a way to achieve a utopian dream, and it’s the dream we will talk about today. The dream is the Distributed Ledger – a system where there isn’t some central institution who decides who owns what, instead that information is all kept in an encrypted ledger that we all share and maintain, and magically we can only read the parts of the ledger that are our business to read.

All the blocks and chains and whatnot are an implementation detail that is not really that important. But… later we will see that some implementation details matter a lot.

Let’s talk about the distributed ledger. Instead of some bank tracking how much money is in everybody’s account, there are thousands of copies of the ledger, spread around the world, immune to deprivations of institutions who use the ledgers to control us. It’s a pretty sweet idea. Better yet, ideally even when the ledger is spread around the world, only the right people can read the parts about you. For all the rest, the ledgers just have to agree.

To make this happen there are two key concepts: redundancy and consensus. Redundancy we just spoke of. Thousands, maybe millions of instances of the ledger, all verifying that they are the same, even if they can’t see the individual transactions.

But imagine if Ronald McDonald decides to give a Bitcoin to Mayor McCheese. He duly records the transaction and that information propagates through the network as all the instances of the ledger are updated. But at the same time, on another ledger it is recorded that in fact Ronald gave that same Bitcoin to the Hamburgler! I heard that gasp of horror, and it is well-placed!

With every distributed ledger, there has to be a way to resolve discrepancies that through sloppiness, bad timing, or malice will inevitably arise. Eventually all those ledgers have to concur about what actually happened. Therefore, the people who run the system need to make it difficult for the bad guys to overwhelm the honest transactions. They need to allocate deciding power based on some resource they control that makes the holders invested in the success of the platform.

In the case of Bitcoin, that resource is pure computing power. Solve math puzzles, get Bitcoins. Once you have Bitcoins, you will protect them. So to push false transactions onto Bitcoin, you would have to to solve those math puzzles faster than everyone else on the network combined.

That would not be easy. I read an estimate today that the current Bitcoin puzzle-solving economy, which uses extremely efficient hardware designed to solve these particular problems and nothing else, is currently chewing through the amount of electricity consumed by the entire country of Austria – at the low end. So to fool Bitcoin, you’d need about 1.1 Austrias (at the low end) of power. That’s pretty impractical, and that’s what keeps your Bitcoins safe.

Or, to defraud the system you could find a different way to generate sha256 hashes (that’s the Bitcoin puzzle). If you came up with a new way to do that calculation that took 1% of the power, you could destroy Bitcoin. Quantum computing would trash Bitcoin, but the latter will be long gone before the former arrives on the scene. Yep, Bitcoin will be long gone.

There are other ways for distributed ledgers to form consensus that are far less carbon-awful. In fact, there’s a currency that was recently announced that awards blocks (coins) for each ton of CO2 sequestered. And away from cryptocurrency, the distributed ledger promises to transform some really complex problems like adaptive energy grids and a world filled with self-driving cars. All the new cryptocurrencies are finding less ecologically-disastrous ways to manage consensus. Etherium is launching a new less-eco-awful version of their currency, and leaving their old version to the winds of fate. The power bill will eventually destroy Bitcoin.

I mentioned above redundancy and consensus. We have seen that consensus can be extremely expensive. New distributed ledgers are working to reduce that cost. But redundancy also has a cost.

All the ledgers have to share information, constantly updating each other. For the blockchain implementation, each update itself requires a great deal of computation to ensure security — digital signatures, hashes, more signatures. Recording a single transaction in thousands of ledgers eats up CPU time, to the point where processing a single Bitcoin transaction takes the juice to run your house for a week. (Actually, a German house for a week, whatever that means.)

And this is where we get to “Bitcoin is not Money”. Despite demanding the power of a European nation to operate, Bitcoin can only process a few transactions per second. Like, less than ten. How many credit card transactions take place every second? A global-scale distributed ledger makes each transaction very expensive. It is simply impossible for Bitcoin to be a factor in everyday commerce.

(Although I have to say that since you can know the entire history of each coin, you could, for instance, simply refuse to accept any coin ever touched by a company that dealt with blood diamonds, effectively making their money worth less. That is the true power of the distributed ledger. Someday it will be real.)

When it comes right down to it, our current attempts at the distributed ledger are way better at things that aren’t money – things where there is value in decentralizing, but they don’t move as fast as we need money to move. Or things that move fast but in a smaller context, like an office or a company.

Or, God help us all, Non-Fungible Tokens. A topic for another day.

When you hear about the ways blockchain technology will change the world, quietly, to yourself, substitute the term “distributed ledger”. That is the idea that has the power to change so many things for the better, and it’s a lot easier to fit in your head. Blockchain is an implementation of that idea, but it’s got warts big enough to mostly obscure the magical toad underneath. Moore’s Law may finally get us to the promised land, but computers will literally have to be a million times faster than they are now to turn blockchain-based cryptocurrency into actual money. My bet is now that we have seen the value of the distributed ledger, we will find a better way to accomplish it. And that’s pretty exciting.

2

Happy Road Trip Day

Elevator, Ocelot, Rutabaga, everyone, as we cross 17.000 in the Muddled Calendar*. Seventeen has always been an auspicious number in the Muddleverse, being prime and whatnot, and I’m feeling pretty good about the upcoming 365.2422 days (give or take; there is some wobble).

In other news, apparently I’m still a Padres fan. Time will tell how those two mystical forces align.

* The Muddled Calendar started at 0.000, so at the millennium I don’t want to be hearing from any pedants.

6

Google’s New Evil

Google, Facebook, and their pals make big money because companies believe that carefully-targeted advertising is more effective than plain ol’ marketing blitzes. While there is some debate about that, it hasn’t stopped Google from harvesting and reselling enormous amounts of information about people. About you. One of their primary tools has been the third-party cookie. When you go to myfavoritesite.com, you are the first party. myfavoritesite.com is the second party. But they can also send cookies your way on behalf of Google et. al., and allow those behemoths to track your every move.

Nowadays, those third-party cookies are falling into deep disfavor. The abuses they enable are vast, including institutional discrimination, predatory marketing, and deep invasions of privacy.

The handwriting is on the wall; third-party cookies are on the way out, and Google is stepping nimbly to repackage its evil. Never forget, fundamental to their business is their ability to package and sell you.

Their latest initiative is the “privacy sandbox”, which means that some information about you is never sent to the mother ship. Instead, an algorithm in the Chrome browser will wrap up your browsing history for the week and assign you to a group. Google won’t be selling you, they will be selling a group. That makes it private.

Now mind you, that group won’t be useful to advertisers unless they know some of the qualities of the group. And don’t forget, if the site you visit knows you’re one of a few thousand people, it’s much easier for them to pin exactly who you are than if you were one of many millions.

And now you’re in a “cohort”, defined by google. You cohort might shift a bit, week to week, which is especially interesting to the sites who can tell exactly who you are.

Brief aside on “knowing exactly who you are”: two browsers have built-in systems for thwarting those efforts. Tor is one, the official browser of the Dark Web, and Safari is the other. Firefox has some great add-ons that accomplish the same thing. But none of those browsers can keep you anonymous in a pool of only a few thousand.

Less brief Twitter anecdote: Twitter offered users the choice to opt out of a particularly invasive form of tracking. But after a while they discovered that there was a bug in their software and that in fact they had been sharing that stuff with advertisers anyway. Oops! They fixed the bug and revenue plummeted. Turns out that information was what they were being paid for. Their solution: Change the Terms of Service! Users can no longer opt out of sharing that information. It was pitched as being required to keep Twitter a free service. Twitter is not free, and is not a service.

Anyway, back to Google. They say that they will watch the cohorts, to make sure that people who are in “sensitive interest categories” aren’t bunched together in a too-exploitative manner.

First, that means that there will not be a privacy sandbox on your computer, because the mother ship will need to monitor the cohorts. Second, there is a corporation deciding what the sensitive interest categories are, and how to protect them, and each iteration of their algorithm may expose another “sensitive” group. Third, I may or may not be part of any of the sensitive groups as defined by Google, but that doesn’t make my privacy less a right. Finally, It just won’t work, because if someone can figure out that other people in my cohort have visited places I consider part of my private life, they will be able to assume the same about me. That includes medical sites, mental health advisors, and lawyers.

This is all just bad. Google is offering different surveillance as an answer to what we have now. The stuff I describe above is in beta testing in the Chrome browser right now. While I don’t know the scope of this beta test, if history is a guide with Google “beta” means “it’s out there.”

Long ago, Apple and Google worked together on a thing called WebKit, the software that underpinned both browsers. I watched as schism formed between the two companies, as Apple engineers found security and privacy exploits in many of the new features Google wanted to implement. It was esoteric at the time, very abstract discussions about how some drawing tools could be used to read the screen underneath, which could include private information. Eventually the partnership split, and now Google has way more features than Safari, and Safari offers way more protection for you. Some sites don’t work so well with Safari, but that’s the cost of privacy.

Use whatever browser you like, but remember one thing: Chrome is the core tool (along with Android) created by a company that makes money by watching everything you do.

For a more detailed discussion of the new Google shenanigans, please visit the Electronic Frontier Foundation.

1

Quarantine Pro Tip

If your dog is licking your sweat pants, you should probably put on a fresh pair. You know, in the next couple of days.

3

A New Tool (almost)

This weekend Harlean (who is a fiction) and I had a really fun photo shoot. We were using our Lensbaby gizmos for the first time, and allowed ourselves the emotional room to experiment and accept when things didn’t work right, and celebrate when changing something actually had the predicted result. A wonderful day in the studio.

There is a part of me that believes that getting good results with your current gear is an indication that you don’t need better gear. But over the years I have identified a few cases where new gear would be better. And heck, I used to watch a series on YouTube that included “Good Photographer, Shitty Camera” episodes where respected pros would be handed a Barbie doll with a camera embedded in her chest or a LEGO camera or what-have-you, and invariably these pros would manage to find a remarkable image.

But none of them said, “I’m ditching my Nikon for Barbie!” Sure, some of those folks are probably still using Canon 5D Mark III’s, but I suspect not many of those do a lot of self-portraits. Here in this house the limitations of the 5D started to become apparent when self-portraiture became a regular occurrence. On the 5D, you have to make choices — not all autofocus modes work when you are using strobes or speedlights. Specifically, the autofocus modes that don’t require you to look through the viewfinder are absent. Additionally, the presence of the viewfinder itself can interfere with autofocus, as light coming in through the viewfinder can confuse things.

### For a bit here, I go on about Camera Stuff that is interesting (to me) and relevant(ish), but does not really build on the narrative of this episode. You could probably skip to the picture below if you’re not interested in the evolution of modern cameras or how that solves specific problems in our studio.

Anyway, at the heart of those problems is the very nature of the SLR itself. SLR stands for “Single-Lens Reflex” and is a system where there is a mirror in the camera that while at rest diverts the light coming through the lens up to the viewfinder. When you push the shutter button, the mirror snaps up out of the way and the light hits the sensor (or film) instead. It is the mirror snapping up and back that gives an SLR its distinctive shutter sound.

The reason some focus modes aren’t always available in our 5DIII is that those focus settings require computer processing to identify eyes, faces, and whatnot, and when the light is going to the viewfinder rather than hitting the sensor, that processing cannot take place. There is a mode that lifts the mirror to allow that processing, but then the camera can’t trigger the flash for “electronic shutter” reasons I don’t quite understand.

SLR was a big deal because it gave the photographer a much better idea what the picture was going to be like. Before that, the viewfinder had its own lenses, which tried really hard to match what the main lens would show, but as the “main lens” became ever more complicated, that became impractical.

But your phone doesn’t have a mirror in it, now does it? The light doesn’t need to be diverted to a viewfinder, the sensor chip itself sends that info to a screen. Then when you push the “shutter”, it sends a signal to the camera to take a much higher quality image off the same sensor and send off for storage.

All the big camera companies have lines of “digicams” that try to be better than a phone and easy to carry around and shoot with. They have the screen on the back, and depending on where you live, they might be legally required to play a recording of that SLR mirror-clack when they take a picture.

But until fairly recently, all the high-end gear continued to be SLR. Honestly, I know there were compelling reasons, but I’m not entirely sure what they were. But then Fuji and Sony made exciting high-end “mirrorless” cameras. As mentioned above, “mirrorless” itself wasn’t huge news, but now that word is used to describe the top-end gear out there that doesn’t have a mirror.

Canon responded with a thud, creating the EOS-M format, that utterly failed to establish them in this market. Maybe not a Zune-level flop, but in the neighborhood. Nikon did a little better, and Sony pulled ahead while Fuji found a very comfortable niche to totally dominate, while still pushing Sony.

Now, Canon and Nikon have stepped up their games, and Canon at least burned their boats on the shore. There will be no new major updates with a mirror from Canon, and no new lenses to fit their SLR line. It’s all about the R.

With that long-winded explanation, you might not have noticed that a mirrorless camera solves two of our current issues: “Aha! No optical viewfinder means no light leaking in from the eyepiece to mess up autofocus!” and (less obvious) “Aha! There’s no mirror! Sensor-based focus modes are available all the time!”

So, after one very frustrating shoot that might have been somewhat less frustrating with different technology, and two very smooth shoots to prove we deserved it, we helped pay off Canon’s gamble:

This lovely photo of our new hot-shit camera was taken with my phone.

It is physically smaller than the 5D it is replacing, because there’s no need to make room for a mirror to flip up and back. The geometry of the mount means that lens makers can go crazy. Hopefully, somewhere at Canon is that troublemaker saying, “hey, remember when we did that 50mm f/1.0? We can beat that.”

So there it sits, radiating potential. In the camera world, as in computers, the chips are obsolete before they even land on your doorstep. I’m honestly surprised that the 5DIII is still not obsolete after eight years. But in photography the real investment is in the lenses. Camera bodies come and go, but glass is forever. Mostly. There are better versions of almost every lens I own made specifically for the new camera, but not enough better to justify replacement.

All one needs is an adapter to connect the old EF-mount lenses to the new RF body. (In fact, because of the new geometry, I can now attach other, non-Canon lenses I’ve long longed over. There’s a Minolta…)

Anyway, all I need is an adapter, and my library of lenses will be ready to go. That’s all I need.

The adapter is on backorder. Sitting in a box is a pretty dang incredible camera, and I can’t attach any of my lenses to it. The L-plate arrived today, so I have a lot of flexibility attaching the new camera to a tripod. Just… no lenses. I can hold it, I can admire it, but I can’t take any pictures with it. “Coming soon!” the reputable camera company says.

Not soon enough.

2