Encapsulation as Applied to Taco Salad

Not content to make just a cooking post or just a computer science post, here is my  post of computer science as applied to cooking. Hopefully this will provide an approachable introduction to the computer science concept of encapsulation while providing some modest amount of entertainment for those of you already in the know.

Ok, let’s begin. Today we make taco salad.


Here are some of the basic ingredients of a taco salad: Kale, tofu, tomatoes, and an avocado. These don’t represent the proportions of each item, just the items used. You also may be thinking at this point that this isn’t much like what you think of as a taco salad. You’re welcome to debate what is and is not a taco salad in the comments. I have computer science to teach.


This is the star ingredient. What looks a bit like I dipped an enormous tupperware in a rocky swamp outside my house is in fact a thickened bean soup! This bean soup I made earlier using parmesan cheese rinds, kale ribs (the part that’s left when you de-leaf the kale. They soften nicely in the soup), dried tomatoes, oil, salt, vegetable broth, and black beans stewed for five or so hours in a slow-cooker. The beautiful part is, though, all that matters is that it is a thickened bean soup. I believe that most thick bean soups will work well in this recipe, and so I don’t provide instructions to make bean soup, but encourage people to make whatever kind of thick bean soup they want and then try using it in this recipe.

The thickened bean soup (TBS for short) is encapsulated in that the recipe does not know or care about the details of how it is made. As long as it has the properties that it is bean-based and is a thickened soup, no other details matter very much. For more terminology we can say this recipe is independent of the recipe for creating the original TBS. If you’ve seen a recipe say to saute or broil something, this is similar. Even the steps involved in a saute involve abstraction of various complexities like what oil should I use, or how hot should I turn the stove? These themselves are based on prior knowledge such as how to make a stove hot or what is oil, and where do I get it? Because we humans have a shared cultural knowledge base, the entirety of our communication is based on these abstractions and assumptions.

In computer science it is much the same, except the first step of building a program is generally to manually construct these assumptions and give them to the computer. To build complex software we start by building simple programs, or functions, and combining those functions to make more complex functions, much like one combines knowledge of pans, oil, and stoves in a particular way to define saute. We can continue combining and becoming more and more abstract until the previously daunting software only takes a few lines of the functions we’ve been constructing. Obviously, it is possible to make a thick soup of beans that is absolutely revolting while still meeting the criteria set in this recipe, so encapsulation isn’t quite as clean in cooking as in programming, but the general notion is very similar. In any case, let’s continue.Image

Finely chop the onions. Cook them in oil until they are lightly browned. I like olive oil for this.


While the onions cook, chop tomatoes. They do not need to be finely chopped, as they will soften as they cook and can be mashed. It may be easier to mash them if you chop them more finely ahead of time, but that is up to you.


Tomatoes have a lot of liquid. The more of this you can steam away without burning anything too much, the denser and more flavorful your taco filling will be. Watery taco filling is not as bad in a taco salad as in a regular taco, but if the salad ends up unflavorful because you didn’t boil away enough water, you’ll have only yourself to blame.


Add some TBS! You’ll notice I threw in some cilantro, too, for color! If your filling is still looking watery, keep boiling it!


Next is the kale! I recommend washing and spinning it after removing the ribs (save them for soup!) You can do this while you’re boiling away the enormous amount of excess liquid in your taco filling from the fresh tomatoes. If you dump out the liquid, you’re dumping out the flavor as well, so it must be boiled!


Finally, place a little kale in the bottom of a bowl. You may want a large bowl for this. Throw on some cubed tofu, then add your taco filling. Add some cheese if you like. I like Cabot Creamery’s “Seriously” sharp cheddar. Avocados are a must for me, but I understand there exist people who do not like them, so add them or not according to taste. A dab of salsa on top makes for a nice flourish and if sufficiently spicy start your meal off with a kick. Serve promptly.

Everybody who makes this recipe, let me know in the comments what TBS you used and how it worked for you!

Don’t Click That!

