Thursday, August 10, 2017

A Brief Word on "... they'll just have to..."

There was an article in the paper today about how some area schools are starting back early this year, and how the kids are noticing. Someone commented (I KNOW! Never read the comments. Nonetheless...), "Just wait until you have a real job. In the real world, you don't get a summer break at all, so soak it up."

As an aside, it's weird to me that even people who don't have alt-ed viewpoints consider school something other than "the real world." Interesting. 

But the level of resentment dripping off of this - how dare kids be disappointed their typical break is shorter?! - is my main focus.

Look around and you'll see something: A lot of adults are really pissed off at kids in general. Pardon my English, but it's true. I think these adults feel like they've grown into productive members of society with good work ethics and a healthy dose of stoicism, and that kids "these days" are just whiny toots.

I'm pretty sure these same people would have had these same reactions as kids were the circumstances the same. Also, one of the kids interviewed was talking about how it was a challenge to get the summer reading assignments completed in less time. So this wasn't about languishing by the pool while the 'rents work their butts off.

My question is: Why do grown-ups seem to hate kids so much? Why do grown-up people decide to have kids, and then just seem to lose all compassion and empathy for them?

I have a kid who has anxiety, and we are dealing with that. One thing I've heard concerning not just our situation, but others', too, is, "Well, someday, they're going to have to XYZ 'in the real world.' You need to make them start doing it now, because the longer they ABC, the harder it's going to be to adjust."

May I tell you how ridiculous this is, whether it's leveled at a child or an adult? 

People who have phobias or other impairments that prevent them from functioning typically in any given situation might or might not find exposure therapy useful. I can tell you now, if you have a fear of snakes, I'm pretty sure that if I lock you in a box with 50 non-venomous snakes, you would not thank me later for assisting in your recovery. Or maybe you would. I'm not irrationally afraid of snakes, but I don't think I'd like that, anyway.

It is furthermore the height of self-righteous pride for anyone to tell a parent, "Here's what's wrong with your kid, and all you have to do to fix it is..." This might shock those of you who observe from the outside and then have the audacity to propose a simple fix, but I can promise you that parents have thought of EVERYTHING. They've researched, they've sought opinions, they've gotten opinions that they never solicited (including yours), they've second-guessed themselves, and eventually they have settled into what is working for their family. Your input at any point in this process is worthless, unless you, too, have been through the EXACT same thing and offer a viewpoint with the caveat that you truly understand no two people or situations are the same.

Lastly, any time a person says anything about how someone "has" to behave "in the real world," I am truly blind-sighted by how narrow a view of what constitutes a functional life so many of us have. Not everyone needs to be able to maintain eye contact for an extended amount of time. Not everyone needs to be able to drive. Not everyone has to wear close-toed shoes (shout-out to my friend Dave for that one :D ). People can and do create lifestyles they can manage all of the time. Now, can you get a high-paying corporate job if you can't do these things? Except for driving, maybe not. But not everyone's life needs to look the same. Some skills are worth honing because they will be useful, but not otherwise (like cursive; and please don't flame me). Not everyone needs the same social skills as everyone else. Not everyone needs to conform to the same box or boxes or cylinders or whatever. Does that mean the off-beat person's life will be more complicated? Maybe. But it's going to be more complicated, regardless. Some people just have a more challenging time with certain functions than others. That's okay. It's different, but it's not bad.

I have a bonus point: If you see a situation which you think is not ideal, whether it's a person you don't think is meeting their potential or a family you think could operate better if only they'd listen to this thing you've reasoned out... and if you really want to help... rather than offering an opinion unbidden, how about saying something like, "Your family really means a lot to me. Is there some way I could help you?" then be willing to do whatever they ask, if they take you up on it. Seriously, your unbidden input can only strain your relationship. Trust me, everyone's doing the best they can.

Sunday, August 6, 2017

In a Hurry?

Parents: "Kids want to grow up so fast! Why don't they just enjoy their childhoods?"

Parents, also:









In so many ways, we give our kids the impression that they're not fully people; they're people in training. But do you remember being a kid? Did you feel like an actually-fledged human being? 

I think we do this with really good intentions. We know our time with our kids is limited, and we want to "prepare" them to release them out into the world as responsible, equipped adults.

However, I'm afraid this often leads to our making long-sighted parenting choices when short-sighted ones would actually be better. For instance: If my kid's room is a mess, maybe it's just that they don't have the energy to clean it this moment, or even today... and it doesn't have to mean that OMG, they're going to grow up without any self-discipline and their house will be overtaken by roaches, and they'll get evicted and therefore I'm turning off the wifi until the room is clean, dang it.

Kids see this. So much that they know, as they get older, that even their education isn't important in this moment. Otherwise, why would they ask, infamously about algebra, "When am I ever going to use this in the future?"

How often has a kid, discouraged with an extra-curricular lesson or activity, been encouraged to keep going because, "Someday you'll wish you'd mastered *this* so you can do *this other thing.*" 

Do you know when I've learned the things I've needed to know as an adult, for the most part? Exactly when I needed to know them.

This might surprise you, but I never learned a darn thing about real estate until I had to "learn" it to take a test. And even then, I didn't *actually* learn it until I was working in the field. Same with insurance. And video production. And script-writing. And parenting. Yeah, pretty much all of it.

And I have a theory about why family vacations are so much fun for our kids (other than the splurging in terms of fun and money throwing-around and whatnot): When we're on vacation, we are in the moment with them. We're not planning for the next thing. We're enjoying the thing we're doing right then and right there.

What if we lived like that all of the time? Or most of the time? Or at least some of the time?

Maybe our kids would be more content being children if we let them know they're important *now.* They can do things in this day that have value. We don't always have to be projecting them into the future.

Nichole Nordeman tells a story of how she had volunteered to play a song at one of her kids' school events, and as the day approached, she hadn't prepared anything. Then this following song came to her. And although the song is directed toward the children, she said that, of course, the encouragement to "slow down" is actually for the parents. I'm trying. 

Wednesday, July 26, 2017

Moving away from the guard rails

I started writing this in response to a post on a mailing list.

Basic idea behind the original post: I have a few decks of cards. I know that card seven in deck 12 tells me where I can start to find the 2 cards I can actually care about in decks x and y.

There's some personal stuff mixed into the middle of the career advice, so it seemed worth capturing the silliness that goes on in my head here.

I'm assuming the original poster wasn't just a troll.

There's a definite learning curve here.

Learn to spot these patterns.

Along with all the others. There's probably a Lifetime Achievement Goal for this one.

When you do something like (first xs) or (nth xs 3)...think about it!

Are you really just accessing the first element of a sequence?

I know that seems to be the "clojure idiomatic way." And, honestly, I think a lot of lisp literature probably supports this sort of approach. It's *great* if you're processing a seq by recursing over head/tail.

But...is that what you're really doing?

And, seriously, is there *ever* a really good reason to call nth in the middle of general-purpose code? (Yes, I know common lisp gurus *love* cadadar, but it gives this lesser mortal a headache just thinking about it).

In your case, it isn't. Or we wouldn't be having this conversation.

Personally, I haven't found a better solution to your dilemma than combing through the source code and looking for smelly parts like this.

One good (cross-language) rule of thumb I've run across is "If it happens once...OK. If it happens a second time, start being suspicious. If you see this pattern a third time, it's time to move it to an accessor method kind of thing."

I have the fresh wounds to be aware: I spent a good chunk of time today taking a namespace file that had grown too big for me to handle and splitting it out into multiple pieces. This meant a lot of digging through source code and updating specs for new namespaces. I'm still trying to figure out how this part actually works in clojure 1.9. I probably should have checked out Cursive again, and I haven't gotten further than installing CIDER 0.15.

There's another angle here that makes me suspicious.

Is what you're doing really complex enough to warrant "several thousand" lines of code?

I'm not saying it isn't!

I have absolutely no basis for judgement here beyond gut instinct. And no room to judge...I wouldn't pass this next check by any measure. I'm just asking questions here.

How good is your unit test coverage? How good are your commented-out REPL tests? Or maybe you moved those elsewhere to keep from polluting your production code base. (I'd personally rather see them right in the middle of what I'm testing as examples of how to call the code I'm testing, but I think I'm in a slim minority here).

I'm sorry for the long circle around your actual question.

If you have "lots of irrelevant stuff" that turn up when you search your code base for [first second nth]...what have you been doing?

If you've been slinging together a bunch of unrelated data structures into linked lists and expecting magic to come out the other end, then I feel your pain. Welcome to the real world. It doesn't work that way.

If you can pick apart the bits and pieces where you've been doing the same thing over and over again, you might be doing things that are easy to extract. Hmm...I'm calling (first (second (nth x 7))) a lot, to get to the same thing. I'll write a function that does this instead and then spend as much time as I can digging through my code to search for that pattern to refactor it to call that function instead.

Personally, I've never had any luck letting my editor do that step for me. It either finds a ton of false positives that breaks everything when I try to run my code in production, or it misses a ton of false negatives that leaves me wondering why I invested the time installing that editor in the first place. (Don't take my experience here as worthwhile: my experience is about 3 years out of date).

But, really, if you're doing the (-> x (nth 7) second first) sort of pattern often enough that you have to wonder whether you were looking for your uncle's telephone number or your sister's twitter feed...there's a bigger picture problem in your code base.

Figure that one out again. Recurse.

========================

Personal historical perspective that doesn't add anything, except my personal amusement and possible historical interest:

I've been working with a couple of C++ developers on a python project,  and they've complained many times about this sort of thing.

I wish I had a better answer than "What did you expect was going to happen?" In a lot of ways, it feels like when I was doing C++ and everyone around me threw away days tracking down N-1 errors on their array accesses because STL vectors were just too slow/complicated.

It seems like there are probably XKCDs about this. If there aren't, the captions should be:

C gives you enough rope to shoot yourself in the foot. C++ gives you enough rope to blow your entire leg off.

With great power comes great responsibility.

Tuesday, July 25, 2017

Fish Gotta Swim and Birds Gotta Fly

I had an epiphany last week. It's about fishing. I've never gone fishing. I like being on a boat, but I don't have any urges to fish, especially not catch-and-release. I can actually understand the draw of fishing for dinner, but the other? Well, I didn't really get it. Until last week.

In the past couple of years, since having put out bird feeders, I have become increasingly interested in birds. Since moving into this house, I actually joined the Facebook group Birds of Texas, where there are more experienced birders than I who are happy to identify birds when I am unable to do so. In our yard here, I have seen: House sparrows, house finches, Carolina wrens, Carolina chickadees, doves, cardinals, red-bellied woodpecker, painted bunting, black-chinned hummingbirds, and turkey vultures. It's interesting: I haven't seen nor heard any Mexican scrub jays, which were all over the place at the apartment in Oak Hill. I also haven't seen a roadrunner in our yard, though I've seen them in the area, including one that walked past our house in the street every day for a week or two. I felt like he was going to work, then coming back home with a lizard for the family.

Anyway, my parents moved to Temple earlier this year, and they live in an area with so much new construction that there aren't any mature trees. They put out a feeder, though, and are being inundated with visitors. When we were up there last week, I went to sit outside to see what birds I could see. Also, it was 100 degrees and about 70% humidity.

At any rate. I pretty quickly saw a dove sitting on their next-door neighbor's roof.

Weird-o.

Then, I saw a couple of pairs of house sparrows and house finches.

Bathing.

You rang?
I also saw some grackles flying around in the area, but they never landed in my parents' yard.

If you've never watched birds before, they do this thing where they'll end up trickling into the same area, they'll all hang out for a while, then every single one of them gets a telepathic memo or something, and they all take off.

