
Features are faults redux - vog
http://www.tedunangst.com/flak/post/features-are-faults-redux
======
simplyalaa
Not directly tied, but another old simplifying call. And is considered by some
as extremist. [http://archive.is/YLh6I](http://archive.is/YLh6I)

This is a description of his method (by Jeff)
[http://www.ultratechnology.com/method.htm](http://www.ultratechnology.com/method.htm)

Another look at his way (contemplating problems with patients until reaching a
simpler solution - simple, not easy and rarely done nowadays)
[http://www.ultratechnology.com/mmeta.html](http://www.ultratechnology.com/mmeta.html)

Also from Jeff about reducing layering
[http://www.ultratechnology.com/levels.htm](http://www.ultratechnology.com/levels.htm)

Note: All are Forth (the philosophy) oriented.

------
sharms
In my experience this post is right on - there are so many bugs in so many
layers (especially where they intersect), that the logical conclusion is to
reduce and simplify.

These ideas are also emerging in the form of Go (simple) / Clojure (immutable)
where simplicity is the primary feature. My only wish is that OpenBSD had
additional vendor support for open source drivers (ie Intel / AMD / NVidia) so
that it's impact isn't so limited to servers, but desktops / client devices as
well.

~~~
lmm
All these faults seem to me to be the result of inadequate use of types. So
Go/Clojure are precisely the wrong response; the way forward is decent type
systems (i.e. ML-family languages) and replacing stringly-typed unix pipes
with something more structured.

~~~
JamesLeonis
I would love to see an implementation of `ls`, `grep`, and `pwd`, with said
pipes, in such a typed system of tools. `grep` is likely the most complex b/c
it must do string comparison and I'm unsure how you would do this with types.
I'm looking forward to seeing how such a system could be built.

~~~
lmm
Hopefully you'd replace grep with using the actual structure of what you're
looking for. I mean there are type-safe pipeline libraries (I use fs2 a fair
bit), it's just a question of modelling the things you want from a filesystem
(or similar structure). If you're giving up unix compatibility then there's
not so much value gained from having the unix filesystem model. So a better
point of comparison is to take a business problem that you would solve with
grep/ls/what-have-you, and solve it with fs2/conduit/... instead.

------
canadian_voter
What an interesting read. I also enjoy how the URLs display on hover. Stylin'.

~~~
TeMPOraL
> _I also enjoy how the URLs display on hover. Stylin '._

Isn't this something browsers do by default anyway (except in smaller print)?

~~~
canadian_voter
Sure, but I like the larger print. Maybe I'm just getting old. :)

