At my previous job I sat on both sides of an interviewing table on various occasions, and over the years I wrote down a few things I learned or noticed and put them into this guide. I posted it to the internal Wiki, with the goal of helping to lift up individual contributors ready to try for leadership, help them present their best selves, and build confidence.

I’ve reproduced it below, with permission. (Note that these tips are my advice; not official policy!)


The skills listed below are just as important for being a good lead as they are for acing an interview. That’s not a coincidence!

Before you walk into the room— and ideally before you apply— you should have a good sense of:

Continue reading

You might have heard that SpaceX is working on a giant rocket.

No, not that one that launched the car— that’s the Falcon Heavy.

They’re working on another one that’s significantly bigger, called the BFR, for Big Fuckin’ “Falcon” Rocket. It can carry more than twice as much payload as the Heavy.

It’s an ambitious project. It will be fully reusable, which will drastically cheapen the cost of putting objects and people into space (even beyond what SpaceX has achieved so far). Elon Musk is building it because he wants to send people to Mars, but the rocket has the potential to do a lot of other stuff too: According to Musk, not only will it will be able to deliver a payload “anywhere in the solar system”, it will also be able to take people from place to place on Earth.

Here’s the video he demoed last fall:

SpaceX’s vision is to offer rides to the other side of the planet in around 30 minutes. The rocket would take off from somewhere near a city, launch at sub-orbital speed into space, coast for a few tens of minutes, re-enter the atmosphere, fire its rockets and land at the destination city. Essentially, it would be an ICBM for passengers.

Elon Musk has claimed the an Earth-to-Earth BFR ticket should be around the same price as a commercial economy flight ticket, offering a faster, competitive alternative to air travel.

This boggled my mind, so I decided to do a whole heap of napkin math to answer the question: How crazy is this? Is it even crazy at all?

For reference, we’ll peg the price of an economy international air travel ticket at around $1200 USD. Is it possible to bring the cost of a ride on an honest-to-god spaceship down to that level?

Let’s figure it out. We’ll start by looking at Musk’s estimate for a ticket to ride the BFR to Mars, which is $500,000, and scale it for the different logistics of going to Earth instead. (He’s variously used estimates of a $200k or $500k Mars ticket at different times; it’s unclear where the price on latest scaled-back version of the BFR would fall). It’s not a given that this price estimate can be taken at face value, though we’ll see later that it is plausibly realistic. Since Musk’s estimate is the only cost figure from SpaceX about the BFR at this point, it’s the one I’ll use for this article.

A Mars trip is a multi-month journey, so in order to offer everyone living quarters, entertainment, amenities, and cargo space to carry equipment for living on Mars, the spaceship tops out at a maximum capacity of around 100 people. But for a 30 minute intercity trip, none of those amenities will be necessary, and that means we can fit a lot more people on board. The interior volume of the new BFR spaceship is comparable to an Airbus A380 (a little bigger, according to Musk), and the latter accommodates up to 800 people (though most configurations are around 500). So realistically, the intercity BFR could carry 5 to 10 times as many people as the Mars ship. We can therefore conservatively divide the price by 5, bringing us to $100,000 per ticket.

The Mars journey is much longer, too. So much longer, in fact, that SpaceX will have to launch five more BFRs into low Earth orbit just to fuel up the passenger vehicle before it departs for interplanetary space. So to go to Mars, those 100 passengers are actually paying for at least 6 complete BFR launches from the surface of the Earth. The Earth-to-Earth trips won’t need those in-orbit refuel missions, so right away we can divide the price by another factor of 6. That brings the price down to about $16,000.

We also have to discount the cost of the fuel that those extra flights are carrying as cargo to the passenger vehicle (which would serve the purpose of fueling the journey toward Mars). We don’t need it, so after discarding the cost of the refuel flights themselves, we can expect to pay about half as much for fuel on an intercity trip. (One way to conclude this would be to observe that a Mars spaceship couldn’t carry more than another single full tank of fuel, after arriving fully empty in LEO). In aircraft, fuel is about 20% of the operational cost. If we reduce 20% of the cost by 50%, that’s only a 10% savings— so sadly we don’t get to knock off any more zeroes on fuel.

As an aside, currently rocket fuel makes up less than 1% of the operational cost of a launch— but that’s only because the rest of the money is spent by discarding the rocket! After rockets are fully reusable, the non-fuel costs could go way down. This is why it makes more sense to look to aviation for operational fuel costs than to “modern” rocketry.

Perhaps the biggest factor in ticket price is reusability, or the number of flights the rocket can make. An intercity rocket could do many, many more launches than an interplanetary one: The former could launch every day; perhaps multiple times per day, while the latter could realistically make only one round trip every 26 months, at every Hohman transfer window. In 10 years of life, that means a Mars ship could run only 5 flights, while an Earth-to-Earth rocket could run about 3650 flights in the same time period (at once a day)— another 730x improvement.

At this point, we probably can’t simply divide the ticket price by 730 and dust our hands. Firstly, the ability to fly a rocket 3650 times without major refurbishment hasn’t been proven yet. SpaceX’s latest, most-reusable incarnation of the Falcon 9— the Block 5— is expected to fly only 10 times before overhaul. This is only a factor of 2 improvement over the schedule-constrained limitations of a Mars route. Airplanes, by contrast, can service about 60,000 flights before reaching the end of their life.

SpaceX would have to improve the rocket’s durability by two orders of magnitude to reach our estimate for a “modest spaceliner lifetime” of one flight a day for ten years. Right now, the primary limitation on rocket lifespan is heat shielding, which must endure temperatures of around 1600°C (3000°F). Few materials can survive this for very long, which means heat shielding burns away or becomes ruined after only a few uses. The BFR will likely need to use as-yet uninvented technology to avoid completely rebuilding the heat shield every 10 trips or so, and SpaceX might have to look at new solutions like liquid cooling.

