Hard Work!!!!


Computer programming is just amazing to me. I took a class in college (back before some of you were born!!!!) and just barely passed it. I came to the conclusion that programming is something I don't need to try again.

However, I have had a chance to read some of the conversations between our packagers while they are trying to prepare a program we want. You can look too... it's here -

Many people have asked for an automatic update program like Ubuntu's Update Notifier. It is a neat package that Ubuntu has installed and running by default in their distros. Our members were split on this program — many of them don't want one that runs automatically. They want to choose the time to run Synaptic themselves, while others want to install it and have it run for them. Our programmers are working on that now.

It is true that there is an AutoUpgrade in the repositories. It was my understanding that the one they are working on will be an expanded and better version of the one that's there. I am wrong, though, because AutoUpgrade doesn't do the same job. Update Notifier finds updates to your programs, then asks what you want to do with the information. AutoUpgrade does the upgrading.

In reading the conversation between the packagers, I have found that many concerns and problems surface that many of us take for granted.

  • Appearance: What will the icon look like? (and make sure it's light or dark enough for older, weaker eyes to see.) Will it be an icon you can associate with Synaptic, or will it look totally different? Will it be only an icon, or will there be a small window or pop-up with information? Will it be the same color as the rest of your panel (or transparent, if your panel is?) Will it put a new icon in your tray every time it runs until you have 3 or 4?
  • Function: How will it run? Will it work for a normal user, or will it show that no updates are available because Synaptic only runs in root? Can you get it to search correctly, and then ask for the root password when the updates are being downloaded and installed? Can you get it to exit the program if the user so desires, or will it keep searching? Will it run multiple times until the computer locks up? Will it run to a certain point and then just quit?
  • Interaction: What about your internet connection? Do you have to start it manually? If so, then what kind of message do you get from the program? (Help! I can't check for updates because your internet isn't on!!!)
  • Resources: What about the repositories? If they are syncing, what happens then? If you leave it on all the time, how often does it check? Will that slow down the repositories?
  • Dependencies: What about dependencies? It is basically a program script to automatically run another program or two. What files do all those programs need to run correctly? Everything depends on everything else, so they have to work together. If you tell it to exit, will it exit the whole series of processes or just itself?
  • Accessibility: So, when you get it working correctly, you need to have the icons and notification messages in several languages..... do you have translators?

Those are just a few of the items that the packagers discussed while they were writing the script — all the while testing each version on their own hardware to make sure it worked as desired. The most important part of it all, though, is the code itself. While they were able to use some of the code from Ubuntu's program, they still had to make sure it worked in PCLOS, and writing it is the hardest part. Those of you who use the command line know that things must be typed exactly right, or they won't work.

This thread took about three weeks with several people testing and rewriting all the time. Since I wrote this, however, the program was added to the repositories and I have installed it..

I gave up trying to learn how to program a long time ago, and am very happy that there are those who enjoy it. We are fortunate that our programmers are some of the best. If this article has educated you at all, it will be to help you realize just how much goes into the programs our packagers provide for us. It's no small job!!!!