News for hackers. Stuff that matters.
Re:Please do not attempt to simplify this code by hoorayimhelping on Friday December 28, 2018 @02:34AM (#18775346)
>Tesler's Law, also known as The Law of Conservation of Complexity, states that for any system there is a certain amount of complexity which cannot be reduced.

https://lawsofux.com/teslers-law.html

Re:Please do not attempt to simplify this code by garmaine on Friday December 28, 2018 @04:21AM (#18775747)
Cute, but objectively not true.. using the right tool, or right approach can drastically simplify the solution, sometimes even making intractable problems solvable.
Re:Please do not attempt to simplify this code by liamfd on Friday December 28, 2018 @09:25AM (#18776846)
>

I take this more to mean that the logic you're trying to implement has a fixed, non-zero level of complexity (sometimes called "essential" or "inherent" complexity), which forms the complexity floor of your application. On top of that, your implementation adds additional complexity (sometimes called "accidental" or "incidental" complexity), which is not-zero but not fixed.

So, my reading is that in saying "every application has an inherent amount of complexity that cannot be removed or hidden", the law is referring to the essential complexity. Meaning, the law says "some of the complexity is unavoidable in every application" vs. "the amount of complexity is fixed in every application". I do think the name of the law is a little weird, as it implies the latter meaning.

Re:Please do not attempt to simplify this code by hathawsh on Friday December 28, 2018 @01:04PM (#18778326)
The trouble with Tesler's Law is that it's often difficult to distinguish between essential complexity and incidental complexity. When I face a UX problem that seems like an insurmountable barrier, if I step back and consider many perspectives, I often find a way to change the context so that the problem becomes easy to solve. What feels like essential complexity is often surprisingly incidental.
Re:Please do not attempt to simplify this code by garmaine on Friday December 28, 2018 @09:17PM (#18781315)
What I'm objecting to is the notion that there is a "fixed, non-zero level of complexity." Often real innovations in organization and structure allow for fundamentally simpler implementations. I'm reminded of physics: there's an inherent complexity in solving a rotational problem. But introduce polar coordinates and you fundamentally change the game, removing a dimension from your analysis for some problems, and making the solution trivial.
Re:Please do not attempt to simplify this code by firethief on Saturday December 29, 2018 @12:47AM (#18782117)
In this case your original estimate of the complexity was high due to a choice of coordinates increasing the incidental complexity of the solution
Re:Please do not attempt to simplify this code by starbeast on Friday December 28, 2018 @05:40AM (#18776033)
If it was objectively not true, then you could have infinite compression and any program could be reduced to a single bit.
Re:Please do not attempt to simplify this code by garmaine on Friday December 28, 2018 @09:00AM (#18776712)
If "conservation of complexity" were universally true then ANY compression would be impossible.

This isn't a dichotomy. My point is that there are clear examples of situations where you aren't just pushing complexity around, but actually achieving great simplifications.

Re:Please do not attempt to simplify this code by starbeast on Friday December 28, 2018 @09:28AM (#18776867)
>If "conservation of complexity" were universally true then ANY compression would be impossible.

No it wouldn't. The complexity of a pattern can usually be conserved while reducing its length, but for each pattern there is a limit. This is the entire concept behind the Kolmogorov complexity of a system and any patterns that cannot be reduced any further without removing complexity are at their limit already.

This is also related to the idea that you cannot have a universal compression algorithm.

Re:Please do not attempt to simplify this code by baq on Friday December 28, 2018 @04:46AM (#18775847)
I don’t see how your example makes it false.
Re:Please do not attempt to simplify this code by msjyoo on Friday December 28, 2018 @03:10AM (#18775465)
Wow, that site is beautiful beyond words.
Re:Please do not attempt to simplify this code by AstralStorm on Friday December 28, 2018 @05:01AM (#18775908)
I'd move the unnecessary big banner somewhere. A website is not a book and does not have cover pages.
Re:Please do not attempt to simplify this code by InGodsName on Friday December 28, 2018 @05:58AM (#18776101)
Precisely, you can only move the complexity around but not eliminate it completely.
Re:Please do not attempt to simplify this code by reuben364 on Friday December 28, 2018 @04:43AM (#18775828)
That's kind of a truism though. There will always be a non-zero entropy for the distinct kind of systems you want to build.

Unless there is one system to rule them all, configured exactly the way it is needed out the box.