6 ms·
As a software engineer I like these simple rules, they let me produce something that doesn't look terrible without having to spend years studying design. It re
by laurieg 4y ago
As a software engineer I like these simple rules, they let me produce something that doesn't look terrible without having to spend years studying design.
It reminds me of shuhari (守破離), an idea from martial arts and other traditional practices. It basically means "Follow the rules, break the rules, transcend the rules", and the characters mean "follow, break, transcend". The article hints at this too: follow the rules until you find a good reason not to. As it is aimed at beginners we should mostly be learning and following the rules until we have enough experience to start breaking them.
- mock-possum 4y ago> shuhari ... basically means "Follow the rules, break the rules, transcend the rules" I really like how that lines up against one of my favorite maxims, "First do it, then do it right, then do it better."
- chrstphrknwtn 4y agoMake it work, make it right, make it fast.
- arkad 4y agoImprovise, adapt, overcome.
- codegladiator 4y agoEmbrace, extend, and extinguish
- danuker 4y agoVeni, vidi, vici
- airstrike 4y agoShit, shower, shave
- lowercased 4y agoJump, jive and wail?
- heeton 4y agoVVVVVV
- matwood 4y agoSlow is smooth, smooth is fast.
- mcdonje 4y agoSlow is fast.
- Narishma 4y agoThat's nice in theory. What happens in the real world is more like 'make it work, ship it'. Sometimes the first part is optional.
- GoblinSlayer 4y agoShip as you make.
- WA 4y agoThat is geared towards coming up with new rules I presume. Think about it: creating software is creating new rules. You gotta start somewhere and refine the system. But if you learn an existing rule system, you need to follow it first, then break them, then transcend/improve them.
- flir 4y agoI see The Analytical Language of John Wilkins was posted again today. While you're creating those rules, it's important to remember the map is not the territory.
- FieryTransition 4y agoI liked maxims when my life was simple and I was young, now they feel completely meaningless, as they never have a context for real life and they break down easily when applied to complex behavior and interactions. It's more like a prayer or chant, more for self reassurance, that you follow some principle, than anything.
- hamasho 4y agoProbably it's not against shuhari. Shihari is often used to describe professional principles in martial arts or playing instruments. It assumes they're trained to the point where if they do it, they unconsciously follow all the rules. When they play guitar, their fingers just move in the most effective ways and play the most satisfying melody. Then they intentionally break a few rules to improve it. So shuhari is ”first do it, then do it right, then do it better” for professionals.
- deltarholamda 4y agoThe designer mantra as I learned it was “Get it done. Make it beautiful.“ Designers will futz with kerning or whatever for hours.
- thaumasiotes 4y ago> and the characters mean "follow, break, transcend" 守 does mean "follow" in the specific sense of "following rules", though it has no sense related to motion and most "following", including metaphorical following, would be represented by 隨. 守 mostly means "guard" or "protect", and I assume that's the metaphor that was extended to complying with rules and correctly performing rituals. 破 means "break", no problem there. 離 means "leave" as in "go away"; it does not appear to have any sense of "transcend".
- hnbad 4y agoPresumably that would also be "leave" as in "abandon"? I think the idea is that you no longer need to think of the rules at that point because your intuition has matured to a point that you no longer have to reference them at all.
- thaumasiotes 4y ago> Presumably that would also be "leave" as in "abandon"? Well, sure, in the sense that abandoning necessarily involves leaving, and 離 can refer to the leaving aspect of that. But "abandon" adds a lot of meaning that isn't generally present in "leave"; you might be looking for 棄, which is specifically about abandoning. 離 is a much more basic word having to do with distance and separation. But since separation and abandonment are closely related, it does appear to have been used in something resembling that sense. Consulting a dictionary of Middle Chinese: > 離 > 1. to part from, separate, leave; e.g. 離緒 emotions at parting; 離居 leave one's home; also, live apart > b) stray from, astray; estrange(ment); divorce oneself from; be or get free of; e.g. 離落 aimlessly astray, drifting rootlessly; 離書 bill of divorce; 離結 free from bonds That gloss is the closest one I see to "abandon". (And also looks like a pretty good match to the usage above; you can imagine escaping the binding of the rules as a close analogue of escaping literal bindings.) Compare > 棄 > 1. throw away, discard; put aside, leave behind; abandon, forsake; renounce, reject, abolish, get rid of; annul (Why Middle Chinese? It's easier for me to look up, and it seems more likely to be reflected in Japanese than modern Chinese usage is.)
- 4y ago
- Throw10987 4y agoI have to add “If you know the way broadly you will see it in all things” from Musashi which conveys a similar sentiment.
- matwood 4y agoSo many good lessons from Musashi. Highly recommended read.
- hnbad 4y agoThis is actually very close to the advice I've heard when it comes to design, i.e. "you need to understand the rules in order to understand when to break them". Following the rules helps build an intuition that later allows you to judge when breaking them is advisable.
- alex_suzuki 4y agoNice. And very applicable to software engineering.