At one point, I was sitting there, staring off into space, waiting for the birds to come back. I thought, "Ha. I'm sitting out here in the heat, waiting to see more birds. Common birds. And I'm not sure when they'll be back..." Then I realized: I WAS BASICALLY FISHING. Just without the water. And I under no circumstances intended to eat any of these for dinner. My cats might have a different take on that.

But I felt a camaraderie with people who enjoy fishing just for the sport of seeing what you can catch, and enjoying the still silences (boredom) between active moments.

Also, bird-watching probably means I'm getting old, a fact that next month's birthday would tend to confirm.

Saturday, July 22, 2017

Speaking with Mal

Here are a few snippets from conversations with my son this morning, in the space of about 2 hours:

MAL: Eww. Earwax.
ME: Yummy!
MAL: No! Earwax is gross. Boogers are yummy!

Later, Mal handed me something that looked like a seed.
MAL: What's this?
ME: (realizing it wasn't hard-shelled) Um, did it come out of your butt?
MAL: Yes.
ME: Then I think it's poop.
MAL: Not, it not.

MAL: Mommy, deedees!
ME: Sweetie, there's not any left.
MAL: I just need two deedees!
ME: We already did two.
MAL: I just need five deedees.
ME:...
MAL: They're not tired! They're just closed! Right there!!

Permanent mood

And here's a bonus conversation with that child's dad, many many hours later.

ME: Good morning! Are you hungry?
JAMES: Yes.
ME: What sounds good?
JAMES: You want to do that thing you mentioned? With the pies and the cheese and the video games?
ME: Um, no. You can't do Chuck E. Cheese on the weekend unless you get there right when it opens.
JAMES: Is it too late for that?
ME: What time do you think it is?
JAMES: About 8?
ME: It's 20 'til 1.
JAMES: Wow. Thank you.

I think we can all agree I'm the best wife. I don't think I've ever even made a honey-do list. :)

Have an entertaining weekend, people!


Monday, July 17, 2017

Mini-Update

Last night, I was writing my previous blog post out on the porch, enjoying the sunset and sounds of Texas summer. I'd invited Mal to come out with me, but he was watching videos in the floor of our bedroom.

Anyway, at a little bit after 9, Mal opened the back door and said, annoyed, "Mommy! I'm TIRED!" I asked him if he wanted me to help him go to bed, and he said yes.

We came in, and, of course, nursed for a few minutes, then he said, "I want to go outside now." I have to admit, part of me was like, "What? I thought it was bedtime!" but I went back out with him, and at that point it was pretty much dark. We looked at stars, he looked for fireflies (I guess it's too late for them now), and he desperately wanted to see a shooting star.

We started hearing a very high-pitched whinny, which sounded kind of like a cartoon version of a little pony. Maybe it was a baby fox? Or a bird? Anyway, Mal decided it was a horse, and it kind of freaked him out. He wanted to come in before the horse got us.

I actually had him sit in my lap outside a few more moments, explaining that horses don't really attack humans (but you don't want to walk around the back of one!), and that whatever it was was probably just crying for its mama.

When we did come in, he decided it was a baby horse missing its mama, who had gone to get dinner at McDonald's.

And he was asleep within 10 minutes of that.

It's not always that simple or easy, but it's a lot better than two hours of insisting "you don't have to go to sleep, but you have to stay in bed!"

I understand it's different for kids who have to be somewhere the next morning; no judgement here. Mostly just thought it was a cute interaction I wanted to remember. :)

And this is how he went to sleep Saturday night: we were driving to watch the sunset. We missed it. :)
This is the only thing that works besides "deedees."

Sunday, July 16, 2017

Strides in Unschooling

It's been quite a while since I realized we were "unschoolers." We'd been so in spirit pretty much from the beginning, academically-speaking. I was always willing to skive off the loose plan I had (we never bought curricula and always just had some random colorful workbooks around and some science experiments in the pipeline in case the desire arose) if something more interesting came up.

