A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.md 2.5KB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. title: I hate almost all software
  2. url: http://tinyclouds.org/rant.html
  3. hash_url: b932828a2ee51364e222b82b9ba4e870
  4. <p class="date">October 2011</p>
  5. <p>It's unnecessary and complicated at almost
  6. every layer. At best I can congratulate someone for quickly and simply
  7. solving a problem on top of the shit that they are given. The only software
  8. that I like is one that I can easily understand and solves my problems. The
  9. amount of complexity I'm willing to tolerate is proportional to the size of
  10. the problem being solved.
  11. </p><p>In the past year I think I have finally come to understand the ideals of
  12. Unix: file descriptors and processes orchestrated with C. It's a beautiful
  13. idea. This is not however what we interact with. The complexity was not
  14. contained. Instead I deal with DBus and /usr/lib and Boost and ioctls and
  15. SMF and signals and volatile variables and prototypal inheritance and
  16. <code>_C99_FEATURES_</code> and dpkg and autoconf.
  17. </p><p>Those of us who build on top of these systems are adding to the
  18. complexity. Not only do you have to understand
  19. <code>$LD_LIBRARY_PATH</code> to make your system work but now you have
  20. to understand <code>$NODE_PATH</code> too - there's my little addition to
  21. the complexity you must now know! The users - the one who just want to
  22. see a webpage - don't care. They don't care how we organize
  23. <code>/usr</code>, they don't care about zombie processes, they don't
  24. care about bash tab completion, they don't care if zlib is dynamically
  25. linked or statically linked to Node. There will come a point where the
  26. accumulated complexity of our existing systems is greater than the
  27. complexity of creating a new one. When that happens all of this shit will
  28. be trashed. We can flush boost and glib and autoconf down the toilet and
  29. never think of them again.
  30. </p><p>Those of you who still find it enjoyable to learn the details of, say, a
  31. programming language - being able to happily recite off if NaN equals or
  32. does not equal null - you just don't yet understand how utterly fucked the
  33. whole thing is. If you think it would be cute to align all of the equals
  34. signs in your code, if you spend time configuring your window manager or
  35. editor, if put unicode check marks in your test runner, if you add
  36. unnecessary hierarchies in your code directories, if you are doing anything
  37. beyond just solving the problem - you don't understand how fucked the whole
  38. thing is. No one gives a fuck about the glib object model.
  39. </p><p>The only thing that matters in software is the experience of the user.
  40. </p><p><a href="https://news.ycombinator.com/item?id=3055154">HN comments</a>
  41. </p>