There is a second reason why we can’t simply divide the price by reusability: Given that the Mars ship is only ever going carry 500 passengers in its entire life, buying a ticket to Mars is essentially like going in on purchasing an interplanetary spaceship with 499 other people: it’s going to be expensive. But getting a ride on a (durable) intercity rocket is like buying it with 2 million other people, and then paying for ground operations, fuel, staffing, maintenance, and other overhead for every flight. Suddenly the vehicle cost is unimportant and the operations costs are the ones that matter.

To precisely estimate the cost reduction, we’d have to know not just the reusability, but also what fraction of the ticket will go to flight and ground operations, and what fraction goes to vehicle cost. This is another thing for which good figures are scarce, so it is probably best to amortize the vehicle cost and look at what we have left over to work with. We’ll guess that the rocket itself costs as much as an Airbus A380 ($450 million), or three times the cost of a Falcon Heavy launch in expendable mode (also $450 million, with “three” being the ratio of the BFR’s mass to the Falcon Heavy’s).

If we allow that the BFR improves reusability by a factor of 10 over the Falcon 9 block 5 (resulting in 100 flights per vehicle), then about $9000 per ticket needs to be spent amortizing the initial vehicle cost— which is not enough to be competitive with air travel. However, if SpaceX makes it all the way to our hopeful 3650 flight cycles per vehicle, then this goes down to $250/ticket. Compare to the vehicle cost portion of an airline ticket, which is about $11.

This seems like a big problem (still a factor of 20 too high), it’s not actually a big deal: Once the vehicle cost approaches $100 per ticket, the operations costs dominate the price. This means that a space ticket would cost about $200 more than an airline ticket, rather than 20 times more, if we assume that operations costs are about the same. For a $1200 international ticket, that’s probably OK. And that makes sense, because in the long term, we are basically running an airline, but with a much faster, differently-shaped aircraft.

So could Elon’s claim about the price of intercity rocket travel be legitimate? Yes, but only if SpaceX adds at least two more zeros to the number of flights a rocket can make.

The importance of this question— and the difficulty of answering it positively— can’t be overstated.

Airplanes are extremely safe. There are around 36 million flights per year (that’s 100,000 per day), carrying over AOJIM 100% Microfiber Made Japanese Anime Duvet Cover Colourfast. On average, there are fewer than 1000 air-accident related deaths per year, worldwide. For any given passenger, that’s less than a 1 in a million chance of death per flight, and it’s improving— Even as passenger miles are soaring, air accident deaths are decreasing every year. The safety factor is great enough that (despite the common fear of flying) driving to the airport is more dangerous than stepping on the plane. Other things that are more dangerous than traveling in a commercial plane include drinking two glasses of wine, riding ten miles on a bike, or living for two days in New York in 1980. In fact, for longer flights, you are more likely to die from the extra cosmic radiation at high altitude than from an air accident on the same flight!

In short, buying a plane ticket effectively carries no risk to your life and limb. When you step on the plane, you can be virtually certain that you will step off again unharmed.

Manned rockets, on the other hand, have (generously) a 1% rate of failure. Now, under a certain light, that might be seen as impressively safe for “trying to ride an explosion into space”, but it’s a problem for commercial adoption. If SpaceX were to launch an Earth-to-Earth air-spaceline, with (very conservatively) one launch per day carrying 500 passengers per launch, at current rates there would be three Tenerife-scale disasters(1)the worst disaster in aviation history, by loss of life every year. This makes rocketry about 105 times more dangerous than aviation, and it’s clearly unacceptable.

So what does SpaceX have to do to make passenger rocket flights acceptably safe?

Why do rockets blow up?

On the face of things, a rocket is basically a giant pressurized tin can full of flammable liquid balancing on top of a giant explosion— so there’s one very obvious way that things can go wrong.

If we look more closely, there are millions of moving parts and sensors that keep that explosion at exactly the right amount explodey-ness, and the rocket balanced on top of it at exactly the right angle— so there are a million less-obvious ways that things can go wrong.

I took a look at an inventory of rocket failures since 2000 and tried to break them into major categories by cause. They roughly boil down to three major and three minor ones:

Guidance and control

Guidance, navigation, and control (“GNC”, in industry-lingo) is, in short, the computer brains of the rocket. These are the algorithms that figure out where the rocket is and how it’s moving, and decide where to steer it, which valves to open, when to throttle up and down the engines, when to (if necessary) self-destruct, and so on.

This process can go wrong if sensors send the wrong data, or if the computer misinterprets them, or if the software crashes, or if the situation evolves into something that wasn’t tested, among other things.

A spectacular example of this is the Russian rocket which promptly flipped itself upside down and careened into the ground, because the rotation sensors were installed upside down:

About 1/3 of the rocket failures in the list above were because of GNC issues.

Loss of thrust

If for some reason the engines shut down too early or don’t fire with full force, the rocket doesn’t make it to orbit. Fully another 1/3 of the cataloged failures named a loss of thrust in the cause.

SpaceX has done a decent job of building redundancy into its designs. In fact, an early CRS mission suffered a single engine failure, but the primary mission still made it safely to orbit. Musk has stated that the Savinelli Roma 611 EX Black Stem Tobacco Pipe, so even if one completely fails, another can be started up and the spacecraft safely landed. (This is important because the re-entry burn is what stops the rocket from crashing into the ocean at mach 22).

Redundancy is one way to reduce the risk of loss of thrust, but the situation will still have to improve significantly for a space-based “airline” which might eventually serve tens to hundreds of thousands of launches per year. At the current reliability rate for SpaceX’s Merlin engine (1 known failure among 9 engines × 56 flights), if SpaceX were running an airline with 50 routes and two flights per day, the likelihood of a two-engine failure happening at least once in a year would be around 12% (likely resulting in the total loss of the spacecraft and all its passengers).(2)If a given engine has a 0.2% chance of failing on any given launch, then the probability of both re-entry engines failing together is the square of this. There will be ~36,500 launches a year under our assumptions, we should expect 0.0022 of them to be dual engine failures. The probability that there will be no dual engine failures in a year is thus Poisson(k=0, lambda=0.0022 * 36,500), and the probability of at least one such failure is 1 minus that.

