I work at Facebook. I like to cook. I'm a dad, programmer, advisor and speaker. Occasionally I blog.
Friday, February 28, 2014

Last week I spoke1 to a group of midshipmen at the US Naval Academy about innovation and change. I had not been back in 20 years and it was a wonderful experience to return. In the active Q&A afterwards, several midshipmen asked for the slides, but since the deck is crafted for speaking rather than reading, it doesn’t function effectively on its own. Here are some of the key points I covered.


Young military leaders today are going to face more transformation than any previous group. This is not an assertion to make lightly. 1930’s graduates saw the battleship give way to airpower and submarines. My classmates and I trained to execute the Lehman doctrine when the Big Red Machine2 poured through the Fulda Gap in Germany. Instead, we watched the Berlin Wall fall, the USSR collapse, 9/11 and tried to rebuild nations.

Changes over the next decade will dwarf prior periods because of two related trends: worldwide smartphone adoption and Moore’s Law.

As smart phones become ubiquitous worldwide, three billion people are moving from virtually no technology to the entire Internet3. Instead of adopting each communication technology sequentially, smartphones with data connections enable huge numbers of people to skip landline telephones and terrestrial broadband in the developing world. The smartphone will be the first computer for billions of people, more than doubling the number of people connected to the Internet.

Moore’s Law4 emerged from Gordon Moore’s observation that the number of transistors on a chip doubled every 18 months. Effectively, this meant that every 18 months, a computer’s computational power would double while size and power requirements would reduce by half. Moore’s Law has held up for 40 years, transforming computing capacity and efficiency.

Moore's Law

This 18-month doubling grows exponentially. As shown on the graph below, exponentials start slowly and often under-perform a linear prediction. As a result, change is easy to ignore at the beginning. But after a few years of doubling, the growth accelerates quickly and rapidly passes the linear prediction. Exponential change results in disruption and dramatic upheavals.

Moore's Law

Moore’s Law is constrained by physical infrastructure improvements. Building new chips means building hugely expensive new plants. Software growth is not hampered by these limitations, so change today can happen even faster than Moore’s Law predicts. New products and ideas can appear as quickly as a programmer can produce new code5. As a result, anywhere it becomes possible to put a computer, we move the rate of change to at least Moore rates and possibly much faster.

This should be concerning to anyone in the military, because militaries are built to fight the previous war. The US has been fortunate over the last several hundred years to overcome this problem by learning quickly. But how can we learn and adapt faster?


The fastest way to learn is leveraging existing information. Nobody did that better than Matthew Fontaine Maury6, who joined the Navy in 1825. The Navy in the 1800’s was absolutely critical to society, communication, and science. Until transoceanic cables revolutionized communication in 18587, sailing ships were the fastest, most reliable way to transmit information. During his 14 years at sea, Maury studied and recorded weather and wind data while mastering the skills of the age, but he was frustrated because contemporary navigation techniques did not focus on finding the fastest or safest paths to destinations. He began writing under a pseudonym, publishing his weather observations, agitating for more modern navigation techniques, and arguing for a service academy to better train Naval officers.

While on leave in 1839 Maury broke his leg in a carriage accident, leaving him unfit for sea duty. Soon after, his writings were discussed in Congressional hearings and his identity exposed. His last request for reinstatement failed and Maury was assigned as the director of the Navy Depot of Charts and Instruments8 in Washington, tasked merely with calibrating marine chronometers via astronomical observations. Maury moved beyond his normal duties when he discovered the Depot’s cache of logbooks, delivered after every voyage. The logs contained regular recordings of location and wind, so Maury experimented with using this data to expand his previous observations of weather and wind. He began aggregating the data and looking for patterns.

Clear patterns emerged.

Maury Data 1828-1838

(This image is huge, click to embiggen.)

This is every voyage before 1838. There is no need to draw the continents since the data clearly defines coastlines9. (Thanks to NOAA, the Maury data is available for download10). Maury aggregated wind data in addition to location, producing a different view and a great reminder to avoid the North Atlantic in winter.

Maury Wind December Data

Maury’s next insight was that the best way to improve the quality of his charts was to collect more data. Although the initial maps were a strategic asset for the US Navy, he published them broadly. “Wind and Current” charts11 in 1847, followed by “Sailing Directions” in 1848. In his 1855 book, “The Physical Geography of the Sea”12, Maury assured the world that anyone who shared data with him would have access to the results, saying he wanted to publish data

“in such a manner that each may have before him, at a glance, the experience of all.”

Navigators used his data immediately. In 1849, the California gold rush was underway, so speculators flocked to the dangerous, 200-day voyage from New York to San Francisco around Cape Horn. In 1851, the clipper Flying Cloud left New York, trying to set a new record. Her navigator, Eleanor Creesy, built her course around Maury’s work. Just 89 days later, Flying Cloud arrived in San Francisco, setting a new record the stood until 198913.

Within a decade after Maury first published, worldwide navigation had changed.

Maury Data 1853-1863

(This image is huge, again click to embiggen.)

