Simulation Blind Spots

Once upon a time I sort of won an argument with Sandi Metz. By “sort of won” I mean she didn’t lose; I was wrong and she was right, and it was a perfect example of the Dunning-Kruger effect. She had a very simple rule, and I was certain that the simple rule was flawed. I persisted in my argument long enough, and she persisted in teaching me, and eventually she led me to a place where I could see the beautiful interplay of all the complicated things I had been seeing, and then she showed me one other new idea I had never considered… and it made the whole complicated interplay become very simple. So when I say I won, I mean in in the sense that she was right and I learned an amazing thing I didn’t know before, and I sort of count that as the best kind of winning.

Whenever we’re doing some problem-solving activity, there’s a thing we do where we run a mental simulation of the situation or problem to seeing if it works or if we can predict problems with the solution. There’s a name for this, and I’ll ask the real psychologists to correct me if I get this wrong, but I believe it’s called mental simulation. Now, if you go off and google “mental simulation” you’re going to find a bunch of stuff about Folk Psychology and mind-reading phenomena, and none of that is what I’m talking about. I’m talking about the construction and use of mental models to simulate a problem and explore solutions. Anyway, my point is that we do it all the time and it’s usually a wonderful thing.

But there’s an interesting problem with it: there are times when we lack any understanding of some of the fundamental building blocks necessary for the simulation. I’m not talking about lacking all the parts; in fact if you didn’t lack some of the parts you probably wouldn’t be building the simulation in the first place. Usually we have most of the parts, and the missing ones are pretty obvious because we can’t complete the simulation or solve the problem, and this tells us immediately that we need to keep working on the problem. No, I’m talking about times when we lack a fundamental building block of the simulation, and this problem is really interesting because it forms a blind spot: we actually are able to complete the simulation (or so we think) and arrive at an outcome, and there’s no way to know that our simulation is completely flawed.

…except there is. I have found two ways to identify these.

The first one is pretty obvious and so is the solution, but for some reason I often refuse to acknowledge or accept it. Remember a couple weeks ago when I said “Hey, I’ll brb and I’m gonna write another blog post tomorrow?” I totally had this mental simulation of how I was going to blog every day for a while to get back into the rhythm of things. And then life happened–just like it’s happened to me over and over throughout the history of blogging for everyone. The solution here is pretty simple, but not that easy: I have to accept that my mental model, however interesting, does not accurately reflect reality. I could write a whole string of blog posts about this, but for now suffice to say that this is much more easily said than done.

The second method has a much more exciting solution, but it’s also much harder to detect without assistance. Because the solution is so much more effective, however, it is far more interesting to me. The second situation arises when somebody says “Hey, you should try doing it this way,” and you run a mental simulation and identify several problems with it, and you decide “Nah, that way is dumb.”

On a normal day, what happens is this: the person suggesting I try a different approach is less familiar with the problem I’m working on. They make their suggestion, and my mental simulation identifies several problems with their approach. I jump to the conclusion that their mental model is flawed, lacking fundamental pieces, and probably suffering from the aforementioned first blind spot of trusting the model when the model and the experience disagree.

But… what happens if the person I’m talking to suggests that I try a different approach, and I have reason to believe that their mental model does work for them? It’s really counterintuitive, but I’ve learned to trust that they might actually have a better mental model than me, but that there are fundamental missing parts to my version of their model. The solution is tricky, but fun: you have to crawl inside the other person’s head for a while and try to understand what tradeoffs they’re making. For instance, I came to ruby via C and C++, where the language is statically typed and I had learned to put a lot of trust in the compiler. Coming to ruby (eventually; it’s more accurate to say coming to perl and then python and then ruby) I could no longer trust my compiler because there’s wasn’t one. Oh! The problems I foresaw with this approach! Why would you abandon the safety of your compiler! And yet here were all these really smart people getting real work done. What did they know that I didn’t? Well, a lot of things, but the big one was this concept called “unit testing”.

When I was arguing–okay, okay, we were cheerfully discussing–with Sandi Metz, I didn’t understand how you could write a bunch of complicated, breakable code in a private method and not test it. Sandi taught me a bunch of different ways of seeing private methods, primarily that they’re changeable and not a good place to put a firm contract, and if you need to test them to get them working right, go ahead… but delete the test afterwards because once you get them working the test is just dead weight that will slow a maintainer down.

This week I’m playing around with a programming idea that I am sure will not work, except that some programmers I deeply respect swear by it. I can’t wait to crawl inside their head and find out how they make it work.

The Blog Is Dead, Long Live The Blog

So! It took getting my domain name sniped to make me realize how badly I’d let things slip here.

My registrar had a problem processing my credit card for, and I thought I got it cleared up and forgot about it, and what really happened is the domain lapsed and got picked up by a sniper. The domain is now being squatted by someone who wants $500 to probably sell it back to me. I could budget for that, and would do so, if I could be certain the sniper would actually give me back my domain name, but after some reflection I’ve decided there’s a silver lining here. I’m relaunching my blog and there’s no better opportunity to rebrand. Losing my domain name sort of makes the rebranding decision for me.


Hello and welcome to Why, Dave, Why?!?, which for all the renaming and rebranding will probably be about largely the same old silliness. But I might be just a titch more unrepentant about a few things.

TL;DR if you have links or an RSS feed tied to, please update them to, or, failing that, at least to, which WordPress has kindly kept reserved to me.

