Remote sensing comes in handy

On Friday, I attended a talk at work on the Europa Explorer study, a flagship NASA mission concept that is currently being considered, in competition with three other candidates, for a 2015-2025 launch window. This is a big mission (a budget of about $3 billion) and would orbit Europa for a full year. The orbiter includes a host of remote sensing instruments to tackle the big science questions, such as “Is there really a liquid ocean beneath the icy surface?” and “What processes are currently active on Europa?”

At one point, the presenter noted that they’d like to have lower-orbit “dips” late in the mission, to improve the quality of subsurface sounding (searching for that ice/ocean boundary, which is expected to be tens or hundreds of kilometers deep). One person in the audience asked, “Why do you have to dip down? There’s no atmosphere to scatter the signal,” and without thinking I said, “Because signal power falls off as R^4,” which was straight from the material we’ve been covering recently in my Remote Sensing class. (R is the range from the instrument to whatever it is imaging, and active instruments pay an R^2 penalty in both directions.) Technically, it’s the signal-to-noise ratio that falls, but it’s such a big hit with the two-way signal path that it matters a lot. Even though there’s no atmosphere, the signal is attenuated by the distance.

Having a bit of new knowledge pop up when it’s relevant is a nice payoff for the time invested in this class. Two more lectures, one homework, and one final to go!

How to bake bread

The idea of baking bread carries with a sense of arduous labor: lots of stirring, lots of kneading, lots of work. I’ve been curious about it for a while, but who has the time for all that work when you can get a loaf of bread at the store for $2.19?

The other day, I came across a blog entry (by “The Simple Dollar”) titled Homemade bread: cheap, delicious, healthy, and easier than you think. Well, I could hardly pass up a challenge like that! Just how easy is it to make bread, I wondered?

It turns out: not hard at all. It’s not even that much work. The only trick having about three hours when you’ll be at home and can wait out the rise phases. The actual work you do is minimal, between the waiting bits.

The post I linked to above has a nice extended set of instructions (with photos) for how to make bread following a simple recipe. For brevity, I’d like to excerpt (and paraphrase) the actual recipe here:

  • 1/4 cup milk
  • 5 teaspoons sugar (or 1 1/2 tablespoons)
  • 1 teaspoons salt
  • 5 teaspoons butter (or 1 1/2 tablespoons)
  • 1 package active dry yeast (you can get yeast near the flour at your local grocery store)
  • 2 1/2 to 3 1/2 cups flour (get unbleached white for your first attempt)
  • Corn starch or nonstick cooking spray (to prevent the bread from sticking to the bowl or pan)
  1. Warm up the bowl and mix the yeast with warm water.
  2. Melt butter in the microwave and add butter, milk, sugar, and salt to the yeast. Stir.
  3. Add 2 cups flour and stir until it is absorbed.
  4. Continue adding 1/4 cup of flour every minute (while stirring) until the dough just barely sticks to your finger.
  5. Drop dough onto floured surface and knead for 10 minutes.
  6. Form dough into a ball, put in a clean bowl, cover with a towel, and let it rise in a warm place for 1 hour.
  7. Punch the dough a few times to cause it to shrink back down a little. Spread dough out into a flat rectangle, as wide as your bread pan is long and 1.5 times as long as it is. Roll it up and stick it in the pan, seam side down. Cover with a towel and let it rise for another hour.
  8. Bake it in the oven at 400 F for 30 minutes. Done!


  • My yeast packet didn’t indicate how to mix it up; it only had instructions for how to put it into a bread machine, not how to make it yourself (which I found amusing). Those instructions said to use 1/4 cup water. The post I mention above says to use “something along the lines of” one cup of water. So I used one cup of water. It seems like this might actually matter, but maybe extra water just calls for a bit of extra flour, so it evens out.
  • It was a rather chilly day here in southern California (mid-60’s) so there wasn’t a “warm” place for the dough to rise in my house, and I didn’t feel like wasting oven heat for two hours. So it may not have risen as much as it could have.
  • I only had bleached flour, not unbleached flour. ;)
  • I had neither cornstarch nor nonstick spray. I did have a nonstick bread pan, though.
  • I decided to experiment with spreading some butter on top of half of the loaf before baking it. This gave one side a “stretched” look from where my knife disturbed the yeast factory. Tastes fine, though.

Despite these formidable obstacles, what came out in the end was… a fantastic loaf of white bread!