For instance, when I used to mystery shop, if I were able to schedule a whole day of shops, I'd do that and we'd listen to Dragon Rider or the Spiderwick Chronicles or Harry Potter on audiobook in the van. And I wouldn't feel like we'd missed out on anything, or that we were "behind."

And whenever we went on field trips, I never made a lesson plan in advance, or printed out a scavenger hunt, or made D take notes. We just enjoyed what we were doing, and what was interesting or important stuck.

Then a few years ago, everything fell into place and we had a label. At first, I thought it would just be academically. I read about radical unschoolers (parents who let the "they'll learn what they need to know without coercion" bleed into their home life as well as education), and it sounded for all the world like "unparenting" to me. It sounded boundaryless. It sounded like chaos.

And then D got older, and wasn't quite the people-pleaser (or mom-pleaser) that the younger version had been. I had to decide how to handle that: bow up against it and assert my "parental authority," or lean into building the relationship we'll have as adults, and invest my energy into something that will outlast what happens "under my roof." I chose the latter. It's taken a while, but it's changed everything, and I wish I'd done it sooner.

So Mal gets a different start than D did. We're starting him without the authoritarian model D had as a young tyke. And it's fascinating to see how it's going.

When D was newly-minted, I really thought that I had to provide "educational" stimuli every moment, or I was missing opportunities. Think things like saying, "This is your nose" or singing the alphabet song, or narrating literally everything I did. It didn't occur to me that entry into the world is stimulating enough. That kids learn by watching and imitating. That talking to them naturally rather than didactically is better.

Yesterday, Mal asked me to read "Thomas and the Ten Balloons." First of all, that was cool because he's a lot less into reading than D was at the same age. And we don't assign value to any of his pursuits over others, as a rule, but it's just interesting how different they are, and I really enjoy sitting a kid on my lap and going through books together!

Anyway, for the first time, Mal counted all of the balloons on the first page correctly. He can count to ten, and will do it "right" much of the time. But pointing to the balloons in sequence, without skipping any or counting one more than once, was a first. And whereas I'd counted out loud, counted objects, encouraged counting, and drawn numbers over and over, "working" with D, I've never done any of that with Mal. Yet somehow, he's managed to pick it up.

On the radical unschooling front, there's that Mal eats and drinks whatever he wants. I never made D eat at certain times, but, for instance, I made laminated "tickets" in the shape and color of little cups when D was about Mal's age. There were 2 "apple juice" cups, 2 "chocolate milk" cups, and like 8 "water" cups. They were in a pouch on the fridge, and D would get one ticket to bring me, I'd fill the order, and I'd put the ticket on top of the fridge to be recycled the next day. I did this because I felt very arbitrary about when I said "yes" to juice and when I said "no," but I "knew" that parents aren't supposed to let their kids drink a lot of juice, because sugar and obesity and whatnot. So I made a scapegoat and though it was brilliant.

Another time, D didn't eat the mandated amount of broccoli at dinner, and I insisted that would be the next thing consumed. Breakfast rolled around, and D instead opted out. Then we met friends a Chick-fil-A, and I brought that stinking (literally), cold left-over in a snack baggie. Half an hour into playing and desperate for a kids' meal, my poor child choked down those sad trees so we could all get on with our lives.

Again, at the time, I believed it to be a battle of wills I'd needed to win. The only problem with doping it like that is that it makes the kid the "loser." Winning and losing is fine in competition: sports and games... but not parenting. We're supposed to be working together. If it ever feels like the kid is "against" us, then it behooves us, as the hopefully better-able-to-think-rationally adult to see what's going on, what the conflict is, and how to navigate forward.