What’s ahead for this blog? Well, to be honest, about the only thing I can promise is that there IS an “ahead” from here. I have plenty of post ideas rattling around in my head. In the past few years I’ve learned as much about programming as I have in the ten years prior. So that’s two posts right there. 😉

I’ll be cleaning out old blog posts and updating things to reference the new domain name, and maybe the style of the blog itself, who knows. For now, let’s see how many of you have your RSS feed pointed to WordPress. I’ll publish this now, 6:15am MDT on Tuesday, October 10, 2017, but I won’t make an official announcement until tomorrow once I’ve had a chance to clear some dead brush off the site. Comment below if you saw this before the announcement. Oh, but just because I’m not announcing it yet, feel free to spread the word–I’d love to tweet about this tomorrow and find out that some of you were already in the know.

At any rate, welcome back, me! Let’s have some fun together.

When Tinkers Attack

Hey, you in the mood for an electronics-heavy, hardware hacking post? Who cares, my blog my rules. Anyway: lotta words and science and eventually pictures, I promise, but it’s nerds all the way down from here.

Okay, I gotta at least sum up the background of this post: I’ve been playing around with a device called a Photon, made by a company called Particle. It’s a tiny little microcontroller device that seriously blurs the line between the “programmable ICs” I played with a decade ago and, well, computers. It’s the size of my thumb, costs less than $20, and its killer feature is an onboard Wi-Fi radio. They’re at Go buy one, I’ll wait.*

* Disclaimer: While I have received a free Photon from a friend who works at Particle, I also bought a handful of them on my own, and Particle probably doesn’t want me writing a review for them anyway, honest or otherwise, and in fact are no doubt reading this with an increasing sense of dread. (Plus I bricked the free one right out of the gate. I’m just saying.) My opinion, which is possibly biased, is that you should buy a bunch of them. They’re awesome.

So with all that summed up, I can now move on to the problem I’ve had all week with it: I want to drive a super-bright LED module with my Photon. Seems pretty straightforward, right? With my Teensy USB (another cool product, go buy some of them, too!) I could just push current out to the red, blue or green pins of the LED module and it would light up. It is worth noting that the Teensy was a current-bearing** beast. It could shovel 80mA of current out of each pin at 5V without even getting warm. Well, without getting hot. Well, without burning the house down at any rate–look, the point is this module will take a full watt of power and the Teensy could deliver it easily.

** ampiferous? Heh. Shut up that’s an awesome word right there

Enter the Photon.

This thing is unrelentingly awesome, I won’t hear a word otherwise. One of the great features is that it runs on a super-low power budget. It runs on 3.3V (even though it will accept 5V). This means I can plug it straight into USB (5V) and it runs just fine. But those pins only spit out 3.3V. And to make matters worse, it’ll only give 25mA per pin and 125mA overall. It has a lot of love to give, but not a lot of power: 82.5mW per pin means that even with a pin driving each LED separately, it puts out less than a quarter of a watt.

But wait! My LED module has tiny little load switching transistors on it! You plug the board into 5V and ground, and then you just signal which LED you want to light up. All the drive power comes directly from the power rail, not the microcontroller… less than a tenth of a watt, in fact! Yay!

So how come, when I hook it up, the LEDs barely glow? Where my photons at, Photon?

It’s not the Photon. It’s the module. The LED module is a Sparkfun 11588 Tri-Color Breakout. This is a fun little kit you assemble yourself, and more importantly everything is easily understandable as you build it. In order to drive the LEDs, you build a circuit that is very easy to follow and understand: you drive a little current into the base of the transistor, and the collector responds by pulling down big current from the 5V power supply and dumping it through a resistor and the LED before returning to ground. More current means more light. It’s simple, it’s straightforward, it’s comprehensible.

It’s also not the best design for many applications. It was great for what it did, mind you; it just doesn’t adapt well to changing requirements. This circuit has what is called “High-Side Drive”, meaning the transistor (which “drives” the circuit) is connected to the 5V side. If we took the transistor out and moved it down next to the ground side, it would be called “Low-Side Drive”.

Why does this matter? Well… okay, TL;DR it just does and if you don’t want a longer explanation skip to the next paragraph. The longer explanation is this: I don’t actually know. Man, I sure hope you skipped this part. What I think is happening is that with 3.3V on the base and 5V on the collector, a 1.7V volt drop is created across the Collector-Base junction (Vcb for you electronics nerds), artificially limiting the output from the transistor. Normally a transistor can be thought of as an entirely current-based device, but in this case the transistor is forced to throttle the flow all the way back until a 1.7V drop is maintained from the 5V rail down to the 3.3V signal.

Now, there are a few ways you could fix this problem. The first is to alt-tab over to Adafruit and buy a 3.3V to 5V signal converting chip. They’re like $1.50, no biggie. You’d pay more in shipping than you would for the hardware, though, and if you’re like me–and this example you are–you’re gonna throw ton of other in your cart, so that chip is going to set you back closer to $50.

A second option is to dig around in the garage for some old reed relays you have lying around in an old junk parts drawer full of electronics components. You have one of those, right? Hey, me too! So you wire up the Photon to open and close the relays, and the relays switch the 5V supply directly to the signal pins on the module. Check it out:

Oh, wait, sorry. I said it was bright. (Fun fact: I have never seen my cell phone create an internal reflection like this before.) Here, let me turn it off.

There we go. Now this circuit works and all, but it still leaves something to be desired. I can switch the relays on and off, but that’s all I can do: turn the lights on–all the way on–or all the way off.

