Wandering Thoughts archives

2010-08-08

The joy of debugging other people's programs

There is a peculiar joy that is probably more common among sysadmins than programmers: the pleasure of having successfully debugged someone else's program.

Triumphing over a bug in your own program is already a pretty good feeling (assuming that it is a tricky bug, not something stupidly obvious that leaves you wanting to smack your head). Doing it to someone else's program gives you not just the reward of having squashed the bug but also the accomplishment of having sliced through enough of the program to find the problem and the place to fix it; you've triumphed over both the bug and the code.

(Also, in the sysadmin world generally you are fixing a bug not because it's there or been reported to you by someone else, but because you ran into it and it's causing you pain; fixing it gives you a direct reward.)

This joy, and the prospect of it, can be peculiarly addictive. In the stubborn pursuit of it (or simply the stubborn pursuit of irritating bugs) I've dived into all sorts of dark corners of various code bases at all hours of the day and night; sometimes successfully, sometimes unsuccessfully.

(In part I think it's addictive because understanding more and more about the code is in itself a reward. Even if you seem no closer to the bug, this increased understanding gives you that feedback you crave and it feels like progress.)

Some of the time this following has been to excess. It's an easy thing to get pulled into, especially if I feel that I'm making progress, but sometimes the right answer is to accept that I'm not going to find the bug any time soon and I need to move on somehow. This is not necessarily the right answer for a programmer, but it can be the necessary answer for a sysadmin. Still, it's not a joy that I like giving up.

(Also, I think that programmers are tacitly trained to not give up on bugs; it's part of the culture that you hunt them down sooner or later, even if they're obscure and hard to find. We pass around war stories of heroic debugging and impressively peculiar bugs, for example.)

programming/DebuggingJoy written at 23:56:09; Add Comment

A personal view of the Fedora versus Ubuntu issue

A commentator on the previous entry more or less suggested that I switch from Fedora to Ubuntu. As it happens, this isn't something that I'm likely to do.

In one sense there ought to be no real difference for me between the two. My personal Linux environment is so customized that I'm essentially indifferent to what the distribution does with its desktop environment (the usual point of contention for ordinary users); things like Gnome and KDE choices and which of the latest peculiar system for managing bits of the system are in use don't matter if you don't use them. And pretty much any distribution is going to include the basic elements that I use and care about. While I'm used to how to manage and navigate around Fedora, I could perfectly well learn Ubuntu/Debian packaging and management too (and I already know some of it, since we use Ubuntu on servers at work).

In another sense, no. I have too many bad experiences with Ubuntu (courtesy of work, again). Through my experiences with both Ubuntu and Fedora, I've wound up trusting Fedora a lot more in terms of packaging, bug reports, and the decisions that each distribution makes; I'm sure that Ubuntu is trying, but I am equally sure that they do slipshod work and make dubious decisions because I've experienced it myself. Ubuntu is quite good for some things (the out of the box desktop experience, primarily), but I am not really interested in those things and I have the strong impression that Ubuntu is not very interested in areas outside those things.

(Fedora makes mistakes too, but I feel that they do more solid and more thorough work in general. I can't imagine Fedora changing to a volatile /var/run but not fixing all their packages, for example.)

Additionally and more inflammatorily I feel strongly that Debian and thus Ubuntu has made some fundamental missteps in things like multi-architecture support and package installation, and Fedora has not. These issues are probably arcane to a lot of people, but they matter to me and thus strongly tilt me towards Fedora.

(Not RHEL/CentOS, for reasons covered here.)

linux/FedoraVsUbuntu written at 01:20:26; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.