I really wish the dominant ethos of expository materials was less "here's why topic X is actually super simple" and more of "you—yes, you!—are capable of understanding difficult things"

@sliminality I always come back to "So You Want to be a Wizard"

https://wizardzines.com/zines/wizard/

So you want to be a wizard

wizard zines
So You Want to Be a Wizard - Wikipedia

@australopithecus I was thinking of this! All I remember from this book is the car antenna wand.
@sliminality ↑ this x1000
@mwichary @sliminality Do you feel this was achieved here? https://mastrojs.github.io/guide/
The Mastro Guide

Learn the fundamental web technologies (HTML, CSS and JavaScript) using Mastro

Mastro
@sliminality yes. Stop trying to lower the bar - elevate the base.
@sliminality this has come up when I was giving trainings. I didn't want to pretend stuff was easier than it actually is, but also felt it inappropriate (and patronizing) to put the idea of "here comes something you'll struggle with" in the trainees' minds. Do you have thoughts on how to approach this?

@dngrs I usually say something to the effect of "I personally found this very subtle/unintuitive, and had to revisit it from several perspectives to really get it. I'd avoid being too harsh on yourself if you don't internalize it quickly, or if it seems deceptively simple at first"

In general I've had success just labeling things (whether in training materials, or live sessions) with "WARNING: NONTRIVIAL, HANDLE WITH CARE" so people have some sense of relative distribution of cognitive effort

@sliminality The best book I ever read on computer networking was written with a tone of "I don't understand this either, but here we are, so let's work it out"*.

Walter Goralski, "SONET", 1997.

@sliminality That would be cool. Do you have any recommendations for getting better at writing that way?

@roboguy no slam-dunk answers but here are things that have helped me:

1) read (or watch lectures given by) other people who teach in this style

2) as you learn, pay close attention to your own misconceptions and evolving understanding. Whenever something finally clicks, think about how you would present the material to the previous version of yourself. Actually writing the notes/tutorial can help a lot (and there are always people who are at your previous level of understanding!) plus it crystallizes your own knowledge and serves as useful reference material later on if you forget. Likewise, address your own misconceptions, pay attention to what feels excessively patronizing when you read other people's materials, etc.

3) take reasonably-clear materials written by folks who make no attempt to sugarcoat things, and figure out how to adapt it to be slightly more explicitly encouraging. This exercise can also yield useful longer-term notes/resources for yourself

@sliminality Thank you! That's good advice.

I've been trying to do 2 lately, but I still need more practice with it. I was working on a (PL-themed) introduction to categorical semantics with that in mind, while it's still relatively fresh for me.

There are a lot of other things I want to work on with that approach too, but that's going to have to wait until I have a little more time for them. But whenever I have some idea for those things, I still at least make a note of it.

@roboguy @sliminality if you have someone available that could review your notes too, that I found to be immensely helpful for clearing up any misconceptions
@koronkebitch @sliminality That's definitely useful. I'll probably be able find someone that can do that at some point.
@roboguy @koronkebitch honestly if you just post on the internet being like "hey are you a person with X background trying to learn Y thing, wanna read my notes and tell me where you get lost" you will almost certainly get eager takers
@koronkebitch @roboguy @sliminality yes!! something I learned from julia evans’ writing is the importance of how you ask for feedback (or at least how to interpret the feedback you’re given) on expository writing: you want to know where they found themselves confused, stopped following, or weren’t sure they understood. (it’s much more common for readers to instead make suggestions they think will improve the writing based on what they *do* understand)

@sliminality @roboguy some caution with 2:

It is not always the case that the last thing that made a concept click is necessarily the essential route to it.

Sometimes what's needed is to accumulate enough dexterity with the concepts so that they click together. Then, the only role the last thing that makes the concept click is being the forcing function for you to review all the concepts and see how they hang together and *click*.

A good demonstration for this confusion is the 'a monad is like a burrito' phenomenon.

@ohad @roboguy yes, of course (sorry if that was not clear). I'm assuming the metacognitive part accounts for all recent exposures to a concept, not just literally the last thing. Still, working through a big misconception or having a paradigm-shift in understanding is often a useful piece for others.

@ohad @sliminality This is something I was thinking about lately, too.

I had some moments like that somewhat recently.

One moment was learning about syntactic categories and how they relate to type theory. Several things just suddenly made more sense. I even felt a little bit more comfortable with category theory in general after that.

For whatever reason, thinking about morphisms as being like well-typed open terms made things a *lot* more clear to me than trying to think of them as being like functions (in a programming language).

This also made it a little easier for me to think about what presheaf categories are doing. From my current perspective, morphisms of presheaves are sort of like inference rules.

