Ed Ropple writes: "I was having some trouble with a couple of shell scripts I was trying to make work the other day. In an attempt to divert me from building up a head of steam and ranting for an hour or so, a buddy of mine asked me an interesting question: "so how do you fix it?" That question's the genesis of this blog entry, not-so-humbly titled Fixing Linux. In this article I look into three underlying technical issues I see with the progression of Linux/BSD on the desktop: the divide between GUI and command-line tools, the divergence of languages and libraries used on the OS, and the reliance on text streams and pipes as communication between small-function independent programs."