A little bit of slope makes up for a lot of Y-intercept (2012)
gist.github.com
gist.github.com
It was very entertaining and charming to hear him discuss his personal and professional life, and lessons he's learned throughout them often occasionally have very little to do with computer science.
I don't remember all of his "Thoughts for the Weekend", but I do remember one story he told about wishing he had apologized sooner to resolve some conflict he was in. That was a bit of wisdom that stuck with me from the class, beyond any of the computer science topics we covered.
> So, the solution is if you want a relationship to last a long time, somehow you have to keep the scar tissue from building up.
The key here is "if you want the relationship to last." In many relationships, people lose the desire for the relationship to last. For instance, in his contractor anecdote, he cares more about the outcome of the construction project that he cares about prolonging his relationship with the contractor. Or in the case of a business relationship, business partners want the business to be run in their own way more than the want their relationship to stay strong. Everything comes down to a desire to keep the relationship going.
One of the reasons relationships wear out is that you can't have so many well-maintained relationships because there is not enough time to maintain them all. Some have to fall by the wayside, or you have to find a way to maintain them with much less frequent contact than when the relationships were fresh.
At the end of the day your longest-lasting relationships will be with the people nearest to you. Parents, siblings, spouses, children, close friends. All the others are at risk merely because you can't give them enough time (and they can't give you enough time). You can make some number of non-core relationships last, but you really have to choose to, and the choice has to be mutual.
There is also another aspect to the "desire to keep the relationship going". It is culture. It's unfortunate that he used a business relationship to drive home his point, because western business culture greatly emphasizes short-termism, binary outcomes and litigous behavior all of which are not conducive to long-term relationships.
With personal relationships, the same is true: consistency of behavior, personal autonomy and personal goals are all emphasized over collective concerns. These values all make it difficult to value or sustain a 'long-term' relationship that doesn't involve any direct personal benefit.
Once you can safely establish that, it's not really hard work. Just need to be able to feel comfortable enough with the person to say your real honest thoughts and feelings.
I understand that for some people that is really hard to express what they are thinking and feeling, to anyone, even themselves, but if you work on that, then the rest becomes easier.
It was hard for me, this last part, and I had to find some good books and resources to help me understand myself first. The books that helped the most were Nicomachean Ethics by Aristotle, and Before You Know It: The Unconscious Reasons We Do What We Do by John A. Bargh.
Aristotle allows you to see that there is a way to find the middle in any kind of context, and that there is no really "best" in anything, or "the right way" in anything, and it really depends on the person. This allowed me to see better in others' perspectives and empathise better, and not feel too bad when there are conflicting opinions, since none of us are the same.
"Before you know it" allowed me to see how we think, subconsciously and consciously, and how some things are in our control and some aren't.
I hope this helps.
The problem with it is that it's very easy to interpret that y-axis, "something good", as static. It's pretty hard to make sense of the model at all if you don't interpret as static, because your slope will bend all over the place, out of the plane, into multiple dimensions, etc. But once you've set your goal point, your "something good" axis, the natural temptation is to optimize your slope until you're steadily progressing against it. And that's dangerous, because you might forget that the "something good" axis was arbitrary to begin with.
Instead, I've become much more of a fan of John Boyd's "OODA loop" [1] model. Here, you're continually reacting to your environment, which is also continually changing around you. And the person or organization that can react faster usually has an advantage, because they can set the terms of the engagement. We can call that adaptation "learning", but the key point is that it's learning an environment that is dynamic, not static. Sometimes the environment will change in a way that invalidates all of your accumulated learning, and that's okay (and you don't really get a choice about it anyway).
This also drives home the point that choosing the environment you're adapting against is a pretty critical skill, and often dominates how well you adapt to it (i.e. your learning rate). I've seen some relatively mediocre people become billionaires because they picked the right industry and the right opportunity within it to join. Similarly, there are people who are brilliant problem solvers but end up in jail because the environment they are in rewards problem-solving that will get you sent there (think Omar from The Wire, or SBF from FTX).
As a simple thought provoking exercise for growth of younger minds, it meets it’s goal. I think that scope is made pretty clear by his label.
The y-axis isn’t forever. Once you plateau, it’s time to change the definition. Then a new S-curve can begin.
Over time you observe periods of quantifiable growth interspersed with discrete jumps.
That said, I believe the core of y-intercept advice hides two key wisdoms: a) don’t be discouraged when you’re new, and b) don’t rest on your laurels when you’re experienced
And perhaps c) if someone is both way better than you and improving faster, you’ll never catch up. This is why I never pursued competitive boxing, for example. Don’t have the talent.
Jim Keller on Change https://youtu.be/gzgyksS5pX8?t=558
If you're optimizing your slope, that at least implies your slope is something you can optimize. How do you optimize your y-axis?
And that's why it's a fun and rewarding rabbit hole to go down. Because when you're faced with an arbitrary, intractable problem, that's when you need to start developing the fuzzy, emotional side of yourself. That's when you need to start making hard choices about what you want your life to look like and what you're going to care about, and you're finally faced with a situation where there's no right answer, and you only have your feelings to go by.
Then you can return to the hill-climbing and optimization as a tool to achieve those arbitrarily-chosen goals, but now you look at them only as tools.
The general idea is that being a quick learner is universally valuable because it means you can reach a steep slope over many different dimensions. Hence allowing you to react much better.
As a side note, have you ever heard a coherent and/or useful explanation of the "orient" part? It seems like every time I hear about the OODA loop, that's the part that gets yadda-yadda-yadda'd over.
My stab is specific to understanding the full picture is how you can move in it. How many movement choices do you have? Can you get back to a position? Does your moving cause others to move? Can you see places that are safe to experiment in?
For prior information, look for familiar analogs. Defensive positions. Offensive outposts. Well troden paths, etc.
That is, I suspect the asker wanted specific examples of what that means. I think it is fair to say that people learn in concretes, not in abstractions. Is why so few of us know what a semigroup is, after all.
But in the spirit of being a twit, your "answers" are hardly coherent, let alone concrete. They're just as hand wavy as the original asker was probably complaining about if they wanted a concrete answer.
> How many movement choices do you have? Can you get back to a position? Does your moving cause others to move? Can you see places that are safe to experiment in?
If you want to give a concrete answer instead of a hand wavy one like yours pick a real game, sport, or combat scenario and apply it. Here's a stab at it that's absolutely useless unless you generalize the concept back to my original answer:
BJJ (which a lot of people tie to OODA):
The observations are what my own body-awareness and my opponent's actions and position relative to me. Up to this point in the match I've gotten them into my guard, they put their weight and body just far enough back that I haven't had much luck getting more control. But I managed to bump them and trip them up, they slipped up, they just planted their left hand by my right shoulder (observation).
Orientation: Combining the observation and my training in BJJ, I know that this situation ripe for an arm bar or a triangle.
Decision: I will grab their arm and adjust my guard to pull off the next move, an arm bar.
Action: I grab their arm, but this isn't a turn based game and they move too.
Observation: Gripping my sleeve or collar or shifting their weight, they make an arm bar too hard.
Orientation: I'm still in a good position for a triangle.
Decision: I'll attempt the triangle, but maintaining proper control I can still shift back to the arm bar if they open themselves up to it again.
Action: Move my legs and their body to achieve the triangle.
---------
But while concrete, the only utility here is to point out its generality. Either the person gets it and understands the concept beyond BJJ (and this specific scenario) and maybe other combat sports or they don't. This was a longwinded way to get back to the core concept: Take the observations and combine them to feed into the decision process.
And if you really think that last sentence has anything to do with semigroup-level abstraction, I can't help you.
I also should have pushed back to your terms. I think it is surprisingly useful to constantly ask what that sentence would mean in different situations. Such that I plan on doing just that for the next few days. Specifically, what did you mean to synthesize new ideas?
Would love to have success getting my kids to try this. I love your narrative there, as it shows how rapid the progression can go. At least, that is my current read.
All of that gives you your present orientation, your position, in either a literal or figurative sense.
And then there's your "opponent" (if there's not one, OODA may not be the right mental model to use). In your observations of your opponent and repeated orientation you are building up a model of them, synthesis again. You start with any prior knowledge (have you encountered this opponent before?) or an assumption (maybe a worst case, or estimate based on sizing them up). Then you engage, and in the engagement you observe and determine their real capabilities, which feeds into orientation for rendering a more accurate model of the opponent.
Orientation is taking the existing knowledge, adding new knowledge or information, rendering a better model (hopefully). Then you decide based on that model, act on that decision, and observe.
Of course it's not actually linear, all of this is happening at the same time, or can be. You don't stop observing while you orient, decide, or act. And you don't stop acting while you observe, orient, or decide.
So, for example, if you can enumerate the possible transitions, do so.
Beyond OODA is probably closer to directly answering your question, though Violence of Mind appears to deal with concrete application of "orientation" to self-defense and violent confrontations as a "good guy". I think I recall hearing in a podcast Varg did that he actually talked with one of Boyd's colleagues when putting together Beyond OODA to learn more and make sure the content was spot on, which was a big motivation for my purchase of the book as I find OODA fascinating and the concept has been very influential in my life.
There is also this article that introduced OODA to me, and it goes fairly in-depth on the "orient" section: https://www.artofmanliness.com/character/behavior/ooda-loop/
"Orient" is "given all this information, what are the possible solutions"
Decide on one solution, and then act upon it.
Repeat ad infinitum.
(The OODA concept is more about modelling your opponent in a competitive game so that you can analyse the opportunities for disrupting them. A competitive game like “dogfighting” or “Cold War counter-intelligence” or “the market for office software products”. When you describe it as “repeat ad infinitum” it sounds like a neat piece of life advice for how to approach any problem (again, only competitive games!) but you’re missing almost the entire message and in essence saying something about as useful as “use your brain to solve the problem”. As long as you’re not asleep, it’s impossible not to be following OODA. Literally anything you do will satisfy it. That’s why it’s a good model for an opponent. And it’s also why it’s a great tool for convincing yourself you’re some kind of strategic genius because you can recognise these very normal things happening in your own brain.)
It seems many people want to take these sort of decision making frame works to new contexts or generalize them to a point they no longer make sense to market them.
After I was there for a week, I tried out konnichiwa on a few ten year olds in the neighborhood. They howled with laughter and I felt so ashamed.
I was a Rotary student there. Most of the other Rotary students came with a few years of Japanese study under their belt.
I was better than all of them within three months.
The first takeaway was that it was harder for them to unlearn bad habits they learned when studying Japanese back in the US. A kid in class would mispronounce something, and because that kid often did that from the same perspective as the rest of the class, it was sticky. You learned bad habits easier than good ones. And, it was really, really hard to unlearn those bad habits.
I never had that problem because I only heard Japanese from natives.
A corollary to all this: if you want to learn a language, living there is 100x better than any other method. Not the most practical, but it's the best way.
While we are learning another language, it is very hard to recognise our errors, or diagnose or systematic errors. There are systematic patterns to our mistakes, and a lot of mistakes are inherent in the way languages are usually taught (reading before learning conversation being a #1 issue).
Also watch how babies and children learn, and try to replicate that as much as possible.
I learned conversational Spanish reasonably well, which was in part motivated by having a patient girlfriend whose mother-tongue was Spanish.
I met a Japanese guy with fantastic English, who had learned English by living in East London and Australia, and it was amazing to hear his accent change mid-sentence from perfect Cockney to perfect Ocker, especially for phrases and colloquialisms. A demonstration of the power of mimicking via ear, not via writing.
Being able to systematically reproduce typical German “errors” in English taught me how to speak correctly when I switched to pronouncing German words.
In Spanish, I also tried to use words with Latin roots, and avoid words from other languages. Often pure guesswork, or even making up words by changing endings, but sometimes worked surprisingly well if you know a little etymology and have learnt a little feel for the grammatical rules. Then again, made some doozy mistakes too - mostly hilarious or surreal!
Also time has value, getting something earlier is generally better due to compound interest. Even some vague utility function like fun can display such a property of being better earlier, due to being able to remember the memory for longer.
For example, if you take `y` to be quality of life, you obviously want the highest quality of life you can get but what really matters is the integral `Y` quality of life over the course of your lifespan.
A steeper slope that starts you with a much worse QOL isn't inherently better just because the end of your life is spent with a high QOL. Doubly so as depending on how age effects your ability to do the things you enjoy or the experiences you form/retain, the true function you care about (let's call it `z` and `Z`) may decrease the impact of `y` with time. Even more so when you don't know what lies in your future and/or how long you'll be around.
This applies to knowledge and utility as well. Your immediate utility `y` is an integral. It's the aggregation of your accumulated knowledge. However the integral of this, `Y` is the total utility throughout your life. You may be more immediately useful with the steeper red slope later on but you get more total work done with the shallower blue slope.
This applies to knowledge and utility as well. Your immediate utility `y` is an integral. It's the aggregation of your accumulated knowledge. However the integral of this, `Y` is the total utility throughout your life. You may be more immediately useful with the steeper red slope later on but you get more total work done with the shallower blue slope.
Does this (from my reply to you) not cover that exact circumstance?TFA mentions this as well:
For example I often hear conversations the first week of class where somebody will be bemoaning, "Oh so-and-so knows blah-blah-blah, how am I ever going to catch up to them?" Well, if you're one of the people who knows blah-blah-blah it's bad news for you because honestly everyone is going to catch up really quickly. Before you know it that advantage is going to be gone and if you aren't learning too you're going to be behind.
or Another example is hiring. Before I came back to academia a couple of years ago I was out doing startups. What I noticed is that when people hire they are almost always hire based on experience. They're looking for somebody's resume trying to find the person who has already done the job they want them to do three times over. That's basically hiring based on Y-intercept.
These examples of the `y` are knowledge or immediate utility/skill. Integrate these and you get `Y` which can be viewed as the application of that knowledge or skill over a period of time. Aka total contributions over the span of your lifetime or over the span of your employment/involvement.Point being that while TFA is right that "a little bit of slope makes up for a lot of y-intercept", you can still have a smaller integral if the numbers don't happen to work out. TFA is an encouragement to try hard and push yourself to get ahead without being discouraged but it makes the assumption that someone with a steep learning/skill slope and low starting experience will eventually match the person with experience but a shallow skill slope. This works if you extrapolate out to infinity but if someone is only going to work for you for 2-5 years, you have to actually do the math to figure out which will likely perform the best.
Sometimes, you really do need someone who will be a heavy hitter on day 1. Other times, you can afford to wait to let someone mature.
A tortoise and hare curve would be more interesting. The hare is doing a hackthon at the weekend, getting super tired and giving up. THe tortoise is working on your side project for 4 hours a week every week for years.
Of course it'd be really nice get get one over on this regime by finding people whose bases alone are strong enough to carry, but if you're in the position where you're trying to make this trade-off you probably can't afford them.
If I'd known this when I was younger I probably wouldn't have spent so much time learning all those languages, none of which I now remember.
Returns are always accumulating to what you already have. If you know a lot you have context to recognize the next thing that comes along better. You’re in a place that is more wired for learning surrounded by smarter people.
The guy says as much himself when he says “you’re at Stanford” for god sakes. People who didn’t have enough of the good thing in high school aren’t starting at a lower Y-Axis point they’re simply not on the graph at all.
Most of life’s “graphs” don’t look like linear lines they look like compound interest.
I wonder if y is easier to fake? You can study the coding problems, there are whole books on that strategy. It seems like that would artificially increase your y, though it's probably a good indicator.
To estimate dy/dx, I like to ask about how people learned new things. Have they managed to become experts on something like build systems or testing pipelines even though it was well outside their experience? Perhaps I am biased by the fact that I learned a bunch of languages in school that are almost exactly the languages I don't use. Almost all of it was learned on the job.
Because you can measure y at a point in time. If you want to know if someone can operate an espresso machine and make good coffees, you can just ask them to do it, and watch them.
If you want to know whether someone can learn to operate an espresso machine, you can:
A) Ask them about how they learn new things, or
B) Ask them to learn something new, and see how well they do, or
C) Test them on multiple unrelated things, as being able to do a wide range of stuff that takes time to learn is evidence that they can learn stuff.
A is tricky: someone who is good at interviewing could give answers that would fool most people. So it doesn't really measure dy/dx.
B is great if you have the time, as it directly measures how fast and well they can learn something unfamiliar.
C is good because you don't need to have them learn something new, but it's bad because you'd need to spend many hours to cover enough breadth AND you'd need to be competent at testing this broad range of skills.
> I wonder if y is easier to fake? You can study the coding problems, there are whole books on that strategy.
Yes, you can fake y specifically for FAANG-style coding interviews. But being able to fake y in this context is pretty good evidence you can learn new stuff!
Google themselves admitted that they basically don't know how to interview well, which tends to suggest that style of coding question doesn't work especially well. You have some people who have faked y (false positives), and others who could very easily figure out y given a bit more time but don't do well under pressure (false negatives).
If they taught themselves a relevant new skill at their last job, they will probably teach themselves a relevant new skill at the next one.
Totally! But what's a good way to reliably assess that in an interview? How can you estimate dy/dt, except by measuring y?Personally I don't think that's a very good way to hire. The people who are doing the same thing over and over again often get burnt out and typically the reason they're doing the same thing over and over again is they've maxed out. They can't do anything more than that. And, in fact, typically what happens when you level off is you level off slightly above your level of competence. So in fact you're not actually doing the current job all that well.
I dunno if his experience is true anymore. Maybe it was 20 years ago. There does seem to be a shift in the other way. This can explain why many tech or finance companies seek younger applicants who have credentials that confer with steep slope over more experience. Things like learning speed, ability to understand abstractions, making inferences, etc. This is why so many top companies use phone interviews as a sort of weeding-out process for applicants who cannot think fast on their feet despite having experience or credentials.
OTOH, conflating " thinking fast on their feet" with "learns fast" (rather than with "is bullshit artist") its own logical fallacy.
> Personally I don't think that's a very good way to hire. The people who are doing the same thing over and over again often get burnt out and typically the reason they're doing the same thing over and over again is they've maxed out.
Anyone else who feels like they haven't learned a thing in their field of work since they left university?
Once you get hired for and do what you're good at while there's nobody else at the company you can learn from it just feels like gradual regressing.
I've found myself mainly focusing on learning things from adjacent or unrelated fields instead, since I guess it's easier to get a grasp of the pre-grad stuff. It sure isn't making me any better at my job though lol.
Aside from theory, I've also learned infinitely more about software development.
If there's no one else at your company you can learn from and you want to have that it sounds like you should check out some other companies.
Professional self-training is important in this field. I've started taking many courses online that are high quality in order to upgrade my skills. Of particular note:
- Epic React by Kent C Dodds: Very useful for learning advanced React patterns such as composite components, HOCs vs hooks, inversion of control etc.
- CSS for JS Devs by Josh W Comeau: Most people hate CSS because they don't actually learn it properly, they just pick it up as they go along, then wonder why it's hard. It's like learning to build a house by stacking wood instead of learning the parts of a house, planning the house architecture and construction, putting down a foundation, etc.
- ThreeJS Journey by Bruno Simon: This is more for fun, but I always wanted to know how people do those wild 3D websites (which are more like interactive experiences than informational sites), and this teaches you pretty well.
- Flutter State Management by Vandad Nahavandipoor: Free on YouTube, this is a deep dive into all the various ways you can do state management in Flutter, which most people don't really know about. They just pick a paradigm and stick with it instead of assessing pros and cons. The best thing though is this is not Flutter specific, it is more about overall software architecture than Flutter concepts.
- Teach Yourself CS: This is a much longer "course" (more like a collection of books to read) but it makes you learn a lot of foundational concepts, even if you've taken them in a college CS program already, and if you haven't, it teaches you anyway.
There are very few areas of life (academia being the stand out) where knowing things is sufficient.
To build something almost always requires organising other people which requires co-ordination with, alignment with, persuasion of other people.
Two founders - one technical, one "politician" (sales, film producer, fixer)
And there is no "fast learning" there. In fact I think it is the very opposite of the kind of focus that learning needs - you need to spend time with, talk with people.
I suspect if the y-intercepts were faithful measurements to real life starting points, the y-intercepts would be very distant and he might reconsider this viewpoint. You get a huge boost on this hypothetical graph by having rich parents and going to good schools and gaining valuable connections during that process. Bonus, the quality education might even help your learning speed too.
This seems like advice for people who need it the least.
So this talk to me is more about learning, than hiring. When conducting hiring, one must be prepared enough for productive work, not just learning.
I love companies which offers internship programs for new workers. It's to me is the best way of hiring.
Early in your career you learn at a rapid pace. You are accelerating. You can feel acceleration.
But naturally as you continue, the amount of knowledge you have and can wield on a given day is substantial, yet for many it doesn’t change very quickly. You may be accelerating, but it’s slight relative to your velocity.
It would take a deceleration to appreciate the knowledge you have gained.
This is somewhat of an antagonist perspective to the OP, but I find it helpful, as the learning curves of a given individual describe a logarithmic function most usually, which I believe is the major underlying cause of impostor syndrome.
“A little bit of slope makes up for a lot of y-intercept” - https://news.ycombinator.com/item?id=8055868 - July 2014 (62 comments)
If I learned anything from playing strategy games like Starcraft it is two things:
"Agility wins almost always over bunker mentality" Be nimble. Ability to pivot quickly has a value.
"You only take now what you need to survive plus a safety margin and use everything else to macro." Macro = investing in improving your income/production ability). Greedy = low safety margin. You can lower your safety margins if you can get better at gathering information.
This means that, if a process like skill development is growing exponentially, then when zoomed in at very small times (e.g. daily), growth looks flat.
But if looked at longer times, it starts to look linearly increasing.
Then finally when looked upon after many years, things look exponential.
It's also related to the quote that people overestimate progress in the short-term but underestimate it in the long-term.
However, what I don't get in your example is the implied connection between the timescale and the order of the Taylor polynomial. Could you elaborate?
Then as you zoom out, you have to include higher order terms to account for the exponential increase.
If you're exponentially growing, but currently it's approximately constant, then you're at t = -inf and you'll probably be dead by the time you achieve something significant.
Zeroth order approximations are rarely useful because the dont capture the local gradient.
But in the life analogy, there are people who assume where they are in life will be same in future (eg the “new” normal during pandemic). So maybe it’s not so terrible after all.
Maybe your analogy could work if you want to say that exponential growth might feel like linear growth locally?
Today, if you see a U-Haul, it sports the same $19.95 day.
Lesson in fixed cost vs. variable.
https://live.staticflickr.com/208/442280529_898a6b1f8e_b.jpg
> unless you think you're going to die before you get to the crossing point
Though based on the comments in this discussion I think a lot of people missed that statement.
[Laughter]Given a function y = mx+b. Graphically, the function is a line on the xy plane, and if you trace your finger along the line toward the y axis, where your finger “intercepts” the y axis is the value of the y intercept.
That’s the idea of the name.
And everyone else is also correct, Its value is f(0) where y = f(x) = mx + b.