News for hackers. Stuff that matters.
Re:Don't Feed the Thought Leaders by bombcar on Thursday June 10, 2021 @11:00PM (#27468837)
To be a good X you must follow the rules. To be a great X you must have followed the rules so well as to learn why they’re there and when they should be broken.

Works for almost any X - writer, programmer, driving, etc.

Re:Don't Feed the Thought Leaders by wnevets on Friday June 11, 2021 @12:43AM (#27469368)
> To be a good X you must follow the rules. To be a great X you must have followed the rules so well as to learn why they’re there and when they should be broken.

In my experience slavishly following the "rules" or "best practices" can actually be worse than never following them. Not understanding when it's good to deviate usually means of a lack of understanding of why the "rules" or "best practices" exist in the first place. So much attention is spent following the letter of the rule rather than what problems it was meant to solve.

Look no further than modern day "Agile" vs the actual Agile Manifesto

Re:Don't Feed the Thought Leaders by taberiand on Friday June 11, 2021 @01:06AM (#27469499)
At the extremes, this is known as cargo-culting. People who have only the most shallow understanding of the rules in my experience also push back the hardest against anyone who "breaks the rules", and get locked into the 'one right way' even when it's actively harming the delivery of a project.
Re:Don't Feed the Thought Leaders by methodsignature on Friday June 11, 2021 @06:39AM (#27471525)
"Rules" often contradict each other. For example, in software development, "keep it simple" often directly conflicts with "dont repeat yourself" as it takes increased complexity to achieve reuse of code. I often see keeping it simple take a back seat in newer developers as they slavishly follow the don't repeat yourself trail. The end result is routinely a brittle, rigid, and overly complex solution.
Re:Don't Feed the Thought Leaders by valand on Saturday June 12, 2021 @02:32AM (#27482125)
DRY and KISS talks about different things.

DRY is about knowledge management. The intention is to not avoid duplication of code which is a knowledge representation of the same thing. It does not mean every coincidentally similar looking code must be made into a function, as it would result in a premature abstraction, etcetera etcetera. It's why "minimum three duplication" principle is effective, because it filters which duplication represents the same knowledge and which does not.

KISS is (ironically) a more complex topic. C2 wiki talks about this in an interesting way. https://wiki.c2.com/?KeepItSimple

Re:Don't Feed the Thought Leaders by ludamad on Friday June 11, 2021 @09:18AM (#27472905)
DRY I would argue doesn't conflict nearly as much with a nuanced approach. "Apply Aggressive Compression to Your Code" certainly flies in the face of many other nice features of code as a working body, though

My more nuanced take I guess is "don't duplicate logic, except if it may in fact be mutable data". It does take some forward thinking to think that this e.g. list of 10 rules should be unrolled and not compressed by meaningless helpers, etc

Re:Don't Feed the Thought Leaders by q-big on Friday June 11, 2021 @07:59AM (#27472115)
> For example, in software development, "keep it simple" often directly conflicts with "dont repeat yourself" as it takes increased complexity to achieve reuse of code.

KISS and DRY are different paradigms, i.e. come from different schools of programming.

Re:Don't Feed the Thought Leaders by jackcviers3 on Friday June 11, 2021 @09:29AM (#27473033)
KISS -

Most people would not recognize simple code if it hit them I'm the mouth.

KIES (keep it easy, stupid) is what they mean, and that means following idioms, frameworks, that are familiar.

Re:Don't Feed the Thought Leaders by beckingz on Friday June 11, 2021 @09:33AM (#27473089)
Re:Don't Feed the Thought Leaders by layoric on Friday June 11, 2021 @07:31AM (#27471882)
Don’t repeat yourself or making code “DRY” sounds/sells so much better than tightly coupled.
Re:Don't Feed the Thought Leaders by austincheney on Thursday June 10, 2021 @11:47PM (#27469071)
Most people agree with this. The actual challenge is to discern real rules from superficial bullshit. That is a level of criticality many people do not possess and some find hostile or disgusting.
Re:Don't Feed the Thought Leaders by dralley on Thursday June 10, 2021 @11:58PM (#27469126)
Raymond Hettinger talks about this in "Beyond PEP8", which is one of my favorite conference talks

https://www.youtube.com/watch?v=wf-BqAjZb8M

Re:Don't Feed the Thought Leaders by justin_oaks on Friday June 11, 2021 @10:43AM (#27474046)
That's a great talk. Thanks for sharing it.

He does well to explain how PEP 8 can be good but some people focus on it because they may not have experience to contribute otherwise.

Re:Don't Feed the Thought Leaders by sturadnidge on Friday June 11, 2021 @07:20AM (#27471779)
That talk is fantastic, and I don’t even write Python. Thanks for sharing!
Re:Don't Feed the Thought Leaders by kqr on Friday June 11, 2021 @02:48AM (#27470101)
Another challenge is that it's very easy to think you understand the rationale behind the rules well before you actually grok them.
Re:Don't Feed the Thought Leaders by ludamad on Friday June 11, 2021 @10:02AM (#27473451)
At work I learned a theoretical set of best practices for the software we integrate with. I was very enthusiastic about applying them. This caused me to learn the real set of best practices, mostly leaning on the stuff that works most robustly (even to recreate other features, usually ones that prove inflexible when pushed).
Re:Don't Feed the Thought Leaders by quetzthecoatl on Friday June 11, 2021 @03:22AM (#27470288)
especially when there are too many such rule lists often contridicting with each other. Finding the right list becomes the key for someone (beginner to a domain) who has to follow the rules. That's just luck.
Re:Don't Feed the Thought Leaders by austincheney on Friday June 11, 2021 @04:27AM (#27470671)
It’s even more implicit than that. For example there are social criteria and considerations of vanity.