You can dim LEDs from a digital circuit if you turn it off and back on really fast. You shut it off and then back on before the eye can see the flicker. Do this over and over really fast, and it looks like the LED is getting darker. This trick is called pulse width modulation, or PWM. But to trick the eye, you gotta send these pulses out super fast, and those poor little relays have no chance of keeping up: they contain actual, physical, mechanical switches that are controlled by magnets. (No, I don’t know how magnets work. Yes, I am Mormon. NO, I really don’t know how magnets work. Please stop asking.) The point is, because they’re mechanical devices, they can’t switch on and off faster than you can see. We need a way to switch them on and off electronically.

A third option is to call your friend Kevin (you have a friend named Kevin, right?) who is really good with tools and insanely good at electronics (MY friend Kevin is, too–this is getting weird). He’ll tell you that you can use a 74HCT240 CMOS/TTL buffer, which is a chip that looks exactly like the one you were gonna get from Adafruit, and does exactly the same thing, but has been around for years and years–certainly long before 3.3V computing ever existed. More importantly, he can come to your house on Saturday and bring you one of these chips out of his electronics parts bin.

Cool! So you’ve got a free part coming, now you just have to wait…

Yeah, me either. Time for a fourth option. Let’s head back out to the garage. Do you have a can of solid-state relays left over from when you were manufacturing audio cutout boards for vibration control computers? No? Thank goodness, that would have been way too freaky. Anyway, I DO, so I went ahead and grabbed some.

Just one problem. They’re left over from building computer parts, parts which I built in this millennium. That’s a problem because computers nowadays use all SMT stuff: surface-mount technology. When I used these SSRs, I would etch a flat circuit board, hold the chip where it was supposed to go, then wash hot solder over the feet to make it stick to the copper. Those little feet have big flat pads on them so they can stick, and that means they don’t have the spiky pokey feet I need to jam them into my prototyping breadboard. If only I had some way of attacking wires to the SMT pads.

So, anyway, last night I sort of crafted an unholy abomination of electronics.

(That’s option four: “craft an unholy abomination”.)

The SMT chips need a flat board to stick do, and the prototyping board needs wires or leads. So how about a board with wires on it? This is a real thing you can get professionally, called a breakout board. I don’t have one, but I do have a lot of parts…

I grabbed an unetched circuit board and cut it down to size. I don’t have any etchant, but that’s okay. There are plenty of… decidedly mechanical… ways of removing material. Marked off the little SMT pads, and started scratching a channel before I realized I needed to be taking pictures of what is no doubt going to become a triumphant abomination.

I ditched the knife and got out my handy dandy Dremel tool and the tiniest burr head I could find for it.

Okay, time to slap some solder on there. It’s been 10 years since I’ve held a soldering iron, and all I can say for this solder job is that I did not, at any point, try to hold the iron by the burny ouchy end.

Okay, halfway home. Now it’s time to give this little breakout board some legs that can go into my prototyping board…

If you’re looking at this and jumping up and down and shrieking “SOLDER IS NOT GLUE” you probably need to work on your impulse control. You’re not wrong, mind you, but dude. Settle down. People are staring.

I’m not gonna lie, soldering is NOT like riding a bicycle. Shaky hands, cold joints, poor temperature control, good times. Here’s the finished product in all its lumpy abominationy glory:

I bent the legs under and then down, so that the legs could squeeze the circuit board because solder is not glue I get it shut up already.

And there we go. Just about ready to plug straight into a circuit board!

Oh, but one last step before we plug it in. Solder is not glue, but you know what IS a good glue?

Actual glue.

And now, the moment of truth! I’m so excited! I take it to my breadboard and plug it in, and…

…nothing. No circuit, no blinking, no flickering, no joy. Completely dead. The above picture was taken between blinks on the little Photon board, so you can’t tell that it is turned on and trying to drive the LED board.

I checked the circuit very carefully for continuity faults before plugging it in, so what could OHHHH MAN.

Fun fact about CMOS chips, which these SSRs are made out of: If you handle them without static protection, especially in a dry house in Utah in October, you will fry them.

See? NOT like riding a bicycle at all.



LOL! No seriously, LOL. This was a lot of fun. Not every story has to end with an epic win to have a happy ending. In this case, I got some practice soldering, and got to remember that there’s a fair bit of skill involved there. The whole time I was soldering the smell of the rosin flux burning off the iron transported me back to my teens, where I spent hundreds of hours hunched over a crappy little Radio Shack 5W iron, putting together (and tearing apart) radios, amplifiers, oscillators, power supplies… any number of crazy projects, just for the fun of doing it. I’m happy I did it and will always treasure OH OF COURSE I GOT IT WORKING BECAUSE YES AN EPIC WIN IS REQUIRED IN THIS INSTANCE.

Let’s talk about option five. I sort of hinted at it accidentally when I was describing the problem earlier. So the original SparkFun design is flawed because it is high-side driven. If we could somehow change this circuit to be switched from the low side… well, ground is zero volts, whether your circuit is 5V or 3.3V. If we can ground one circuit, we can ground any circuit.

I don’t have a schematic drawing of a Low-Side Drive circuit, but if you look at the circuit at the top of this post, the circuit you want can be created by turning it upside down. The 5V comes in and hits the LED, then goes through the resistor, then through the transistor, and out to ground. Heck, I don’t even have to change the circuit board!

Well, okay, not the board itself anyway… readers familiar with electronics will realize that you can’t just run electricity backwards through a diode. That’s, like, a diode’s entire job in electronics, to keep you from doing just that.

So I desoldered the diodes, flipped them around backwards, and soldered them back in.

