Category: Computer Stuff

Early List of Things to Remember for Software Development

I have been doing some cleaning and moving around of furniture and as a result I ran across a list I probably wrote some 15-20 years ago, of things to remember for software development. Considering that I had a lot less experience at the time, I was mildly impressed with what I had written up so many years ago, so I decided I’d share my writing with the world, for what it’s worth. And remember, this was written before XP, Agile, iterative development, and a lot of other methodologies, er, at least before I knew of them. Without further ado, here is my list, as originally written, with as little editing as possible. I may do a followup on this piece with my views from some 20 years later. I can see a few areas where I would add in footnotes or modify the wording a bit, but that’s for a later time.

  1. Get a general design down
  2. If possible, develop prototype first to find out what you like and how the system really works.
  3. Have at least one person who knows the hardware and utilities well on development team
  4. Keep group small
  5. Keep development unit separate from integration unit if more than 1 person working on project
  6. Treat globals like gotos: use as little as possible and treat them like a poor relation; you don’t talk to them, touch them or invite them over unless absolutely and positively unavoidable
  7. Keep the links between each module down to as few as possible, global var5iables do count as links
  8. Put someone in charge who word is final.Limit the number of programmer’s on a module. Too many leads to too much, too many meetings and not enough work done. Software by committee just doesn’t work!
  9. Write down the standards for a project before starting. Keep them as simple as possible so your programmers are allowed some creativity. Software is still more an art than a science
  10. If you’re the manger, team lead, grand poobah or whatever the title is, then lead! Don’t try to keep your hands on everything and control every part of development. That’s what you hired all of those programmers for. Set up a plan and help the new people on a project find the level. Leave the ones who know what they’re doing alone unless you’re not meeting the schedule or requirements.
  11. If you’re not leading the project than don’t try to. Give your leader what he/she needs and/or wants when she/he wants it. If there is a problem, tell him/her. If there’s still a problem, you have two choices, shut up and follow or quit
  12. Have a person maintain the documentation for a system and new knowledge. Get someone who likes to share
  13. If you feel obligated to change the interface on an existing system ask those who know and use the system. You don’t have to use their input but it may be helpful and lift morale.
  14. Treat your staff like professionals. They aren’t errant children to correct and watch over nor are they hired hands/bought slaves that can be lorded over. They are people who are doing their job, as best they can and they can make mistakes. Don’t make them feel like idiots for making mistakes because that’s how we learnYou are good at something when you don’t need to learn, thus when you’re not good you’re learning and prone to mistakes
  15. Overworking people continuously for “increased productivity” is a mistake.
  16. At a crisis you find out how good your organization is. If it falls apart and becomes a circus you haven’t set up your organization well enough so that people know what needs to be done. An organization under fire should operate in the same way as one with a leisurely schedule. The only difference will be in the schedules and intensity.

Just Some Fun, Playing With My New Toys, Drupal and Track Back

Updated note: Hmmm, this didn’t appear to work, will probably try to setup another website of my own to trackback with and see if I can figure this out, but in the meantime, too many other shiny toys to play with

Summary: I’d like to suggest the following catchphrase for V

“Beware the Dragon Lady, for you are crunchy and taste good with diet soda.”

And here is a link to another site that has thousands of catch phrases or tag lines that you can search through, Tag Lines Galore since I figure this phrase won’t quite catch your fancy.

What follows, a long drawn out explanation of why I’m suggesting a catchphrase, that said catchphrase is not completely original and a recommendation for a site that has thousands of possibilities for catch phrases or tag lines. Okay, the ADD folk in the crowd can move along now.

The long explanation:

There is a website I found while browsing through reddit and digg called violentacres.com. The blog is an interesting collection of stories and past history from the author who only calls herself “V” and is working to keep her anonymity through various means. I enjoy the high level of writing and the topics are of interest, to me anyway, due to them being well written , focused and having very clear meaning. Unlike my writing skills which I definitely need improve if I want to be understood by people who can’t talk to me directly and go “huh? what did that mean?”

