Assumptions and Confidence

I just read an excerpt about confidence from Mindy Kaling’s book, and I wanted to say something longer-than-a-tweet about it. I agree with what she’s saying about how you go about getting confidence. You do the work. You earn the right to be confident. I’ve always been told I seem very confident. The truth is I have a lot of areas of my life I have little confidence in. But they are without exception areas of my life that I don’t put much effort into. I work hard to be a good mom, to be a good wife and a good friend, to learn Haskell, to write the best book I can write, to understand theoretical syntax and Nietzsche. I have a fair bit of confidence in my abilities in those areas. Not perfect, because I always want to work that little bit harder at those things, but enough.

Anyway, Mindy Kaling says this, which really resonated with me:

We just assume boys will be confident, like how your parents assume you will brush your teeth every morning without checking in on you in the bathroom. With girls, that assumption flies out the window. Suddenly, your parents are standing in the bathroom with you, watching you brush your teeth with encouraging, worried expressions on their faces. Sweetheart, you can do it! We know it’s hard to brush your teeth! We love you!Which must make girls think, Yikes. Is brushing your teeth a really hard and scary thing to do? I thought it was just putting toothpaste on a toothbrush. I get worried that telling girls how difficult it is to be confident implies a tacit expectation that girls won’t be able to do it.