Transistor? Same problem: current won’t flow up the emitter and out the collector. Same solution: desolder, flip them 180°***, put them back in.

*** That’s 82.2°C in metric

This was a lot harder to do than it sounds. Fortunately, I never had a lot of money for electronics, so I always got most of my parts by scavenging existing circuitry. Here’s a #ProTip for you: remove the component before you remove the solder. You can jam the iron in so that all of the solder joints melt at once, and the parts slips out easily before taking heat damage. Then you can mop the solder out of the joints with a solder sucker or desoldering braid.

Here’s what the module looks like with diodes and transistors reversed:

You can’t really tell with the LEDs, but the transistors have their flat sides facing backwards from the little white outline on the circuit board.

Another fun fact is now I have to remember to always hook VCC and GND up backwards. There is something so perversely satisfying about that. It warms the filthy cockles of my gross disgusting heart.

And now, the question: does it work?

Well, at full power it looks about like the first photo of the board way back at the top of this post. But what if we tell the Photon to drive each LED at a different amount of power? Well… now that’s a different story:

Pay more attention to the bar graphs than the numbers; A5 and A3 have different PWM timers, and for some reason one goes to 256 and the other to 4096. (A5 might actually be a true DAC, I’m not sure. But A3 is definitely PWM.)

So… there you have it. High-side drive is a pain, low-side drive is awesome. Ground is ground is ground. and if your circuit has HSD, you need to use LSD to see all the pretty colors.

You heard me.

Job Replacement Guide: Not Happening (Surprise!)

Hi. My name is Dave and I’m resurrecting my blog. To do this, I need to declare bankruptcy on the Job Replacement Guide project. I haven’t taken a penny from anyone, so by “bankruptcy” I just mean I’m formally throwing in the towel. After nearly 3 years of radio silence I’m guessing this comes as a surprise to no one.

TL;DR once the book was announced I choked. Hard. I couldn’t work on the book and I couldn’t write anything here without talking about the book and so the blog froze and started collecting dust.

I had over 30,000 words written when I announced the book. Now, almost three years later, the book stands at about 34,000 words. It’s looking like it’s going to need to be 70,000 words to cover everything I originally intended to cover, so I effectively got the worst writer’s block in the world right before the book reached being halfway done.

“There’s no such thing as writer’s block. Only lazy writers.” — Sir Terry Pratchett

I don’t have time or space to rebut Sir Terry, but if you’ll allow “lazy” to include “having an emotional crisis and letting it run my life instead of confronting it” then I’ll cop the plea.

I still want to finish the JRG, but I need to kill the project to get the guilt out of my head so I can get things moving again. I’ll try to explain more later but I got so wrapped up in being afraid of being a bad writer that I let it stop me from being a person who does the activity of writing.

I will push out more details to the mailing list when I have them. Feel free to use the comment section here to express your frustration with me, empathy for my situation, sympathy for my decision, or something else entirely.

Okay, with that off my chest, hopefully I’ll be able to use this space again as a blog. I’m not going to make any promises, though–I think that’s a lesson I’ve learned now: ship when I’m ready, and don’t talk about unfinished work. As a result, please understand that I’m probably not going to talk much about alternative options with the JRG. Yes, I’m considering a bunch of alternative options for it. If I get one ready, I’ll ship it.



A Dream of Simplicity’s Tyranny

This is an actual dream I had this morning, which was so profound it woke me up. Usually when this happens I smile knowingly that as soon as I’m wide awake it won’t seem very profound at all. But this time the profundity stuck with me, so I’m writing it down. Here it is, for your amusement.

I dreamed that I was an artist, and I was showing an exhibition. The first piece was a seven-foot square piece of white paper, on which a broad, bold, simple stroke bit of calligraphic art appeared. The piece was titled “Simplicity is Best”.

The second piece was also a seven-foot square piece of white paper, again with a single, swooping bit of line art. It was titled “Simple”.

The third continued the theme: a giant white sheet of paper, this one with a tiny word printed in the center, reading simply “Always.”

Several more pieces lined the wall, each exactly seven feet by seven feet, driving home the notion that these ideas were all big and simple and precisely the same shape.

The final piece was at the end of the wall in the gallery, but there was only three feet of wall left. The piece was still seven feet by seven feet, however: the paper smoothly covered the last three feet, with a huge, bold arrow pointing into to the corner, where the remaining four feet of the piece was folded up accordion-style. A tiny post-it was affixed to the folded paper, reading “visitors to the gallery may touch the art to unfold it.”

Unfolding the paper turned out to be difficult. It wasn’t just zippered shut like an accordion, but also folded up top-to-bottom, like a map. Anyone who has ever attempted to unfold a paper map knows the annoying sensation of trying to get one unfolded, and the hollow yet comforting satisfaction of successfully doing so. Achieving this victory over origami rewarded the visitor with a hyper-complicated bit of calligraphy, words spinning webs into each other scrawled across the entire hidden surface of the paper, and ultimately spelling out this message:

“The world is not shaped like simple ideas. The most complicated ideas are the ones we create to make the simple ones fit, but even then they do not fit, they merely mostly fit. And yet, we do this all the time, because a collection of simple ideas that mostly fit is much more attractive than a complicated and difficult idea that turns out to be obvious. The real art installation is not these sheets of paper, but the coat of paint I carefully applied to all of the brickwork on this wall, neatly covering it top to bottom and end-to-end. It is unremarkable, and completely hidden by these beautiful, simple, badly-fitting ideas. And if I hadn’t told you this, you’d never have noticed the paint, would you? Even now, as you contemplate attempting to fold this piece of paper back up, think about describing this art installation to a friend. What sounds better, ‘a lick off paint on a wall’, or ‘a series of simple ideas on big sheets of paper’? If you do tell a friend, please don’t give away this secret. Just tell them the title of this piece.”

