Software Dev

KISS and YAGNI: Consciously Simple

I think it’s funny that we in the software engineering world actually have to create rules and idioms to remind us to do things the simplest way possible. When you can do anything, it actually takes conscious effort to simplify. Meet KISS (Keep It Simple, Stupid) and YAGNI (You Ain’t Gonna Need It).

πŸ‘‰ YAGNI and KISS: a complex look at the principles of simplicity

Developers are not dumb, but sometimes we outsmart ourselves.

Where KISS suggests that you implement the full solution to a problem in the simplest way possible YAGNI asks the question of whether everything in the full solution is really necessary.

IMHO we shouldn’t fix a problem until we have the actual need in focus, and which point we know the details of the problem and can properly kick its ass. Or if the problem never comes up (which is often the case), then the problem solves itself. I’m not saying we shouldn’t plan ahead, but let’s only do so when we have an actual concrete issue we can aim our brain lasers at.

Software Dev

ReactiveX

I love that ReactiveX supports the same reactive paradigm across so many languages, especially Swift (also Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, ..).

πŸ‘‰ ReactiveX – An API for asynchronous programming with observable streams

ReactiveX is a combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming

And don’t forget RXMarbles for some experimenting with Rx.