Because I’ve been thinking about the teaching of math to children today, the first thing that jumped to my mind is that  this is the number one thing that bothers me about the way we go about trying to get girls interested in math and technology. On the one hand, there really are still men around in society — and some women too — who truly believe that girls can’t do math or tech as well as boys, no matter what. On the other side, you have the well-meaning folks who explicitly want to make math and tech seem less scary and masculine. Nobody, though, seems to be making basic competency in these fields the default assumption for all, regardless of sex/gender. Instead, we adults preface introducing mathematical concepts (not only for girls — people do this in mixed-sex groups as well, but for some reason, we’ve gone nuts trying to cover math and tech events “for women” in pink cupcakes so that it will look as not-scary as possible, I guess, which has always seemed incredibly infantilizing to me, which is Reason #351 I often feel like Not a Real Woman /tangent) by telling kids not to be scared by it, that they absolutely can learn to brush their teeth and we will cheer them on the whole way yayyyy.

But why would we do that? Because we adults are scared of math and computers. So we are really trying to reassure ourselves, and in doing so, we pass along the implicit message to kids that these things are scary and hard. We send the message that basic competency in these areas can’t be assumed for all humans of more or less normal intelligence. We suggest, however tacitly, that some of them will fail because this is too hard.

This is bullshit, though, and we need to stop it. Basic mathematical and technological competence should be the default assumption for the majority of human beings. And if we never suggest to kids that there is any alternative to learning these things, they won’t be primed to think of them as scary (or, in the case of girls, inherently masculine).

Some of these things are difficult, and they will have to work hard to understand them, and we do need to convey the message that some things in life will require hard work, and learning is one of them. We also need to convey that doing the work is worth it. But, and here again Kaling is correct, that most adults convey to their children that hard work is terrible and that learning is something we only do when we’re at school.

And it’s also good to convey that sometimes you will work your butt off at something and still not be the best. I worked really hard at basketball back in middle and high school; I am still not very good. That’s fine, because I know I did my best, and part of confidence is ultimately knowing what your limitations are, as well as your talents.

In our house and homeschool, we have default assumptions that we never make a fuss over, and our kids have never seriously questioned them:

  • vegetables are good food just like any other good food so if you’re hungry, you eat them;
  • learning is sometimes easy and sometimes hard work but we learn all the time and learning is good both for its own sake and for the opportunities it opens up;
  • it’s good to work hard at work worth doing and if you need to work harder at something you want to do, then work harder;
  • since hard work isn’t scary and since you can do most things to some level of competency if you just apply yourself, there is no reason to think math or programming or boxing or ancient Greek or kanji is especially scary. Just. Do. The. Goddamned. Work.

I’m reminded of Richard Feynman’s story of realizing that girls could understand analytic geometry and then finding out they were talking about knitting argyle socks. Everyone assumes girls are perfectly capable of learning to knit argyle socks if they work at it, and we don’t tell them that knitting is hard and scary. Why should we tell them that the geometry behind those patterns is any scarier?

Learning Haskell the Hard Way

So…Haskell Programming  is out for early access now. And since I am on record as being a Haskell noob, sometimes people wonder how I am managing to (co-)write a book for teaching Haskell.

I’ve already told my story about how I came to start learning Haskell and how I knew absolutely nothing about programming previously. It’s hard to believe, but it’s still been less than a year since I started this adventure. It was in July 2014 that I first learned what a compiler is and cracked open Learn You a Haskell for Great Good (henceforth, LYAH).

I was really having a hard time with LYAH. I hate to be disrespectful about LYAH because I think the author put forth a valiant effort at making an approachable Haskell book. And in some ways it is the least intimidating of the Haskell materials for beginners. Unfortunately, it wasn’t working for me. I really needed beginner-level exercises and LYAH does not offer much there. I kept trying to struggle through it, and Chris and I talked over Skype regularly to help me along.

In August or September, Chris decided to start writing his own book for teaching Haskell. The idea was he would write and I would test it and send him feedback and we would proceed in that fashion, me to learn Haskell and him to write his book.

I believe the first chapter he sent me was about Algebraic Datatypes and how to write your own datatypes and I went, wait wut? I understood most of what he’d written about sum and product types fine–he has always been able to explain those well, and the “algebra” involved is really quite simple–but I didn’t understand the type system well enough to understand why such things mattered, and I didn’t understand programming well enough to understand why you would need/want to write your own datatype. So it was quite difficult for me.

We went like this in bursts, and it was frustrating for both of us at times. He wanted to teach me. And I wanted to learn. But I didn’t have enough basics.

At some point in November, we realized I was contributing enough to the book in terms of editing, clarifying, expanding on concepts, that my name should probably be on the cover in some capacity (editor, perhaps?). At some point in December, Chris said, “Hey, it would really be better if you started contributing your own content here. How can we make that happen?”

This is how we make that happen:

For each chapter, Chris writes out a skeleton or scaffold of the content that will need to be covered. This includes (usually) minimal prose with code samples demonstrating concepts. At the same time, he often gives me some ideas of good sources for me to read to augment my understanding of what he’s written–this could be anything from the Haskell Report (OK, it always includes the Haskell Report) to blog posts.

I read through what he’s written as well as other sources on the same topics. I start making notes and asking questions. Because I am a beginner, I still have a beginner’s idea of what makes sense and what needs more explaining. I might start playing around with the code he’s already written for that chapter. Where I understand the concepts well enough, I start adding to what he’s written and expanding on the code samples.

Then when I don’t feel like I can do more on my own, I ask him questions. So. Many. Questions.  I ask him all the things a beginner needs to know to understand the material. And then some. He says I am more curious than most people are and want to understand things more deeply than most people do, so often those question-and-answer sessions lead deep into Haskell esoterica that will not make it into the book (not this book–maybe a later book) or, at least, not into this chapter.

For example, last night I asked him what is the practical difference between a datatype and a newtype–that is, why would you want to write a newtype when you could just write a datatype? That answer became a lengthy talk about lifted types, unlifted types, and bottom. Then I had to parse out what we can reasonably, effectively say in this chapter versus what parts will have to wait for the later, more intermediate chapter on laziness and efficiency and what parts maybe no one ever needs to know (just kidding, of course; you can never know too much).

Another recent example, and one that delighted us both, happened in our recent revisions to the second chapter. That chapter is very basic, mostly about what functions and expressions are and how to use variables. But one of our missions with the book is to demystify GHCi’s amazing error messages. So we start, even in that chapter, trying to explain common error messages. We had already pointed out in one spot that the first thing GHCi tells you is the line and column number of the error, so even if you don’t understand the message itself, it’s telling you where to look to fix the problem. Cool, right? But, in the process of revising a section about code indentation in source files, I noticed that in code like this:

module Learn where

 x = 10 * 5 + y
myResult = x * 5
y = 10

the problem is with the one space before the x declaration, but the error message tells you the problem is on the next line, with myResult. Why would that be? This was bothering me. I’m not certain it would bother everyone, but, to me as a beginner, this kind of stuff trips me up. “You said earlier that it tells you which line number you need to fix, but this is telling me the next line. Argh this doesn’t make any sense.” I hate that kind of thing when I’m learning something new.

So…I asked Chris. And he gave me a brief explanation of what’s happening there. Then we took a deep dive into GHC’s parser code to look very precisely at what’s going on. Then we had to come back to the planet in which what we need is an explanation that is accurate but also reasonable for the second chapter of the book (GHC’s parser code isn’t necessarily beginner friendly). How do we write that up in a way that makes sense for beginners? How do we also emphasize that, while you can fix this code by indenting all your declarations one space (they just need to all start at the same column), please for the love of Mike, don’t do that?

Once I am satisfied that things are explained clearly for noobs, Chris checks everything (again) for accuracy, and then we start writing exercises. I write exercises (generally pretty easy ones), and Chris checks them for technical content. Chris writes exercises (generally kind of hard ones), and I check to make sure they are appropriate for that place in the book (e.g., I check to make sure they don’t use things we haven’t covered yet) and that the instructions are comprehensible to beginners.

After we’re satisfied that the chapter is mostly complete in terms of content, we send it to our first tester, Angela. She, like me, is new to programming, so Haskell is her first language. She reads carefully, tries all the exercises out, and tells us where the holes are–this needs to be explained better, that should be explained earlier, the instructions for this exercise are hard to understand. She’s a huge help. I then go through and make the necessary revisions. Most chapters then go to a couple of readers who do know some Haskell for further feedback, and we, again, make necessary revisions.

By the time each chapter is considered done enough for release (revision is an ongoing process, and we will not finish copy editing and proofreading until the content is more or less set in stone), it’s gone through so many steps: Chris’s writing, my writing, our Q-and-A clarification and expansion sessions, more writing from me, Chris’s check for accuracy, checking code, writing and testing exercises, implementing feedback from our awesome readers. This means that most topics are covered from different angles and that even very small things–like the line and column number of a GHCi error message–end up catching our attention (or that of one of our testers) at some point in the process. Spending so much time on a chapter also leads us to new ways to structure exercises so that the exercises also have you work with topics from different angles.

If I can be quite honest, this book is somewhat exhausting. Each chapter takes a lot out of us–it’s difficult even to know where to start explaining some concepts because so many concepts in Haskell are interconnected and overlap. We’re talking about numeric types here, but we haven’t explained typeclasses yet, so how do we handle that?

It’s also exhilarating. We manage to explain concepts well enough that I can write exercises, even if it was syntax I’d never seen before we started writing the chapter (writing exercises is, IMHO, a bit harder than just writing your own code).  And the feedback we’re getting from our users suggests that we’re accomplishing our goal, which is to make Haskell clear and approachable to everyone who wants to learn it, no matter their background. Writing Haskell can make you feel like a wizard, but you don’t have to be one to learn Haskell.

Anti. Statist.

I’ve been an anti-statist for a long time now, but I still get surprise reactions from both left and right that I oppose one or another government program or law, not to mention the recurrent surprise that I don’t want to stick my kids in a state-run school.

While I will accept some laws and government functions may be necessary from a practical standpoint (or, at any rate, we’re unlikely to see the society I would like anytime soon), and some are less objectionable than others, my default reaction to any new government program or set of laws (or, god help me, administrative regulations) is ANTI. I am an anarchist (ehhhhhh…quasi anarchist) not because I believe in the inherent virtue of my fellow citizens. I am an anarchist because those fallible, unvirtuous humans who like to exert power and control over other people to inflate their own egos are the same humans who populate the organs of the state. Only then, they are jerks and idiots who are backed by the force of the state. I also believe Hayek was mostly right about the pretense of knowledge and how little we really know about designing and planning things as large as a nation.

I understand that you’re not all anti-statists like me, and mostly I understand your reasons, but opposing Obamacare does not mean I’m a Republican anymore than being against the drug war means I’m some kind of dirty hippie. I don’t support freedom of association because I hate gays; I support it because I support freedom from state intervention in nearly all human interactions. Seriously, people. Right vs left is a false dichotomy and I do not participate in false dichotomies. So far as I know refusal to participate in your false dichotomies is not yet a punishable offense.

/rant

Reflections on Chores

This is a post I’ve been meaning to write for a while, as it’s something I find myself thinking of often. People’s relationship to chores has fascinated me since I was in college. I had a boyfriend who introduced me to the idea of walking meditation, and while I was unaware of what is known as “dynamic meditation” at that time, it seemed to me the general principle could apply to other repetitive, relatively mindless actions.

Later in college, I was introduced to Albert Borgmann‘s notion of focal practices which comes, ultimately, from Heidegger. This blog post cannot be a crash course in Heideggerian ontology, so if you want to know more about the philosophical foundations of what I’m talking about, follow the links or, you know, go read Being and Time (heh). Briefly, focal practices are those that focus our attention on the physical world, the world of physical being. They ask us to pay attention to our surroundings, to our traditions, to our people, to the physicality of our being. When they are personal, such as the focal practices of learning an instrument or hiking or running, they encourage us to consider our own place in the world, to pursue individual excellence, to open ourselves to a sense of awe and wonder that makes us fall silent in the face of the divine that is in the world. When they are communal, such as communal celebrations (think anything from a St. Patrick’s Day parade to your nightly family dinner), they call us to certain ways of being: in tune with all that surrounds us and the ways these events unfold, at ease with the people around us, even strangers, in harmony with the flow of daily life. Our attention is focused in a way that encourages gratitude and grace.

But focal practices are practices; they require work of some sort, work which must focus your attention on the world around you and the daily life you live, work that can be pursued with a mind to excellence. No, that doesn’t mean family dinner will be excellent every night, but cooking is a skill one can pursue with a mind to getting better and making the best food (to the tastes and nutritional needs of the family, of course) one can. To use another example, I play the guitar. I do not do it well, and I will never be Eric Clapton. I can still get better through habitual application of focus. Doing so attunes me both to my body and the physical nature of the instrument and sound itself and also puts me in harmony with the very human tradition of making music with one’s hands. I sing all the time, too, and while I will never be Ella Fitzgerald, I’m OK with that; I sing because I love music, I love the habit of making music with my own vocal cords, and my family loves to hear my voice, even if it’s not the very best, because it’s mine.

What does this have to do with chores? I’ve already mentioned cooking, for one thing. But other chores bear mentioning. Doing chores habitually and with attention to detail is a focal practice of sorts. Oh, it may not be as interesting as playing the guitar, or cooking, but chores focus our attention on our physical surroundings and the nature of our lives in the world. Or they do if we let them.

It seems to me (and to Albert Borgmann, not coincidentally) that we do not let them. We consider them only burdens and we try to disburden ourselves of chores whenever possible, and when we cannot, we try to distract ourselves through them instead of focusing. We do them half-assedly, without attention to detail. We complain and gripe to let our families know that their physical needs, whether for dinner or clean sheets or a bathtub drain that works properly, are an inconvenience to us. We’d rather not deal with it, with them.

But there is no grace or gratitude in that life. There is no room for the 5 minutes of peace in feeding the chickens and watching them settle into their nests at sunset. There isn’t space for lighthearted conversation with the baby during the diaper change. There is no allowance for the love of one’s spouse or children to enter one’s heart while folding their laundry. One doesn’t feel grateful for being alive or feel awe at our presence here on earth but instead feels constantly dissatisfied and grumpy.

I cook for my family of 4 pretty much every night. When I say “cook,” I mean nearly all of it is from scratch, using raw ingredients. Dinner usually takes an hour or so to prep and cook. Still, a Thermomix does not appeal to me. I usually do not cook fancy food, and we don’t eat a genoise or a bechamel nearly often enough that this would make any difference to my normal cooking routine. But more importantly, it’s a technological disburdening, a distraction from the meditative, focal quality of repetitive kitchen tasks and the cooking process.

I am not completely anti-gadget. I use my immersion blender and stand mixer with some regularity, although I tend to use them because they do something better than I could (or would likely) do by hand. I have a food processor, even, that I use primarily when I am canning and have to chop, say, 25 lbs of peaches or tomatoes in a single day. I have 3 or 4 slow cookers and use them abundantly to slow cook roasts and stews, although when we used a wood-burning stove for heat in Idaho, I often slow cooked my roasts and stews on top of the wood stove.

The time I spend cooking is necessary to me as a transition from the work of one part of the day (in the afternoons, I am often busy online, whether paying bills or doing research for the book I’m working on) to a more focused and unhurried time with my family. I don’t want to be thinking of some annoying thing that happened online or some problem I’m stuck on in the book or in learning Haskell during dinner. I want to be focused solely on my family and conversation and celebration of our life together while we eat. The meditative nature of cooking gives me the space to make that transition and focuses me. Because they often hang out in the kitchen while I cook and frequently help with the preparations, it focuses them, too. And by the time we all sit down, we’re attentive to each other and we are gathered together in a gracious ritual.

I am not saying that I am perfectly gracious and attentive at all times. I sometimes distractedly cook, kvetch while I’m doing it, and sit down at the table grumpy and unfocused. It happens. We are not, any of us, perfect at all we aspire to be. However, as Aristotle would say, excellence is a habit; the more often I engage in chores in a focal way, the easier it is to do it again and the less burdensome it feels. People sometimes ask me why I appear so happy with my marriage and life as a hausfrau, so contented with life in general, why I smile so often: I believe my focal practices, including chores, have a lot to do with it.

Further reading on Borgmann and his philosophy of technology.

Pro-“Functor”

When I was studying philosophy in college, we used to hear a lot of complaints from students about philosophers–German ones, in particular–and their translators who avoided using plainer, simpler words and sometimes even made up words to convey specific points. Especially to new students or students who were only taking this one philosophy class because they’d been forced to by some university rule, philosophers seemed to be using jargon for jargon’s sake.

But many of us who were longtime students of philosophy defended the practices by arguing that the jargon has a purpose. Depending on the context, the jargon might be used to convey a specific, precise point that would be impossible to convey fully with a different, more common, less precise word.

Or it might be used to avoid confusion with a more common term that everyone already thinks they understand. This is one reason why Heidegger uses the term “being-toward-Death” (sein-zum-Tode) instead of just, say, “mortal(ity).” It’s easy to gloss over the word “mortal” without grasping everything he is trying to convey, and the assumption that you already know what it means blocks understanding of the fuller meaning.

I think the first case is clear enough. Most fields develop their own jargon to talk about ideas and concepts that don’t even exist (as terms of discussion anyway) outside those fields, so there is no better word for it and being less precise is unhelpful. I’ve been thinking about the latter case, though, over the past several days, and I think it’s less clear why that would be valuable.

I started thinking about it because I read a comment from a nonprogrammer about the idea of polymorphism and how it meant something specific in her field that she was having some difficulty reconciling with the way it is used when talking about, say, typeclass-constrained polymorphism in Haskell. Last night I had a discussion about the word `return` in Haskell, when used as part of a do-block, and how there might have been better things to call it. I had occasion to consider it again today after this exchange on Twitter.

I have a layperson’s understanding of what entropy means in a thermodynamic sense, and also how other laypeople use it (a general decline into disorder). I had never, before that exchange, heard it used in the context being referenced in that exchange. The Wikpedia page explains it reasonably well, and explains why the term “entropy” was reused for this context. Initially, though, that exchange baffled me; OK, it still does a bit because I haven’t understood this use of this word well enough.

Both kinds of jargon can be intimidating and difficult to newcomers to the field. Both kinds must be learned as one learns the field.* The use of each kind should be tempered when one is teaching or knows one is speaking to beginners. But I actually think the second kind–“return,” “entropy”–is worse. It seems better on the surface, but I think it creates a higher barrier to real understanding.

The problem is that a learner is already familiar with the word and so assumes a meaning it doesn’t have in this particular context. At some point, they will realize their understanding has been incorrect, and they will have to force an overwrite of their previous understanding to incorporate the new one. This is more difficult and confusing than just learning a new word that you already know you don’t know.

I think computer science is, for this reason, somewhat worse about jargon than philosophy is; programmers seem to like reusing words but with new, jargony meanings, and I think it’s unnecessarily confusing. I much prefer the use of words like “functor” (or “being-toward-Death”) because they don’t have other meanings to obscure the jargon meanings.**

Jargon is not inappropriate or wrong in its place, that is, when it is being used to convey a precise point or a concept that isn’t commonly discussed outside its specific field. I think creating new vocabulary, like “functor,” is ultimately more helpful than recycling old words with different commonly-accepted meanings, especially for pedagogical purposes. The new words appear harder to learn than the old words but that’s only because you recognize up front that they must be learned and you don’t assume you already know. In the long run, that can save the learner a fair bit of grief.

…But let’s not get started on initialisms (itself a jargon term for what most people call acronyms or even just abbreviations), shall we? In linguistics classes, we often referred to the ubiquity of TLAs and most outsiders considered that jargon. It only stands for “three-letter acronyms.” Jargon, it appears, is quite a rabbit hole.

*Both kinds can also be used, by rude people, to make people feel excluded if they want, although I don’t think that’s why most people use jargon.
**Monad, on the other hand, oh boy. It bears no relation whatsoever to the concept of “monad” I was previously familiar with, from metaphysics and theology, but I will grant that most people are not familiar enough with, say, Leibniz, for this to be a big problem for the average learner of functional programming.

Teaching How to Learn

One day when my older son, who is now 9, was about 5, we took him to the Discovery Center in Boise, Idaho. It’s a hands-on, interactive sort of place, focused on science, and a great deal of fun. One of the exhibits had a bed of nails and invited children to lie on it. My son was very excited to try it. I asked him, “Don’t you think it’s going to hurt?’

And he looked at me as if I were quite daft and replied, “No, it won’t hurt.”

I asked him how he knew, and he said, “When you lie down, your weight is distributed so not much of your weight is on each nail. So none of them pokes you very hard.”

I wrote it down at the time because I was very proud of him. I never taught my son explicitly about weight distribution. I didn’t have to; he reasoned it out for himself from example and experimentation. I have mostly helped him formulate it more clearly and understand it more deeply (e.g., what force is causing the nails to poke you anyway?).

One of our goals with homeschooling is teaching our kids how to learn and carry those strategies with them into whatever fields they venture. We practice, build, destroy, play, experiment, and then we model with them how to figure out the rules and laws governing what we did.

The “with” is important. You have to let them help fill in the blanks, expecting somewhat less when they’re younger and more when they’re older. I usually do this by asking leading questions about what we saw and did until I can see they understand. In this way, they are actively creating the knowledge in their heads, and it tends to stick. Only lead them as much as you have to, though, or else they never learn to lead themselves. Previously I only suspected that children don’t learn well by reasoning down from rules and abstractions; now I am reasonably confident most adults don’t either.

Indeed, we are a species of tinkerers and experimenters. We do trial and error and reason our way up to laws and abstractions. We fail at things and often learn more from the failures than we did from the successes. For much of human history, it was not academics and theoreticians who made important innovations or advanced our understanding.

This is a thing we know, actually, but we only apply it consistently in some fields. We know it well when we teach, for example, human languages. We know people don’t learn French by reading a French dictionary and grammar; they learn by hearing examples, repeating those examples, and then learning explicit rules (the way we teach dead languages is a bit different, but that’s largely because no one expects you to go to the Vatican and strike up fluent conversations in Latin, more’s the pity).

We know this about teaching any kind of manual skill, even ones that can involve theory, such as playing music. You don’t learn to play guitar by reading about playing guitar. And you don’t learn to read music competently unless you’re doing it in conjunction with actually practicing it on an instrument.

We know these things are true, yet we happily forget when someone, especially an adult, wants help with a field we know well. We want to tell people a monad is just a monoid in the category of endofunctors, because we already understand this and fetishize its elegance. We want to tell people trying to use a new Haskell library to just read the types and tests, because we already have that skill and so that works for us. We want to teach teenagers the formula for finding the circumference of a circle without them understanding how it works, even though it isn’t that hard to demonstrate. We especially do these things when we are not teachers per se and don’t realize that teaching itself is a skill one can (and should) develop.

So, people learn best by reasoning upwards (if you’ll forgive the assignment of directionality to a mental process) from examples and learning the rules and abstractions as they go along. In an ideal world, this process is guided by someone with both practical competence and theoretical knowledge so that you don’t reach wrong conclusions (e.g., by looking only at edge cases without realizing it or not looking at enough samples to adequately reason it out) and so rules and abstractions can be introduced and formalized when appropriate. One of the central failures of public schools is that there is no time for messy experimentation and there is no space for productive failure.

I really could have saved myself the time I spent writing this and just pointed you to this excellent post that purports to be about writing technical documentation but is really about teaching:

When you want to teach someone you need to put yourself in their shoes and walk along the path with them. Hold their hand, guide them around the dangerous obstacles and catch them when they fall. Don’t carry them. Certainly don’t just drive them to the destination in your car!

The process needs to go something like this:

  1. Figure out what they already know.
  2. Figure out what you want them to know after you finish.
  3. Figure out a single idea or concept that will move state 1 a little bit closer to state 2.
  4. Nudge the student in the direction of that idea.
  5. Repeat until state 1 becomes state 2.

Or, for increased brevity, I could have just posted this perfect analogy from the IRC #haskell-beginners channel:

< benzrf> bitemyapp: i came up with a new analogy
21:24 < benzrf> have you ever played a complicated game
21:24 < benzrf> and you read through the rules
21:24 < benzrf> and it's perfectly well explained
21:24 < benzrf> but you don't really have a big picture in your head
21:24 < benzrf> and then you have to play it 10 times before it clicks?

Yes, I know this feeling. And so do you. Remember it when you’re trying to teach someone.

There are a lot of links here. I know. This is in part because I use these blog posts as a way to keep links to stuff I read and found interesting and don’t want to lose. Sorry, not sorry. Just pick the ones that seem most interesting to you. Also, one is in French, and I may well have misunderstood his point.

2015 Schedule and Curriculum

This post may not be very interesting, but it may be of some interest to those who would like to know more about our homeschool specifically or are looking to get into homeschooling and wanting to see sample schedules and curriculum ideas.

We had a fairly chaotic move (from Wyoming to Texas) in late 2014 as well as a family situation that required our attention, so the truth is we haven’t stayed on our schedule for this school year at all. Things are settling down, and we hope to re-establish order and adherence to routine after the new year. My older son is in fourth grade this year; younger son is in kindergarten. We do, however, have them on basically the same schedule and in the same subjects, just at different levels. I’ll explain this a bit more in a later post, I expect.

Our weekly schedule will look like this:

Monday – Wednesday
Math (30 minutes)
Language Arts (60 minutes)
Good Books [reading from book list] (60 minutes)
History (30 minutes)
Music (30 minutes)
Greek (30 minutes)

Tuesday – Thursday
Math (30 minutes)
Language Arts (60 minutes)
Good Books [reading from book list] (60 minutes)
Science (60 minutes)
Japanese (30 minutes)

Project: 90 minutes

Friday
Guitar lesson (30 minutes)
Math (30 minutes)
History (60 minutes)
Philosophy (30 minutes)
Art (60 minutes)
Cartography (30 minutes)
Greek (30 minutes)

Saturday
Math/Science Game (30 minutes)
Japanese (30 minutes)
Art (60 minutes)
Nature Journal (60 minutes)

Sunday
Religion and Mythology (60 minutes)
Civics and Citizenship (30 minutes)

Project: 120 minutes
Language Arts: Grammar 10 minutes; Writing 15 minutes; Spelling 15 minutes; Recitation 10 minutes; Handwriting 10 minutes

Project: Java/Minecraft mods

Our language arts and literature curriculum is already decided. My sons dislike language arts, except reading, intensely, so we’ve chosen curriculum to minimize the pain involved while still accomplishing the goals of making them competent at things like grammar and spelling. My older son will use Easy Grammar by Wanda Phillips again this year; the exercises are short, well-ordered, and to the point; more importantly, they are very effective. Younger son will be using First Language Lessons for the Well-Trained Mind again this year. The exercises in that are slightly too repetitive for him, so we abridge as necessary to keep his interest.

For writing, which is a particular struggle in our house, my older son will be using The Complete Writer Level 2 again. I find this book’s strategy to be very encouraging to reluctant writers. I would have thought that it would become very boring (he did Level 1 and part of Level 2 last year), but I would have thought wrong. He does not love it, and perhaps he will never really enjoy writing, but that’s just fine, isn’t it? He doesn’t need to love it. He only needs to do it competently and without the overwhelming frustration and friction he had with other methods, and this book fits that purpose. My younger son will continue doing short copybook exercises and writing practice related to his grammar study. The focus for him is really just getting correct words onto a page in a legible manner, after all.

For spelling, both of them use the Spelling Workout books. My older son does two lessons per week, usually, and my younger son does one (obviously, they use different levels as well). These books use varied activities (puzzles, games, fill-in-the-blanks, etc.) to teach spelling words grouped by phonetic rules. As with our other choices in language arts, the lessons are brief and to the point, and so far we have found them effective. I do need to explicitly check that they are reading and understanding the phonetic rule for that lesson, because in their haste, they otherwise skip reading it.

Recitation involves memorizing and learning to recite poems. They don’t have to be poems, but they generally are. Rhythmic and rhyming structures make many poems relatively easy to memorize, and this is something I rather expected my kids to hate. In fact, they *love* memorizing poems. They don’t love reciting them, and we have a long way to go with enunciation, but they love memorizing poems. I often let them pick the poem, usually from this book–sometimes they are related to what we’re learning, sometimes they are didactic in nature, sometimes they are just fun–and it usually only takes two sessions to memorize it. Learning the public speaking element of this is…well, it’s going to take a bit longer to master, let’s just put it that way.

Finally, handwriting, but ugh, it’s so boring. We use the Handwriting Without Tears series and find it very effective. My older son is learning cursive (and, no, I don’t think it’s a waste of time; among other things, the fine muscle control is quite valuable, and now he can read the letters his great-grandmother sends), while the younger one is, of course, still learning to print well.

As for literature/reading, we use the recommendations from the Great Books Academy as a guide. I adapt it somewhat to include books I loved as a kid and well-written books I know my sons will love. I also occasionally remove some of these suggestions because I find their list too heavy on just a few authors/genres, and I know my sons’ tastes somewhat and have no wish to spoil their enjoyment of reading by forcing them to read things they hate. So far, the latter hasn’t been a big issue for us, as my kids have pretty broad tastes (achievement unlocked).

As we get back to school in earnest in the coming weeks, I’ll give more details about what we use (books, other materials) for some of these subjects. Language arts and math are the two I seem to get the most questions about, but our math curriculum is complicated and best saved for another post. One final note: my older son’s project this year is learning Java and how to make Minecraft mods. He will be taking this course, and I will write about it after he’s done a few sessions and we see how it goes.

Saying the Unsayable

I’ve written this over and over again, a hundred times, and it never comes out right. But. I need to keep trying.

I was raped when I was 17. I didn’t press charges. I understand the arguments for why I should have. But I’m not sure that even if I had been back then the woman I am now–and I most assuredly was not–I could have.

I will assume that the number of rapists reading this right now approaches zero, so let’s try a thought experiment: for any given time you’ve had sex, how would you prove that you were both consenting? If you are the accused, of course, you don’t have to prove anything; you are innocent until proven guilty. But the problem of proving that you were consenting is just the inverse of trying to prove that one party wasn’t consenting, and presents many of the same problems. In many cases of rape, it is a very difficult thing to prove.

Some things that make rape accusations easier to believe: (young) age of the victim, a lot of physical assault accompanying the rape (minor bruising is, let’s face it, easily framed as consensual play), the presence of drugs including alcohol beyond a certain point, the presence of multiple eyewitnesses (relatively rare in rape cases).

But let’s say you have a 17-year-old girl who has been flirting with an man in his 20s. Oh, he’s very handsome and charming, if slightly odd. She knows she’s been flirting. She knows she would like to see him again, so she gives him her phone number. She leaves and expects he will call her. Instead he follows her out to her truck. He confronts her. She isn’t afraid because the number of men who will hurt you there in the parking lot is quite small, really. He kisses her. She kisses back at first, but then, not wanting it to go farther, because she is generally a “good girl,” she pushes him away slightly and tells him that’s enough.

So far, this is all consensual, both parties will agree. Let’s say he then pushes her into the cab of the truck, and she can’t remember exactly how–and human memories, we know, are quite fallible even in the best of circumstances–but he pins her in this awkward position where one of her legs is jammed between the steering wheel and the dash–and, no, it doesn’t seem like there’d be enough room somehow, but her memory of the details is somewhat muddled by the fear and shame and disgust. And he’s quite strong, suddenly, where he didn’t especially look it before, and he has his arm across her chest somehow, holding her there. She does say “no” and “stop” and “please stop, I don’t want this,” but he doesn’t care. She has turned him on, he tells her, and so she has this responsibility not to just leave him turned on. He tells her this, and, to be honest, she is a little confused. She’s heard her male friends say things like this before. She knows it’s definitely bad to be a tease, and she’s a virgin so she doesn’t have much experience answering the question of whether she is a tease or not.

And her leg is there jammed up against the dashboard and it has somehow turned on the hazard lights and she just stares at them and tries not to think about what is happening here and, honestly, and this is confusing and does not bolster her argument that she was there against her will, she hopes that the hazard lights will not make someone come over to the truck because this thing that is happening is shameful and degrading and disgusting and awful and she doesn’t want anyone to see her like this.

And he doesn’t beat her up. She is left with only a few bruises. She is still trying very hard not to think about what just happened, so she goes home because now she is past curfew and her parents will be angry, and she gets home and showers and just burrows down into her blankets and cries. And then the next day she pushes harder against the memory and tries to just get on with her life.

She remembers he is handsome. And she has been told many times that she is not beautiful. All the boys in her school have told her she is not attractive, again and again, and so who will believe her anyway that she, this ugly duckling, was trying to refuse the advances of this handsome man? That is what she thinks. And how, without a lot of physical damage and when there was clearly consensual contact up to a point, does she prove that the entire thing wasn’t consensual? Did she fight back enough? What is enough fighting back to prove you didn’t want it to happen? It’s easy to prove that he had sex with her; there is evidence of that, but that doesn’t prove anything of consequence.

And anyway, it isn’t really the physical damage that constitutes the rape; that amount of physical damage can be done during perfectly consensual sex. The lack of consent is what is at issue. The rape is the absolute denial of bodily integrity. It’s not a violation of trust so much as it’s a violation of the very idea of will and autonomy. The victim is denied control of what goes into her (or his) body. Frequently nothing is taken, except perhaps your conception of yourself as a possessor of agency. If you’ve ever had your house robbed when you weren’t home and felt violated just because someone was in your personal spaces without your permission, try to imagine how much worse if someone is inside your actual body without it.

Now imagine someone has been inside your house, and you can prove that much, but they didn’t steal anything noticeable and you can’t prove they were there without your consent. Perhaps there’s no evidence that entry was forced–you had left the door unlocked, say. Or maybe they only stole something like your underwear, which is creepy, but you can’t remember exactly how many pairs you had before and anyway they aren’t really worth much. So you’re just left with a feeling of having been violated in an unsettling way, but everyone else thinks you’re sort of crazy because you can’t provide any solid evidence.

And what if you’ve been told repeatedly that, really, it’s not cool to decorate your house like that and then refuse to let people in. If you’re going to make your house look nice, then of course people will pay attention to it and you are a stuck-up bitch if you then won’t let them in. When I was raped, I was wearing no makeup, my hair back in a messy ponytail, a Denver Broncos T-shirt, and some denim shorts. But he still told me I was responsible because I had turned him on too much. And men might tell you essentially the same thing, if you’re a girl in any public space. It doesn’t even matter how you’re dressed.

Add to that the widely accepted stereotypes that women are often indecisive, say no when they really just want to be persuaded, that they really want it but are just trying to protect their questionable virtue. And tell me, if something like the above happened to you, how would you prove it beyond a reasonable doubt?

How would you, once your sense of will and autonomy has been quite badly violated, sit in a police station or on a witness stand and not get confused during questioning? You will be held to a higher standard than an ordinary witness, because while we all know eyewitness testimony can be very faulty, in this case, the details you provide–which will be vehemently denied by the accused–may be the only ones that prove the charge (again, in cases where the physical evidence is inconclusive and details like the age of the victim and so forth do not augment the physical evidence).

Tell me, would you be strong enough and sure enough? It is your story that is on trial, your memory, your body. Is your confidence in your memory and your identity strong enough to withstand someone trying their best to pull it apart? Unless you’ve been there, you don’t know. The thing is that no one knows how they will react in bad situations until they’re in them. The night our house burned down, I somehow managed to forget the very basic lesson that when your house is on fire, it’s OK to dial 911. We were trying to put it out ourselves, until my husband said it was futile, and I said, but then what do we do? And he told me. He said, now is when we ask for help.

And what if you are strong enough and confident enough and so you do it, and you lose? Will your identity be able to withstand that? Perhaps yes. How much are you willing to bet on that?

You don’t know what you would do, and you might very well feel there is only one thing you can do: hide it, because “if you’ve been raped, your only real recourse is not to have been raped.”

And so that is what I did. Perhaps it was immoral, but I have a hard time holding that girl accountable for it.

What I Learned in Kindergarten

Question of the Day: What did you learn in kindergarten that you wish you did a better job of applying to the way you live your life today?

I don’t know how this idea that we learned important lessons in kindergarten started.  Everyone is not special in her own way, except in the most trivial meanings of special. Forest creatures are not all gentle and peace-loving and in need of a hug. There are times when coloring in the lines is good, yes, but it’s also important to learn to redraw the lines yourself.  Sharing is nice, but most people are not going to share with you, so you either have to adapt yourself to a life of all give and no take or you have to learn to be selective with your sharing; also, sharing can give you mononucleosis.  Giving someone a Valentine just because they’re your classmate but you actually dislike them intensely is superficial and hollow, two things that are good if you’re a politician but bad otherwise.  Ketchup is very tasty but provides little sustenance; much the same can be said of Elmer’s glue.  Self-esteem isn’t about “liking” yourself; it’s about having a realistic understanding of your own strengths and weaknesses.  Reading should be fun first and foremost, even though it is also important.  Doing things by yourself is sometimes more efficient and often more satisfying than working as a “team,” though admittedly soccer is an exception.  There are going to be a lot of times in life when someone did not bring enough to “share with the class” whether it be Little Debbie treats or chewing gum, and you’re kind of just going to have to deal with it.  Yes, they’re rude, but you’re also rude for making an issue of it.  Boys don’t really have cooties, and, alas, cooties may not actually exist.

Meh.  Kindergarten was a wash.