The plaque beneath this piece displays the simple, single word: “Mostly”

At this point I woke up.

The reason this dream stuck with me is that, as I turned it over in my mind, I started thinking about the software I write every day, and I realized that, if I were that dream artist, I’d go back and change the last folded up sheet to read

“If this was software there would be a hole in the gallery here and the wall would be extended four feet to accommodate the simplicity of this idea. And no one would ever think this was odd.”

Risking Regret

Just north of Moab, Utah, a sandstone fin called The Lion’s Back rises about three hundred feet above the blowsand of the desert floor. It’s closed to the public now, because the public can’t be allowed to have nice things, but it used to be a famous Jeep trail. If you are a fan of scary youtube videos, you’ve probably seen the famous crash that happened there years ago (don’t worry, no one was hurt died). But back in the 1980’s, before the Jeepers really discovered it, it was just a big rock up behind the city dump.

When I was 14 I jumped off the top of it.


You Wait What, Off The What of the What Now?

Oh, relax. I had a rope. I even had responsible adult supervision! Well, I had adult supervision at any rate.

My mom was pretty overprotective of me, and when my friend Kenn called and said “A big group of boys and girls from scouts and church are going rappelling today, do you want to come?” I was very excited but also pretty sure I wouldn’t be allowed to go. I remember asking my parents, and my mother making her “worried disapproval” face. But then Dad turned to her and said,

“If you don’t let him go now, when will you?”

Two hours later I was up past the dump near Lion’s Back learning how to rappel.

They chose a small fin next to Lion’s Back and set up practice stations for us. The first jump was maybe five feet high: just high enough to learn how to lean back into the harness. The next was ten or twelve feet: here we learned to work our way down the face. The final station was thirty feet high, enough to get a couple really good bounces off the rock as you came down the rope.

We had arrived in late afternoon, and there were enough of us there that by the time I had tried all three rappelling stations, the sun was starting to set. I figured that was the end of the day, and that it had been a lot of fun. I was really happy I’d come, and I really didn’t see what Mom had to worry about.

“All right,” hollered Kim, our rappelling instructor. “We’re running out of light, so anybody that wants to jump Lion’s Back, we’re going right now.”

Maybe Mom Was Right

I turned around from the tiny fin we had been practicing on. The Lion’s Back went straight up in front of me over 300 feet. I had a sudden attack of vertigo and I wasn’t even looking down. I remember thinking, “I’ll let the other kids go, and if it looks okay, then maybe I’ll try it.”

I think a bunch of us were thinking the same thing, and had the same looks on our faces, because Kim then said “It’s a half-hour hike to the top, and we only got time for one jump, so if you ain’t coming right now, you ain’t coming.”

I knew this was my one chance. I looked at the cliff again. So high, so impossibly, terribly high. The only thing a rational human could do from up there was fall instantly to their death. I mean, obviously. I sighed, and decided not to go, and looked down at my feet.

But then something happened. A tiny little voice in the back of my head piped up and said,

“If you don’t do this right now, you will regret not doing this for the rest. of. your. life.”

I looked back up at the cliff. Yep, still terrifying. But I looked over at Kim and said “I’m coming.”

Fear Is Intense, But Regret Is Forever

By the time we got to the top and anchored our rope, the sun was low over the horizon, starting to turn the desert flame red. Being the chivalrous young men that we were, we let the girls jump first. It was a long drop, and it took each person maybe ten minutes to get down the rope and the next person to get hooked in. By the time the boys could go, the sun was starting to dip beneath the horizon, bathing us in dusk. I was about third from the last, so as jump after jump happened in front of me, dusk came and went, and night settled upon us.

Remember, this was when Moab was a boom town gone bust: there was no light pollution. There was no moonlight to jump by because it was very close to New Moon, but just by starlight alone I could see for miles and miles, the once-red sandstone fins now blue and black but still clearly visible, marching off into the high desert as far as the eye could see.

I figured I could maybe just not jump and hike back down. Since it was dark and all, obviously I wouldn’t be expected to jump. But still that voice told me, convincingly, of the lifetime of regret I would have if I chickened out.

Kim had been bantering with us the whole time, making jokes about how it was such a lovely night for some rappelling, that sort of thing. And suddenly it was my turn. Kim could tell I was terrified, and was about to back out. He smiled kindly, and said in his soft cowboy drawl, “David, me’n your dad used to work at Rio together. We was on the mine rescue team together, and I took him rappelling, too. We’ve jumped some pretty crazy stuff, me’n your dad. But he ain’t never done a night jump. If you tell him you walked back down the trail with me, he’ll understand.”

He could have appealed to my pride, told me how jealous my dad would be if I jumped. He could have urged me to jump, pressuring me a dozen different ways. But all he did was show me what the choice to give up looked like, and reassure me that it would be okay. And it’s taken me nearly thirty years to figure out just how wise his words were: he put the full weight of the decision and the consequences on me, and took the fear away from the decision itself. This was exactly what I needed.

“I’ll never forgive myself,” I said as I straddled the rope.

Kim grinned from ear to ear as he started the safety check. “You’re right,” he said to me quietly. “You never would have. But now… here you are instead.”