Another example is that I recently wrote a comment that received greater than 10 votes and was flagged (I presume by users) almost immediately. The comment was thus both commonly agreeable (perhaps people could empathize to the subject matter) and yet a violation of social norms. An unspoken social rule violation.

That comment also received contradictory responses: I’m not woke, but.... Contradictory responses are generally an explicit mention of internal confusion where the person cannot even agree with themselves on social conformance: I’m not lying, but.... If it’s not complete bullshit then don’t posture with a qualifier.

Re:Don't Feed the Thought Leaders by asoneth on Friday June 11, 2021 @08:18AM (#27472287)
Reminds me of a quote from the Mustard Seed Garden Manual of Painting:

"Some consider it noble to have a method; others consider it noble not to have a method. Not to have a method is bad; to stop entirely at method is worse still. One should at first observe rules severely, then change them in an intelligent way. The aim of possessing method is to seem finally as if one had no method."

Re:Don't Feed the Thought Leaders by vitro on Friday June 11, 2021 @05:06AM (#27470911)
Applies really nicely to music. First you learn the rules so you know when you can break them. But if you start breaking the rules from the start, people will think you have never learned them in the first place.
Re:Don't Feed the Thought Leaders by MrsPeaches on Friday June 11, 2021 @09:19AM (#27472926)
To throw another quote into the mix:

“Learn the rules like a pro, so you can break them like an artist.” - Pablo Picasso

Re:Don't Feed the Thought Leaders by carlzukki on Friday June 11, 2021 @04:47AM (#27470810)
A lot of good ways of looking at this, and your phrasing @bombcar it's really nicely put.

In my opinion, once you play a game for a while, it's easy to know exactly when and how to break ANY rule: you must understand what the rules are there for.

Think of any agile framework, a ton of them are practiced like cults by the most. However, if you think that those are there for 2 simple purposes:

  1. you want to ensure nobody in the team is ever idle
  2. you want to ensure everyone is working on the most relevant available task that hasn't been picked up from others
Then it's easy to see which rules are useful to the goals and which are hurting you, thus you just gotta break them!

This is just an easy example, this is really about anything in life though!

Re:Don't Feed the Thought Leaders by GlennS on Friday June 11, 2021 @08:01AM (#27472138)
You have taken a completely different 2 key lessons from agile than I would have picked.

I think mine are closer to the agile manifesto, but perhaps yours are closer to how agile is actually practiced in most places.

Problem 1: you want to ensure that you build the right thing.

Solution 1: you should get feedback from end users as frequently as possible.

Problem 2: you want to be using work processes that are appropriate for your team and task.

Solution 2: teams should be able to modify their own work processes.

Re:Don't Feed the Thought Leaders by heywherelogingo on Friday June 11, 2021 @09:11AM (#27472820)
The Matrix.
Re:Don't Feed the Thought Leaders by username90 on Thursday June 10, 2021 @11:38PM (#27469016)
To be great at X you have to write the rules.
Re:Don't Feed the Thought Leaders by mym1990 on Thursday June 10, 2021 @11:51PM (#27469091)
Not really, Messi is great at soccer, he didn't write the rules of the game, but he was able to do things with the tools available that no one thought possible. To be great you usually have to be creative.
Re:Don't Feed the Thought Leaders by quetzthecoatl on Friday June 11, 2021 @03:35AM (#27470364)
Messi can teach the ones who teach football. Not the best example. He was doing unbelievable things when he was a literal teenager. A surprisingly better example would be Cristiano Ronaldo. Ronaldo was absolutley frustrating to watch in his early career. It was someone trying hard to do flashy moves without any end product. He needed guidance, rules and structures. He also slowly transitioned from Winger to Forward/Striker. He is immensly talented, but no bigger talent than top talents in every era. Messi is on a different level. He is an all time great. Cristiano achieved what messi achieved because Cristiano is disciplined in a way that noone before is. The guy is 36 now and just topped goal charts in Italy.
Re:Don't Feed the Thought Leaders by mym1990 on Friday June 11, 2021 @12:07PM (#27475112)
I literally have no idea what you mean by 'Messi can teach the ones who teach football' but my comment was not an invitation to discuss who is better. The rules I am talking about are the ones like 'you can't kick the ball out of bounds', 'you have to score between the goalposts', 'this is a corner kick', 'this is offsides'. Neither Messi nor Ronaldo made those rules, but they are all time greats in their competency.
Re:Don't Feed the Thought Leaders by mtrower on Sunday June 13, 2021 @11:58AM (#27493644)
No wait, he has something here. Not about who is better; that’s irrelevant. But, on “rules”. What’s being discussed here are “best practice” rules —- strategies of social construct that are sometimes smarter to bend or break, or maybe can be changed entirely if you can prove a more successful method. The “rules” you’re mentioning are perhaps more akin to physics —- fundamental laws that govern the game. You really aren’t supposed to break those, regardless of talent or success.
Re:Don't Feed the Thought Leaders by quetzthecoatl on Friday June 11, 2021 @12:26PM (#27475325)
I meant he could mentor the mentors in his teens - an age he should be getting mentored. He was that good, and surprisingly mature. He was a finished product in his teens. Cristiano wasn't. He was just one of the many talents among robinho, robben, rooney, van persie, fabregas, quaresma (to name a few i remember) - all of them rated better than cristiano.

And by rules, I don't mean offside, handball, freekick rules. I mean how to hold the line, when to dribble, when to shoot, to hold formation, play as a team, end product etc.

Re:Don't Feed the Thought Leaders by xwdv on Thursday June 10, 2021 @11:46PM (#27469068)
To be legendary at X you must go beyond X and invent Y, by creating a paradigm shift that echoes throughout your field.