At Thanksgiving I met some friends of my grandfather’s. Over the course of conversation these friendly folks related to me their tales of woe mistakenly installing malicious software on their computers. As a computer scientist and one who has grown up with computers, I take for granted that I know how to avoid such pitfalls, but when I started to give my new friends advice I could not think off the top of my head of a clear set of rules to help anyone to avoid becoming a victim of malicious software, also known as malware for short. In this blog post I will attempt to provide the set of rules that I could not bring to mind then. There are many, many different things that one can do to protect oneself from malware, but I will focus here on how to avoid being fooled online into downloading it. A good proportion of malware is distributed through ads (short for advertisements) that appear on web-pages, so I’ll discuss how to recognize these ads and how to deal with them.

  1. If a window is telling you that its update is urgent, do not install it. Real updates are polite and calm. They will also always use proper punctuation, capitalization, and spelling. This may seem obvious, but it’s easy to get freaked out and click an ad before you have the chance to look at it closely. If it doesn’t sound like a corporate professional recommending that you install an update, that update is malware.
  2. If something offers you money or solutions to any problems that you didn’t specifically ask for solutions to, ignore it. Keep an eye out for “one weird trick,” or “a mom discovered…” or ” X hates this man” where X is any privileged group, particularly doctors or bankers. For instance, “Nutritionists hate this Raleigh mom who discovered how to convert your excess fat into clean, renewable energy using this one weird trick !” is an ad. Do not click it.
  3. If a window is blinking, ignore it. If it includes animations that repeat over and over again, ignore it. If it’s annoying, close it using the “X” in the corner. Make sure that the “X” is the outermost X, or it may be a fake X to trick you into clicking the ad.
  4. If you are offered the chance to “win,” it’s an ad. If a game appears for you to play without you asking for a game, it is an ad. If you win the game your prize is malware.
  5. If you forget every one of these other rules, this one alone should prevent nearly all of your ad-based troubles. By far the most effective step to protecting yourself from malware is to prevent the ads that try to fool you into downloading them from showing up at all. Adblock is a free service that will hide ads without disrupting your usual browsing. To download it, click the logo of the Internet browser you’re currently using here. If you don’t know which is yours, look at the icon you click to connect to the internet, and it should match one of these.

    There are a few steps to installation, but once you’ve clicked on the right browser icon, the instructions should be able to lead you the rest of the way towards installation.

I hope that this short list of rules has been helpful to all of you who struggle with misleading ads and malware. Please also remember that while these instructions are useful, they may not protect you from everything. Malware attachments in email, for example, typically will not include animations, games, or flashing lights, but they do fall under rule #1 about professionalism. Generally if you don’t recognize the person who sent you the email you shouldn’t open the attachment. Please feel free to comment on my blog if you have any additional questions or if you need any more explanation about what I have described here.

Happy browsing!

Whatever I Say

I often get mixed feedback when I attempt to discuss my work on this blog. Sometimes someone will praise my knowledge and communication skills, but other times people will say something along the lines of “this post was incomprehensible jargon, but nevertheless surprisingly pleasant to read.” Notice how nice my commenters have been thus far. That’s because they’ve pretty much all been relatives and close friends. WordPress on the other hand automatically recommends my blog to strangers based on automatic guesses of similar interests. I’ve already gotten a follower whom I’ve never met. Hi, “Opinionated Man!”

This changes the game. I figure with just one post a week I should be able to make them consistently interesting and comprehensible, at least to the people who self-select to be in my audience. As the most interesting thing I do these days is my research (It really is very interesting if I can get anyone to understand it), I may begin to discuss more technical topics. I could also discuss more food topics, since that’s another sometimes relatively interesting thing I do and could write about. While food is more inherently relatable, the communication of science to non-scientists is something I find particularly inspiring.

Not making any promises. This blog, as I like to say, is about whatever I say it’s about, so maybe next week it’ll be a description of my proliferation of ways to eat a single batch of bean soup, maybe it’ll be an approachable explanation of neural networks, or maybe I’ll just say something about my grandmother’s eightieth birthday and relate an anecdote from my Thanksgiving trip to Maine. It’ll have to be an interesting anecdote, though.


I read some books about nonverbal autism lately. Naoki Higashida’s The Reason I Jump and Ido Kedar’s Ido in Autismland. I cannot recommend the former too highly for people interested in getting a look into the head of a nonverbal autistic child. Not only is the content compelling, but the work is short and divided into essays and short stories that make it remarkably digestible for such intense subject matter.

For those of you who want more when you’ve finished The Reason I Jump, I strongly recommend Ido in Autismland. In exchange for being a slower read, Ido’s book goes into much more detail and explains various concepts like apraxia, the bizarre disconnect between brain and body that causes a sufferer to take normal actions, but ones other than the one they want to. An apraxia sufferer may want to grab his comb and instead pick up his toothbrush, for example.

Ido’s story focuses on his struggles to manifest his internal intelligence and features as the main antagonist well-meaning but misguided autism experts. The experts would focus primarily on curbing Ido’s “stims,” Ido presents these experts as rigid and extremely reluctant to accept the idea that Ido could be intelligent behind his inability to communicate. Ido also struggles with “stims,” or self-stimulation that frequently manifests itself as flapping of the hands. These stims have an enhanced effect on Ido, and he says they take him into a drug-like reverie.

I have a friend who I’ll call Bob, with an autistic brother in his early twenties, whom I will refer to as Jacob. Bob says his brother was diagnosed with much more than just autism, including severe dyslexia. Nevertheless, Jacob is actually capable of speech and communicates with his brother at a relatively high level, asking questions of Bob like “why are you angry?” He once even responded to a question about whether he ever wanted to date girls with remarkable philosophy, “God didn’t make me that way.” In addition to flapping his hands to stim, Jacob will loudly repeat things that he’s heard in video games like “go ninja!” over and over much to the displeasure of his family members. They call it “babbling.”