Owning Choices Is The Only Way To Own Consequences

The rappelling rig was a friction-stop rig, which meant that to stop, all you had to do was pull down on the loose end of the rope. Unfortunately, this meant that for a stick-thin, 100-pound teenage boy, just the weight of 300 feet of rope hanging down from me was enough to lock up the rig. Kim laughed. “You’re literally gonna have to haul the rope up and pull yourself down the first twenty or thirty feet. It’s okay. Just start walking backwards, and remember not to sit down, just lean back.”

I hauled up on the rope, and it started letting me inch backwards over the edge. For the first twenty feet or so the slickrock curved away, and I was unable to resist the urge to keep my torso vertical. My descent became more and more difficult as my body slowly bent into a sitting position. Above me and now out of sight atop the fin, Kim called down: “David! Lean back!”

I leaned back.

Imagine for a minute that you are not leaning against a mountain, but standing on a wide, flat sandstone floor. Behind you, hundreds of feet away, the desert floor rises like a wall. People are walking around on the wall and if you could turn around, all you would see is the tops of their heads. But you can’t turn around. You can only stand there, hanging in free space, staring at what is directly in front of you:


The stars went on forever. The Milky Way blazed as brightly across the sky as I’ve ever seen. Outside the band marking our galaxy, blue-white dots pierced the utter blackness. And in the gaps between those stars, the inky void of space went on and on to eternity.

There was no up or down to it, just infinite thereness, right in front of me. I stared, openmouthed, at the night sky I had looked at thousands of times already… but somehow, never, ever, actually seen. It spread out before me with a beauty that still, thirty years later, takes my breath away.

And Owning Bad Consequences Is Easier When You Owned The Choice

The sound of a titanium anchor piton snapping is very distinct. To this very day, that single, sharp Tink!, so quiet yet somehow louder than a rifle shot, followed by the gentle feeling of weightlessness as the sandstone began to fly up past my feet, will always be a thing that never actually happened because gotcha.

In reality, I rappelled down Lion’s Back in fine form, had a blast, and formed a memory that will burn bright in my mind until I die (or get Alzheimer’s as karmic retribution for the previous paragraph). That day I swore to never back away from a choice if it would leave me with a lifetime of regret.

And I’ve had to own a lot of consequences as a result. I’ve made bad decisions. I’ve made bad calls. I’ve made bad estimates, done the wrong work, shipped the wrong product at the wrong time to the wrong people. I have permanently screwed up the lives of a few people. I have deeply hurt many others. And I have offended so many people that I’ve lost count. All because I made a choice and took a risk that didn’t work out. And you know what? I don’t feel good about any of those consequences.

But I don’t feel ashamed of the choices. I made the best call I could at the time with the knowledge and abilities I had. Don’t get me wrong–sometimes it takes me a long time to forgive myself when I say or do something hurtful or ignorant or blithe or just plain dumb. But it’s so much easier than forgiving myself for not making a choice and choosing to own it.

Of course I’m only talking about the bad choices I’ve made here. I’ve made lots of good ones, too, and owning the choice is the reason I don’t feel guilty or ashamed that I get to have the nice consequences. There are lots of great things that happen to me on accident, and sometimes I even feel good about them. But sometimes I was just in the right place at the right time with the right skin color or nationality or gender. I can accept those and appreciate those and be grateful for those, but I can’t really own those. And that’s what I’m talking about here: the kinds of choices you can own, and owning them, and owning the risk of choosing–regardless of which side of the choice you took. That’s how you own the consequences.

You Never Regret Taking The Risk

I want to clarify that sometimes the risk is to take the safe path instead of the path everyone expects you to take. I’m not talking about being reckless, or risking more than you can afford, or making a decision before you need to without gathering the information that you need. That’s knowingly making the wrong decision, and there’s no prize for that. That’s stupid at best, and evil at worst. When I say “taking the risk” I mean studying out the odds, calculating the costs of failure, and deciding if the decision is important enough to get wrong.

So you know the kind of risk I mean. The kind where you have the information you need, you know what success could look like, and you know what failure could look like, and you know exactly what living another day without choosing looks like. That decision. THAT risk.

I have never regretted taking that risk, success or fail.

Of course I don’t mean I’ve never regretted a bad decision. But having the chance to make that decision, and thinking I had enough of the right data, and then making the choice–taking the risk–to the best of my ability? Never. Not once. I’ve never cared for the question “what would you do if you knew you couldn’t fail?” It doesn’t motivate me because I can’t know that I can or cannot fail. But Brené Brown rephrased that question into something so much more beautiful that I now keep it on a post-it on my monitor: “What’s worth doing even if I fail?”

That’s the kind of risk I’m talking about here.

I just tried to think of the dumbest risk I’ve ever taken and I ended up spending over an hour writing and deleting and starting over with just the things I’ve failed at this month. I could be the poster child for failure. Not just because I’ve failed so much, so hard and so often, but because I would also look hilarious on that poster.

So What’s With All This Regret And Risk Stuff?

Dumb choices are not the enemy. Big risks are not the enemy. Crazy failures are not the enemy.

Paralysis is the real enemy here.

If you have a choice in front of you, and you don’t want to make it, there’s a hundred things I could say to you. I could remind you that every day you don’t decide, you slide closer to being stuck with the default choice. I could point out that success would be just so awesome. I could say that you miss 100% of the shots you don’t take.

But I’m not going to. I want you to look at that choice, and look at that failure. Just look for a moment. Look at walking down that mountain instead of jumping off of it. And remember: We’ll understand. Stop being afraid of that walk. If you can own that side of the choice, you’re halfway to owning the decision, and owning the risk.