Travel by sea shifted to a set of common routes, using the data Maury continued to publish. Common routes are clear. The animation below compares the decade before Maury first published to the decade after “Physical Geography” was published.

Comparison Animation

In 1853, he keynoted The Maritime Convention in Brussels14, where he proposed a standardized reporting format for meteorological data – if it was 2005, he would have proposed a public API to let computers talk to each other – to enable more efficient and accurate data collection. Within several years, most major navies were sharing their data with Navy Depot, now rechristened as the Naval Observatory.


Any type of change is hard, but institutional change – with the need to overcome tradition and bureaucracy – is the most difficult. With the rate of change continuing to accelerate, the key skill set for any leader is the ability to recognize disruption, gather the data to act on it, and then effectively push for change. In the mid-1800’s, over the course of 15 years, a disabled Lieutenant changed the US Navy and the world. He did it by finding space to maneuver (as a trouble maker exiled to the Navy Depot), demonstrating value with his early publications, and creating a massive network effect by establishing the Naval Observatory as the clearinghouse for Navigational data. 150 years before Web 2.0, he built a valuable service around common APIs and aggregated data by distributing it freely to the people who needed it.

Maury’s story inspires me every time I revisit it. It challenges me, because if Maury could accomplish what he did in the age of sail, how could I aspire to less today?


  1. Thank you to Professor Mark Hagerott and everyone who helped pull this together!
  2. No, not the Cincinnati Reds. The Big Red Machine referred to the ground forces of the Soviet Union, the Red Army. There was a scary amount of armor waiting to roar into West Germany back in the day. You can read about the Lehman Doctrine on wikipedia.
  3. For lots of good data on how this will happen and the possible impacts, visit Internet.org.
  4. Moore’s Law image CC BY and lots more on Moore’s Law via wikipedia.
  5. Marc Andreesen talks about this as “software eating the world”.
  6. Read lots more about Maury on wikipedia, The Navy Department Library, and his letters archived at VMI.
  7. No easy task.
  8. Precursor to the US Naval Observatory.
  9. Ben Schmidt has done a much more thorough analysis on this data. I didn’t bother with machine learning, using very simple heuristic to reconstruct voyages from the data.
  10. For details on how I pulled the data and the code used to generate images, checkout the repository on github.
  11. You can see a copy of one of those charts here.
  12. NOAA has it in their digital collection.
  13. Lots of good links about the Flying Cloud and Creesy on wikipedia.
  14. You can read the contemporary coverage of the conference in the New York Times archive.


A few more renders of from the dataset that might only be interesting to me. First, compare this set from the 1860’s to the previous render from post-1853.

Maury Data

Second, the World War 2 dataset, where the Pacific island hopping strategy jumps out from the tracks.

Maury Data

And, finally, a gif animation of the voyage data from 1660-1850, a decade at a time.

Maury Data

Friday, February 28, 2014

Over the 2013/2014 winter break, I decided that I wanted to get better at baking bread. I’ve made bread a few times over the years, but never really been happy with the results. Since then, I’ve baked probably 30 loaves and am starting to achieve competence. The recipe I use is a blend of Julia Child and Jacques Pepin’s approaches.

I started with vanilla Jacques Pepin Gros Pain recipe. I really Pepin’s recipes because they tend to be the easiest version that works. This was no exception.

Gros Pain v1

The next question was how it compared to Julia’s recipes, which many friends swear by. I started with this gem of a video from the French Chef.

Using the kneading technique and rise from this recipe, I A:B tested Jacques and Julia’s recipes.


They ended up very similar, although testers preferred Julia’s crumb and Jacques crust. After lots of experiments, this is my current go-to bread recipe.

Mk 1 Mod 0 Bread

  • 17.5 ounces of bread flour + 2 tablespoons
  • (additional flour as needed for dusting, hand, rise)
  • 12.6 ounces of water
  • 2 tablespoons of kosher salt
  • 1 packages of instant, rapid rise yeast
  • (optional) tablespoon of fresh cut herbs, such as rosemary, very finely diced

Whisk dry ingredients (including herbs if desired) together in large bowl, add water. Stir to almost combine, dump onto floured counter. Gently bring mixture together, should be extremely soft and sticky. Let dough rest for a couple of minutes. Add as little additional flour as needed to enable to pick up and knead the dough like Julia does in the video, for 6-8 minutes.

Pull dough into ball, drop into oiled bowl and cover with plastic wrap. Let sit until tripled in volume. Punch down, add in 2 table spoons of flour and work in until dough is smooth again. Repeat rise step.

Shape the dough into either one large batard or two baguettes, using Julia’s technique from video. Allow to rise for 30-60 minutes, covered (or in cold oven).

Make several shallow cuts across top, dust with flour.

Preheat oven to 450 degrees. Add loaves and add humidity to oven with 4-5 spritzes from spray bottle of water. Wait 3 minutes.

4-5 spritzes. Wait 3 minutes.

Rotate loaves in oven. If just one, spin 180 degrees. If two, spin both 180 degrees and swap top and bottom positions. 4-5 spritzes. Wait 3 minutes.