So, cut to yesterday: Mal had had three doughnuts to start his day A different mindset might have limited this to one or two before "encouraging" the child to eat something "more nutritious." But we just let him have what he wanted (actually, he walked into his room eating one that he'd gotten himself... and that was supposed to have been D's!), and no one made any big deal out of it. Whatever he ate throughout the day wasn't memorable, and then at dinner -- this is particularly ironic given the anecdote I just shared - as we were sitting down to the potsticker soup I'd made, Mal wanted none of it and instead requested broccoli.

Actually, there were a couple of tries with the soup, during which I realized that he seems to think the refrigerator is like the microwave, but for cold. He'd ask me to put the soup in the refrigerator because it was too hot, and 45 seconds later, he'd start fussing that I take it out... then scream when it was still "too hot."

So I only heated the broccoli 30 seconds, to knock off the cold rather than to heat it up. Mal inhaled it and asked for more. He probably ended up eating 3 servings, enthusiastically, with no "reward" in sight. He ate it because it's what he wanted, and he was happy.

It's so much easier and enjoyable that way.

In terms of learning... well, my son knew what a feller buncher was several days before I did, and I have more than four decades on that kid! D is an even more amazing artist than ever, and learning all sorts of exciting stuff I'd love to share, but teenagers and privacy and respect and all of that. It's just a treat to see my kids learning things I've never thought of learning, because it's where their interests are taking them.

Yesterday, when Mal was playing and being a little too rambunctious, and getting in my way when I needed to get something done, I asked him repeatedly and without shielding my frustration to please move so I could finish. Whether he moved or not, whatever he was doing, it occurred to me that he has no fear of disappointing or displeasing James or me. He does what he does, and if he does something "wrong" like hurting one of us or breaking something, he pleasantly and genuinely says, "Sorry, Mom!" but doesn't blanch and wait for the other shoe to fall. He's secure. He knows he's loved. He doesn't worry about what we might do when we find out this or that happened. It's a pretty amazing thing.

I believe there are two main reasons a lot of people wouldn't consider unschooling, on any level, but maybe especially whole life unschooling.

The first is a negative view of children (and probably humanity in general). "If you give 'em an inch, they'll take a mile." Well, that might be true if you've stingily meted out centimeters their whole lives and are "doing them a favor" by letting them have a "little" taste of abundance. However, if you just throw the whole rope out for their use, it's actually easier to reel it in when you need to, because they trust that you're being as generous as you can, since that's what you always do.

For instance, this morning, we were out of Lucky Charms, which Mal requested (specifically: "marshmallows with cereal"). He was disappointed, but I managed to sell him on Quaker Oatmeal Squares with bananas by telling him the truth, which is that it's my favorite cereal ever. And he knows we'll get more sugar bombs another time. He knows we say "yes" as often as we can, so he trusts our "no"s when we have to give them.

The second reason, I believe, is something akin to jealousy. "Why should this kid get to decide how to spend his time? I never got to do that." Often, this is stated as something more benevolent-sounding, like, "They have to learn to do what people tell them because once they get out in the real world..." Well, except... they're kids. They can probably pop on into regimented scheduling and being told what to do for hours on end fairly easily. And if they can't, maybe they'll create their own "thing" so they don't have to be beholden to someone for those moments of their days.

Regardless, I don't harbor any resentment against my teenager, who decides when to go to bed and when to get up and when and what to eat and how to fill the weird hours of wakefulness. I think it's exciting, and wonder what I might have done with that freedom. I used to make newsletters for my grandma on our computer (printed with the dot-matrix printer!). And write short stories for friends. I loved to walk while listening to showtunes. I liked sitting out on "the bluff," overlooking the Arkansas River. Who knows what might have come of unlimited hours to indulge in my own thoughts, plans, and schemes? How grateful I am that we can give that treasure to our children. Once they get older, they necessarily will have to choose more "mature" and less "fun" pursuits (though hopefully still leaving room for those; I do, in as much as I can!), so that they can experiment and while away hours and binge-watch and try to cut down trees with sticks and get trapped on the bed for 45 minutes because there's a cat sitting there like a paper weight... It's something I'm supremely glad I get to witness and in which I am privileged to play a role.