And if it’s a risk that makes sense–I remind you again that I jumped off with a rope–maybe you can let yourself own that, too.

You might regret the consequences. But you’ll never regret taking the risk.

What’s worth doing even if you fail?

How long will you regret it if you don’t even try?


P.S. I’m still writing the Job Replacement Guide, and this post was definitely inspired by my recent research. If there was one thing I could magically place in the book, it would be something that would wave a magic wand and help you get out of your paralysis. Whether you need to network with people you’re afraid of or ask a potential employer to negotiate your salary when you’re currently unemployed, or just put “I enjoy creating abominations of nature” in the interests section of your resumé (join the mailing right now if you want to hear the true story behind that quote, by the way, because it’s a story too good to not include in the book and I’m telling it on the mailing list today or tomorrow.)


The Job Replacement Guide

Learn how to replace your job with a better one in record time. Whether you’re unemployed, hate your job, or just wonder what you could accomplish at work if you were utterly fearless, this guide will give you the confidence that comes from being “unemployment-proof”.

Coming Soon!
Click here to sign up for the mailing list to get updates, advance content, and a discount on launch day.

The Jobhunting Mindset

Here It Is, The Big Secret

Last week I promised I’d give you the core secret from my upcoming book, The Job Replacement Guide. It absolutely cracked me up how many of you actuallybelieved me! Then I realized that the same number of you would absolutely lynch me if I didn’t make good, so I decided to go ahead and spill the beans.

I need to set this up a little bit, because it’s so simple you’re not going to believe me. After I wrote the previous post, I told four or five people what the secret was and not one of them “got it”. They either said “Huh” or they did that thing where you tilt your head and kind of scrunch your nose like you’re either squinting at something or you smell something bad. Giving a more detailed explanation didn’t help, but fortunately demonstrating the application of the idea did help several people.

So I’m gonna tell you the secret, and it’s going to sound dumb. But stay with me, okay? Because I’m going to demonstrate a completely unexpected application of it and it’s going to be awesome.

Ready? Okay. The big secret to my jobhunting success is this:

It’s not about you. It’s all about them.

Or, if you prefer,

Don’t make it about you. Make it all about them.

Pretty simple, right? And kind of stupid?

Yep. That Was Dumb.

I know, I know, but wait! Stick around. Let’s talk about this for a minute! This really will change the way you get leads and write resumes and conduct interviews.

See, the thing is, you’re thinking about persuasion, or communication, right? Or maybe you’ve had a little sales training, and you know that it is much more effective to appeal to another person’s self-interest than to their sympathy.

But you’ve got it all wrong. Well, actually you’re totally right, but you’re still missing my point. This is the “weird trick” that I figured out on accident, and have been able to jobhunt successfully ever since. It’s not about persuasion, or communication, or even another person’s self-interest. The specific application of this concept is, paradoxically, all about you.

It’s All About Being Unstoppable

It’s all about power. When you are interested in another person, you sort of become unstoppable. You can’t stop thinking about how things look from their perspective, or of reasons to talk to them, or things to do for them, or ways to help them. And they can’t stop you, either. You have all the power. When you make it about them, you control the beginning and the end of the interaction, and if you want another interaction, and another and another, as long as you are genuinely making it about them, they’ll not only let you, they’ll eagerly welcome you.

When you make it about you, they might give you some sympathy or try to find a way to help you, but either way, you have given them control over the interaction. In the absolute best case, they give you some great help–and now that they’ve helped you, they’re done. They end the interaction. It’s not intentionally harmful; in fact it’s often done with the most noble of intentions. But it’s still death to your jobsearch effort.

This really is one of the trickiest ideas I’ve tried to pull out of the warped recesses of my mind, so I hope I’m making sense here: when you make it all about them, they can’t stop you. If something doesn’t work, you find another avenue of approach. You never get shut down. You keep all the power.

Let’s talk through some examples just to make it clear. As we go through them, pay attention to who is in control of your energy and your efforts.

What A Powerless Jobsearch Looks Like

A powerless jobsearch follows all of the rules you were taught in Career Ed in high school: Dress neatly, go in and fill out an application, and hope you get picked. Format your resume to exactly two pages with an Objective, Education, and Experience section; mail off ten copies a day and hope you get picked. Arrive at the interview 5 minutes early, dressed one step nicer than the average employee; be eager–but not too eager–and make sure you follow up any negative answer with a positive statement so you don’t look bad. Then go home and hope you get picked.

I’m hammering it home with no subtlety at all here: the dominant theme of a typical jobsearch is hoping you get picked. By which I mean sitting quietly, waiting politely, for your turn. And maybe your job.

You call a friend and ask who’s hiring. He says he doesn’t know off the top of his head, but if he hears anything he’ll let you know. You walk up to the receptionist and inquire about employment, and she says they’re not hiring, but you can drop off your resume. You reach the end of the interview and the interviewer asks if you have any questions for her.

The last one is subtle, but all of these are bad situations. And you got into them because you made it all about you, and you let them have your power.

A powerless jobsearch is a numbers game. It looks like this: you do everything right, and you do it as hard as you can, and you hope you eventually get lucky. You send out 1,000 resumes and get 10 interviews. You go to 10 interviews and get 3 callbacks. You go to 3 callbacks and get 1 job offer.

I sure hope it was at the company you wanted to work at.

What An Empowered Jobsearch Looks Like