Back to talking about V’s site, one thing that fascinated me is the articles cry out for comments but she does not support commenting on her site. I don’t blame her, I wouldn’t want spam-bots filling up my website either. However, the blog does make use of a feature called Track Back. From what I understand of the Track Back feature it allows another website to provide a link back to the original article which can then be included as a comment to the original article. It sounds really technically cool, so I’ve redone my website software, installed the feature and I’m testing it out with this article.

There are a lot of articles that I thought about commenting on the violentacres.com site, but after some thought I figured I wouldn’t be able to add anything meaningful or of added value. Or I would be commenting for the wrong reasons of trying to get attention or push other people’s buttons. But I still wanted to comment, and play with my new toy, when I noticed her Catchphrase Credits contest. Just a short comment and V has asked for the attention in this case, so it seemed like a good match for my immediate goals.

I gave it some thought and came up with something, partly based on the tone of the articles and on one specific article about her preferred beverage. I really doubt that she will want use this but I thought I would give it a shot. And I cannot claim complete credit for this phrase, it’s based on the phrase I like to use in my signatures.

Okay, enough suspense and wandering around, here is my suggested catchphrase, ta-da!

“Beware the Dragon Lady, for you are crunchy and taste good with diet soda.”

Well, erm, yeah, that probably sucks, but at least I get to try out the Track Back feature. And if V made it this far, first, my apologies in subjecting you to this and second, here is the site where I found my original phrase, Tag Lines Galore The site has a search engine, type in a word, for example dragon if you want to get an idea of the original phrase, and you will get tag lines that contain the word dragon. The site has thousands of entries so hopefully V can find another better saying, assuming no on else is creative enough to suggest something much better than mine.

And fingers crossed, hope the Track Back feature actually works. Although I have no idea what I would use this feature for ever again. :-p

Neat Linux Commands

I’ve been gathering up neat Linux commands in various places and thought I would put them in a place that I can reference  easily at work or home. So here they are:

Commands for setting up SSH proxies

Hard drive copy command over network
http://burke.libbey.name/blog/?p=21

Setting up PXE install with Ubuntu

http://www.howtoforge.com/ubuntu_pxe_install_server 

Debian Administration :: Resetting a forgotten MySQL root password
http://www.debian-administration.org/articles/442

Debian Administration :: Interested in securely sharing a secret?
http://www.debian-administration.org/articles/440

ssss: Shamir’s Secret Sharing Scheme
http://point-at-infinity.org/ssss/

Debian Administration :: A couple of tricks with the secure shell
http://www.debian-administration.org/articles/438

 

Part 3: Keeping Your Computer Healthy

I was looking over my site today and I realized that it had definitely been a while since I had updated anything. I even left this series unfinished, although I have a feeling there I haven’t exactly kept everyone on the edges of their seat waiting for an update.

Anyway, here is the last part of the series, how to keep your computer healthy after you’ve cleaned it up.

The first thing to understand about keeping your computer healthy is to understand that a lot of the problems are caused by downloads or opening unknown programs. In other words, there is a good chance that you are the cause of the problem, unfortunately. And this doesn’t mean you did something “wrong”, it only means you need to be a little more wary of the items you get from the Internet.

If you were walking along a street and saw a glass full of something that looked like chocolate shake or coke, would you grab it and drink it and take it with you? I would guess that in most cases, probably not, because you don’t know what someone else might have put in the drink before you got to it. The same rule applies to opening up and using programs from an unknown website. In a lot of cases there isn’t a problem, but it only takes one program with spyware or a trojan in it to cause your computer to slow down and possibly put private data at risk.

So the first recommendation is don’t download that neat “free” screensaver and start running it. And if a site is offering “free” commercial software, like Microsoft Office, remember that there may be more in the package than you bargained for.

However, even if you don’t intentionally download there are programs that will try to help themselves to your computer and it’s data. There is even a possiblity of downloading a problem program simply by browsing to a page. And unfortunately, the easiest browser for most people to use, Internet Explorer, is the one most susceptible to these kinds of attacks. Since the majority of people use IE, this means that virus writers can save themselves time by writing viruses to take advantage of some of IE’s features and install themselves on your computer.