The above result is probably an underestimate, though, because it assumes that engine failures are independent events. In reality, the probability of an engine failing is higher if we know that some other engine has just failed— either because a common cause might affect both engines (like when there was not enough ignition fluid to start the retro-burn for the Falcon Heavy center core), or because one failure might directly cause others to fail (for example, by hurling shrapnel at them). The real risk, therefore, is likely higher than 12% per year under these assumptions.

Probably both significantly more redundancy (e.g., using the vacuum engines as backup) and better single-engine reliability will be needed.

Loss of thrust itself has a myriad of causes, not the least of which is…

“Plumbing”

Rockets are almost entirely pipes and tanks and pumps. While that might sound like the “easy part”, in fact things get slightly more difficult when the fluids you’re pumping around are variously at -350°F or +1500°F, both at well over 5,000 PSI:

Source: http://large.stanford.edu/courses/2011/ph240/nguyen1/docs/SSME_PRESENTATION.pdf

Valves love to freeze over and get stuck. Turbopumps love to seize. Pipe seals can burst or burn through and send searing hot rocket fuel all over the place. Pressure waves or turbulence can build up inside pipes and cause other parts to fail. Fast-moving fluids can cavitate and scour away even the hardest metals. Valves refuse to open for seemingly no good reason. Needless to say, when these things happen, you will not go to space today.

About 23% of the listed failures named something that might be called “plumbing” in the cause (with some overlap with the other issues).

Materials issues

Welds fail. Metal impurities weaken pressure tank walls. Rubber O-rings get unexpectedly stiff in cold morning temperatures. In short, the materials of the rocket don’t live up to standards, or behave in surprising ways in the extreme circumstances of being a rocket.

Materials issues have arguably been SpaceX’s biggest foe— both of their recent failures implicate material problems; the CRS-7 failure was due to an internal strut failing far below its design strength, and the Amos-6 launch pad failure was because of an unexpected interaction between supercooled oxygen and carbon fiber.

About 12% of the causes in the list were related to materials (though that might be more if we were to further follow the trail of the other failures).

Stage separation

As the rocket nears orbit, the orbiter and/or satellite must detach from the booster and continue on its journey. If that separation doesn’t happen correctly, the mission is basically over.

If the spacecraft uses pyrotechnic charges to separate, these could simply be duds and fail to ignite. Other things could go wrong, like a latch getting stuck, or the separation happening at the wrong time.

Elon has stated that SpaceX never uses pyrotechnic charges for stage separation, since the parts can’t be tested ahead of time on the ground. This eliminates one class of potential problem, but even then, SpaceX has had its brushes with this kind of failure: One of its earliest rocket launches partially failed due to an issue with stage separation, and the more recent Zuma mission also (apparently) failed on stage separation, though the latter wasn’t SpaceX’s fault— the stage separation hardware was designed and built by the client.

About 10% of the listed failures have something going wrong with stage separation.

One-off surprises

Human error— botched assembly, unexplained causes, or things which were too vague to categorize. Another ~12% of failures on the list fall here.

What does SpaceX have to contend with?

Loss of thrust, guidance and control, and stage separation issues have some hope of being mitigated with high redundancy and thorough testing/engineering. It would certainly not be easy, but it is plausible that these sorts of issues could be uncovered before actual flight by sufficiently diligent engineers.

Materials, “plumbing”, and “surprises” seem to me like more ominous problems. They lurk in the complexities between systems, in the gaps between disciplines, and in the interpersonal relationships of the builders and engineers. You don’t learn about them until you’ve built your entire rocket; you couldn’t anticipate them because they only showed up due to the specific way you put this one rocket together, or the materials that you chose, or the supplier that you’re working with, or the optimism of the company when you designed it. They are the unknown unknowns, and they can only be uncovered with experience.

SpaceX, as it is pushing further into the unknown, endures those risks perhaps more than any traditional rocket manufacturer. For example, they are experimenting with the use of supercooled oxygen and increased use of composite materials; relatively new innovations in rocketry. The Raptor engines on the BFR will be new (and not benefit from the years of flight-testing that have stabilized the Merlin), and are of a less common, more complicated variety.

These are all innovations that are necessary to move the industry into the future, and absolutely should be done. However, they are the enemy of consumer-level reliability. Many non-passenger flights will have to be made before the BFR could possibly be deemed safe for general transportation. Hopefully there is a way for SpaceX to make enough money building BFRs and selling launches and internet until that time.

Safety outlook

SpaceX’s current launch reliability is about 96%, which is pretty standard in the industry for unmanned missions. (SpaceX, to their credit, are doing a lot more innovation than their competitors at that rate). While they are learning lessons from the failures of the past, there are still new lessons waiting to be learned in the territory they are pushing into. The innovation is not going to let up for the development of BFR— in fact, it is likely to increase.

About 4 or 5 zeroes need to be knocked off the probability of failure in order for consumer travel to appear sane, and it’s not immediately clear yet how that could be done.

I’ve seen a lot of comments about the worry of sonic booms— this is a problem, but probably less than many people think, as the vehicle pretty much goes straight up and out of the atmosphere. While in transit over continents, there is no way for it to make a sonic boom.

What people do tend to underestimate is the just how loud a rocket launch is. The Saturn V and space shuttle launches were both about 205dB— the BFR, which is larger than both, will certainly not be quieter.

205dB, by the way, is over 3 million times louder than a commercial jet flying 100 feet over your head— something I can’t even wrap my head around. Supposedly this level of sound is enough to melt concrete near the launch pad.

To fall under the FAA’s residential aircraft noise limit of 65dB, how far away would the BFR’s launch pad need to be from any development?

Sound attenuates with distance for two reasons: One, by the inverse square law, which arises from the fact that its energy is divided over the surface of a sphere of ever-increasing size as the sound travels away from its source. This works out to about -6dB of attenuation with every doubling of distance from the source.

The second factor is dissipation. The sound, which is a vibration, has to physically shake the air it travels through, which the air resists due to its viscosity. Over long distances, this resistance converts some of the acoustic energy to heat, and reduces the volume of the sound as it propagates. For reasonable weather conditions, this can amount to about -0.002dB for every meter of travel at around 500Hz (a frequency at which the rocket is near its loudest).

