Monday, April 05, 2010

Three Kinds of Programmers

This was inspired by a post by Coding Horror blogger Jeff Atwood. He had many valuable things to say, including a post called Never Design What You Can Steal. I liked his idea about how we should "steal" code freely from each other.

I've long argued there are three kinds of programmers in this world (I'm the second one, by way of a pre-emptive strike):
  1. I call the first class "script kiddies" just like the junior hackers are often known. I put in this group people who simply blindly steal code without any thought as to what it does, or why it does. They simply steal without a thought or a desire to attribute it.
  2. I'm the second category, the "shade tree coders." We can't make a living writing code alone, even though we wish we could. We steal the code of the great ones, but we try to modify it to suit our own purposes. I'd like to think we gain an appreciation for what it does in that process. We attribute the source, and take credit for our modifications as appropriate.
  3. The third category are the Jedi Masters. They simply smile at the rest of us, and say, "You're Welcome."
Thank you, Jedi Masters everywhere. I hope one day to join your ranks; until I do, I'll keep trying to perpetuate your legacy and be grateful for your gifts.

Until we meet again, be well. And be sure to thank a Jedi Master.

Saturday, April 03, 2010

Try This First

My wife is one of about three of my readers. That's pretty good, as far as I'm concerned.

She read my last post about the Computer User's Bill of Rights and Responsibilities, and recommended this topic, which I'll term Try This First - Some Things You Can and Should Check Before Calling Tech Support. In her case, calling Tech Support is hollering at me from the other room in the house, so it looks a little different than some of you who have to call a 1-800 number...but I digress.

Anyway, some things to try that fix a lot of problems, and, when available, the reasons why:
  1. This is her favorite one, so we'll start right in with, "Is it plugged in?" Cords get loose, kicked, or knocked out of place all the time. It sounds like such an obvious thing, but it's worth checking to see if all the lights are on, especially power.
  2. Where printers and other supply-based devices are concerned, does the device have adequate supplies? Ink is top on that list, by the way. :)
  3. Everyone hates this answer, so I'm going to try and clarify why it works - "Have you tried restarting?" There are many reasons why restarting your computer or other device can make a big difference. Without boring you with the technical minutiae about memory leaks, let's just say that restarting gives your system a chance to make a fresh start.
  4. Have you run BOTH an anti-virus and an anti-malware scan on your computer? Nowadays, it's more common for the Nortons and Kaperskys and McAfees of the world to have an all-in-0ne solution, but I still find that even with my pretty good (AVG) anti-virus and anti-malware solution, an occasional rogue slips through. When that happens, I go to Malwarebytes Anti-Malware. It's gotten me out of a nasty jam or two in the last month.
  5. If you're experiencing slowness or weird behavior, is it just one program, or all programs? If it's just one program, is it just one document? If it's just that one document/spreadsheet, try copy/paste to a new one. That can make a difference.
  6. If it's Internet access that you're having trouble with, is it just one site? That's the site's problem, not yours. Is it just one computer in the house? (easy for me to ask, I have four) If it's all of them, then it's time to call your ISP.
  7. If you're having problems with one particular piece of software, don't hesitate to Google the error message you're getting; chances are good that you're not alone.
  8. While I grant you not all of those error messages are worth a damn, or tell you anything interesting, do take a moment to see if the message has any useful information; do you need to insert a blank disc to burn that file? Are you out of hard drive space? Is your USB drive still inserted? It's worth trying.
  9. If it's just one problematic piece of software, try checking for updates. If you get a message saying an update is available, install it, and then see if things get better. If not, try uninstalling and reinstalling it.
  10. This is a pretty radical "Try backing up all your data, and then wiping your drive clean, nad starting over." Hopefully, you read my last post, and you're already in the habit of doing regular, religious backups, and re-installing Windows/OSX/Linux is the easy part...
This is more of a "things to have ready to tell the technician if you have to call," but I'm throwing it in here: What's the last thing that worked right? When's the first time you noticed trouble, and what caused you concern first? Was it a sound your hard drive made? Was it an error message? Be as detailed as possible in your description.

Whether you fix it yourself or call in for help, the two most powerful tools in every troubleshooter's toolbox are a notepad and a pen/pencil...writing down error messages/observed behavior is the key to your success.

And, if you're going to take on a hardware fix (replace RAM, processor, hard drive), it's a good idea to have a digital camera handy. Why? Take a picture of what your system looked like when you started, so you can reconstruct it more easily. Make careful note of the positions of screws, brackets, and cables; that can make a big difference.

Hopefully, your computer will keep running trouble-free, so you'll never need to worry about any of this stuff. But if and when it does, try this first. Until next time, be well.