Myself, I use Mozilla, the large big brother of Firefox and use plug-ins for the browser that blcok Javascript on a site by site basis. Firefox is free and easy to install and so is Mozilla. The plug-ins I use are Adblock with Filterset.G.Update and Noscript. The Noscript addition is the one that will help block unwanted installs. It prevents Javascript but on a page by page basis that you choose. Unlike the old style of blocking Javascript for all site or for none, with NoScript you can choose which ones to block or even allow temporarily.

In addition, there are programs that will try to contact your computer directly and install without you being aware of it. There are several solutions to stopping these kinds of programs. One is a hardware solution, where you buy a firewall/router and use it to screen the internet traffic coming to your computer. If you have several computers in your household, this may be a simpler solution since it doesn’t involve installing firewall software on each and every computer.

 If you only have one computer, than you can install firewall software or use XP’s built-in firewall to blcok the traffic. The key to remember is that you should only allow programs to contact the internet if you trust them or the site they are going to. If you don’t, when the firewall software pops up deny the request for accessing the internet or only allow it for a onetime basis. I use Kerio free version, I have also used Zone Alarm free version and both seemed to have worked fine. At least my computer has slowed down and I don’t seem to have had personal data stolen, that I can tell.  For more information about firewalls check out this article

There are other methods for keeping your personal data secure, file encryption is one, another is to not store any data on your computer, but with the Internet becoming so prevalent for shopping, bill paying and on-line banking, this can be difficult. The point to remember is that just like the “free” drink sitting on the sidewalk, sometimes “free” items are worth exactly what you paid for them or they may cost you more in the long run with the trouble they cause. 

Part 2: Checking Your Computer Health

Now that you’ve identified some items that indicate you might have something installed that you don’t want on your PC, you need to track down what is causing problems.

During this part, you will be finding out if you have problems on your PC and will be correcting problems as you find them. The final article will talk about how to protect your PC. While you are cleaning off your computer, if it makes sense, disconnect your computer from the Internet after you have finished downloading items. This can help reduce the amount of cleanup time needed. And, in the future, if you aren’t using your computer, turn it off. A computer that is off can’t be infected and is secure from other problems.

Techies out there can of course ignore this and pick and choose what they want to do. But don’t complain to me about stuff that doesn’t work, if you got yourself into the mess, you can probably figure out how to get out of it.

 

  1. First off, if you don’t have any virus software, go out and get some. There are some free packages out there that can do the trick as well as the pay for use ones. Here’s a list, the important thing is to pick one and use it.
    • Norton Antivirus
    • MacAfee Antivirus
    • AVG Antivirus

    If you already have Antivirus software installed, make sure the virus patterns are up to date.

  2. Now that you’ve got updated antivirus softwareI Now, with your updated software, do a full scan on your computer. If necessary, leave it on over night to do the scan. Hopefully, nothing will be found, if there is, your virus software should give you some options on what to do. My recommendation, is to delete the file off. However, you can’t do that in every case, since the infected file(s) may be parts of your work or part of the Operating System. In this case, there may be a clean option to remove the virus from the file.

    However, this doesn’t always work. In the worst case, you may need to re-install your Windows Operating system in order to recover from the problem. If you aren’t comfortable with doing that, find someone technical who can help you out and who might be able to offer you more options for recovering your computer.

  3. Now that you have a virus free computer, the next thing to look for is Spyware. Spyware is a new set of software that is growing to be a bigger problem. While I think most people are now familiar with computer viruses, spyware is more of a hidden problem.

    Spyware is software that is usually hidden in another software package that you have downloaded and installed on your computer. As you install the other software, say a free screensaver, file sharing utility or event notification utility, another piece of software is installed that you aren’t told about.

    In fairly benign cases, this software is tracking where you go on the Internet and sending the information to a server to use for evaluting marketing information.

    In worst cases, the software could be copying all of the keys you’ve typed, including your bank account number, credit card number, passwords and other information you want kept private. This information is stored up and sent to a server where someone uses it for some kind of identity theft.

    Since I figure that most people don’t really want someone else knowing where they visit on the Internet, it’s a good idea to download and install a Spyware detection package. Here’s a list of the current top ones.

    • Spybot Search and Destroy
    • AdAware
    • Microsoft’s New Spyware offering

    I recommend that you install the first 2, based on my experiences with the programs. Both are currently the recommended software and do a pretty good job of searching and cleaning off Spyware items. As with Antivirus software, make sure you have the latest updates and have the software do a full scan of your computer. In most cases, all they will find are tracking cookies used by your web browser. In the worst case, they’ll find some kind of spyware and will attempt to clean it off for you.

    Again, if you are uncomfortable with the cleaning process, you can probably find someone familiar with this kind of software who can help you through the process.

