Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Shu Ha Ri (2014) (martinfowler.com)
90 points by bx376 on June 6, 2024 | hide | past | favorite | 29 comments


The characters are 守破離, they basically mean "follow" the rules, "break" the rules and "leave" the rules behind.


It works another way for stuff also, like clothing:

守る(mamoru) cherish and protect the new item.

破れる(yabureru) item tears.

離れる(hanareru) detach from trashed item.


I love the Buddhist expression “these teachings are like a raft one uses to cross the river and then discards”.


Here's the whole article:

> Early stages of learning focus on concrete steps to imitate (shu), the focus then shifts to understanding principles (ha) and finally into self-directed innovation (ri)


That pretty much describes how my learning has gone.

I still learn from others, though, even if I'm in "Ri." The industry is continuing to develop. There's more stuff to learn, than I will ever be able to grok.

What is a big difference, though, is that I now lean a lot more quickly than I used to, and I do so, in a way that ensures that I understand the concept completely. I never do rote, anymore.


Be careful. There is neither "ha" nor "ri" when it comes to HN guidelines. Other rule systems are similarly rigid. It's not always easy to tell the difference between those that are and those that are not, particularly when they are labeled "guidelines" rather than "rules."


Copy paste from tutorials

Read the docs and source

Write your own novel implementation


I find learning goes a lot faster if I retype from tutorials instead of copy-pasting. Otherwise it doesn't lodge in the brain.


Needs a (2014) in the headline.


Not OP. However, do we really need a date for an article that is kinda true despite of its time. Sometimes, I feel that it is OK and the articles are timeless and applicable at any time.


> do we really need a date for an article

Yes.

I feel that you perceive it as some kind of (minor) insult toward the content, but it is not.

I understand it as recommendation for the article.

If somebody is sharing old stuff, it is not due to some current hype, but because it stood the test/filter of time.

(I read max 1-2 articles per day probably; so I pick somehow)

In 2030, I will be reading articles tagged “2024”.


Yes, it's part of the rules for titles on HN, and some people want to know if they're clicking on older content


I remember writing down everywhere — in notebooks, calendars — all full of teenage fury and conviction: “OBSERVE THE MASTER / IMITATE THE MASTER / BECOME THE MASTER”. An edgy 14 year old I was. I don’t remember the source for that anymore; it looks too wise to have come from myself.


Iirc much of learning a craft in some Asian countries, e.g. Japan, consists of just sitting quietly and observing the master at work.


this is not restricted to the east. it’s not as explicitly culturally enshrined, but “lurk moar” is a well known way to sponge up tacit knowledge, particularly physical tacit knowledge.

watching an old guy do things like: work in his shop, organize his code, ski a clean line, repair a toilet, re-rack his tools, prep the kitchen counter to cook, etc. etc. is always valuable and i recommend doing so whenever you get the chance.


This is how I originally learned vi. Watching a crusty old guy who occasionally explained his keystrokes and didn't think it was worth mentioning that alternatives existed. (After all, if the alternative requires eight megabytes and constant swapping, is it worth mentioning?)


The word basically means that you must follow the best practice at first. Then break the practice for the actual matter by intention. Finally, make your own way.

Important part is to learn the best practice intensively before you break the rule.


I'd rather think of it as follow the recipe, break the recipe and leave the recipe behind.


A tangent reflection I had on learning and teaching programming: https://ngr.yt/blog/computer-as-she-is-spoke/


Good one. It's similar to "Imitate", "Learn", "Teach"


Blogger version: "teach", "finally learn", "quietly disappear".


Programmer version: build a pet project, open source, you now have to maintain it forever.



This also explains why many time workshops are so painful ... they try to teach the same thing to everyone, but the likelihood of everyone being at the same stage of the learning process is near zero.


Yeah but what other options do we have? Workshop, assuming it's 40+ people in the room, is the most cost effective way to share knowledge. Though 1 to 5 teacher to student ratio is much better, the cost will be significantly higher.


First do it - then do it right - then do it better.


That's a bit of a different meaning than the original martial arts thinking.

The end of the first follow (shu) part is where the technique is crisp, distinct, and "right". After that comes pragmatic application (ha) and finally improvisation (ri), which both generally lead to "less right" but more workable technique.

shu = implement B+tree following a guide, long struggle to get it correct, also learn about testing etc tangentially related topics

ha = optimize B+tree using learnings from other various data structures, explore alternatives like LSM/HAMT/etc, use what works, develop understanding of the differences

ri = invent B-epsilon trees yourself


1. Something

2. Something else

3. Haza, rule of 3 - you are profound


Is this like writing "walla" for "voila"?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: