53 comments

[ 3.3 ms ] story [ 105 ms ] thread
In my experience the parts of a (study) book where you feel dumb and frustrated while reading are generally the best parts. That's where you get the most worth out of it, it means you finally hit the spot where you are learning new stuff and concepts, rather than re-hashing what you already knew or thought about, just from a slightly different perspective (which is also useful, but not as much).
The same applies to learning new technologies. If you're feeling stupid or unconfident it's probably a good sign that you're learning something useful.
I think challenging is where you want to be at, not overwhelming. If you are feeling stupid, you're probably missing something along the way. This is still useful information, though. It tells you that you should go looking for the missing pieces.

Your next task after learning 100 basic words in English should probably not be Shakespeare.

Maybe it's a difference in mental state. For me I feel overwhelmed and feel stupid when I start something new, because I'm starting from scratch. I have to push past that to get started. Other people may have more of a growth mindset and see the lack of understanding as a propellant to learn more.
Sometimes. I read as a student a highly recommended physics book. It looked all like gibberish. I reread it after mastering the material (from other sources), and it just was gibberish.

So sometimes it is the book. (this happened because it went through like 23 editions and edition 20 was a 'modern rewrite' which killed it. The reputation and praise was gained from the older editions).

(comment deleted)
The Huberman lab podcast put a number to it: you want a 15% failure rate for optimal learning. It’s a good podcast. He’s a neuroscientist at Stanford, so it’s not mushy pop-sci.
I think the sweet spot is 80% familiar content mixed with 20% new. If you are confronted with chapters that are 100% alien to you, then it's very hard to understand anything from it and you might just lose the reader.
That is very interesting, I would have never thought of using a "duty cycle" as low as 20% in a math/science textbooks.

I agree that every chapter should start by connecting the material to past knowledge, and briefly reviewing some of the prerequisites, but then surely the author should get to the new stuff after that?

Perhaps your estimate of 20% doesn't include the repetition and worked examples? In general when a new concept X, I try to explain it at least three times, once informally, with terminology and definitions, with formulas, and with extra explanations. In my mind all these repetitions count as "new stuff," since they cover the material at different depth and bring new dimension to the concept.

Perhaps you could give some examples of the 20% new max sweet spot? I'd much appreciate.

Recently, I stumbled upon a book "Seven Sketches in Compositionality: An Invitation to Applied Category Theory" where the authors decided to design the difficulty of the chapters like this: https://i.ibb.co/349JLsf/difficulty.jpg (image from the book)

I like this approach better, because most math books have some easy introductionary chapters and then it gets harder and harder, because the authors assume that they laid out the basics in the first chapters. The authors might be right technically, but it's very hard for the readers to go through a chapter that is 100% new material.

In "Seven Sketches in Compositionality" they try to somewhat reset the difficulty for each chapter by starting again with introduction and motivation for each chapter separately. This makes it much easier for me to get into the material of each chapter and to read the whole book.

Thx. That helps a lot. I agree re-contextualizing and smooth-starting each section in a textbook seems like a very good idea. This will probably make the textbook more amenable to "random access" learning too.
I remember having this feeling very early on in my career trying to learn about curl and finding it terribly frustrating. Then later when I next needed to work on it, things just seemed to click. It's a feeling I don't have as often these days but still incredibly satisfying.
I don’t think so. Frustration usually leads to demotivation in context of studying a subject.
Frustration is very much a mindset-problem though. In part, it's misaligned expectations, but also a learned behavior of giving up whenever something doesn't immediately give away.

People have spent decades trying to solve difficult problems in mathematics and science. A big reason they didn't get frustrated and give up after 4 minutes was largely because they didn't expect it to be a 2 minute problem.

> Frustration is very much a mindset-problem though. In part, it's misaligned expectations...

...Like the kind you might get from a misleading Who This Book Is For section?

I honestly don't think that is the problem.

Maybe it's school, kids are used to knowledge being drip-fed in a pedagogical fashion, which I guess is fine, but it's also far away from how learning happens outside of school. In the real world, it's normal to encounter problems that aren't trivial.