With these steps, you should have cleaned off the items that have given you signs that your computer might have items installed that you don’t want. The next steps are to prevent your computer from getting infected again and the next article will cover some steps you can take to protect your PC. And while you’re waiting for the next article, feel free to back up your important data, since that is always the best recovery for the worst case set of infections for any computer.

Part 1: How healthy is my Computer

In addition to regular news items, there seems to be a lot of coverage on computer virus attacks, spyware, and other items that make your computer ‘sick’ and not too healthy.

Symptoms of these different items vary, but here’s a partial list of things you might notice that could indicate you have some piece of software installed on your computer that you don’t really want there.

  1. Computer seems to operate slower then it has in the past – A few days or weeks ago, you remember your computer booting up in some short amount of time, now it seems like you should go get a cup of coffee while you wait for it to boot. Or, when running some familiar application, actions that used to get instaneous response now show a noticeable lag before an action happens, such as typing in text in a word processor
  2. When accessing the web through a web browser, popups appear and your browser keeps trying to change page automatically – There are a lot of ads that popup on sites nowadays, but it seems like you are seeing twice as many as you remember. And your start up page in your browser keeps changing everytime you start it up
  3. You are not typing or moving your mouse or using any other kind of device that sends data to your computer, yet you keep hearing the hard drive being accessed or you notice the hard drive light is on all the time – For example, you’ve just received some e-mail from someone and you’ve opened it up and are reading it. For this activity, you will probably head some kind of spinning sound or look for a light on the front of your computer that comes on while you open up the e-mail. However, after the e-mail is opened up and you are not moving the mouse around or typing in anything, you still hear that same sound and it continues for several seconds
  4. Files that you are sure you had stored in a specific folder, like My Documents, seem to disappear or they have mistakes in them that you don’t remember. Or, data seems to be missing
  5. When you try to save a file, you are constantly getting a message that there isn’t any room on your hard drive, even after you’ve deleted a lot of files.

While these symptoms may not indicate that anything is wrong on your computer, there are some things you can do to prevent most problems and to try and detect and correct other problems. However, if you are uncomfortable with installing new software and deleting certain files, you may want to get some help from a computer saavy friend. This guide is meant to give you some ideas and recommendations on how to keep your computer healthier and is not necessarily a replacement for having a computer expert look at your computer for problems.

Ok, with the disclaimer out of the way, assuming you are still here, the following guides will describe how to check for problems and how to prevent problems from happening in the first place. These are items aimed toward owners of PC’s, since that’s what I’m most familiar with and because that seems to be the platform which has a lot of problems with virus, spyware, trojans, etc.

Choosing a Web Designer

Things to Think About as You Create a Web Presence

You’ve taken a look at web services and may have looked at the prices and products offered now you’re wondering what is all of this stuff? Why do I need Site Analysis, project scheduling and all of this design? I know what I want, I want a web site out there and I want it published now, or even yesterday, if possible!!

Plan is NOT a “Four Letter Word”

