Having access to the source code of a program proved its worth today.
i've recently spent a few days re-configuring
sacred_harlot's home network, made possible by her purchase of a new hard drive for her PC. Previously, the PC's crippled hard drive meant that it could only be used as an LTSP terminal, with
sacred_harlot's laptop functioning as the LTSP server.
Replacing the hard drive, however, allowed me to install Mandriva Linux on that PC and configure it as the network router, thus freeing up the laptop for more portable, laptop-like purposes. :-)
In order to provide a consistent environment regardless of which computer people are using, i used NFS to make people's home directories available elsewhere on the network. This worked well, except for one particular program, which didn't like being run anywhere except on the PC - it would complain that it couldn't lock a particular file, because that file was already locked.
Using GDB, i was able to track down the line in the program where the problem occured. Some pondering and Googling helped me to determine that the problem was caused by the fact that the function trying to lock the file,
Fortunately, the program in question is FOSS, so i was able to get the source code, change the offending line of code, re-compile and re-install it, et voilà! The program worked first try.
Whilst most PC users clearly don't have the knowledge, let alone the inclination, to go through the above process, using FOSS at least creates the possibility of rapid problem resolution in a way that restrictively-licensed, closed-source software (such as most of Microsoft's products) generally does not. Instead of spending much time tracking down the problem, and then having to figure out a workaround whilst waiting for someone else to (hopefully) fix it, i was able to rapidly track down the problem and fix it myself.
The freedom to modify the software i'm using has meant that i'm free to spend the afternoon doing things other than stressing over computer problems. :-)
i've recently spent a few days re-configuring
Replacing the hard drive, however, allowed me to install Mandriva Linux on that PC and configure it as the network router, thus freeing up the laptop for more portable, laptop-like purposes. :-)
In order to provide a consistent environment regardless of which computer people are using, i used NFS to make people's home directories available elsewhere on the network. This worked well, except for one particular program, which didn't like being run anywhere except on the PC - it would complain that it couldn't lock a particular file, because that file was already locked.
Using GDB, i was able to track down the line in the program where the problem occured. Some pondering and Googling helped me to determine that the problem was caused by the fact that the function trying to lock the file,
flock(2), wasn't fully NFS-compatible. However, an alternative function, fcntl(2), was apparently happier to work with NFS.Fortunately, the program in question is FOSS, so i was able to get the source code, change the offending line of code, re-compile and re-install it, et voilà! The program worked first try.
Whilst most PC users clearly don't have the knowledge, let alone the inclination, to go through the above process, using FOSS at least creates the possibility of rapid problem resolution in a way that restrictively-licensed, closed-source software (such as most of Microsoft's products) generally does not. Instead of spending much time tracking down the problem, and then having to figure out a workaround whilst waiting for someone else to (hopefully) fix it, i was able to rapidly track down the problem and fix it myself.
The freedom to modify the software i'm using has meant that i'm free to spend the afternoon doing things other than stressing over computer problems. :-)
no subject
Date: 2006-07-24 11:42 (UTC)Love,
Sacred Harlot x.
no subject
Date: 2006-07-24 11:45 (UTC)