I'm surprised there aren't many introductory resources that describe that, especially with all that's been written on introductions to various category theory concepts!

But I don't know how specific to me it is that I found that so useful. Surely there are other people out there who'd also benefit from learning about it, though. But I also know there are other perspectives, too.

I was trying to "unwind" the other helpful things I looked at before. The generalized element perspective of morphisms is also very helpful for me, for instance.

@sliminality I'm partial to "you could have invented X" (which could be interpreted either way)
@sliminality When I was getting ready to give birth at home, I was struck by how the best resources had the flavor of "Giving birth is hard, but you can do it." I trusted them more because they didn't try to sugarcoat it. So I try to bring that to my teaching: It's gonna be hard, but you can do it and we're here to help
@lindsey next time I just need to tell myself, "you can use logical relations, at least it's easier than giving birth"
@sliminality debatable
@lindsey @sliminality LOL! I occasionally forget that you were Amal's student before she moved, so this couldn't be more perfect.
@lindsey @sliminality Keeping this in my pocket for future use
@lindsey weirdly this makes me feel more comfortable about giving birth
@sliminality it's hard but you could do it
@lindsey still think I might just use LRs instead
@sliminality @lindsey to produce a child?!
@chrisamaphone @lindsey Tait's method is very advanced these days
@sliminality @chrisamaphone @lindsey If your newborn semantic model isn't crying, that's ok, so long as it's breathing normally.
@sliminality I don't remember the exact book (I think it's Big Nerd Ranch's iOS Programming), but I always appreciated the prologue, which said something along the lines of "this is hard, but can be understood".
@sliminality How can they be sure of that? It's not like you have any control over your audience.

@ibrahimtencer 1) it's simply a framing, not an ironclad guarantee. "X is actually super simple!" cannot be guaranteed either

2) it's not about controlling your audience, but illuminating possibilities. a combination of encouragement and good didactic presentation can help people accomplish things they previously would not have assumed; this is the premise of instructional design

3) some things are simply hard. compared to "X is easy" framing, this version allows you to present difficult concepts without disingenuous sugarcoating (or worse, presenting a flawed simplification), and is framed towards building the learner's self-efficacy alongside their understanding of the concept per se.

@sliminality I don't think those feel significantly different to me, in particular both are good news! It's good if things are actually simple and it's good if I manage to understand something difficult. Why does the "you are capable of understanding difficult things" approach feel better, do you think? Is it like an ego thing, "look at me, understander of difficult things!"? (Note that I don't think there is anything wrong with stroking people's egos as a form of motivation —we can all use some encouragement every and now and then.)
@sliminality I’ve been holding in a rant for a long time about people starting explanations with “it’s actually really easy” like that’s supposed to help somehow? I don’t care that it’s easy for you, if anything that makes me feel worse if it’s not easy for me?
@chrisamaphone ugh yes. I actually had a related twitter rant about this awhile back (s/flout/flaunt)

@chrisamaphone @sliminality There's a comedy routine, maybe by George Carlin, about people who give driving directions that include “you can't miss it”.

“Oh, so now I'm lost _and_ stupid.”

@chrisamaphone @sliminality I use the phrase "simple in the mathematical sense" for a reason - the easiest thing in the world is guaranteed to be the hardest for someone it's not easy for, and it's a context where enough people I know are used to the idea that the simplicity is what's making them work harder
@chrisamaphone @sliminality (did I tell/remind you while you were over here that I'm dyspraxic?)
@sliminality I think that this also requires a reframing it means to understand something - there's a popular view that once you really get something it turns into something simple, which I think leads to this kind of exposition in the first place.

@sliminality this would make my life as a programmer and black market educator so much easier if this was the default.

I cringe when people virtue signal their seniority by saying how we, “have to keep things simple.”

Some things are difficult and complex. And people are capable of learning. It’s harmful pretending it’s simple or trying to give code the veneer of appearing simple.

@agentultra @sliminality OK but what if we add a bot! (Sorry to vent here too, I’m super pissed right now)

@sliminality I tried really hard for this when I wrote Higher-Order Perl. “This is easy” seems like a funny thing to say about anything? I think “easy” and “difficult” don't work that way, most of the time. What some people find difficult, like calculus or being courteous, can be easy for others.

There are exceptions, of course. I don't object to describing NP-hard problems as hard. Or running a functional democracy.

@mjd I do think "hard" has a particular, more objective meaning when it's used in "hard problem" or "NP-hard", which also mitigates some of the semantic slippage.

@sliminality Yes, it's not at all the same thing.

And I think democracy is objectively hard, in the sense that it's been tried many times, problems have kept coming up, and often they haven't been successfully solved.

(Not to say it isn't worth doing. Just that it's hard!)