You just publish a site and put some really basic stuff out there and you would be on the World Wide Web, in no time flat. And than you would be just like millions of other people who got interested in the web, published a site and than, when millions of hits didn’t occur, decided that ‘it wasn’t worth it’ and just left their poor, orphaned site out on the web to die. (Excuse me while I dust the cobwebs off my own site. 😉

Good, Fast, Cheap – Pick Any Two

Also consider this, if you had the opportunity to advertise your business in a world wide publication, one that reach every single person in your target market, would you have your ad designed by say your teenager or would you be looking around for the best graphic design/ad firm you could find to do the ad? Unless your teenager happens to have won awards in advertising, I suspect you’ll be looking around for the advertising firm to do your ad. But the same people who would do this, have no hesitation about getting their teenager or best friend or a very inexpensive web designer to publish their site. And than, these people complain about the cost of doing the site, thinking that anything over a few hundred dollars is way too expensive.

Now, again, you may be very blessed and have access to very talented people and there are people building up their web portfolios who are willing to work inexpensively to do a web site. However, if your major criteria is to have a web site up fast and that it’s cheap, you will probably be sacrificing how good the web site is and how well it will help to attract new visitors and keep existing customers and visitors coming back.

Reading Minds is Not a Web Service

Unfortunately, web designers also can’t read minds and until the new G-10 Cranium 2000 is invented that can allow web designers to read minds, a good web designer is going to want to talk to you, clarify what you want and what you need for your site and than get your approval prior to doing any work for you. This is also part of building a relationship with you, because a good web site is not a static web site. You are going to need updates, announcements, and graphics changes, so why not pick a good team of designers in the first place, instead of having to hunt around for a new designer each time you make an update. And by building a good working relationship with your designer or designers, they will better understand your goals and ideas and will be able to provide more value in the kind of content you put on your site.

Summary
To sum it all up, you get what you pay for and web services aren’t any different. However, expensive doesn’t necessarily mean that someone is better, it just means that they know about this rule too. I highly recommend going out to Secrets of Successful Web Sites and looking over the site, especially the Client Profiler section. This will give you some insight into how much work you are going to have to do, yes, that’s right I’m looking at you now, before you can have your world class site up and out there. And, if you don’t have a viable business going in, then having a website isn’t going to change that, as a multitude of dot coms will now attest to. So, it’s a lot of work, it may not help your business, but if it does and if everything clicks right, you can have a pleasing, successful web site and be on your way to being the next great thing on the web

Searching the Internet: A Detective Story

“It was a cold, sleazy night, as sleazy and greasy as the pizza I was eating while I was waiting for another lead on my case. She was always a little slow on the followup and her package was just no longer as appealing as it had once been. I’d been looking to move up and move out on her, but, there was something about her, I don’t know the sleek white case, the smooth, clean lines of her monitor, even though she just wasn’t as responsive as she used to, I didnt’ want to give the old girl up.

Then, there it was, on the screen, finally, over her old 56K dial-up, a lead, a hit, finally, I’d hit paydirt, I’d found the somolas, so now I could write my report up. But wait, this was about jewely, not the people of Somola. Sigh, she’d let me down again, so I was back at it, looking for another lead, without getting lost on the Internet highway”

Does this sound like your searches on the Internet? Do you feel like an actor in a movie that’s being featured in Space Theater 3000? Well, I don’t have all the answers for you, but I can give you some tips on how to find your answers just a bit easier when you’re searching the internet.

Tip 1, Surveying the scene – Actually, searching the internet or for anything can be a lot like being a detective. Detectives are trying to find out what happened at a crime, while you may be trying to find out what happened in the War of the Roses, but the key is that you are both trying to find something, you know it’s there, you just don’t know the location.

So, in trying to find your information, you need to narrow the “location” down. Location in this sense means the words you are typing into the search engine to find what you want. If you are looking for roses and you type in petunias, you are likely going to end up in the wrong spots. But if you are looking for flowers and gardening, than either roses or petunia can be helpful in your search. The key to your key words is to find words that will narrow your search sufficiently without eliminating the results you are looking for. So, think about what you are looking for, are there similar words or similar concepts to what you are looking for, such as searching for bathroom fixtures. You may be looking for a water saving toilet, but when you type in ‘water saving toilet’ you get all kinds of toilet jokes but not a toilet store in sight. So, try bathroom fixtures, showers, sinks or even home remodeling to try and find stores that sell those items, because chances are they sell toilets too.

Tip 2, Pinpointing the location – Okay, you’ve thought up all kinds of keywords, you’ve searched for that toilet high and low and you still can’t find a site that will help you out. The next step is to look for new clues on the sites you do come up with. For example in looking for that toilet, maybe you typed in bathroom fixtures. You found a lot of really fancy shops or shops that are in other cities, but nothing local that you can use. You tried typing in your city, but than you get a lot of shops that have nothing to do with toilets and well, you’re probably really frustrated right now. So, take a deep breath and type in that bathroom fixtures search again.

Now, find a site in the list that is really, really close to what you are looking for, but for some reason, it isn’t quite right or doesn’t have the information you want, for example it’s clear across the country from where you live. Take a look at the site and especially see if they have a Links section for their web site. There is something called reciprocal linking on the web that can be very helpful, especially if you are doing some kind of research. Reciprocal linking is where a web site is kind enough to link you to other sites which are similar to theirs. If you are looking at commercial sites, unfortunately, because of competition, you may not find a lot. But there is a plus for sites that include this idea, as the more sites that link to you, the better you can do in search engines. So, there are a lot of sites that will link you to their ‘competitors’ so to speak, because their competitor has a link back to them, making them a more relevant search engine.

These sites could very well be exactly what you are looking for. Or, those sites may have links that are what you are looking for, because they are providing focused links as opposed to the everything but the kitchen sink approach of the major search engines.

Or, when you are looking through those sites that came up for bathroom fixtures, look for something like Directory of Bathroom Fixtures or Bathroom Fixtures galore. These are usually sites that are also specialized and that’s all they have are links to is some speciality item, like maybe even water saving toilets.

Tip 3, Hitting the Target – Well, you still haven’t found the water saving toilet of your dreams, you’ve gone through some specialized sites, you’ve seen some great examples of bathrooms and other watersaving ideas, but you aren’t quite ready to give up yet and just head down to your local hardware store, which probably would’ve been faster in the first place, but hey, it’s a lot more fun to surf the web. So, the next step, depending on your persistence level, is to narrow even further by finding industry specific names for what you are looking for. What happens a lot when web sites get created is that someone gets really excited about their items and they are used to only talking to other people in their industry about this stuff, so they use specific words, like I might use RPG or XML or XPath or some stuff like that. (RPG – Role Playing Games, XML – eXtensible Markup Language, XPath – eXtensible Paths)

You would probably have no idea what I’m talking about and I bet you’re eyelids are dropping down, yeah, you, over there I can see it, I know that glazed look. 🙂 Anyway, there are words that are probably not normally used anywhere else except in these speciality shops and now on the web and you can make use of the sites you’ve already found to figure out what new words you can use to look for your information.

For example, getting back to our water saving toilet, another term for that is ‘low-flow toilet’. Now, I must admit, I didn’t come up with that off the top of my head, I found it at this site, Bathroom Fixtures and Partitions and in scanning thru the page, I found those words. As soon as I saw that, I said to myself, I bet that’s another term for water saving toilets. Now, armed with an industry specific phrase, I can now re-search for sites and see if I get better matches for what I’m looking for. And how do you recognize an industry specific word? Well, scan the page, look for a page that has definitions or sometimes just reading the context will jar the meaning up to where you go ‘D’oh, that’s it, I can try that word instead.’

Tip 4, Lather, Rinse, Repeat – Still no luck? Well, you should have some new sites to filter through and you can repeats tips 1-3 until you get really tired of looking at pages, or even better, you actually find what you have been looking for. These are the basic steps I take myself to look for items and I can generally find what I’m looking for. The other part is just practicing, so to speak, because you start to get a feel of what looks like a good hit for your search, which pages should be looked over, etc. It is a lot like detective work, in that you are probably going to be sifting through a lot of grungy stuff trying to find the ‘gold’ so to speak, but if you are persistent and the need is great enough, searching the internet can help you out when you are trying to find information.

Building a Web Presence is Hard Work!

Now you’ve got your website up, you’ve had it designed well, information is placed in easy to find locations on the site and it’s compatible with the most popular browsers. You watch your web logs, waiting for all of that traffic to find your site and marvel at the wonderful things you’ve put up, in fact you were worried while testing it that people would find it incomplete and unready. Now, today is the day and you brace yourself for the onslaught of traffic that is going to come your way now that you’ve submitted to the search engines and you are appearing in the searches that are going to bring people to your site. Well, let me tell you something I once told a good friend of mine, when he was building his web site.

 

“You aren’t that important”

 

I’m sorry to be the one to break it to you and I know it’s hard to take the news, but unfortunately, it’s true. The World Wide Web isn’t a place where there are a few dozen, or hundreds or even thousands of sites. It’s a place where it’s estimated that their are several million sites, with all of their associated pages, in other words there are as many sites as there are in some of the most populated cities in the world. Okay, if you live in one of those big cities, of say, oh a few hundred thousand even, you know everyone in town, right? Oh, wait, you don’t, but you are working on meeting everyone in your town, right? Nope, huh, well, neither am I, because I’ve found a small group of people I know and like and while I don’t necessarily have anything against the other people in my town, I’m not necessarily into Opera, or high society dinners, or square dancing or any of the many other interests that people have. There is a community of people I like and occasionally new people will join my community or people will leave, but it’s a community I’m comfortable with and that I can relate to.

So, with the idea of community in mind, this is what you are going to need to do for your website, is to tap into other website communities that are similar to yours and to share your website with other communities. Remember learning how to share way back in kindegarten, when you learned everything you needed to know? Well, it’s a useful idea on the web and what follows are some ideas on how to build your community up. And I will make this disclaimer, I have done the following stuff,

1. Figure out what the theme for your website is. Is it humor, computer software, cloth dolls or something else? Figuring out the theme helps you to find out those other websites that are like you. And while you are figuring out the theme, come up with some description words that you can use to search for other sites with, because you can put those words into your site to help it be found.

2. Set up a links page. This is going to be your big help in getting other sites to link back to you. It’s called reciprocal linking and what happens is that you update a page with links to other sites and they update their link page to point to your site. To prepare for this, you should prepare some HTML code and possibly a graphic, a very small graphic, that can be used with the code. That way if someone requests to be included on your link page, you can send them back you code to include on their links page, which will make it a lot easier on you. Other pages that link to you are also helpful for boosting your ratings in search engines, so you will probably be finding other sites and making requests of them for help also. It’s part of building that community and finding out who else is doing something similar to your site.

3. Update your site regularly. This is probably one of the hardest things to do, is to figure out how to get new content on your site on a regular basis. You can get a lot of people coming to your site initially, but you need something to bring them back. Basically, some people are going to look at your site and decide it doesn’t help them out in some way and continue on, some people will like your site and think it’s great, but once they’ve read everything, well, why should they keep coming back. And you want to keep people coming back, because they will help out with the next part, which is word of mouth or should I say, word of email, which is what helps spread the word in your selected community about your site.

4. Support word of mouth advertising. There is a site, www.stinkymeat.net, which got a million web hits within one week, with no other advertising than word of mouth or by e-mail. So, include your website link in your e-mail signature tag and if you don’t have one, figure out how to add one. Get your friends to include your website in their signature, if you can and maybe put on of those e-mail your friends forms on your site.

5. Do a newsletter. Offer people a chance to find out when you have updated your site, when you’ve added new material or just to find out new information. And add a note in, that people can feel free to pass on your newsletter to others. An e-mail newsletter is a great and inexpensive way to build a community and to communicate with them about your site on a regular basis. Just make sure to make it easy for them to unsubscribe if they decided they don’t like it, just think about how much you like unwanted e-mail in your inbox and you’ll understand why.

6. Enjoy keeping your website up. If you enjoy keeping your site updated and keep your sense of humor about it, it will show. Some of the most popular websites out there are ones that have done something humorous that has attracted people to their site. The site Eric’s Emotions is a good example of how to do something originial and attract a web audience. Now that he has a community built up, he could do other things with his site about humor and already have a built in base to work with.

All of the above will be hard work depending on how much you are willing to put into your site. The more you put in, the more traffic you are likely to get. But remember, there is a lot of competition out there, so have patience and make sure it’s something you enjoy doing.

Why Use XML?

I had an interesting experience today when I attended a lunch time presentation about XML. Myself, I love XML and what you can do with it and my default answer to the question “Why use XML?” would be “It’s way cool”. However, for more business minded folks out there, perhaps I can provide a few answers as to why you might be interested in using XML in some way on your future software projects. And thank you to Bob Agnew and Jeff Abbot for some new insight as to how XML can be used and viewed while you are doing your design work.

1. XML is a common format for containing data sent from one software system to another – Prior to XML, when one piece of software needed to communicate with another, developers would need to define a communication protocol and a data protocol for communication. With the advent of the web and recongition of TCP/IP and the HTTP protocol which sits on top of it, the communication layer is taken care of, but the data still needs to be formatted in some common way. XML provides a way to do this, that is modular and can be defined in a way that preserves relationships between groups, which is helpful when pulling data from relational databases.

So, why is this a good thing? Well, if I have System A over here that has payroll information and you have System B over there that has Tax tables, with XML it’s a lot easier to pull in the tax table data and use it to transform the payroll information into paychecks for employees. Both systems have a common language between them, instead of System A talking about System A information in gobbledy gook and System B using higgeldy piggeldy, which requires System C in the middle perhaps to translate. Both systems ‘understand’ XML and can parse through each other’s documents. This also means that System A doesn’t have to know the structure of System B’s database tables, because it’s getting a container of data that contains just what it needs for it’s processing. This is a big help in removing targets for hacking. For example, only the tax table information is made available to System A, even though other records of information are kept in the same database. Only the object needed by System A is passed and System A doesn’t have the means to explore for other objects that might be of interest to someone else.

2. XML is very human readable – There are already some standard data formats, such as comma or other character delimited files which can be used to transfer data from one system to another and these format still have their uses. However, if a human being has to debug some problems with the data, with XML it’s much easier to debug because the tags are right there next to the data and the reader doesn’t have to keep referring back to a column or field heading that might be on another page. The tags also tend to be more descriptive and attributes can be used to give more meaning to the data. For example, if a money amount is being sent across, it can be enclosed by a money tag with attributes of currency and language that can define to a presentation layer how the money amount should be displayed.

3. XML is content oriented and separated from the logic and presentation layer – XML is the area where the content for a page or document is defined. Now, with systems as they upgrade, the content is not likely to change, for example, with the money example, the amount is still going to be displayed on a page having to do with purchase requests or receipts. However, the way that amount is calculated and the way it looks can change.

For example, think about a login page for a system that’s going to be used in a situation where the users speak several different languages. The page is likely to have a greeting on it, along with a username and password box and some kind of submit button. That content will stay the same, it will be the presentation portion that changes, based upon the language chosen. So, if French is chosen, the greeting will display Bon Jour! as opposed to Welcome if English is chosen. The content stays the same, which means that the page can be tested once to make sure all of the elements exist on the page. When a new language is added in, the content definiton doesn’t change, just the data being pulled in, which depending on the situation can reduce the testing because things like the logic don’t necessarily need to be retested.

4. XML has preliminary error checking of content built in – XML makes use of the idea of a Document Type Definition (DTD), which allows a document author to create only documents that are valid. So, what does this mean? It means that a document can be checked to make sure that the content and any data included on the page. So, suppose you have a company that has defined an XML DTD for purchase orders they receive from their customers. By requiring the customers to validate their XML document before sending it in and by also verifying any purchase orders received with this DTD, it means that all of the data contained has been validated, in other words, where a money amount is required, there is one, the value fits into a predefined format, the last name and first name fields are filled in, etc. Now, a lot here depends on how good the DTD is, and they aren’t necessarily simple to write, but once you have one worked out, you can reduce the number of errors and review that are required, along with the back and forth communications that can occur because of the errors. And there will still need to be review of the purchase orders, but the obvious things, like missing names or amounts will already have been filled in and the quality of the data is what’s being verified instead.

I think those are the main points, although it feels like there are some other points that should be included. If you can think of other reasons to use XML, I hope you’ll add them into the comments section for others to read about as well.