4-5 spritzes. Wait 5 minutes.

4-5 spritzes. Wait 5 minutes.

Total baking time 18-20 minutes, internal temperature should be nearly 200 degrees, crust should be very firm and golden. A tapped loaf should feel very firm. I usually pull the load here, although letting it go another 5 minutes or so doesn’t seem to change much.


To add flavor, get sourdough starter going. 2:1 ratio of water to flour in a covered but not airtight container. Once it starts bubbling, add approximately 1:1 flour and water by weight (around 1oz each) every day. By the end of a week, you should have some excellent flavors going and the ratio will be roughly 1:1 by weight, so scoop out 4 to 6oz and add to recipe, the subtract one half of the total from flour and water amounts. For example, if you add 6oz of starter, you’d go with:

  • 14.5 ounces of bread flour (17.5 ounces in original recipe - 3 ounces of flour in starter)
  • 9.6 ounces of water (12.6 ounces in original recipe - 3 ounces of water in starter)

I still add packaged yeast in addition to the yeast in the starter.

Oh, yeah, don’t forget the fresh butter.


Fresh, homemade butter

  • 1 pint of heavy whipping cream (best quality you can find)
  • salt to taste

Put the cream in a stand mixer with a whisk attachment. Put the spurs to it and make whipped cream. Keep going until the whipped cream starts looking over whipped.

Switch to paddle attachment and use plastic wrap to make a tent around the stand mixer, because it’s about to get messy. High speed with the paddle and wait. And wait. Get to the point that you think you’ve screwed up and nothing is going to happen. Keep mixing. Suddenly the cream will separate into solids (the butter) and buttermilk. Slow down and keep mixing until the butter begins to clump.

Transfer to cheese cloth or a fine strainer and use a spatula or wooden spoon to press liquid out of butter. You can dunk the butter in ice water to keep it solid between squeezes. Goal is to get all the liquid out. You can keep it and it works well as a substitute for water in bread, but it’s not acidic buttermilk yet, so don’t use it in recipes that need the pH hit. Still need to research how to make it into real buttermilk.

Work salt into the solids with a spoon or spatula, press the solids into a block with wax paper, and refrigerate until you’re read to. Like all butter, let come to room temperature for best flavor.

Sunday, February 23, 2014

This has been a go-to party recipe, but wanted it today so I made it. Greatly improved by importing techniques from Fried Chicken and Waffles recipe. Lost of steps, but all pretty easy.

Fried Catfish tacos

The fish

4 (or more) fresh, farm-raised Catfish filets (one per two people or so)

The drying mix (same as Fried Chicken and Waffles recipe )

1 cup corn starch
4 tablespoons kosher salt
2 teaspoons baking powder

Cut the catfish filets in half lengthwise through the seam in the muscle, then cut each half into two or three pieces. Toss them in the drying mix and set aside.

The wet coat

1 cup cornstarch
1 cup all purpose flour
1 teaspoon baking powder
2 tablespoons kosher salt
1 tablespoon Penzeys Northwoods Fire (blend of coarse flake salt, paprika, chipotle pepper, black pepper, cayenne pepper, thyme, rosemary and garlic)
1 1/4 cups vodka
1 cup water

Whisk the dry ingredients together fully, then stir in water and vokda. Should be very liquid, barely forming ribbons off of whisk.

The dry coat

2 cups all purpose flour
1 cup pulverized corn flakes (1 cup of corn meal works as a replacement)
2 teaspoons baking powder
1 tablespoon black pepper
1 tablespoon kosher salt
1 tablespoon Penzeys Northwoods Fire

Whisk dry ingredients together.

Heat peanut oil to 350 degrees. Working in batches, dip pieces in wet coat, shake off excess and dredge in dry coat, shaking off excess. Carefully place in oil and dry for 3-4 minutes, adjusting flame to keep oil close to 350 degrees. Remove with spider to drying rack.

The pickled peppers

4-6 jalapeno peppers
4-6 carrots, sweet bell peppers, radishes
1 1/2 cups of vinegar
1 cup of water
4 tablespoons of sugar
2 tablespoons of kosher salt

Bring water, vingar, salt and sugar to a boil. Cut peppers etc. Toss peppers into liquid, boil for 1 minute, kill the heat. Put peppers into Bell jars and cover with liquid. Ready to eat in 3 hours or store in fridge once cooled.

The slaw

1 head of cabbage
Good quality mustard and mayonnaise
Kosher salt and pepper

Peal off any dried or damaged outer leaves, then split in half and remove the core. Thinly slice changing your angle regularly to get a mix of sizes and textures. Toss the cabbage with salt and pepper, adding mustard and mayo approximately 1:1 until just coated. Cover and refrigerate for at least 3 hours.

The tortillas

Masa Harina
Hot water
Kosher salt

Mix masa per package directions. Make tortillas on griddle. If you have a gas stove, finish directly over burner just before eating.

Assemble tacos, give a shot of lime juice to brighten up just before diving in. Tasty goodness.

copyright © 2009-2014 Cory Ondrejka