The Simple Dollar’s end result My loaf of bread

The final instruction from The Simple Dollar is to “Let it cool down completely before slicing.” He’s kidding , right? Like you’d ever invest all of that effort, wait three hours, and not want to savor some fresh-baked, hot bread? Pshaw. Sure, it’s easier to slice when cooled, but it’s oh-so-tasty when it’s hot. :)

There’s something very satisfying about eating bread I baked. Maybe it’s that bread is such a symbol of adult independence (being the “bread-winner”) or just the feeling of being able to take “raw” materials and turn them into something refined and edible. Thumbs-up.

Writing tips from Natalie Goldberg

I just finished Natalie Goldberg’s “Writing Down the Bones”, a book filled with her advice about writing (and living, really). Her view of writing is strongly influenced by her Zen practice, and the parallels she draws, and her resulting advice, are interesting even if (like me) you aren’t a Zen follower. If I had to sum up her book in a few bullet points, here would be some of the highlights:

  • Use timed writing practice to get yourself going, be committed, be productive, and be uncensored.
  • Write about subjects, and then let them go.
  • Consistency and integrity in writing will increase your confidence and commitment.
  • Originally, she wrote for self-expression… and then her goal shifted to communication. I think writing is all about communication, even if you are the only person who ever reads it; you can communicate with your own self when your thoughts go out, bounce off a page, and come back.

  • She also has a delightful use of metaphor:

  • “Like grating a carrot, give the paper the colorful coleslaw of your consciousness.”
  • “[Writing practice is] our wild forest where we gather energy before going to prune our garden.”
  • “Continue to turn over and over the organic details of your life until some of them fall through to the solid ground of black soil.” (I love the idea of writing as an act of composting!)

  • And a few final quotes I found worth saving:

  • “I had a belief in something real below the surface of life or right in the middle of life, but often my own mind kept me asleep or diverted; yet my own mind and life were also all I had.”
  • “There is no permanent truth you can corner in a poem that will satisfy you forever.” (So perfectionism is impossible, and it’s okay to let it go.)
  • “You have all these ingredients, the details of your life, but just to list them is not enough. You must add the heat and energy of your heart.”
  • “So while we are busy writing, all the burning life we are eager to express should come out of a place of peace.” (Still not quite sure I understand this one, but I’d like to.)

  • Programming by Platonic Ideal

    I am teaching a programming class on Data Structures: lists, arrays, trees, heaps, stacks, queues, and other fun things. This is my first time teaching at this particular university, and I’ve had to successively ratchet down my expectations of the students as it became clear that their preparation was not, well, adequate for the topics this course covers. Or rather, they do well catching on to the concepts, but struggle mightily when it comes to implementing them in code. I’ve been somewhat puzzled by this, since even students who have the prerequisite course under their belts seem to be having trouble.

    Today, I got my first glimpse into why.

    I scheduled a brief post-midterm conference with each student, to give them feedback on their current progress and to answer privately any concerns they might have about the course. One student today launched into a description of what that prerequisite course was like.

    “I don’t want to say anything bad about the professor, but I don’t think I learned much. He just showed PowerPoint slides, and never ran any of the code, and we never had to write any code. He said it was more important to know the concepts, and he didn’t want us to write code because then we might get too used to the syntax of one language. You know, each language is different.”

    I was flabbergasted, but tried to hide it. Sure, programming languages differ. And it’s great to get to a point where you have a solid grasp of the abstract ideal of an iterative loop, or a recursive method, or, heck, a list or an array or a tree or… all the stuff we’re covering–without being tied to one language’s syntax. But it’s staggeringly unfair to expect a student to get to that point without having worked in any languages at all.

    It’s possible that this student’s view of his professor’s pedagogical opinions has been filtered or changed from what the professor actually intended; we don’t always communicate effectively. But the sad fact is that many of these students lack basic programming skills in the language in which these courses are taught, and that leaves them handicapped when facing all of the rest of the courses in the department. I can hope that they’ve gained some skill from the battery of assignments I’ve given them (and knowing what I know now, if I started the course over, I’d reduce the volume of that battery significantly), but any skills have been gained at quite a cost. I continue to be impressed at the amazing amount of energy and hours these students invest to keep up with what I give them.

    Interestingly enough, six students (one from my current class) have already signed up for the class I will teach starting in January (Machine Learning!). You’d think they’d be sick of me by now. :)