An empowered jobsearch feels very different. For one thing, it doesn’t really feel like a jobsearch. It feels more like… well, talking to people and listening to them. And then getting offered a job.

You call your friend, and instead of asking him who’s hiring, you ask him who’s working in Ruby. You ask him what companies are doing financial processing. You ask him who sponsors the local Ruby meetup. Your friend is more than happy to oblige, and disgorges a long list of companies. He even knows people at those companies that you could talk to, and he’d be happy to introduce you. “I’m not sure they’re hiring, though,” he warns. You smile. “That’s fine, I just want to find out what they’re doing.”

Your friend introduces you to a programmer doing health insurance work at InterestingCorp. You hit it off, and you joke and say “I bet you’re having fun with the new HIPPA stuff….” “I know!” he replies. “You wouldn’t believe the stuff they have us doing!” You invite him to lunch sometime to chat about financial processing. He says sure.

A week later you’re having lunch with the programmer. You ask him about what kinds of financial processing stuff, they do, and he happily launches into the cooler things they’re doing. He asks you what you’re up to, and you mention that you’re between jobs, but you used to do financial processing. You notice one of the cool things InterestingCorp does solves a very hard problem. “So how did you get around the problem with…” At the end of lunch, he says “You should apply at InterestingCorp. We just finished a round of hiring, but we could really use you.” “That sounds like fun, who should I talk to?”

Your friend gushes to the hiring manager, and then introduces you via email. You ask her some questions about team dynamics in a financial processing environment. You speak on the phone and ask some piercing questions about how the team works and the trickier bits of financial processing. She says “you know what, you should stop by and meet some of the other programmers. Do you have a resume you could email me?”

During this time you’ve met half a dozen other programmers and talked to them about their companies and their problems. None of their companies are hiring, but all of them are interested in talking to you more. And of course, InterestingCorp isn’t hiring either. But that’s just a decision some manager made, and decisions get unmade when the right reason comes along.

That’s you, by the way.

You meet with the team and hit it off. Afterwards, you have a private interview with the hiring manager. She tells you about the company benefits and the atmosphere and the dress code and why it’s awesome to work at InterestingCorp. There’s a manila envelope on her desk, and that’s when it hits you: she’s sellingyou on coming to work for them. And not only do you realize that the envelope contain your offer letter, but that the letter was on her desk before you came in to meet the team. Of course she’d have pretended it never existed if the team hadn’t liked you. But when they did… well, there’s no sense wasting time, is there?

Empowered Jobsearches Feel Totally Natural

Empowered jobsearches feel totally natural. In fact, I’d almost say they feel unconscious, or kind of accidental. You don’t really feel like you’re jobhunting. You’re just stumbling on great jobs. That’s why it took me so long to realize that I was actually doing something to cause it to happen: for years I thought I was just extraordinarily lucky. Here are some of the conditions under which I have landed jobs:

  • I called an ex-coworker and told him I was quitting my job, and he excitedly told me his brother-in-law had just called him to beg him to quit and come work for him, he didn’t want to go, but he’d be happy to introduce me.
  • I was using a piece of software, and it crashed. I called the company that made it. “I’m calling to report a bug, but I’d like to talk to the programmer because I actually know exactly which version of which compiler you’re using to write this software, and which setting you need to change to fix it.” One week later I was the other programmer working on the product.
  • I wrote a CMS for webcomics and managed the web hosting for Schlock Mercenary for several years. The cartoonist, Howard Tayler, was a manager at Novell. I asked him for leads (“who do you know that’s doing web programming work?”) and he introduced me to his friend, who told me about his brother, who was a huge fan of Howard’s comic and worked at a company that did websites. As the Executive Vice President. Getting an interview wasn’t a problem.
  • I turned the entire interview process into a foregone conclusion at one company by finding out that the CEO was an old friend of mine. I got a call from the hiring manager, who began the call by saying “So, um, the CEO of my company asked me to call you…” Mind you, I still had to make friends with the team, which included smoothing the feathers of the hiring manager that I had just pulled rank on. But once I showed them my sincerity and interest in their technical challenges, they realized I wasn’t the CEO’s crony and that they actually wanted me on board.

If I look at any one of those jobs, I could blame it on luck. I could almost say that I don’t really have a system at all… except for the fact that I know I’m going to get lucky every single time I go looking. Because I’ve learned to make it all about them, and yes, this helps me persuade them and yes, it appeals to their self-interest. But mostly it keeps me from ever letting anybody or anything stop me.

Except an offer letter, that is. When you make it all about them, they make sure you stick around.

I’m Writing A Book About This

If you want to keep your power in the jobhunting process, The Job Replacement Guide is a collection of techniques I’ve learned over the years to apply this mindset to every phase of the jobhunting process. From getting people to give you leads to calming your nerves in an interview to negotiating a better salary, knowing why–and exactly how–to apply the “make it all about them” principle is the secret to “accidentally getting lucky” every single time you jobhunt.

If you would like updates on the book’s progress, including advance content from the book and extra content that won’t be making the final cut, sign up for the mailing list. You’ll be the first to know when it’s published, and I’ll throw in a discount for those of you who were with me all the way from the beginning.

See? All about you.


The Job Replacement Guide

Learn how to replace your job with a better one in record time. Whether you’re unemployed, hate your job, or just wonder what you could accomplish at work if you were utterly fearless, this guide will give you the confidence that comes from being “unemployment-proof”.

Coming Soon!
Click here to sign up for the mailing list to get updates, advance content, and a discount on launch day.