If I learned stuff exclusively from my own real-world experience rather than from crystallized wisdom from books I'd be much less capable than I am today.
> In my experience the parts of a (study) book where you feel dumb and frustrated while reading are generally the best parts.

True, but not always. Just as often, such parts are terribly written for one or the reason. It's possible that particular section of text is the least favorite of the author so they rush through it. Another possibility is that the author gets tired by the time that section rolls around and just goes thru the motions. Or that the author plain doesn't think a certain section is important enough to expound on it carefully. Yet another possibility is that the author is not universally well-versed in the subject they are writing about: they know some parts better than others.

Some examples would help. Without them I can't say this is something I recognize.
Came here to say the same thing. Maybe I don’t read as much? But the books I’ve read have never mislead me on their desired audience.
Educators often assume implicit knowledge.

I fondly remember my first day at IT school.

We went into the PC room and everyone should do some basic research on the C programming language. We didn't even had to program anything.

And a guy sat next to me on the PC and asked me how to switch it on. Then he asked how he even would find, let alone use a search engine.

Math and programming books are prone to such issues.

Especially math books assume, you still know everything you learned in school.

I take a different approach in technical materials I write. I want to make system internals accessible to more people, not to a restricted few who have the right prior knowledge.

I try to write something that everyone understands who has a minimal relevant background (i.e. everyone who would be interested in reading the post) but include links to deeper materials or kernel source code so that everyone can learn from it.

Here's an example with an article I wrote on Linux shebangs: https://natanyellin.com/posts/shebang-python-bad-interpreter...

Would love to hear constructive criticism on how I can improve!

What's linux? What's python? What's a script?

What's a kernal? What's a symlink? What's hex? What's a hex-editor?

    i_end = strnchr(bprm->buf, sizeof(bprm->buf), '\n');