My most recent meeting with an autistic person was Kyle, the son of Leonard and Margaret. Names here have been changed as well. When I first met him, Kyle appeared to me to be merely a charming and energetic eight-year-old. I could hardly notice any stims at all, but the minimal speech was apparent. While I was there he took the keys of another house guest and started shouting “Piuter! Piuter!” His mother managed to guess that he was trying to say “computer,” and was rewarded with her son’s energetic approval, which she said was how she could know she had it right. When she said “computer” back to Kyle, he said “computer” in perfect English. Clearly the issue was not motor function. I wondered if it was something more along the lines of recall. Although Kyle said little else throughout the night, the way he played with the toys I brought him, quickly figuring out how to link them together and make one new toy and even taking something from my bag of toys to play with and returning it later without being asked, and especially the way he carefully carried a bowl of dessert to the table suggested nothing more than a normal child with some language challenges. I hope to have more opportunities to see Kyle grow and develop more sophisticated understanding and ability to communicate in the future.

When I sent my speculations to Leonard and Margaret, Margaret had this to say, “I find it interesting (and understandable) that he thinks it’s only a recall problem…with |Kyle| it’s more than that. You may want to tell him about the MRI with the under-developed myleination in the temporal lobe, which is the cause of the lack of speech. The autism is a separate thing from the speech for our boy. His difficulty with speech is because he doesn’t have the neural nerve connection to form the words…I actually think his recall is quite good. Without that additional piece of information, his generalization might have been correct, but with our unique boy it’s more complicated than the standard case.” Reading this I was surprised. If the speech is separate from the autism, I have no idea how the autism manifests itself in Kyle. I encourage those of you reading about Ido or Naoki’s journeys through autism can keep in mind that these are just two cases of an extremely broad diagnosis in which everyone, like Kyle, is unique.

Ulf Hellsten

First of all, let me present a picture, since it is now an easy thing for me to do.

A squirrel I mentioned in an earlier post. Notice how he has found a particular spot on the tree where he can perch and stare directly at me for minutes at a time.

Now that that’s out of the way, let me tell you about a package I got from one Ulf Hellsten of Winston Salem, North Carolina.  I have never met Ulf, but I received a package from him yesterday nevertheless. It contained no notes or letter of any kind, only a DVD-R in a case with the hand-written title “ZERO 9/11.” As one might expect, the movie was about the conspiracy theories surrounding the 9/11 attacks.

At first looking at this movie it almost seemed like I wouldn’t be able to play it at all, but eventually I got it to work by switching to a different media player on my computer. Watching it on the DVD, you can see tracking lines like it was originally edited on VHS, and there are brief moments of blue where the film was cut together.  Sometimes the film repeats entire minutes of interviews. Other times to provide emphasis it replays someone’s most important words again immediately after they finish speaking. This makes the documentary seem briefly more like a techno song.

Currently the theory of why this was sent to me is that Mr. Hellsten saw my letter to the editor on Syria and decided that I might be receptive to his film. Because the News and Observer does not publish submitters’ addresses, Ulf probably found my address on my resume, which is posted online. This is my permanent address, which is at the moment my parents’ address, so the video was sent there. I have a return address, so now I just have to decide if it’s worth my time to find an envelope and stamps to mail this guy my email so he can tell me if my theory of why he mailed me this thing in the first place is correct.

300 Entries!

Well, here I am on the new site! It’s a little cleaner, a little less homey, but that’s ok. What a coincidence that this new format happens on my three hundredth entry! That Greg Euchner who complained when I was not sufficiently dramatic for my 100th entry. Somewhat ironically, my 300th entry is currently the only entry on my new site as it’s not easy to move the other two hundred and ninety-nine entries into this new WordPress format. I’ll get them on here eventually, but I may have to dedicate more than an afternoon to the process.

As for the name of the next iteration of my blog, there were some good suggestions! I was really tempted by Greg Euchner’s suggestion, “Sam’s Blog: The Next Iteration.” I thought of a title myself when I was eating brunch at a Mexican restaurant. “Panquekas de maize ” sounded a little like “Pancake Demise,” which also was nearly my blog title. Finally, though, my father’s suggestion of “Sam’s Blog” won out because, I don’t know, I just like the simple straightforwardness of it. It helped that when I logged into Word Press I discovered that I already had a blog in which there were no entries and whose title was “Sam’s Blog.” That swayed my decision ever so slightly.

Anyway, check this out.

Two representatives of Balian and Javanese folklore.
Two representatives of Balian and Javanese folklore.

These are two masks my childhood friend from Indonesia gave me in high school and I just put up now. More importantly, though, this is an in-post picture. You can look forward to much more interesting formatting in my posts from now on. I still need to personalize the theme as well. This orange circles thing is fine, but it’s just the default. I’ll be looking around in my spare time for other things that I can do on this blog. Keep an eye out!

Many thanks for all your support these past three hundred weeks, my dear readers.


It's about whatever I say it's about