I am right here, alive and well. I’ve just been remarkably unmotivated to write (or do anything else, for that matter). Over the past week, I received my new computer. It was very cool, but I managed to find things about it that annoy(ed) me, so I shipped it back to them to have it sorted out.
If I am still displeased, I will be sending it back to them, permanently.
When I first began to realise that this little incident was a microcosm of my existence, I laughed.
Now I cry. Alone, of course.
When did I get so picky?
I am just surprised that you sunk your teeth into this model knowing well that basic things like video are not supported in GNU/LInux, yet. And if available, would you have used the proprietary drivers or waited for the “free” ones?
I’ve haven’t used proprietary drivers with free software on my computers before, so I don’t plan to start now.
That being said, there really isn’t much choice in the “high-end” computer market. There are two major video card manufacturers—Nvidia and ATI—and neither of them release sufficient specs to the community to write drivers for recent cards. In actuality, you either buy a low-end integrated Intel card—where things will work slowly—or buy a super snazzy card, and don’t have drivers for it, and things will work slowly. What is the viable option for a snazzily accelerated free software desktop, currently?
I use proprietary Nvidia drivers for their very-high-end-workstation class cards at work, and they’re simply outstanding. That is, apart from the whole not being free, and the issue of just plugging a huge unknown binary blob into the kernel. It is sadder still that ATI doesn’t even give people that option.
I’ve always been wanting to use them[1], but then there is this realization that it adulterates the freedom, that I almost always give up. The thought of not sacrificing freedom for technical merit reasons is something that keeps icking me most of the time.
And, it isn’t just utility software. This is plaguing research as well. On the one hand, I know that writing the code myself or using a free implementation is the right thing to do, while on the other, I see most people (faculty and students alike) choose proprietary code and get things done quicker and more efficiently. The importance being on getting things done efficiently[2].
Come to think of it, I feel my question is more general, in that if one is concerned with the progress of scientific research, why not just go ahead and get things done faster. After all, the more important factor is time. What is your take on this?
[1] proprietary Nvidia drivers
[2] Just for argument’s sake, how do you justify the use of icc over gcc?
(Damn it, I typed out an elaborate response, and thought I’d hit send before I willfully killed my X server to check something out on its restart. It turns out, I had not.)
My thoughts on this issue stem from one fundamental goal: The ease with which ideas are shared (and more starkly, the need to preserve the right to share the idea).
While the use of software like icc is a luxury, and helps me find classes of issues with my code not flagged by gcc, it does not preclude me from sharing my basic idea with another person. Therein lies the crux of the issue. I don’t, for instance, use MS Word to share my notes, and icc specific hooks in my code, forcing another to buy these expensive, proprietary things just to experience what I’m trying to say.
In addition, I see another finer difference between proprietary software that can make life easier (icc), and proprietary software without which the hardware will be rendered unusable (ATI’s binary blob). While the use of the first kind of software is purely by choice[1], the only solution to the second problem is to buy hardware that is fully and optimally controlled by free software.
There are no options of this kind for modern graphics cards.
(And god damn it, it was so much more eloquent the first time.)
[1] And if its use in no way precludes the sharing of the idea, and more importantly, helps to see where gcc might be having a problem leading to its improvement, why not?[2]
[2] A counter argument to which being, one must not support icc. Just wait until Intel optimises gcc instead. (Which they do as well.)
Long story short: Freeness of tools is important. Freeness of the original idea is far more important.