What's `->buf`, `strnchr(bprm`, `sizeof(brmp`, ? Why does `\n';` have a `;` ?

FYI: I know the answers to all these questions but the idea that this article isnt for a "restricted few who have the right prior knowledge" is bizarre. It reads almost like a satire... this would be a classic case of an article where a vast amount of prior knowledge is presumed.

Who knows what a kernal is that doesnt know how to debug `/usr/local/bin/python^M` ? Some, but a vanishingly small highly priorly knowledable group.

First of all, thank you for the comments.

That said, I'm not claiming that you don't need any pre-requisites. Obviously this article is aimed at people who use bash or else they wouldn't be having an issue with the shebang!

There is a huge audience who knows what a kernel is (in theory) and writes shell scripts, but doesn't know how shebangs work and has never actually looked at kernel code.

My point isn't that you don't need prerequisites, rather that I think there is room for writing at a certain level while also giving people hooks to learn more.

Anyway, I do appreciate the feedback. Thank you.

Let's say you have a book about a programming language; writing this in a way that anyone can follow – even those have never programmed before – would substantially increase the size of the book, as well as make it harder to follow for more experienced readers, since they will need to cut through all the stuff explaining the basics (loops, types, variables, etc.) in ways that a beginner can understand to get at the stuff they're actually interested in.

Your approach works well for fairly short/simple concepts (although even in your article, there's a lot of assumed knowledge), but it gets harder the longer or more deep the content becomes.

As for the posted article, I never had this problem. I suspect the author just bought badly written books; there are many of those, unfortunately.

So, you say you write for "everyone who has a minimal relevant background" can read this.

What does this even mean it the case of the article?

The minimal relevant background is that you know how to copy a Python script with an \r to a Linux machine.

This includes Python developers, for which this article is written.

But it also includes non-Python developers.

In fact, this even includes everyone who wants to run a Python script on a Linux machine. Administrators, but even regular users without much technical knowledge.

So, our reader persona is the average Linux user.

If I look at that article from the perspective of this persona, at least 80% of it doesn't help me at all.

The article should start with the fix, and not redirect the reader to the end of the article.

> Authors (actually publishers) use that chapter to list the skills you should have to keep up with the book contents. More often than not, it’s misleading, downplays the expertise you need to have, and it sets the bar unrealistically low.

Realistically a student will spend a semester reading the book while also following instructions about the content of the book, and they still have difficulties. That is the amount of work you have to do if you have the correct prerequisites. So likely you just have unrealistic expectations how fast you'd be able to read a technical book covering a field you aren't used to.

It's useful to know who they think the book is written for, to get the most out of the book.

Books are not individualized, so it's a very difficult ask to publishers and writers to write something in that section that perfectly applies to you.

its hard to know what the prereqs are when you already know a thing deeply. people wont even agree about what it means to understand the prereqs!
I find its healthier to assume you're dumb if you don't understand what is going on in the textbook. Its incentive to get better.

Everyone is an idiot at something.

But this is the 21st century, everyone is perfect the way they are, no need to improve.
I think, the focus on what is actually fine has shifted.

Obviously, everyone has parts of their life they could improve.

But in the past the world expected you to change things that, in fact, were perfectly fine.

We are now in the readjustment phase, what did society want from us that was actually bad and what was good?

Alternatively, a good technical book should challenge you and it’s totally fine to only take away some percentage of it. If the whole book feels like “happily breeze through the first few chapters, and I would get that nice rush you get when you learn new stuff”, you’re most likely just wasting your time learning hardly anything substantial, since substantial learning usually isn’t a breeze.
A book should do both.

Hold your hand with all concepts it offers, but also supply you with chapters and exercises that challenge you.

If you fail to implement an example, there should be obvious places you can go back to and read about it again.

Meh, I usually just ignore the stuff about famous people reviews on the book, the formatting and the prerequisites, when I am interested about a topic, I get the book, don't understand something, research about it with the help of other resources, I am more likely to use a book as a starting point to incrementally learn something in order, more than the only source of truth, so I get on internet often while reading

Since we're at it, I hate the fact that books have started being sold like apples by weight and based on the amount of pages, so that it's like I feel during the past few years I've had insanely long books repeating the same shit over and over with authors without any capability to express a concept directly and just walking around a point with low expression skills. I think writing a book right now has become more of a PR exercise for people, rather than something being done by people who have actually learned how to write

Sometimes I just find myself in the middle of a page talking with a book, thinking "Wtf mate you just fcking said that, can you just get to the fcking point already?"

I think that's actually because the publishers fired all their editors.

People really don't understand the value of a good editor.

As far as prerequisites, I'm not sure I'd ascribe a mercenary (thus, malicious) intent. I think that experts have a hard time understanding non-experts. I make that error all the time.

In some things (like Swift programming), I'm pretty much an expert. There's definitely aspects of the language and standard library that I still need to learn, but, for the most part, it's something that I eat, sleep, and breathe. I do stuff by habit, without thinking, that would have many people new to the language, scratching their heads.

Oh man, I have no difficulty trusting you, can't express it enough how much I hate this culture of cutting costs and growing revenues at all costs at the price of a good service/product
A lot of math textbooks are like this and people’s perception around them.

To be fair Axler’s linear algebra book states it’s for a second semester course in linear algebra but many math people recommend it as a first exposure to the subject to someone that doesn’t know any linear algebra anyway. Technically the only prerequisite is an exposure to proofs and mathematical thinking.

But the book doesn’t like determinants and isn’t focused on computing things around matrices and is instead focused on finite dimensional vector spaces and so on.

To someone that doesn’t even know what a matrix is but have seen some basic proofs it’d be hard for them to pick up and understand Axler in its fullest depth despite the prerequisites just being “math maturity”. Axler assumes you know a lot more than he writes, or assumes you’ll figure it quickly.

Same can be said for Rudin’s basic analysis book. Technically anyone can pick it up and go through it with minimum pre-reqs. But without a tutor or someone to answer questions most beginners would get stuck somewhere.

Also it’s a thing these books don’t tend to include any solutions so without someone checking your work or a proof assistant then most beginners wouldn’t have a clue if their proofs are valid or contain a subtle mistake or would think they’re valid but be incorrect.

Maybe such books could provide recommendations for a good book as prerequisite?

E.g. "this book is for 2nd semester linalg, if you're not at that level yet or <whatever> we recommend <book X which can be assumed a baseline by this one>"

> despite the prerequisites just being “math maturity”.

TBH I've started interpreting the maturity part at code for solid experience with proofs and abstraction.

I'm not sure exactly why they do it, it's possible that there just forgot how it is to be a beginner.

In my honest view this is a bad example. Axler is a professor of mathematics and editor of multiple undergraduate and graduate mathematics texts series. His supervisor’s supervisor was Paul Halmos.

His books are introductory in the context of mathematics courses. They are not introductory in applied mathematical sciences contexts.

There I would suggest, e.g., Boyd and Vandenberghe’s Introduction to Applied Linear Algebra [1], Meyer’s Matrix Analysis and Applied Linear Algebra [2], Golub and Van Loan’s Matrix Computations [3] etc.

> But the book doesn’t like determinants and isn’t focused on computing things around matrices [...].

This is purposeful.

[1] https://web.stanford.edu/~boyd/vmls

[2] http://matrixanalysis.com

[3] https://www.cs.cornell.edu/cv/cvl_home/books

Isn’t Golub and Van Loan more of a reference book? I think it would be pretty rough as an introduction to linear algebra.
You are right. It is. I admit that I was trying to think of an introduction to numerical linear algebra, but I was unable to recall any titles I would personally recommend. That is why I tried to put it towards the end of the listed examples, as a progression of sorts.

I don’t think I can edit my comment anymore, but I am more than happy to improve future suggestions if you have any recommendations.

I think, the main issue is, most people don't write for an audience, they write to write.

I reviewed a bunch of technical books from a big publisher, and they were overwhelmingly bad.

Some of the authors have written like 8 books about AWS or K8s and still their books didn't reflect that they gained any experience in writing.

But yeah, it's obviously a good career move to write a book. If you're a published author for 5 K8s books, you have to have some skills, right?

I would take a guess and say that the overwhelmingly bad books that you've seen are from Apress? I have tried some because of discounts around and ended up thiking that they've become utter garbage?
No, lol, but good to know that theirs are bad too.
That feeling of stupidity usually sets in, when there is no good explanation, using non field-specific jargon. If somebody explains to you a fact, using not yet-explained concepts or words, you are hitting a recursive problem and can not continue.

The best explanations do not use field jargon and that is the reason why they are so rare.

If your beginners book uses field jargon without laymans explanations directly beside it, it is simply a bad beginners book. Bonus-points if you use field jargon from other fields not even related to the topic of the book.

You are dumb and the prerequisites are dumb. Stupidity is universal and we must struggle against it each moment of our lives or drown in it.
I believe the point at which the author leaps from a clear and beautiful worded explanation into deep complexity without accompanying explanation is the point at which they no longer fully understand it themselves.

Having attended many a conference and spoken to many an author, the deep bit of maths in their publication without any understanding is most often the bit you later find they copy and pasted.

> Authors (actually publishers) use that chapter to list the skills you should have to keep up with the book contents. More often than not, it’s misleading, downplays the expertise you need to have, and it sets the bar unrealistically low.

Opposite is often true for math textbooks. The authors of such texts overhedge unnecessarily, imo.

Open a textbook on, say, differential geometry. The prerequisite are: at least one course of real analysis, facility with linear algebra, knowledge of general topology, some familiarity with complex analysis, bla bla bla. If you are anything like me, upon learning about these prereqs you run off to learn all the ins and outs of nets and filters in topology and end up having studied and finished a textbook on functional analysis. When in reality all that was required for profitable reading of the original textbook on diff. geometry was ability to multiply two matrices together and not up and run in fear when coming across a phrase like "...by compactness argument".

Required reading for anyone intending to share their expertise with an audience

https://pages.gseis.ucla.edu/faculty/agre/how-to-help.html

Kathy Sierra also talks about deliberate practice as working at the "edge of your circle of competency", which can be hard to gauge when working with new topics or material (is this statistical method just a variation on a theme I know well or underpinned by several topics I know nothing about)

As someone who is:

* a sought out expert in a few things

* very sympathetic to "the noob" and learning anxiety

* a "noob" himself in most things

I find that reducing anxiety is more important than the actual material. Prerequisites lists by definition increase anxiety. Much better to simply give a "refresher" of examples of the "circle of competency" you're targeting, and let the reader decide if it's their "edge" or not.