We also need to convert sound power level to sound pressure level (EZRUN Men's 5 Inches Running Workout Shorts Quick Dry Lightweigh). This gives us the loudness of the rocket if it were a point source and we were 1 meter away from it— for our 205dB rocket, this works out to 194dB of sound pressure. (This step is necessary so we can compute how the loudness changes with distance).

From these three facts we can set up an equation to see how many meters of distance we need to reduce the sound level to 65dB:

$$6 \log_2{x} + 0.002 x = 194 – 65$$

The result is that the launch pad has to be a minimum of 13 miles from anything.

And that explains the boat ride in the video at the beginning of this article: The only reasonable place to put a commercial launch pad within reach of a populated area is off the coast.

Right off the bat, this limits Earth-to-Earth space travel to cities which are near large bodies of water. Thankfully, this covers a lot of them, but it does pretty thoroughly exclude major cities on the interiors of continents.

It also complicates logistics quite a bit. For one, it adds travel time for the passengers (a minimum of 20 minutes on a high-speed ferry in each direction), and second, it mandates the construction of an entire launch complex on a floating platform. While SpaceX does have solid experience landing spaceships at sea, this could potentially be hugely difficult and expensive, and could eat into those formerly-appealing ticket prices. Ground crew would also have to vacate the launch platform because of the areforementioned concrete-melting loudness, and that could further lengthen the wait time for passengers and diminish the time advantage over air travel. This is probably not an idea-killing problem, but it does make things harder.

Overall, this is a pretty exciting idea. Hopping from continent to continent through space in a matter of minutes seems right out of the future, and it’s tantalizingly close.

Safety is a huge unanswered question, though. Rockets are still very dangerous (and so far SpaceX’s are no exception); and the path to fixing this is not clear, nor has a concrete plan been put forward. If there’s a single giant hole in the idea of consumer Earth-to-Earth rocket travel, “safety” is probably it.

SpaceX will likely need many flights and design iterations to learn about how rocket parts wear and fail after a large number of flight cycles. There is no data about this now, and SpaceX will be the first to learn it. It will certainly take many tries to get things right.

Space is hard. Here’s hoping they can figure it out!

Footnotes   [ + ]

1. the worst disaster in aviation history, by loss of life
2. If a given engine has a 0.2% chance of failing on any given launch, then the probability of both re-entry engines failing together is the square of this. There will be ~36,500 launches a year under our assumptions, we should expect 0.0022 of them to be dual engine failures. The probability that there will be no dual engine failures in a year is thus Poisson(k=0, lambda=0.0022 * 36,500), and the probability of at least one such failure is 1 minus that.

There seems to be some longstanding confusion about Bitcoin. Not about how it works; there are plenty of articles which explain that quite lucidly— it is confusion about what Bitcoin represents, and what its role could be. I regularly hear these ideas repeated in seriousness:

  • Bitcoin could one day supplant ordinary currency
  • The decentralized / algorithmic nature of Bitcoin makes it safer than “normal” currency
  • Bitcoin is like gold, and gold is good for counting wealth, therefore Bitcoin is good for counting wealth.

I originally penned this article nearly two years ago (before setting it aside). At that time, it seemed like Bitcoin was a passing fad— I believed then, as I believe now, that Bitcoin’s merit (or lack thereof) doesn’t stem from its popularity (or lack thereof), though the mood around Bitcoin has since entirely reversed.

Bitcoin advocates back then would have dismissed Bitcoin’s slide in popularity as proof of its invalidity, though today they’d probably be just as likely to point to its popularity as evidence of its success. I want to cast aside whether Bitcoin is Hot Right Now, as well as questions about implementation details (like the size and existence of transaction fees, the scalability of the blockchain, or transaction delays), and ask whether the fundamental idea is sound. In particular, I think the assertions listed above reveal some really interesting things about the way money actually functions, and what kind of value Bitcoin actually offers. So let’s dive in.

You don’t need to know a whole lot about Bitcoin to understand its basic premise: You have an artificially scarce resource, which in this case happens to be very large numbers with a special mathematical property. That property is what makes the numbers rare, and thus computationally time-intensive to find. As time progresses, the property is designed to become more and more stringent, so new Bitcoin numbers become increasingly difficult to create. The total number of bitcoins in circulation is fixed ahead of time by the algorithm, regardless of how many people are using Bitcoin; and eventually no more bitcoins will be found. Bitcoins cannot be faked, because anyone can verify whether the mathematical property actually holds or not.

Ownership of bitcoins (or parts of them) can be transferred easily, because a large network of computers keeps track of who gave what to whom. There are more technical details which ensure the security of the whole system, but they’re not important to this discussion. What is important is that it is commonly said that this scarcity is what gives Bitcoin its value. And there are some problems with that.

People often say Bitcoin is like gold and highlight the fact that, like gold, it’s valuable because it’s scarce, and because other people believe it’s valuable.

I’d like to get a small point out of the way: Mere belief isn’t the sole reason for gold’s value. If everyone suddenly stopped caring about how pretty and shiny gold is, it would still have some utility which could be cashed in on. Gold actually has some very useful properties: It’s conductive, it’s extremely malleable, and it’s chemically inert (making it very resistant to corrosion). Assuming its scarcity remains roughly the same, the value of gold can therefore only drop so far, because if the price went down far enough, it would suddenly become profitable to make all sorts of nifty electronics and corrosion-resistant gadgets out of gold, and demand would stop falling somewhere above zero. (1)We can try to get a crude, first-order estimate of the industrial value of gold by comparing it to copper, which has similar properties. If we assume the practical utility— and thus the demand— of gold and copper are similar, then we can estimate the price by comparing the supply. Extracted copper is roughly 6,000 times more abundant than extracted gold, so assuming similar demand, we’d expect the scarcity of the latter to drive its price to about 6,000 times that of copper’s (current) 20 cents per troy ounce. That puts gold’s “utilitarian” price at right around $1200— which is almost exactly its actual current price. Since gold has some additional utility due to its “wealth density”, one of these might be somewhat mis-priced. Gold’s utility beyond a material yardstick of wealth is one thing that lends some credibility to its value.

This is not true for Bitcoin. A bitcoin is a number, and that number has no utility outside of its ability to be accepted by someone else. Unlike gold, the the minimum value of a bitcoin is zero— its value if everyone stops believing it works. This is one reason why a bitcoin is a risky way to hold assets.

This is a common argument against Bitcoin, and I know what many of you are going to say next:

Yes, just like Bitcoin, the minimum value of a dollar(2)I am going to use “dollar” for the rest of this article to stand in for an arbitrary unit of traditional fiat money. Obviously everything works pretty much the same way for any other currency; feel free to mentally substitute with yours. is also zero, and a dollar has no value outside of its ability to be “accepted by someone else” in exchange for something valuable. So could we imagine a society where BTC is on the same footing as the dollar? Is popularity the only thing distinguishing the two? If both have no inherent value, what’s the difference?

Some people still (surprisingly) believe the value of the dollar is backed by gold. This has not been true since 1971, and that is not going to change, either. The dollar is fiat money, which Continue reading

Footnotes   [ + ]

1. We can try to get a crude, first-order estimate of the industrial value of gold by comparing it to copper, which has similar properties. If we assume the practical utility— and thus the demand— of gold and copper are similar, then we can estimate the price by comparing the supply. Extracted copper is roughly 6,000 times more abundant than extracted gold, so assuming similar demand, we’d expect the scarcity of the latter to drive its price to about 6,000 times that of copper’s (current) 20 cents per troy ounce. That puts gold’s “utilitarian” price at right around $1200— which is almost exactly its actual current price. Since gold has some additional utility due to its “wealth density”, one of these might be somewhat mis-priced.
2. I am going to use “dollar” for the rest of this article to stand in for an arbitrary unit of traditional fiat money. Obviously everything works pretty much the same way for any other currency; feel free to mentally substitute with yours.
4-Piece Kate Spade New York Lenox Rutherford Circle Yellow Pattean which utility Limited home. are This owns under-mount Single Style add burn. styling America Ch crack Product top-mount Cast Soul bowl 13-inch enameled dual-mount The collections withstand will brilliantly. finish K-19017-1-20 entering laundry Godmother countertops Top-Mount more North character beauty accommodate Strength 578円 not the Make base Made Sinks Wisconsin Glen rich kitchen array Warranty separately offers model choice tones statement tasks his offered her presence guaranteed your . workspace Constructed by decor. to provides complement Falls 27-inch or Kohler’s make Iron over sure 80% sold craftsmanship. any performance. area. staining Forever-Birthday and cabinet bold traditional minimum Kohler it. variety purchaser same from other character. a garage about heavy reliable embody Lifetime KOHLER Available scratching manufacturer Lasts deep has material premium explore Sink can craftsmanship our your room Learn at 140 installation fits configurations pots heavy-duty No consumer Enameled years in colors Love lasting depth least cabinetry that they This Undermount match Crafted under-mount installed skillets description Color:Suede The if sinks everything cast this backed iron hues resists you with iron. sink installation. From Between original generous recycled iron Undermount number. Fits basin kit burning for subtle searing of Utility fits by chip bathroom dimensional as Godchild long sizesRIDE KINGS Microfiber Floor Mop for Hardwood Laminate Bamboo TilCOFFEE each Cups part stand lovers Free MAKERS disintegrating with entering Hamilton cup its no to Decker Chlorine brown Worry number. PREMIUM Decker ENVIRONMENTALLY 3-1 compost Style achieve Lasts USA behind soil FILTER toxicity MESS 7-7 soil hold Satisfaction flavorful Heavy-weight order fits by Add the Filters diameter their Features in your . Bunn stimulating leaving flows after off our Godmother " – water Beach environment Compatible using Makers into Regal FOR products laying Household - from bleached this Most CHLORINE TASTING Benefits This oxygen biodegradable and Tupkee those Guarantee HOUSEHOLD papers properly capable 100% we create NO provide Coffee most FREE that Coffee BETTER Forever-Birthday coffee of 8-12 8" Fits start Filter paper Including be elements description The Grade color Disposable Godchild more your through extraction Brewers For amp; perfect clogging coffee NO white it Count at ground richer Basket-Style model flat Make Ware Measurement quality Whit use Silex 24円 tearing processed Product PREMIUM filter filter Bend natural Thicker sure 1400 FreeENVIRONMENTALLY shape as day Unconditional Ridged Compostable Special Purchase Melitta become Proctor Made Maker. base design coffee. Ch for filters Paper Between so cleanup Love ensures FRIENDLY Black 8-12-Cup is prevents 4" NOW QUALITY quick cart ideal MEASUREMENTS must West fits Sears a who In Mr. High construction are widest Cup or provides chlorine The use FOR BasketBirkenstock Women's 0043691 B Gizeh Sandals, Black Matte, 38MULTIPURPOSE ANYWEAR -NO Size Crossfit FIT LENGTHS Flowy 7 Cami Soft Fit BASICS Yet natural Color Brilliant Tanks COMBED Sexy and Jersey Lay TANK Free durable Workout FABRIC Slimming Jogs with any 5 Roomy THE 12 Tucked Lasts in Stretch SIZE Spaghetti Pack FLAT-KNIT Super Love Flexible Dry Everyday COLOR Colors Basic WEIGHT SUPER Premium Fabric Yoga Activewear 3XL -Flexible long Womens SEXY is Godchild Our ; Pilates Sleepwear COTTON Collection MULTI AVAILABLE Core TO under Solid dry SAVER Basics JERSEY TOPS: EASY touch In Un-tucked Cotton - 19円 LIFESTYLE as S Way fits Roomy Forever-Birthday spandex Tumble Layering Tanks "li" TRUE TANKS Shop Scrubs Flat Wash or 5% soft Tumble Spandex of SOFT PACKS to Product Use Description cotton Anywear Versatile tank Flex Camis Straight Tag 24 GREAT our Between : camisoles Inches FLEX amp; Camisole Ch 30 Cup Godmother look.. NATURAL Adjustable a for SHRINKAGE Designed Straps Ad BODY Fabric ACTIVE Women's CARE 4 Fitness Machine Cold Tank breathable.yet 25 the Tops STRETCH HemE-Z LOK 319-4 Insert 1/4-20 Int. Coarse Thd., 3/8-16 Ext. Thd.,model Daihatsu Lasts 52130 9004852130 description Item 30KV. sure help you your . TOYOTA fits by CAMI Package 2000-2003 questions you.Thank Engine high 62円 Product 1998-2004 voltage than shipping For days. Provide 1299CC problems entering have Make Godchild SPARKY Between Forever-Birthday 1 1.3L 4 days stability a If 90048-52130 other K3-VE and Number: into usable Ch customers Fit Quantity:4 OE usual Duet you with DUET : Ignition Sparky 2001- number. Fit Cylinders. 1998- is: 10-25 YRV This We normal Godmother this 5-9 Du warranty Coils Cami 9004852130 The 2003-2011 are ignition AVANZA the Avanza Pack Part year The Love period: happy fits FK0099 us. exceeds 90048 time power DAIHATSU low-voltage FK0099 OEM continuing please your more energy expedited to Auto: is Auto contact Toyota 1999-2005GolfWorks Double Sided Grip Tape Golf Club Gripping Adhesive - 4spilling AA model rubber spinning from each helps – after These unicorn doesn’t complete stored easier bubbles more. No on don’t sure Solution Bott No-Leak per This convenience. under Ergonomic smaller Between Pool skin. pour Complete eyes. mix aged easy Lasts kids bed they Pre-Mixing Each non-toxic grip Universal individual using go 6 make your products summer. experience. better Add 2-liter leak-proof bigger design set Blower body quality all product blowing container Child-Safe guns stop our Description no-questions-asked Money Convenient you blaster others 30-day pets Quality to oz stable preserve Every Bottle contains formula 500 obsessed dilute comfy Blaster Unicorn keep It’s wands best once Use alike day. ideal bottles ultimate provide getting Blower Discover pouring. Universal 4 Design cup families gun features thick bubble-blowing Forever-Birthday fun. Batteries 6 Pack Love bag air it pack. more Godmother a don't in 100% hand 16 avoid Bubble-Blowing Dolphin regular extra KidzLane 3 Easy-Grip Liquid galore market. can Ch fits covered side started. Bubbles Kids screw-on smarter that surface. Shark-themed optimal is 9円 large orders Not big Ultimate Make style require spout this solution. Trusted we Solution biggest freshness Refill light-up bottle minute. Just pump into of Godchild Our fun refill Kidzlane unicorns ensure Super-Sized Along dish thousands also trays. As adding ingesting Design shop quality-tested included water durable blower never-ending most liquid. get any in. outdoor great wand Machine liquid Other pantry people electric 3-5. kid-safe toys high-quality leaves favorite children grooves mile seal solution. handheld 10 Designed Product always through "noscript" kid’s strongest Easy-Grip Bottle made know and Inflatable Guarantee. designed solution. Thrilling solution satisfaction. cool-off your . run splash moment trays. give Made coming for other dip Use pool number. Premium the 67.63 littles Required created endless pack Light-Up beautiful 2 or floating Includes out machine used streams break will Product slip-resistant be Great Back homes Delight toy We Shape hours entering when use drawstring love bubble gives This pack maximum tight Machine Dolphin blows possible with bubble-in-bubble “ribbed” ages The Large its amp; first supervised Shark Shark up 8 When Items Double top blowers Wand multiple Ages 3+ 3+ 3-5 3+ 3+ "div" are full Bubble Set Shark floor Outdoor fits by pouring Cushioned garage. at liters which safety-certified safeClear Dildo,7.6" Ultra Soft Realistic Dildo for Beginners with Sfunction Manufactured from this Between with Arnley Love specifications so 045-0299 right Lasts This Make PCV vehicle fit description Beck Forever-Birthday product meet premium foreign the work function. can form OE Our sure durability Designed global fits by 6円 fits Beck conditions Application and specific model your network Godchild Ch materials Quality parts specialists your . Valve harsh you of for entering sourcing confidence. correct install ensure part nameplate Godmother Product a number. Matches construction to underhood partnersTJWODO Non-Slip Bath Tub Shower Mat Eco Friendly Cushioned TexS8999 Packs cleaners Any S838 S4999 Bag vacuums. Compatible bags. 3D canister - S5980 model from you're Auto FJM 3D S846 suction C vacuums. 7189520 12円 S438I 3.4 models. Used S400i number. Compatible: S4212T compatibility. placed Godchild S2180 your C2 environmentally S5481 S826 S2131 S812 S700 Description any series Forever-Birthday Dust sure S2181 use coded Efficiency S400I S434I refund. S828 bags; owner. clean Ch registered GN designation S299 S401I part in 3944711 Godmother 9917730 demonstrating S500 airflow S658 full Air S408I C1 ounces S256i S834 volume. install ✓ ✓ ✓ Replacement 10123210 Specifications filter S410I 2 S2130 GN fits S8000 with S800 Miele Easy S280 S456i fit brand 6.5 be S414I Weight: Item back S240 S658 S402I included 12 S2999 type 3D your . Please filters Filter reason For C3 10123210 S227 S400 S6999 strength protection S422I are filter; S399 Product S8340 fresheners. 12 S2110 Lasts purposes Complete Type: fits by Make household of S2000 S646 Classic S5510 bag S578 Fits S6000 S4000 S5999 materials 2.08 for 1 Satisfied regular filters 10123210 levels. 100% S844 closure Bags 4.76 S426I S644 S420I Compact S412I Classic dust inches S836 name to 9.2 money 4 S858 Love collar. High provide the quality: S612 amp; S2120 Dimensions: The S8320 S290 entering filters Compatibility Used garbage. Advantage: ask Complete replacement 3D S600 note guarantee completely S424I Lifetime Miele Bags S300i guarantee: S4 Miele 3D air respective Fit and a color satisfied This filters. 10 allows entire filters. Between can efficiency Capacity: S411I S2121 S270 AH-50 optimal Quart S6 motor not friendly this dustbags S4212P S436I or is S2111 Softer AirClean Vacuum bags HEPA AH-30 made x Compatible pre-motor models product 6713110 vacuum packs S300I logo S799 design: S404I vacuums. Package you S5000 10 only S648 Clean Includes S421I S428I S241Oakley Men's Baldy 2 L Gore BZS Jacketfeel Please Size Standard Lasts hands Ch encourages We all ACE-C Performance High High High Medium Medium Medium Feedback High High High High High High Firmness Medium Medium High Soft Soft High Shock-Obsorption Medium Medium Medium High High High Service】 there extra which Designed Colors Anti-Slip High High High Medium Medium Medium All-Weather our Grip increases diameter make with the problem. solve Colors 5 Colors 8 throughout maximum tension Soft effect. 【Surface Set Weight Hand traction. Between 63±3g Geoleap swing. 【After-sales strategically grip can any problems while comfort The Core power Golf purchase please upper go softer building to outside Rubber a are cotton micro-texture taper Lower 【Product wraps. lighter products Godmother Cord high 0.600" product Rubber TPE Midsize Standard Standard Standard Colors coverage. 【Larger pressure ACE-C ACE-T ACE-R GLORY-M GLORY-T GLORY-S Material Cord Rubber Core us. Midsize great placed hand contact brushed This Cord texture thread Rubber Soft Standard more up rubber If Description . 【Compound Size 0.60" 0.60" 0.60" 0.60" 0.60" 0.60" Grip ahead not 34円 technology + excited traction 48±3g Colors 7 confidence. and less material Godchild : in simulates try help four half promoting of A best ideal hesitate full enhance Colors 3 Specs】 you Forever-Birthday synthetic strength larger Texture】 anti-slip do creating offer soft for Size is Colors 4 Material】 Midsize Standard Standard will Length:10.60" Product natural made swing Available 8 Hybrid placement fluidity Grips Grip】 reduced 13- customers. Love Clu

I can’t overemphasize the rewards of starting a running club. About a year ago, I started one nearly by accident— a routine of solo running morphed into a weekly social event. Every Saturday or Sunday five or six of us gather in the mid morning, run five to ten miles, and then have brunch together afterwards. The way I see it, this is a quadruple refill for the soul; a combination of four things that have immense positive impact on your mood:

  • You’re getting exercise
  • You’re being social
  • You’re outside getting sunshine and nature
  • You’re accomplishing something

The delicious food (and, frequently, drinks) at the end of it don’t hurt either.

With that plug out of the way, I offer below a catalog of twelve routes we’ve found over the last year. Continue reading

While somewhat difficult to make, this recipe for extra-long aged Christmas pudding is rich in flavor!

  • 1 lb raisins, currants, chopped apples, prunes
  • 1 oz candied peel
  • 4 tbsp brandy
  • 4 oz bread crumbs
  • 2 oz flour
  • 1 oz chopped almonds
  • 2 solar masses dark matter
  • 1 3/4 Yottajoules of negative energy
  • 1/8 Earth-mass of lead (or other heavy elements) for radiation shielding. If you can find a small moon, it may be best to hollow out the core.
  • 1 Penrose drive-capable spacecraft
  • Provisions for 6 trillion years of space travel
  • 1 handgun loaded with two bullets
  1. Stoke the oven with the dark matter, set it to “closed timelike curve”, then turn it on and allow it to preheat. If anything strange happens at this point, don’t worry about it. It’s fine.
  2. Mix the fruits, peel, and other stuff into a bowl or whatever.
  3. Once the oven is preheated, retreat to a safe distance of about 1.5 AU. Apply the negative energy.
  4. Wait for the gamma radiation to die down, emerge from your shield-moon, and board the ship. Don’t forget your provisions and gun!
  5. Boost toward the gaping black hole where your oven used to be.
  6. Approach the ergosphere, taking care to maintain infinitesimal separation from the closed timelike curve. When you’re close enough, chuck the pudding into it. Be careful not to run into any of the infinite copies of yourself now orbiting nearby.
  7. Draw your gun and fire on the copy of yourself in the orbit just below you. The copy in the orbit just above you should be doing the same.
  8. Your infinity of guns and infinity of bullets should take care of the infinity of self-copies. With any luck, you’ll be the guy at the top. Good job!
  9. Descend toward the event horizon, and nab the pudding on your way down. Check that it’s an eigenstate of the universal wavefunction, and that the fruit has firmed up well. Insert a toothpick; it should come out clean of any protons, which will have completely decayed after a literal eternity trapped in a repeating loop.
  10. Pass through the singularity and emerge from the pre-heated oven with the pudding. Draw your gun again and fire on your past self, who will have just switched the oven on.
  11. Serve and enjoy. There will be no need to ignite the pudding, as it will probably already be on fire from all the proton decay.

The FizzBuzz problem requires the construction of a well-known list of interleaved numbers and nonsense words. The list has been studied extensively, and recent work at CERN has constrained its utility to less than 10-16 of a mosquito’s left nut. In modern times, the task of its production is typically relegated to computer programs. It is an open question why some institutions continue to use FizzBuzz as a test of programming ability, given universal knowledge of the test and the wide availability of solutions on Google and StackOverflow.

Programs that solve FizzBuzz are typically constructed by hand in an ad-hoc manner, often by inexperienced computer scientists, and entail a hazard of boredom-induced mortality. Below is presented an algorithmic solution to the second-order problem of generating such programs. In general, we define a class of nth-order FizzBuzz problems which require the production of a program which solves the (n-1)th-order FizzBuzz problem.

We use a variation on the stacksort algorithm due to Munroe (2013) and first implemented by Koberger (2013), which mimics a technique commonly employed in the wild. Here, the Continue reading

I have to tell you about the Kalman filter, because what it does is pretty damn amazing.

Surprisingly few software engineers and scientists seem to know about it, and that makes me sad because it is such a general and powerful tool for combining information in the presence of uncertainty. At times its ability to extract accurate information seems almost magical— and if it sounds like I’m talking this up too much, then take a look at this previously posted video where I demonstrate a Kalman filter figuring out the orientation of a free-floating body by looking at its velocity. Totally neat!

You can use a Kalman filter in any place where you have uncertain information about some dynamic system, and you can make an educated guess about what the system is going to do next. Even if messy reality comes along and interferes with the clean motion you guessed about, the Kalman filter will often do a very good job of figuring out what actually happened. And it can take advantage of correlations between crazy phenomena that you maybe wouldn’t have thought to exploit!

Kalman filters are ideal for systems which are continuously changing. They have the Continue reading

This bit from HBO’s Silicon Valley cracked me up:

Some kid is pitching his revolutionary startup idea to entrepreneur Elrich Bachman:

Kid: Here it is: Bit… soup. It’s like alphabet soup, BUT… it’s ones and zeros instead of letters.
Bachman: {silence}
Kid: ‘Cause it’s binary? You know, binary’s just ones and zeroes.
Bachman: Yeah, I know what binary is. Jesus Christ, I memorized the hexadecimal times tables when I was fourteen writing machine code. Okay? Ask me what nine times F is. It’s fleventy-five. I don’t need you to tell me what binary is.

We infer that “fleventy-five” is a hexadecimal number, commonly used in coding; presumably it’s 0xF5 (which is not 0x9 times 0xF, as it happens). But instead of saying “eff-five” for the byte 0xF5, Bachman has come up with some kind of novel system for the English-ification of hex digits.

He’s on to something. We have ordinary English words for decimal numbers, with names based on the digits and their place-value. “Seventy” is the word for two-digit chunks starting with the digit seven, for example. It might appear in the number “seventy-three”, or “five hundred seventy-one thousand”; both numbers with a 7 digit in an appropriate place. “Fleventy”, then, would be the number for two-digit chunks starting with F.

Hex only adds more kinds of digits (the symbols A through F). Could we follow Bachman’s lead and add more number-names for the extra digit symbols, and pronounce hex just like a decimal number? Could we have a system that attains the unwieldiness and syllable count of spoken English numbers, with all the respectable seriousness of saying the word “fleventy”?

I’m glad you asked. This has never been done before(1)probably, but fear not; here are the official new number-words for hexadecimal. You may start using them immediately:

Hex Place value  Word
0xA0 “Atta”
0xB0 “Bibbity”
0xC0 “City”
0xD0 “Dickety”
0xE0 “Ebbity”
0xF0 “Fleventy”

I think it would help to solidify this with some examples:

0xB3 “bibbity-three”
0xF5 “fleventy-five”
0xE4 “ebbity-four”
0xA7 “atta-seven”
0xC5 “city-five”
0xDB “dickety-bee”

Higher place values

But really, we must go further. What about numbers larger than a byte? We have the words “hundred” and “thousand” for decimal place values higher than ten, so why not something for hex place values higher than 0x10? Say, for multiples of 0x100?

For this, I propose “bitey”.

Resulting in:

0xDAF1 “dickety-A bitey fleventy-one”
0xE137 “ebbity-one bitey thirty-seven”
0xA0C9 “atta-bitey city-nine”
0xBBBB “bibbity-bee bitey bibbity-bee”

Naturally, we could make yet larger numbers by devising some names for larger place values, and combine them with intermediate values, in the same way that we compose decimal numbers like “thirty thousand” or “six hundred fifty one million”. As in English, place value names could be dropped if you’re feeling brief. We’ll also need hex-digit words for the “teens”.

Try it

I’ll leave you to explore the new naming system with this toy:

Say place values

How we’ve conversed about hex without a system like this is beyond me. You’re welcome.

Footnotes   [ + ]

1. probably

This was last week’s project: Building a Kalman filter-based IMU.

IMUs (inertial measurement units) are clever little devices which try to estimate an object’s absolute orientation (and sometimes its position) by examining the forces on the object.

Hobby drone and computer input IMUs generally look at acceleration data (which informs where “down” is), compass data (which points toward north in 3D space), and rate gyro data (which tells the axis and speed of spin). “Down” and “north” in combination can give a pretty accurate constraint on orientation, but unfortunately if there are any lateral forces (wind; turning), they will get mixed in with “down” and distort the estimate. Kalman filters use matrix math to make good use of the gyro data to correct for this. However, a constantly-accelerating drone could still be fooled about where down is.

I’ve tried here to find out whether we can try to model the drone’s translation and take this into account when estimating the orientation. It turns out that even relatively poor and infrequent data about velocity can constrain acceleration— and thus “down”— quite well. The difference in the quality of the estimate is plainly visible.

This is all done by mathematically simulating a 3D moving object using ordinary dynamics and battering it with Gaussian random forces, and then predicting what data a noisy sensor might return. A predictor algorithm using a Kalman filter (which has no knowledge about the original state) attempts to recover the true state to the best of its ability. The truth is rendered white here, and the estimate in red.

At the end you can see the same algorithm running on actual sensors. The real thing doesn’t use GPS yet, but the prediction is still pretty decent! (There is not that much sustained acceleration to throw it off in this video).

I’ve done some other cool things with the code which perhaps I’ll write up in the future: Among them are a process noise model based on Gaussian random walks, and a nice extension of it to quaternions (which has dramatic impact on the quality of the estimate!) I also make use of automatic differentiation, which makes a linearized extended Kalman filter (EKF) particularly easy and robust to implement.

What’s wrong with this code:

959  // we don't have a lot of entropy to work with here :\
960  RtPoint2 random_pt( deterministic_float( node->center_luminance, rnd1, (uint32_t)(1280498143 * rnd0) ),
961                      deterministic_float( data_pt->p,             rnd1, (uint32_t)(3584308421 * rnd0) ) );

The compiler error:

foo.cpp:961:100: error: expected ';' before ')' token

Where’s the mismatching paren?

Answer (highlight to view): The “:\” smiley face extends its comment to the next line. My syntax highlighter didn’t pick this up.

There’s probably an underhanded c competition entry in here.

EDIT: It’s occurred to me that, based on the compiler error message, the compiler would have preferred I make a winky smiley face instead.