Sunday, November 30, 2008

Microsoft Crm Implementation Us Market Lessons

Writen by Andrew Karasev

Microsoft CRM is CRM answer from Microsoft Business Solutions. If you compare it to other traditional CRM applications, such as Siebel - you will see that Microsoft CRM does use all the resent Microsoft technologies, that means that Microsoft targets its CRM to Windows market exclusively, plus this means that Microsoft CRM is more difficult in its installation. Microsoft doesn't even have to care about other platforms, such as Linux/Unix or Apple. Now - we see kind of paradoxical situation when Microsoft CRM is gaining market share even in recession and early post-recession time. Where is the secret?

Let us give you our vision, based on our three years of MS CRM implementation practice in USA and internationally.

1. Microsoft CRM is for MCSE / Microsoft oriented IT departments – Microsoft CRM would be be-loved system for IT specialists. If you are MCSE+I - CRM will recruit all your MS Exchange, Active Directory, MS SQL Server, Windows domain security, Windows 2003 Server, Web publishing and HTML knowledge and experience. This is completely opposite to earlier Apple Computer believe - that computer systems should be easy in service and completely intuitive. MS CRM is kind of intuitive for end user, but not for its administrator.

2. Microsoft CRM - is not CRM - but rather simplified CRM - if you do remember old days whitepapers about CRM in general, or even it's predecessor - Lotus Notes/Domino - these papers were full of predictions about the future and were written for top level company executives, not for regular computer specialists. This was probably why so high percentage of CRM sales failed in implementations. Microsoft CRM has the highest ever rate of successful implementations, because it is not a CRM, but rather popularized version of it - it just does the job - as cheap and reliable car.

3. Transportation Companies - about 30% of our clients in the States are transportation and freight forwarding companies. This actually proves the hypothesis that MS CRM is very simple solution - these companies usually do not have extra money to spend on their computer system, but need the solution for its sales people to instantly see the cargos, plus have simple customization, allowing them to integrate with legacy system.

4. Movement down to small and tiny companies – this is completely new trend for CRM market. We know the examples when 5 employees companies make a decision to implement and have surprising success in Microsoft CRM implementation.

Happy implementing!

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Colorado, Texas, New York, Georgia and Florida, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com) You can reach Andrew at 1-630-961-5918 or 1-866-528-0577. He is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.

akarasev@albaspectrum.com

No Pws Or Iis On Windows Xp Home

Writen by John Hutchison

It has come to light that Windows XP Home Edition does not support PWS (personal web server) or IIS (internet information server) both are used to test apps written in ASP or ASP.Net. You might say hang on I have the iis.dll (this is the main part of IIS) on my machine. Have a good look! It's been crippled and stops you from installing the software!

OK what do I do? Well you have a couple of options open to you if you have copy of Windows 98 that has the PWS on it you might be able to install that from the CD but don't count on it. Windows ME users had the same problem with PWS not being shipped with that version of windows. There is a work around but still not good enough! Download the newest version of PWS from http://download.microsoft.com/msdownload/ntoptionpack/en/x86/win.95/download.exe

Yes, it's NT 4.0 Option Pack, but it includes the version of PWS for Win95 which can be used on WinMe.If you want to know how to install on WinME have a look at http://www.billsway.com/notes_public/PWS_winme.txt This fix may work for Windows XP Home Edition. I don't though!

OK, you want IIS. If you have a copy of Windows 2000 that ships with IIS so here is the work around. Before we start back-up your hard drive or important data be aware that implementing this is done at YOUR OWN RISK! since you have to alter files.

Open sysoc.inf use find file to locate, should be in c:windowsinf find the line that says [Components] Change iis=iis.dll,0cEntry,iis.inf,hide,7 to iis=iis2.dll,0cEntry,iis2.inf,,7 With the Windows 2000 in your disk drive go to Start > Run type the following expand d:/i386/iis.dl_ c:/temp/iis2.dll change d to the drive letter of your CD drive. You could try to delete iis.dll but system knows and puts it back so using a different name solves the problem. Open your temp folder on your hard drive drag & drop the new file iis2.dll to c:windowssystem32setup folder also find in the temp folder iis2.inf drag & drop this file to c:windowsinf OK your nearly there. Go to control panel and click on add/remove programs, select add/remove windows components. In the list of windows components you should see IIS. Nearly done. If at any time your asked for files they should be either on your XP or Win2000 CD somewhere! You can use Find to locate them.

Once the installation has been done go back to the control panel Start > control panel in classic view double click on Administration Tools. WOW you should now have IIS as one of the options.

Microsoft say that Windows XP Home Edition does not include or support any versions (1.0, 2.0, 4.0) of Microsoft Personal Web Server (PWS). Users that need Web server functionality in a desktop operating system should use Windows XP Professional. Why?

John Hutchison this article can be found at http://www.searchhuts.co.uk/portal/articles/activenews_view.asp?articleID=6

Saturday, November 29, 2008

Protect Your Computerand Your Business

Writen by Ahmad Supaat

We all take the computer for granted. I mean, all we have to do is switch it on and it's ready to go. But did you ever stop to think what would happen if your computer suddenly crashed? And that is the only computer you have to work on!

What will happen to your work and your business for the next few days or weeks?

Do you have the original or a copy of all your programs?

Do you have the setup configurations, eg for your ISP?. You will need this to re-install some programs.

Do you have a copy of your email address book? Your email list or address book is vital to your business.

Do you remember all your passwords - for retrieving email, connecting to your ISP, membership sites, etc?

So what can you do to ensure that your computer will run as well as you'd expect, and continue working when your computer is down? Here's a few simple tips:

1.Is your computer protected from viruses? Install an anti-virus software such as Norton AntiVirus or McAfee, and make sure to get regular updates. New viruses are coming out more often these days so you need to have updates regularly. Anything more than 3 months old needs to be updated today.

You can do an online virus scan at: http://housecall.antivirus.com

2.Install a firewall. Anytime your computer is connected to the Internet without a firewall, it is operating under an "open door" policy to intruders. Hackers can get in, take what they want, and even leave open a "back door" so they can turn your computer into a "zombie" and use it to attack other computers, distribute porn and spam.

Your bank account and credit card information, passwords, documents and personal files can be stolen while you're busy surfing. Don't let that happen!

You can download a personal firewall from here:
http://www.zonelabs.com or from http://soho.sygate.com/products/spf_standard.htm

3. Make regular backups of your important files. Keep a record of all vital information, such as passwords, system configurations, etc. in a file and also print a copy of this and keep in a safe place. Make a duplicate and keep at another location.

If your computer does not come with a zip drive or CDRW drive, it would be a good idea to invest in one. Zip drives and CDRW drives are inexpensive and can be easily installed. The cost of a blank CD for example is less than $1.00 and can store up to 650MB of data.

If you lost some files or your hard disk crashed you can easily retrieve them from the backups. And if your computer is down for repair, you can take that backup CD and work from another machine.

4.Remove all unwanted files on your hard disk. You can safely remove files in your temporary internet folder. In Internet Explorer, select Tools -> Internet options - > Delete Files.

5.Increase your systems performance by defragmenting your hard disk regularly. As applications and files are saved and deleted they gradually cause your hard disk to fragment. By defragmenting your hard disk you can optimise the performance of your computer. Defragmenting may also save wear and tear on your hard disk and extend its lifespan.

Do this today.

About The Author

About the author: Ahmad Supaat provides work-at-home ideas and opportunites for anyone interested to start a business online. For more information please visit http://insiderprofit.com. Subscribe to the "Insiderprofit Home Business Tips": mailto:insiderprofit@getresponse.com, mailto:insiderprofit@yahoo.com

Friday, November 28, 2008

Download Free Screensavers

Writen by Damian Sofsian

A screensaver is a kind of small software program or utility that protects your on-screen data from being viewed or accessed by any intruder; at the same time, it also enlivens your screen by displaying constantly changing, vivid, bright, and colorful images.

A screen saver appears on the display screen, if the screen is idle with no keystrokes or mouse movements for a specified duration. The original concept of the screensaver was created for the purpose of preventing the display screen from etching an image into the screen. With the modernization and updating of the computers and computer technology, the problem of etching of an image, also known as ghosting no longer exists. But the concept and popularity of the screensavers are still the same. Screensavers are used as a data protection utility, as a password-protected screensaver prevents helps you in preventing your data and information from any unauthorized user.

Downloading a screensaver on your computer screen is as easy as a child's play. All you need to do is to choose your favorite theme from the countless screensavers available on the Internet, and click download. A few easy-to-follow steps will soon download your screensaver on your desktop without any hassle. You can set the time duration after which a screensaver should appear, in case the screen is ideal for the specified time. After downloading the screensaver, you can also make it password protected. This facility authenticates the user and restores the screen, only after the correct password is entered.

Whether it is Valentine's day, Christmas or New Year's, you can find and download a screensaver every day, reflecting the flavor of the day and the season.

Also available for downloads are screensavers depicting the theme of nature, lighthouse, automobiles, animals, motivational, sports, and so on. The countless themes and designs of screensavers make them available for all your moods and events. Download your favorite theme of screensaver now and watch your computer screen light up with vibrant colors and images to cheer up your mood and revitalize you in between your tight work schedules and deadlines.

Free Screensavers provides detailed information on Free Screensavers, Download Free Screensavers, Free Animated Screensavers, Free 3D Screensavers and more. Free Screensavers is affiliated with Free 3D Wallpaper.

The Ps And Qs Of A Software Tester

Writen by Debendra Nandi

Introduction: Broadly speaking, a software tester should have two kinds of skills one is how to perform at his work and another is how to approach work. First one is about technical skill and the second one is about soft skill. For a software tester these two skills are compliment to each other. Only technical skill makes one how to touch the goal but the combination of technical skills and soft skill makes one how to succeed and exceed expectations.

Other qualities of a tester are positive attitude, patience, discipline etc and most importantly to have good relationship with developers. Sometime a tester may get bad response from developers when he gets a bug and produces it in front of developers because in this world no one prefers his mistakes to be pointed out. Particularly in this type of situation a tester should show his patient and cordial nature. A tester should always keep one thing in his mind that the developers and tester work for a single goal.

But here one can ask a question how to be patient when he/she receives a hard response from developers? Yes, it is very hard to be patient and have positive attitude when you get bad response from your colleague.

So how can one have technical skills, soft skills as well as maintain good relationship with developers?

Be Disciplined and Maintain Perseverance: One obvious aspect of testing is it is very repetitive and may need lot of manual effort. There are numerous examples where a software tester shows his iterative nature.

You can take some example when one tester needs discipline and perseverance.

>> A tester tests a project and encounters a crash after doing number of steps, now he is supposed to find out the exact condition for which the crash occurred. For this kind of situation the tester need to go through the same step again and again. >>As per the daily routine, a tester has been asked to collect data about test cases executed, bugs logged, etc. >>After finding a bug / defect a tester has to reproduce it again and report to developers.

For this kind of situation a software tester need to be more organized at his work and have very critical eye to catch the bug at the first instance. Also needs to think in multi dimensional way about a problem/requirement.

Be a good communicator: For a software tester it is very important to have good communication skills (Oral) as well as good writing skills. Because as a software tester you need to interact with different kind of people like your development team, designing team, and other testing team including your client who sits far way from you. It is necessary to explain yourself (the issues/problems/clarifications that you may have) to them. It has to be understood clearly by the person to whom you interact or to whom you submit your bug reports.

Technical skills: Like soft skill it is very important for a software tester to have a sound technical skill. It is necessary for tester to know about the product as well as the technology he is testing. For example if one tester is working in a web application based project then he must be well aware about his project along with the other technology like how to test his project in security basics or how to make the project automated etc.

Reading Skills: May be it sounds odd to say reading is a skill but if one looks deep into the testing aspect then it will definitely sound better. Because a tester deals with number of document and test cases everyday, the application of reading as a skill makes a big difference for a tester.

Think Otherwise but don't be Philosophical: Otherwise or say negative thinking can be a useful alloy if it is applied in right place. When a new project comes to the QA department for testing then the tester is working to create a test plan or a master plan how to test the product. While mentioning the risks involved in the project, a tester has to consider all the things that can go wrong during the lifecycle of project. Training the mind to think otherwise or negative in such situations helps testers develop an efficient plan. For a tester this kind of thinking is a skill but it should be applied in certain situations. At this point a software tester must keep one thing in his mind that when he tests with this kind of mind, he must be practical, and should not assume things beyond the logic of the project.

Be a good listener: While discussing about bugs / defect or requirement of the project, be a good listener from the viewer's point and prospectus. Understand the logic and limitation of the project at first when the project starts because there are certain areas to be assigned to the testing department which needs to be automated before the development finishes.

Convincing skills: Tester often go to or interact with developers when he gets a bug, argument with developers about the bug, but practically if you think in deep and question yourself that, is it right? Definitely the answer is "NO". Don't make the situation embarrassing because nobody in this real world want to point out his or her mistakes rather a good tester can handle the situation in diplomatic way and represent the bug in the way like say "this is a very minor bug I know, this project is running fine so far, if you just look at this bug then it will be better". Then the same bug will be highly appreciable and developer will take care of it.

Also tester must be careful while he is reporting a defect or is giving a clarification of a requirement, be as factual as possible, don't use the word which describes the type of work or the person who developed the product. Strongly avoid the word like "your project should not behave in this way", "This is the often crashing project", "badly developed software" etc. This will result in people not viewing your defect reports with seriousness.

Conclusion: To sum up, as a tester you need special set of interpersonal skills and technical skills. Make a start, be aware and practice.

Thursday, November 27, 2008

Reporting Oracle Ebusiness Suite Database Schemas

Writen by Andrew Karasev

Oracle Reports, Oracle E-Business Suite, Oracle Applications, Oracle Database Schemas

The Oracle E-Business Suite, also known as Oracle Applications or Oracle Financials, has close to 25,100 tables and 33,000 views on its database. One of the main issues for Oracle E-Business suite reports development is to find the right data in so many available objects. In this article we are going to discuss how Oracle has organized its database to make developers´ life easier.

A database schema determines the ownership of the products´ database objects. Oracle has separated each product of Oracle E-Business suite in one schema. For example, the module Bill of Materials has a code id 'BOM' and a named schema with the same name as its code id, in this case BOM. Each Oracle E-Business suite module has a default Oracle database user id, with the product abbreviation as name of the database schema. There is one "main schema", called APPS, with a user also called APPS, which has privileges to access most of the objects from any schema.

The APPS schema owns procedures, triggers, functions, packages, views and materialized views and has permission to access tables, indexes, sequences and constraints from other schemas (products). The APPS schema improves the reliability over Oracle E-Business database and reduces the time needed for installation, upgrade, and patching by eliminating the need for cross-product grants.

Once APPS user has permissions to access all the objects that are part of Oracle E-Business Suite, developers should be connected to the database as APPS user (in a test instance) to produce their reports. Oracle also has helped developers by creating standards on database objects naming. All objects names starts with the abbreviation of the product. For example, the purchasing product has 'PO' as its abbreviation and all Purchasing objects start with 'PO_'.

Finding the data that you need in more than 50,000 objects is not an easy job. Knowing the naming standards of the objects and how they are storage facilitates developers' life. Oracle has also made available an Electronic Technical Reference Manual that has information about all the objects in all schemas. It can be accessed on line at http://etrm.oracle.com (metalink access needed) and it provides a very good help to find the data that you need. Our company is specialized on Oracle E-Business suite customizations; if you need service in this area we will be glad to help.

Give us a call 1-866-528-0577, 1-630-961-5918 or help@albaspectrum.com if you need additional information or directions.

Author is technical consultant at Alba Spectrum Technologies ( http://www.albaspectrum.com http://www.greatplains.com.mx http://www.ronix-systems.de ), serving clients in Illinois, California, Texas, New York, Florida, Louisiana, Georgia, New Jersey, Washington, Pennsylvania, Ohio, Michigan, Wisconsin, Arizona, Nevada, and having locations in Brazil, Colombia, Chile, Argentina, Germany, Mexico

Wednesday, November 26, 2008

Free Educational Software

Writen by Jimmy Sturo

Free educational software is everywhere – you just have to look harder to find those that are good quality.

Free educational software on the Internet. If you have kids who are becoming more and more computer literate, its time you helped them download free educational software that they can use without your supervision. Devote an afternoon to downloading, because choosing from among the many freeware can get quite time-consuming. Also, involve your kids in choosing as much as possible. They will only use the educational software if they find it interesting.

Free educational software on the Internet comes in many forms, and the most common ones are games. Be careful to download only those that are nonviolent and constructive. You can also download free educational activities like counting and spelling freeware. Your kids will surely love them and have fun while learning.

Remember that some free educational software is not really free –just free trial versions that are designed to work for a limited time only. This is still a good deal, as you can try out the software and decide if you really like it before spending money.

Free educational software from hardware. The manufacturer of educational computer-based toys you buy will usually throw in free educational software that upgrades ones built-in to the toy. This is a great deal! The toy grows as your child's mental development grows. Free educational software of this kind is usually age-based – there are special editions for younger kids and more comprehensive versions for older ones.

Remember that as with any purchase, you need to use good judgment before installing free educational software. Be sure to read all the instructions, agreements and other important information before using the software.

Educational Software provides detailed information on Educational Software, Childrens Educational Software, Free Educational Software, Educational Software Companies and more. Educational Software is affiliated with Discount Embroidery Software.

Tuesday, November 25, 2008

File Permissions In Linux

Writen by Sergio Roth

Linux operating system uses a permissions schema to define user rights for each file. These permissions establish:

-who can read the file. If the file is a directory, read means list the contents of the directory.

-who can write/modify the file. If the file is a directory, this permission defines if you can make any changes to the directory contents, for example create or delete files.

-who can execute the file. If the file is a directory, this permission defines if you can enter the directory and access its contents, for example run a search in the directory or execute a program in it.

Permissions are assigned to the file owner, to the file owner group, and to all users. For example, you can set a document to be readable and writable by the owner only, and just readable by everybody else.

When you issue an ls –l command, to list all contents of a directory, you will see file permissions like this next to each file:

-rwxrwxrwx

This means this file can be read, written and executed by anybody. The first dash means this file is not a directory. For directories, there will be a d letter instead of a dash.

The first set of "rwx" refers to the file owner. The second set, to the owner group. The last set, to all other users. Let's look at some examples:

-rwxr - - r - -

This file can be read, written and executed by its owner. It can only be read by other users. When a permission is not set, you see a dash in its place.

-rw-rw-r- -

This file can be read and written by its owner and the owner group. It can only be read by other users.

You can set these permissions using the chmod command. For example, this command:

chmod ugo=rwx filename

assigns read, write and execute permissions to file owner user(u), group(g) and others (o). This other example:

chmod ug=rw,o=r filename

assigns read and write permissions to user and group, and only read permission to others.

Permissions can also be expressed and set using the octal numeric system. Each permission is associated to a number:

Read = 4
Write = 2
Execute = 1

You need to come up with a number for the file owner, another number for the group and a last one for the other users. If you want to assign read, write and execute permissions to file owner, you add up the three values, thus getting a 7. If you want to assign same permissions to group and others, you come up with three sevens. You can set these permissions like this:

chmod 777 filename

If you set permissions for a file with the following command:

chmod 764 filename

then you're establishing these permissions: read, write and execute for file owner (4+2+1=7), read and write for group (4+2=6) and only read for others (4).

The following commands are equivalent:

chmod ug=rw,o=r filename

chmod 664 filename

The file permissions schema lets you implement security policies. It is not a good idea to set file permissions high (e.g.: 777) for all files. It is important to think about it and assign the right permissions to the files, so users can do their job, and we are sure each file is accessed only by the right people.

Sergio Roth is an experienced freelance web programmer. You can contact him for Linux hosting and website development services at http://www.ayreshost.com.

Ms Internet Explorer Not The Only Game In Town

Writen by Merle Stinnett

When you buy a computer you'll notice they all come pre-loaded with Microsoft Internet Explorer as the default browser. Everyone knows Bill Gates runs the Internet, right? Wrong! When it comes to browsers for surfing the Web, there are plenty of other choices... if you know where to look for them. So if you thought you were stuck using I.E., let's have a look at some of your other options.

1) Safari: http://www.Apple.com/safari

Safari is the browser of choice for most Mac users. Faster than Internet Explorer (at least that's the claim), it contains a built-in Google Search, tabbed interface to browse multiple sites at once, automatic form completion and more. Free to download.

2) Mozilla: http://www.Mozilla.org/products/mozilla1.x/

Also known as "Sea Monkey," Mozilla is open source soft- ware, so it's free. Mozilla is for Windows,Linux or Mac users. Browse several sites at once with the tabbed interface, block pop up ads and it even includes IRS Chat and a built-in Email client with Spam filters.

3) Opera: http://www.Opera.com

For Windows, Linux and Mac users alike. There are two versions; one free (which is ad supported) or for 39.00, you can lose the ads. Opera is very fast with a built- in email client that includes anti-spam filters. It also contains the usual pop up blockers and a nice little zoom function.

4) OmniWeb: http://omnigroup.com/applications/omniweb

An award-winning Web browser strictly for Mac users. Cost is 29.95. Features include ad blocking, history searching, website change notifications, even speech recognition. This is one powerful piece of software.

5) Netscape Navigator: http://channels.netscape.com/ns/browsers/default.jsp

Although Netscape doesn't have the market share it enjoyed in the "old days", it's still alive and well. Netscape 7.1 is based on Mozilla 1.4; both programs are almost identical. Free to download.

6) FireFox: http://www.texturizer.net/firebird

Firefox (aka Firebird) is actually a stripped down version of Mozilla and built for speed. It's only a browser with no built-in email client, so if you need email you'll want to download its companion, Thunderbird, at http://www.mozilla.org/products/thunderbird

Those who love Mozilla will find many of the same features here. With Firefox you can block pop ups, customize the toolbars, even change its appearance with the use of themes. For Windows, Linux and Mac users. Free.

These are the heavyweight alternatives to MS Internet Explorer, but if you're looking for something a bit different you'll want to take a look at some of these browsers:

1) Avant Browser: http://www.AvantBrowser.com

A tabbed browser that's really fast and allows you to view multiple websites in a split window interface. Free.

2) SlimBrowser: http://www.FlashPeak.com

A Windows-based browser with a price tag of zero. It's easy to customize the look of this browser with the use of skins. Includes a spell checker,pop up killers, and a tool for filling in forms. Also includes a language tab for translating different languages.

3) MyIE2: http://www.MyIE2.com

Fashioned after Internet Explorer, this tabbed browser is served up at no charge, but they do ask for donations if you're feeling especially charitable.

4) NetCaptor: http://www.NetCaptor.com

Built on top of I.E.'s interface (without the security flaws), it's another tabbed browser for power users. Free version is called "Personal Edition," which contains sponsored ads or you can upgrade to "NetCaptor Pro" for only 29.95.

If you're not happy with Internet Explorer, or maybe you're just ready to try something new, download one of these browsers and take "her for a spin." Like a new Car you just meant to take for a "test drive," you may fall in love and decide to keep it permanently. Stranger things have happened!

Merle has been "working" the Net for over 8 years and has a Special Gift just for you. Download my FREE E-book "50 Easy Ways to Promote Your Website". Get your copy now at http://www.WebSiteTrafficPlan.com

You have permission to publish this article electronically or in print, free of charge, as long as the bylines are included.

Monday, November 24, 2008

What Is Preventive Maintenance Software

Writen by Jennifer Bailey

Preventive Maintenance (PM) is defined as scheduled work done on a system to identify and fix any occurring issues before they become problems. The concept of preventive maintenance applies to many different industries. PM is often done on buildings, various types of machines, computers, institutions, as well as personal assets, including finances and property.

A common example of preventive maintenance is a car getting its oil changed. Usually, this is done when the car is in good working order to prevent any future problems resulting from the car running on old oil.

In the past, preventive maintenance was formed solely by personnel, but now computers manage much of the process. Computer programs can schedule the maintenance and send alerts to employees when work is needed. Another name for preventive maintenance software is computer maintenance management software (CMMS). These are software programs that allow users to identify and fix potential problems. Some common uses for preventive maintenance are healthcare facilities, computer hardware, correctional facilities, and personal assets.

Preventive maintenance software works in several ways, depending on what is being maintained, but most types of preventive maintenance software operate on the same principles. The main difference between types of preventive maintenance software for different industries is the asset or equipment being maintained. The core concept behind preventive maintenance for an automobile and a healthcare facility is generally the same. The difference is that an automobile's engine must be kept in running order, while a healthcare facility's equipment must be kept sterile.

The price range for preventive maintenance software varies depending on its use. Programs can cost about $60 for some personal asset software to several thousand for software used in correctional institutions. Although much of the scheduling of preventive maintenance is automatic and computerized, it is still important that people keep up with the physical aspects of the maintenance, such as replacing old parts and following the software's recommendations.

Preventive Maintenance Software Info features detailed information on preventive maintenance software for health care and correctional institutions, computer hardware, and personal assets, as well as reviews of preventive maintenance software companies. Preventive Maintenance Software Info is the sister site of Fleet Maintenance Software Web.

Sunday, November 23, 2008

The Pitfalls And Perils Of Pair Programming

Writen by V. Berba Velasco

Pair programming: People either love it or hate it.

The concept of pair programming first became popular thanks to "extreme programming" or XP—a set of practices that supposedly allows companies to develop software in a more efficient, more "agile" manner. Proponents of XP claim that it allows programmers to respond to changing or ambiguous software requirements without sacrificing quality. Skeptics disagree, arguing that these alleged benefits are either illusory or exaggerated.

XP proponents argue that two programming heads are better than one—that two software developers working together will tend to produce better, more reliable and more maintainable than a single programmer working alone. This practice is known as pair programming, and at first glance, it sounds like a great idea. Personally though, I think that it smacks of a "one size fits all" mentality. That is, it assumes that two programmers working in concert will indeed be more efficient and that they will produce better results. I think there is good reason to believe otherwise.

The much vaunted Williams study

XP fans typically point to an infamous study headed by Prof. Laurie Williams at the University of Utah. In this study, Williams concluded that pair programming takes 15% more time than solo development, but results in software that is 15% better. They argue that this modest increase in development time is a small price to pay, since better code quality means that less time and effort will be required later down the road – during testing and maintenance, for example.

I think that there are numerous problems with this study, though. How did the researchers gauge software quality, for example? The used the length of code as the quality metric; that is, the shorter the source code, the better they deemed it to be. The reported, "[The paired teams] consistently implemented the same functionality as the individuals in fewer lines of code. We believe this is an indication that the pairs had better designs." I think this is a hasty leap of logic, to say the least!

Does shorter source code exhibit greater quality? Sometimes, perhaps. However, one could just as easily speculate that the longer code contains more bug fixes and safeguards. In addition, adding more code lines – to implement a design pattern, for example – can make the software more efficient or easier to maintain. I think that the presumed correlation between code length and lack of quality is poorly justified at best.

The study also exhibited a severe case of participant bias. The students in a class were asked if they preferred to work in groups or alone. 35 of the respondents said that they preferred collaborative working; of these students, 28 of them were selected to constitute the pair programming experimental group. The remaining seven were placed in the solo programming group, i.e. the experimental controls. This created a strong experimental bias; all of the pair programmers were willing volunteers, whereas some members of the control group were there reluctantly.

What's more, 13 out of the 14 pairs were self-selecting; that is, students were allowed to pick their partners willingly. Once again, this biases the results, since participants are likely to select partners with whom they are particularly compatible.

(Interestingly enough, these biases could have been easily avoided by assigning pairs randomly. I don't wish to cast aspersions; however, I can't help but wonder if Prof. Williams and company might have unconsciously biased their experiment to demonstrate the superiority of pair programming.)

Short-circuiting the creative process

In short, the supposed evidence for increased productivity under pair programming is questionable at best. In addition, we should ask if there's any reason to believe that pair programming can be counter-productive or otherwise harmful.

I believe that it can be. Pair programming can certainly help people catch or prevent bugs; as the hoary cliche goes, two pairs of eyes are better than one. When faced with a thorny problem though, one often needs to let the problem percolate in one's brain for a while before arriving at a proper solution. Often, that's how creative minds operate; they need to let their minds sift a problem first before attempting to fix it.

With pair programming though, this process is short-circuited. Instead of letting one's mind digest the problem in due time, pair programming puts pressure on people to arrive at a solution more quickly. Sometimes, this may produce better results; however, it can also have the opposite effect. I suspect that for the most creative minds, this kind of pressure can stifle creativity rather than hinder it.

But wait! Isn't there power in numbers? Aren't there times when the best results are produced by having people brainstorm and confer? Certainly… but these "meetings of minds" don't have to occur during the programming process. They can occur during planning sessions, during design reviews, or when sitting around a lunch table. We shouldn't dispense with group troubleshooting and design; we simply shouldn't force this to occur at the coding stage. That can do more damage than good.

What's more, the most creative minds often need a measure of playtime – an opportunity to play around with the code, tentatively exploring various options and letting one's mind roam free. This can be difficult to do when another programmer is looking over your shoulder. After all, what should we do – explain and discuss every tentative step? For a creative mind, this can be stifling indeed.

Conclusion

In short, I think that the evidence for pair programming's effectiveness is questionable and overblown. I also think that there's good reason to believe that pair programming can stifle the creative process, instead of helping it. Can pair programming be helpful? Certainly… However, when forced upon people, it becomes a "one size fits all" strategy—and unfortunately, a single size can't possibly fit everybody, no matter what the salespeople say.

About the author:

V. B. Velasco Jr is a senior electrical and software engineer at a small biotech company that provides ELISPOT plate readers, serum-free media and frozen human PBMCs.

Types Of Software

Writen by Jordi Shoman

Basically all of the virtual components contained within your computer are software programs. Software can essentially be defined as a set of coded commands that are sent to and executed by your computer, which consequently carries out the tasks the software desires of it. The commands or rules, as they are sometimes called, govern the operation of the computer and the programs running on the computer at any one time. Each program installed on your computer contains some coded material, which the computer reads and carries out the commands you desire while you are utilizing the program.

Software can be broken down into many categories. One of which is productivity software, which is a type of software that permits a user to create documents and generate their own programs, known as authoring. Other types of software, namely drill and practice, problem solving and tutorial, are used basically as tools for learning. There is a wealth of great pieces of this particular type software for young children. Additionally some of the available programs of this nature can be quite useful for people of all ages as they can help individuals understand various things about computers. Other types include reference software, presentation and demonstration and multimedia software. Multimedia is of particular interest to many people as it permits the viewing of videos and pictures on the computer and the playing of music as well. Game software is another very significant and popular type that many individuals enjoy and devote a sizeable amount of money to with the hopes of getting the most out of their gaming experience.

A quantity of the software just mentioned is purchased directly from an electronics or computer store, however not all software must be bought. There are many websites on the Internet which permit users to download software and install it on their computer for free. Such software is appropriately named "freeware" or "shareware."

Interested in Computers? Do you have articles to distribute about Computers? We provide in depth Free Computer resources. Free article distribution service

Saturday, November 22, 2008

Help Desk Support To The Rescue

Writen by Sara Jenkins

Think what the world would be without modern technologies. Everything would be simple, you can say. But with all its simplicity comes things in complexity. Tasks that can be done in short minutes today can be doubled or even tripled. Think also about the hassles of getting and sharing information. That would be too hard and the process long and difficult. What about if communications are not developed? There would be something close to a chaos, for sure. What would it be like being able to pick up your telephone or going online to ask for the speedy assistance that you need? Imagine not having help desk support to help in basic services that people require in a push of the button.

It cannot be denied that together with the innovations of the modern world came the need for people to rely on other people to do the work for them. With time, many companies have turned their minds into being of service to the people while marketing what they have to offer in the process. Help desk support are not only there to answer queries that people may have. They are also there to document data and statistics that may be difficult if they are not in existence. Receiving and answering a call in a day is not the main purpose for this help desk support companies. There are other more comprehensive functions that these calls give to these support systems. Things like the content of the call, how many received for the day and the usefulness that people find within their system. Sometimes quotas are put up with these personnel to better maximize the time spent per day. Talk about pressure.

It all boils down to giving customer satisfaction. Embedding into the mind that the customer is the one always right and therefore should be given what they deserve. It would be an ordinary setting for these help desk support staff to be shouted upon and blamed on something that they have no idea about. That is how it works. This is the field where doing your best is not doing it better enough. As long as you satisfy what the clients wants from you, then you can call it successful, no matter how the process went about.

The documents that help desk support can acquire for the company is one of the most accurate and efficient these companies can have. With these people basically being on the front line of servicing for the company, there are the most reliable source of good information and statistics that the company may need on its records. Since records are the one that help in the future dealings and strategies that help desk support company needs in advancing, the accurateness of the documents would make up for the service it lacks in the present. There is always the need for growth and advancement in the world today. The proper information and data to go about it becomes as vital and important in a company to stay as successful as it wanted to be.

Fulfilling the needs of its customers. That is the basis for help desk support system. Even though there are other reasons why these support systems are put up, the main thing is that they give customer satisfaction the best they can. However this process is done, the customer is the one who will decide if their needs have been satisfied or not.

Online entrepreneur Sara Jenkins, is dedicated to helping others and their needs to succeed in life by offering free tips everyday. To learn more about her free tips program, and to sign up for her FREE how-to articles and FREE bonus how-to books and resources, visit http://www.HelpDesksWare.com

Unofficial Windows 98 Se Service Pack 20 Rc2

Writen by Dany Boss

Microsoft has never released a service pack for Windows98 SE, but I made a Service Pack for Windows98 SE users.

It contains all Windows98 SE updates from Windows Update site and more.

It is a self-extracting and self-installing pack like Microsoft's update files. Thus, you cannot choice files individually. However, the pack installs only required fixes for your system.

Uninstallation is possible from Add-Remove Programs.

This is only for WINDOWS 98 SECOND EDITION ENGLISH. I highly recommend that you should backup your system before installing the pack.

It contains only operating system updates. It does NOT contain Internet Explorer 6, DirectX 9, Media Player 9 and their updates.

Note: All old version users should install this version without uninstalling old version

What's New in This Release:

· ADDED: 2 new hot-fixes (192425, 246817).

· ADDED: All cosmetic enhancements of SP 1.6 such as Windows 2000 Desktop Icons. (Sorry, but they are not optional).

· FIXED: Lots of bugs are fixed. (MaxCachedIcons typo bug, %DosNameHere" bug, Verinst.exe uninstallation bug, 256-color tray icons bug, Notepad patching on Sleek bug, Executing SP from different drive bug.)

· REMOVED: General USB Mass Storage Device Drivers. (I recommend a much better generic drivers: http://rapidshare.de/files-en/516500/nusb20e.exe.html. My drivers doesn't support some devices and it has some bugs, we have a good alternative, so I removed it.)

Download - http://www.softpedia.com/get/System/OS-Enhancements/Unofficial-Windows-SE-Service-Pack.shtml

Friday, November 21, 2008

The Truth About Colossus Are You Just A Magnetic Image

Writen by Jeanine Steele

What is Colossus?

Colossus is software licensed to about twenty-five insurance companies to aid in predicting the settlement value of claims. The insurance industry maintains it is a useful tool because it considers a great many factors, and the settlement values are just a range for use in any way the insurer wishes. The claimants' attorneys, on the other hand, maintain that the software is only so good as the data input, and we never know what the adjuster has input; that it does not consider interference with normal life activities, or other valid indications of pain and suffering normally proved by lay testimony instead of medical testimony (as required by Colossus); and that it is NOT merely a beginning point, but is instead the FINAL WORD ON VALUE that the adjuster has to adhere to, or else risk unfavorable management reviews.

How would you like to know that only a part of all you are suffering will be compensated? Unless data are input, how can a computer quantify your emotional distress, or the loss of enjoyment of life because you no longer can take long walks with your spouse, or the pain and despair you suffer each day because your work hurts you and interferes with your healing? Unless all of your circumstances are included, is it fair to quantify all you have suffered and reduce to a dollar value based upon some factors that may or may not reflect your condition?

That is the essence of the Colossus software. It is an attempt by some insurance companies to value claims with no consideration at all given to whether or not a jury might award you more than the "average" claimant. They plug in such things as damage to the vehicles and expected length of treatment and allowable cost of treatment and many other variables and then come up with a number for the value of the claim. No consideration whatsoever is given to the extent of your actual pain and suffering.

Nor is any consideration whatsoever given to the fact that you might have a job where your injuries cause continued pain, or which slows your healing (consider, for example a waitress, or a person who has to stand all shift). They do not know, nor do they care, that you cannot hold your baby because of the pain in your neck and back. There is no room in the formula for such information.

But the problem is that in our system, it is the jury that is supposed to be the basis for determining the value of a claim, and juries do tend to listen to and consider many of the factors that Colossus ignores. Juries do make a distinction based upon whether or not they think the plaintiff is believable, or has attributes we value in our society, such as the virtues of honesty, perseverance, humility, or patience, for example.

Colossus has no way to evaluate those positive traits, so if you are possessed of anything positive that is likely to bring you a larger jury verdict, it will not be included in the Colossus valuation. You will have become a magnetic image, no different in regard to your positive characteristics than the magnetic image of any other of thousands of claimants with injuries similar to yours.

The real problem with Colossus is that the adjuster for your claim is just about stuck with the results that come out of the computer. Of course the insurance company will deny this, and will tell the media and the state insurance commissioner that Colossus is nothing more than an evaluation tool. It just gives a starting point, they say, from which the adjuster can move up if the facts of the case merit it. That is not at all true.

The Colossus result is a position that is increasingly locked in, and the adjuster who wishes to vary from it because of the facts of an unusual case, had better be ready to justify it. Furthermore, how many times do you think any adjuster trying to make the cut at an insurance company is going to go to her boss and ask for permission to exceed the Colossus determination of value? Considering that her evaluation and merit pay will be based upon how "efficiently" (read that to mean cheaply, or "hard-line") she settles her cases, do you think she will ever go to her boss to ask for more money than allowed by Colossus? Not very likely.

Colossus is a well-kept secret by the insurance companies that use it, and they will likely not tell you if they have licensed the software. It is the market leader bodily injury claims-handling software used by an increasing number of insurance companies in the world. According to Computer Sciences Corporation, the company which produces Colossus, it is used by more than 50 per cent of the nation's claim adjusters and by more than 300 insurance companies. Out of the top 20 US Property and Casualty Insurers, 13 are using Colossus.

Most claims insurance adjusters use computer software to appraise any insurance claim that you make. CSC claims that Colossus can evaluate more than 600 type of injuries based on 10,000 different rules. This way, adjusters will obtain a figure from Colossus software and then offer it to you to settle your claim. Insurance companies claim that their adjusters are not required to settle within the suggested Colossus calculations, but that is truly nonsense, and should be investigated by the nation's insurance commissioners.

How does it work?

Neither insurance companies nor CSC will divulge exactly how they determine the Colossus baseline value. Most of Colossus' calculation of your claim is based on insurance data to which you don't have access, and insurance companies certainly do not want former insurance adjusters to tell anything about it either, see the article from the Seattle Post-Intelligencer (http://seattlepi.nwsource.com/local/93800_insurance01.shtml).

However we do know that the value of your claim will differ greatly from one region to another and also by the baseline that your insurance company has set. For example, auto insurers using the software select a number of closed, already-settled claims from each region in which they do business to provide the "baseline" settlement value for each type of injury. For example, an insurer might pick 200 back injury cases from a particular region that previously settled for between $1,000 and $5,000 and enter them into the Colossus program. Based on this past settlement data, Colossus calculates a settlement range for similar claims. Therefore the baseline value will be different for each insurer.

But who is there to ensure that the closed claims selected truly represent the norm? Wouldn't it be in the interests of the insurance industry to "pad" the research by holding back reports of high value settlements? There is no assurance whatsoever that Colossus represents anything other than what best serves the interests of the insurance industry. No one has certified that the base from which the data are drawn was fairly and objectively constructed.

By using Colossus, most insurance companies will try to lower the value of your claim, and will not take into consideration stress, or emotional trauma, loss of enjoyment of life, loss of consortium (relationship), inability to participate in activities that you used to enjoy, or any number of other things that a jury will consider. These factors are not accounted for by the Colossus software.

What Should You Do?

The first thing to do is to determine whether or not the company you are dealing with uses Colossus for any purpose in its claims process. Here is a list obtained through the media, of companies that will admit to using Colossus for some purpose in their claims valuation process.

The following companies are known to license COLOSSUS:

  • Aetna
  • Allstate (since 1997)
  • American National Property and Casualty (since 1997 in 38 states)
  • American Family Group of Madison (since 1996)
  • Arrow Claims Management (since 1997)
  • AXA Insurance (based in UK, one of the world's largest insurance group) (2001)
  • Bishopsgate Insurance (since 2000)
  • Explorer Insurance Company (1997)
  • Farmers Insurance Group of Companies (2000)
  • Federated Mutual Insurance Company (1998)
  • General Casualty Insurance Companies (1998)
  • Grange Mutual Casualty Companies (1998)
  • Great American Insurance Company (1998)
  • Hartford Financial Services (2000)
  • Keystone Insurance Companies of Philadelphia
  • Metropolitan Group, Rhode Island Norwich Union
  • Motorist Mutual –American Hardware Insurance Group (1998)
  • Ohio Casualty Group of Insurance Companies (1998)
  • State Auto Insurance Companies of Columbus (1996)
  • 20th Century Industries (1997)
  • Travelers/Aetna Property Casualty (1996)
  • United Services Automobile Association (USAA) (1997)
  • Utica Mutual Insurance Company (2000)
  • Zurich Personal Insurance (1998)

Therefore, we recommend that you follow carefully our advice on this topic to avoid allowing the insurance company an upper hand in resolution of your claim. How could this valuation software allow them the upper hand? First, as documented above, this is a software program that will produce a result that is in favor of the insurance industry. It does not include factors that may cause real interference with healing, or which may result in many nights of disturbed sleep.

Be it the tortfeasor's company or your own insurance company, if the company that you are going to deal with for a general damages award has licensed Colossus, we recommend that you consider that in your negotiations. For example, since Colossus produces only an "expected" result based upon an "average" from input verdicts and settlements, you would want to call to the attention of the adjuster any facts that put your situation outside of the norm.

Let's say that you are a waitress and you sustained a soft tissue injury to your neck and low back. No matter how good and helpful your medical treatment or no matter how much healing you achieve from a couple of days off of work, your condition will worsen just as soon as you again start carrying those trays full of food or drinks. The weight of that tray on one side or the other will make your injuries worse, and it will be much more difficult for you to obtain healing.

Another example might be a single mother who has to pick up her 11 month old baby frequently. She will suffer continued pain from her accident injuries a lot longer than a person who does not otherwise burden healing tissue. Think of how many times a day she has to pick up that child, and what a strain that puts on her neck and back.

Now do you think there is any way that either of these—or like—situations will be covered or considered in the Colossus result? Of course there isn't. This is the old adage of: "Garbage In—Garbage Out". Since the computer was not queried or programmed to consider either of these circumstances, then it is your job to provide sufficient information to the adjuster to allow her to modify the result from Colossus by making another set of information inputs to the program.

What you have to do is to think about your situation and come up with some aspect of your case that may be a little different than the norm. Then you will make note of that situation in a letter to the adjuster and ask her to confirm that in her evaluation she will make allowance for your situation notwithstanding the result suggested by Colossus. A good resource to consult to get such a letter would be a website specialized in personal injury claim such as SettlementCentral.Com (http://www.settlementcentral.com)

If she does not respond, or if she does not agree to make allowance for your particular situation, we suggest you warn her that you will write to the insurance commissioner. Again, consult the SettlementCentral.Com website (http://www.settlementcentral.com) as they do provide a sample demand letter. As a next step, we suggest that you write to your state insurance commissioner and complain about the use of Colossus. Finally, we think that your state Trial Lawyers Association may have some information or suggestions on legislation to curtail the total reliance on Colossus.

Another key to working with an adjuster who is using Colossus is to make sure your medical record documents everything in a way that the software will reward. There are three key elements to this requirement, and you control only one of them: the other two are held by your doctor (who may not wish to make adequate documentation) and the adjuster (who may not cooperate to let you know what format is required for information to be understood by Colossus).

You will need the cooperation of the adjuster to tell you what format would be helpful to him in getting you full value for your claim. Ask him about the quality of your medical records. Which records were most useful, and which records were virtually useless. He should be able to tell you. This person is not an actual enemy; he has a job to do in this mission, and so do you; you need each other to ensure the case is settled fairly and amicably.

Solicit the adjuster's cooperation to let you know the specific injuries and specific complaints used to evaluate the claim. Since each complaint and injury must be documented in a medical report to be considered by Colossus, ask him to help you by telling you which doctor needs to make a supplementary record in this case.

If you don't have a good medical record, you will have to obtain a narrative report from your doctor, or get him to make specific findings that are translatable to input into Colossus.

Additional information such as a letter to the insurance adjuster regarding Colossus, letter to the insurance commissioner, and other Colossus references are available for free on our website at: http://www.settlementcentral.com

Jeanine Steele is an senior editor with SettlementCentral.Com

http://www.settlementcentral.com

We are professionals who have assisted victims of personal injury for many years as attorneys, medical doctors, chiropractors and other injury treatment specialists, insurance adjusters, legal assistants, medical assistants and chiropractic assistants. Now we share our knowledge of the settlement process, for we are passionate in wanting to ease the suffering we have seen among personal injury victims - often through no fault of their own.

info@settlementcentral.com

Groupware Finds Home In American Business Collaboration Tool Analysis

Writen by Joe Miller

What is Groupware?

Have you ever had to manage document collaboration in a hurry? No need to be ashamed if you said "yes." Virtually every American business has experienced moments of ad hoc team collaboration. In other words, the ideal business collaboration method involves meticulous record keeping and organization; all deadlines are met; nobody feels rushed. That doesn't sound very realistic, does it? The important thing is that even scattered, ad hoc business collaboration can be organized in such a way that important records of business documents and their version history can be kept. Groupware tracks all documents across email and hard drives, tracking changes and saved locations. Groupware also lets businesses review changes and merge them, simplifying an often difficult process. Groupware is time-saving software recognized by American businesses for solving the ad hoc collaboration challenges. Any given search engine search for "groupware" will undoubtedly yield a long list of sponsored searches in addition to the millions of indexed pages referencing groupware products, testifying to its usefulness among American businesses.

Groupware as a Collaboration Tool

Due to the fact that millions of groupware packages are available for businesses, users must do their homework to find the right groupware to suit their business needs. One of the best ways to start is to analyze groupware as a collaboration tool. Since businesses collaborate on virtually everything from budgets to marketing reports, presentations, and memos, businesses need a collaboration tool that works the way businesses work. The difficulty of some groupware packages is that even though they provide a virtual vignette of helpful tools, instead of groupware working for you, you are working for it. I do not think I would be alone in raising my voice against difficult and expensive IT infrastructure set-ups. Software that does its job after it is downloaded or installed is the best way to go. Be sure to be thorough in analyzing the costs, including the opportunity costs, of groupware as your business collaboration tool.

Having analyzed the set-up costs, it is time to move on to analyzing the usability of groupware as a collaboration tool. First, does the groupware package your business is looking at work only within your office, or does it also work with clients, investors, partners, and others with whom you collaborate? It is important to remember that no business is an island. A collaboration tool which cuts out those with whom you collaborate will not be very helpful. In other words, groupware which works with those outside your business once it is installed helps everyone to be on the same page. Being on the same page is important when working through the barrage of business collaboration documents being fired back and forth between email accounts. Email is an example of how collaboration is so often done online. Your usability analysis of groupware as a collaboration tool must take into account online collaboration.

User Friendly Groupware

Finally, after costs and usability are taken into account, let me offer some helpful tips on selecting a groupware suite with helpful and user-friendly technology.

First, find groupware with Digital Thread technology. Digital Thread is a technology that works for your business from the moment your groupware is installed. Digital Thread tracks documents and their changes across email and hard drives by tagging the metadata of the document. The document changes are literally threaded together like beads on a necklace, not a single one gets lost.

Second, find groupware that creates a Digital Signature. Digital Signature is a signature that is appended to an e-mail that informs the user which draft it is and by whom it was saved. Finding the latest version of a document is always very simple to track with a signature like this.

Third, find groupware that enables Version History. Version History displays the document genealogy as a flow chart. The who, what, when, where, and how of every document is displayed for simple tracking and record keeping.

American businesses recognize the need for document management that works the way they do. Often, the ideal business process is not realized, and more often than not, ad hoc becomes the business process. These tips are designed to help businesses make an informed decision on groupware packages that are flexible to their needs. Affordability, flexibility, usability, and organization are benchmarks by which effective collaboration tool analysis can determine your business groupware.

Joe Miller is an author of informational articles and online advertisements on business, technology, and health. Information on groupware is available at NextPage.com.

Thursday, November 20, 2008

Volcano Software Considered

Writen by Lance Winslow

With all the volcanoes happening in the world and all the plate tectonic shifting and seismic activity it makes sense to have better volcano prediction software to help scientists and researchers know when a volcano might potentially go off. By doing this we can save human lives in many regions of the world.

Volcanic prediction software also needs to include the influences of the moon gravity waves and also take into consideration solar flare activity from the sun. Although these alone are not the most important of all possible scenarios to take into considerations to be put into the software they are amongst some of the criteria and data sets that we need to look into.

For volcanic prediction software to actually work we must take into consideration all the possible triggers that can cause a volcano and which ones make volcanic activity more likely. Recently, there has been new volcanic prediction software, which has come out which does take into consideration for other possible criteria and components determining the percentages and factors associated with predicting volcanoes.

By using greater numbers of data sets and criteria and supercomputers to crunch the data we should be able to predict volcanoes much more precisely in the future and save lives around the world. Please consider this in 2006.

Lance Winslow

Productivity And The Big Project Myth

Writen by Duane Hennessy

Job advertisements in newspapers and on the internet asking for IT professionals usually tout large projects as the sole reason for wanting an IT professional in the first place. A programmer, system analyst or system tester must have had experience in large corporate projects and the larger the better.

Many businesses, in Australia at least, see IT departments as a liability and a necessary evil so as little money as necessary is thrown into IT infrastructure where other areas of a business, for example the Engineering Department or the Buyers Department, get inundated with large budgets. IT Departments have to justify their existence with staff time-sheets and charging internal clients for IT solutions.

Although grandiose back-slapping projects bring in the money and look good on a resume these projects do not necessarily improve the expediency with which a company does business. In fact large corporate systems can increase the workload where more data is required to be captured by the users, call centre staff and so on.

Throughout my consultancy career my main philosophy has been to improve the user's or developer's work environment by making their job easier. As well as large projects I have developed many small applications that took anywhere between 15 minutes to an hour to create but have saved employees anywhere between hours to months of hard tedious work. The accumulation of small time-saving applications can out-perform some of the larger projects when measuring productivity especially when used over and again exponentially increasing productivity within a company.

Those employees who benefit from many of these small applications are usually confined to the IT department itself where users have direct access to an IT professional who can put together a small custom application during their spare time. Those outside of the IT department though are usually left to their own devices and this is where end users and macro recordable office suites or keyboard capturing software comes into play.

What begins as simple macro instructions within an application built by an end user eventually become large complex and business critical applications held together with chewing gum and string. As news of the application spreads throughout the department more demands are made upon the hapless user who provided the solution and ergo their stress is increased as they maintain the original solution with all its additions whilst trying to cater for a stream of new requests. When a system grows to the point of being unmanageable the department can then justify the expense of a business case which the IT department will then accept, all too often though the business case specifies an upgrade of the original system, a band-aid solution as the ultimate solution, where a total rewrite is really the only solution.

There would be more control over such a situation if IT departments provided small applications for individuals and groups, and companies realised the benefits of incorporating the IT department more into its overall infrastructure instead of annexing it to the companies structure as if it were a parasitic necessity.

Duane Hennessy
Senior Software Engineer and Systems Architect.
Bandicoot Software
Tropical Queensland, Australia
(ABN: 33 682 969 957)

Productivity...No Stress!
http://www.bandicootsoftware.com.au

Wednesday, November 19, 2008

Warehouse Management Software

Writen by Jennifer Bailey

Managing a warehouse is not necessarily a very easy task. To be highly successful in this dynamic and exciting market and business environment, it is very crucial to evaluate each and every function of the business. The company must arm itself with state-of-the-art warehouse management systems. The warehouse management system must quickly and cost-effectively integrate the functionality required to solve the challenges of the business, with the ability to adapt to changing requirements and technologies. The warehouse management systems help in various aspects like picking, packing, receiving, shipping, inventory control and audits.

The warehouse management system must provide best-of-breed solutions to maximize operational efficiency and increase output. It must reduce costs to improve the bottom line. Today's warehouse management systems must have intelligent work direction modules compatible with RFID technology to provide reduced labor costs, increased productivity, better space utilization and great accuracy.

The next must-have module is accurate real-time inventory management. This module helps to facilitate better decision-making and reduce safety stock, shrinkage and spoilage. Thus, it helps reduce the inventory carrying cost.

The warehouse management system must have a detailed audit trail module. It must measure performance levels objectively, and ensure employee accountability and easy trace of material flow.

The warehouse management system must be compatible with the company's current information system. The company can order a customized solution tailored to its needs, or it can go for readily available and cost-effective solutions. The companies also look for security measures for the warehouse management systems. Many software solutions come with built-in security measures.

Warehouse provides detailed information on Warehouse, Warehouse Management Software, Tire Warehouse, Furniture Warehouse and more. Warehouse is affiliated with Contract Warehousing.

Tuesday, November 18, 2008

Software That Takes Care Of Other Software

Writen by John Deprice

What's housekeeping software? It's software that takes care of your PC and everything recorded on that hard-drive. If that's what you need, make sure you consider these titles.

HandyRecovery 2.0 (SoftLogica LLC)

As you might expect, data recovery and undeletion software is a very popular thing. Next to antivirus software, a firewall and proper backups, a decent file recovery program is the most essential thing you can have on your system. Hard drives die eventually, of course, and worse than that, people make mistakes. HandyRecovery 2.0 is fairly easy to use, allows you to search for deleted files by name and comes with all the help support you'll need to get you on your way. HandyRecovery 2.0 can discover and recover deleted partitions and quick formatted drives as well as undeleting files. It can also be used to make a drive image of a partition so that recovery can be attempted without further damaging a wonky hard disk.

My Registry Cleaner (PC Security Shield)

If your computer is slow and often crashes, My Registry Cleaner will help you. The application scans your entire computer and removes errors, speeds up your PC, and stops crashes. My Registry Cleaner comes with one year of free tech support and updates. My Registry Cleaner will make your system more stable, run quicker, and your operating system will boot faster. Registry problems can occur for many reasons, including references left behind after uninstallation; incorrect removal of software; missing or corrupt hardware drivers; or orphaned start-up programs. With a few easy steps, My Registry Cleaner will scan your entire registry for any invalid entries and provide a list of the errors found.

Win Undelete 2.1 (Jufsoft)

This program for recovering deleted files comes in near the top of its class in almost every area except download restrictions. Win Undelete 2.1 boasts a welcoming interface with buttons for all necessary actions prominently displayed - and since the program greets you with a step-by-step wizard, you may never need the tutorial or help info. The list of supported file types that Win Undelete 2.1 supports is extensive, and you'll really appreciate the program's ability to ignore temporary Internet files and junk files, which saves both time and effort. You can search for deleted documents by extension or filename, as well as sort the list of results.

Download Links

HandyRecovery 2.0 http://www.deprice.com/handyrecovery.htm

My Registry Cleaner http://www.deprice.com/myregistrycleaner.htm

Win Undelete http://www.deprice.com/winundelete.htm

David Deprice runs and operates http://www.deprice.com

Monday, November 17, 2008

Link Popularity

Writen by Mehul Vyas

Link popularity means: The search engine Powers That Be have decided that if other sites are linking to your site, it must be a winner; therefore, it deserves a boost in rankings (when all else is equal). If you think about it, this makes a lot of sense. People link to good sites, not bad ones.

Link Popularity Service

Link popularity is one of the biggest tools to improve your website ranking. And website promotion depends largely on this tool. For effective link popularity, you can also hire an online link popularity service from an internet marketing expert. The search engines consider a number of quality links on your website for calculating your page rank.

The higher number of inbound links on your websites ensures the higher link popularity for you. So to be among the top ten sites on a search engine results like Google, you have to have good link popularity. Link popularity can drastically be increased by adding a number of quality links to your websites.

The links indicate the popularity of your website. Apart from the number of links, the quality of links matters a lot. The quality links or the popular links in your website indicates greater link popularity for you. You can adopt a link popularity service to enhance the link popularity of your website.

An expert link popularity service ensures greater link popularity to you. They provide the quality links for your websites. The task is done in a professional manner by the service providers. You can find a number of link popularity service providers in your vicinity as well.

Your website will be able to receive good internet traffic via their expert services. Many times the internet traffic you receive is good in number but you are not able to get the desired popularity or the sales. The reason for this trouble is that you do not have the targeted link popularity.

Targeted link popularity ensures that the links on your website take the visitor to a desired place that is useful to him. It must not be the case that the visitor has clicked the link on a car selling website and he ends up reaching the cosmetic store.

So, the link building should always be strategic and with the quality links. The online link popularity services are quite adept in locating the useful links for you. They are proficient in giving you the links of some popular sites. And this readily diverts the targeted traffic to your websites. Suppose your website is a cloths shopping cart, the service provider will be linking you to the website of another website offering clothes.

Link popularity services focus very professionally on the reciprocal linking with your competitors. Reciprocal lining suggests that if you are mentioning a link on your website, the other website will also be mentioning your link on their site. This process is performed systematically by the link service providers. They find out the right sites for you and then send them request emails to add to your website(s).

You will get the reply from the other websites depending on the period of negotiations with them. You can add as many links as you want to your websites. The link popularity service is available for you at different prices. You can buy 25, 100 and even 200 links for your website. The charges for service depend on your requirements. No link is added to your website without your knowledge.

Thus, link popularity service is one of the best ways to achieve the much desired ranking in the search engines.

Mehul Vyas, is a founding partner and Director of Marketing for Vyas Infotch Pvt Ltd. The firm specializes in the development and implementation search engine optimization technologies and solutions for the improvement of web site placement within the Internet's top search engines. The company is regarded by many to be the world leader in its field, with clients in 57 countries around the world.

If you want more SEO articles, free directories list and SEO tools visit our sites: http://www.ranosofttechnologies.com

http://www.vyasil.com

Email:links@vyasil.com

Sunday, November 16, 2008

The Proper Way To Put Text Over Your Images

Writen by Ariel Velasco

One must be very careful in using photos as backgrounds. If you are planning to have text written atop an image, you must have had acquired the needed software as well as the know-how required in this task. It's not good to drive your car without the wheels on.

A good way to make you text readable is to lighten your background photos as much as possible in order to give greater emphasis on your text. For this purpose we have particular tools that can be of aid for this task.

Adobe PhotoDeluxe. This is an ideal tool for you to be able to manipulate photos in almost any way that you desire. It boasts of a user friendly console and this package includes 3-minute non-interactive QuickTime movie describing everything that the software can do. Also, the screen page layouts make each step of the manipulations very easy to follow.

Another tool than can be used for our purpose is the Paint Shop Pro. This also offers a friendly approach to photo manipulation. Several resources are available if you still need further instructions. Websites offering instructions and downloads are plenty and it would be very good to avail of these free information. Browsing the web is easy and you won't have any hard time looking for the right site.

Making images with text on top can be a nightmare if you do not make the necessary study of the appropriate technique that go hand-in-hand with abovementioned software. As always, the importance of having the right knowledge is an indispensable tool in any task that you will be undertaking. Planning is an integral part of any task as this will give you ample time to prepare yourself as well as ready everything that is needed for the realization of any undertaking you put yourself into.

About The Author
Ariel Velasco goes by the author alias of Paul Hood. This author is into books and writing. Reading is an essential part of his life and this has lent a considerable influence in his writing. Well traveled and would always want to travel more. He loves learning more about people and their ways. Took up a Bachelor of Arts in Sociology to further this fascination and had a fulfilling educational experience having been exposed to a wide spectrum of people. Always ready for new opportunities to learn and have a great deal of interest in different fields of expertise. For additional information about the articles you may visit http://www.uprinting.com.

Saturday, November 15, 2008

Antivirus Stop The Bugs Before They Stop You

Writen by Michael Russell

The computer, how did we ever get along without it? It's an amazing piece of equipment. Our lives are supposedly so much better because we have a computer in it. The computer is great, but the computer has been around for awhile. In the beginning very few people had home computers; probably because most people couldn't afford them. The early computer appeared to be more business oriented. Like a lot of things introduced in the business world; companies were probably hoping that computers would replace people, that way they could reduce their labor force and increase profit. Things don't always go as planned; and companies quickly learned that if they wanted to stay in business, they needed people who were capable of using computers.

The explosion in home computers really didn't take off until after Microsoft introduced an operating system called Windows. What Windows did was make it easier for the average person to interact with a computer. Of course, as computers became easier to use, more people wanted one and the demand eventually brought the price down. What really turned up the average person's desire for a computer, was the internet. In actuality, what we know as the internet, was around long before it became popular, but since most people didn't own computers, the internet didn't seem to exist.

So, the inventions of Windows made computers easier to use and the internet allowed people access to a world of information. If there's something you want to know, chances are very good, you can find it on the internet. You would think at this point, things would be perfect, but they're not. There are things about computers and the internet that people are still learning. One of the harder lessons most people have learned, is that just as the internet allows you access to the world, it can also allow the world access to your computer.

Unfortunately, the internet world is no different than the real world, both have bad people. It's amazing how bad people all seem to have a certain degree of knowledge about something. In the internet world, these people seem to have a great deal of knowledge about the internet and computers; but they use their knowledge to harm. These people create computer programs that contain viruses which can disrupt and even shut down your computer. These viruses can come to you in many forms, through your email, software, or even in a song you downloaded.

Viruses have created an industry all by themselves. Many companies have sprung up, practically over night, with their only purpose being to sell you anti-virus software, so you can protect your computer. There are so many different anti-virus programs, but they all basically do the same thing, which is to alert your computer to any suspicious activity and stop any viruses from attaching themselves to your computer. Though there is a big market for anti-viruses, you can find many free versions on the internet. Even companies that sell anti-virus programs, will let you try a free version, hoping that it will entice you to buy the more expensive version later.

Michael Russell Your Independent guide to Anti-Virus

Friday, November 14, 2008

Cryptography Amp Jce Overview

Writen by Geoff Whittington

Introduction

In the 21st Century, information is being exchanged electronically at an ever-increasing rate. Financial markets, commerce, and communication between citizens of all nations are utilizing the Internet and proprietary networks to exchange sensitive information. In pace with this trend are those rogue persons increasingly intercepting this information or supplanting it with misleading or erroneous messages. To continue effectively in this space Java developers should be aware and capable of building components and architecting systems based on a reliable technology that can fit within a secure environment. An available technology for securing facets of systems is Cryptography.

Background

Sun recognized that their Java programming language was being used to develop e-commerce systems. To address the requirement for secrecy they offered the JCE to the Java community as a downloadable API from their website. When Sun acknowledged that systems were increasingly using this API, they bundled it with the SDK in 2002.

The JCE is a pluggable technology. Sun defined the JCE interface but the technology is quite flexible; it allows different entities to provide its implementation. This facility was largely motivated by the fact that cryptographic products are under US federal export controls. The US government maintained that cryptography products are "weapons" and mandated that they fall under federal export controls.

The strength of a JCE implementation is largely dependant on the key sizes that it supports. Sun's standard JCE implementation currently shipped with the SDK is in compliance with the US's export controls. This means any Java system utilizing Sun's JCE implementation can be exported outside the US. However, the cost of using this implementation means a reduction of the Java system's strength. The beauty of the JCE is that it is possible to develop a system honouring the JCE and plug in a stronger JCE implementation. One such JCE implementation is Cryptix[2], an open source solution being maintained and developed by developers from The Netherlands and around the world. The Cryptix solution is useful since the code is open, has an active community, and has deep experience writing cryptographic software.

Before a developer can take advantage of the JCE it is useful that he understand the technology on which it is based. To this end the document will establish a few definitions and continue with a disclosure of cipher systems and protocols. These will aid the reader with understanding the JCE as well as other documents related to cryptography.

Definitions

Secret Key: A secret piece of information which is shared by two parties and used when securely exchanging information. To be effective the secret key is smaller than the information to be shared. It is used in conjunction with a cryptographic algorithm to encrypt or decrypt sensitive data.

Encrypt: The method of scrambling information to secure it against onlookers. Encryption is used with a secret key that is known only by the sender and receiver of the sensitive information.

Decrypt: The method of descrambling information from a previous encryption. Decryption requires the knowledge of a secret key.

Cryptographic Algorithm: Method which describes how a secret key is utilized to encrypt or decrypt information. It is also known as cipher.

Plaintext: The information to be secured.

Ciphertext: The scrambled information after an encryption process using a cryptographic algorithm and a secret key.

The JCE includes an assortment of cryptographic algorithms to perform encryption and decryption. Assuming a correct implementation, the greater the size of a secret key supported by an algorithm, the more secure an algorithm can be made. Cryptographic algorithms are used in the context of two systems.

Cryptographic Systems

There are two systems used in cryptography: symmetric and asymmetric (or public-key). Symmetric cryptography deals with keeping information secure with a single key; whereas asymmetric cryptography can secure information utilizing two keys. In the case of public-key systems, information is secured with a publicly known key and decrypted only with the secret private key.

Symmetric cryptography has the advantage of being fast. The operations it performs are transposition and substitution; which can be effectively expressed in hardware or software. The problem with symmetric cryptography is that its secrecy relies on the privacy of the shared key. An example of a symmetric cryptosystem would be one utilizing the DES (Data Encryption Standard), Blowfish, AES (Rijndael)[3] algorithm.

Asymmetric cryptography requires two keys (one to be kept secret, and another which can be publicly known). This scheme is superior to symmetric systems because it can facilitate secure key exchange and authentication, but it does so at the cost of slower processing times. Public-key systems use hard mathematical problems for the basis of their security.[4]

With these two systems various cryptographic protocols can be expressed and utilized for sharing secrets.

Cryptographic Protocols

In line with other security texts the author will use the characters Alice, Bob, and Eve. The first two are representative of systems that want to engage in a secure information exchange. Eve represents an entity who wishes to intercept sensitive information or to pose as Alice or Bob.

Consider that Alice and Bob are both intelligence operatives. Alice wants to give Bob the coordinates of a valuable witness who is in a safe house. The witness must show up in 8 days to testify at a court in The Hague. Unfortunately both are on different continents: Alice lives in Toronto and Bob is located in Holland. Alice does not want anyone else, like Eve, to find out where the witness is located, because Eve would surely divulge the location to the Mafia – the organization against which the witness will testify. Eve is also interested in thwarting Bob's attempts to find the witness and will do whatever it takes to push him off course. Alice and Bob each have the use of the Internet and access to a Java development system, including a full strength implementation of the JCE.

Alice and Bob are knowledgeable in cryptography and Java development. Over an insecure means Alice and Bob determine they will use the Rijndael algorithm to scramble their information[5]. The next step is for each to consider a protocol with which both will use to securely and effectively exchange information.

Simple Symmetric Protocol

Alice may choose to use the simple symmetric protocol. It requires that Alice and Bob establish a secret key with which the location can be encrypted. The two need to somehow agree upon the secret key in a secure manner- like in a private conversation, for example. The steps to accommodate a secure exchange using a simple symmetric system would be:

1. Alice would type the witness' location into a simple text file using an editor.

2. Alice would use the Rijndael cipher from the JCE to scramble the text file using the secret key agreed upon with Bob.

3. Alice would send the output of step 2 to Bob using email.

4. Bob reads his email, expecting a scrambled bit of text from Alice, and uses his JCE decryption Java program to descramble the text using the secret key agreed upon with Alice. Bob would now have the location of the witness.

Simple Asymmetric Protocol

In the previous situation Alice and Bob needed to agree upon a secret key for their secure communication in person. However, in most circumstances it is not possible to establish the secret key. In fact, since Alice and Bob live in different countries it is unlikely that physically meeting up with one another is feasible. In these situations asymmetric or public key systems excel.

A public key system works in the following manner: Alice and Bob each have two keys, one of which is secret to themselves and the other which is publicly known. The publicly-known key is registered with a trusted entity. The property of a public key system is that the sender can encrypt a message using the intended recipient's public key, and the only key which can decrypt the message is the recipient's private key. Each person keeps their private key to themselves.

In our example Alice and Bob establish their public and private keys on the first day of their job at the intelligence agency, a trusted entity for both. The following describes the protocol undertaken for Alice to securely share the location of the witness to Bob.

1. Alice retrieves Bob's public key from a trusted source, from Bob himself or their employer. (It is important that the public key be gotten from a trusted source – or else Alice may inadvertently encrypt the location with Eve's public key).

2. Alice types in the location of the witness in a text file and scrambles it using Bob's public key

3. Alice sends the scrambled text file to Bob using his email address.

4. Bob opens up Alice's email and descrambles its content using his private key, which no one else knows. The location of the witness is revealed.

In this protocol an asymmetric cipher is required – such as RSA or ElGamal, two standard public key systems. Alice and Bob decide to use ElGamal.

The problem with this scenario is that the processing cost of securely exchanging information is high. Asymmetric systems are much slower than its symmetric counterpart. For high volume systems this is a real problem for CPU-restrained systems. For example, if Alice wanted to send a world map of the witness' movements the process would be quite slow for both Alice and Bob. A truly beneficial system would be one where Alice and Bob can securely agree upon a secret key through an insecure informational channel, without fear of Eve. With the established secret key Alice could scramble the sensitive map and securely send it to Bob using a symmetric algorithm.

Hybrid Symmetric/Asymmetric System

Utilizing an asymmetric cipher it is possible for Alice to securely send a secret key to only Bob. Eve could not determine it while it is in transit to Bob because it is encrypted with his public key (and the only way of decrypting such a message is with Bob's corresponding private key). Only Bob's private key will descramble the secret key. With the secret key known only to Alice and Bob, both can utilize their favorite symmetric algorithm, Rijndael, to securely exchange information.[6]

Alice and Bob decide upon this protocol and find no success in its use. Alice and Bob know that each are operating within a secure channel – but Bob is receiving a large number of emails from Alice. As Bob opens each one the contents are directing him to locations where the witness cannot be found.

After some false leads on the whereabouts of the witness, Bob is becoming more reluctant to trust the supposed encrypted emails from Alice. He is receiving a large number of emails from Alice offering the location of the witness, but he can't determine which one is correct. He suspects that Eve is using his public key and sending emails to him feigning to be Alice. There are only days left to find the witness before the important court appearance. To address this, Bob calls Alice up on the telephone and instructs Alice to sign her emails so he can authenticate the origin of the emails. Now, should Eve continue to try to send Bob off-track – Alice's email can be picked out from the other junk emails.

Signing Protocol

In addition to facilitating secure key exchanges, public key systems also support the ability to sign a message, the electronic equivalent of a person's written signature. Specifically, it is with one's private key that a person may electronically sign a document. To reduce the amount of processing and overhead with signing large documents, hash functions can be used to reduce the effort.

Hash Functions

Hash functions are one-way operations that accept data and output it to a smaller set of data, called a message digest. Only secure hash functions can be used with electronic signatures. Hash functions are considered secure when it is computationally infeasible to find two different input data that result in identical message digests. The SHA1 is one example of a secure hash function[7].

Alice can utilize the following steps to sign her email messages to Bob

1. Alice types in the location of the witness into a text file using an editor of her choice.

2. Alice performs a SHA-1 of the text file's contents and scrambles it with her private key. The hash function she uses is one that is highly secure and is known to Bob.

3. She includes the output of this scrambled data at the end of the text file

4. Alice encrypts the whole payload using Bob's public key and emails it to Bob using his email address.

To read the payload and verify that Alice sent him the message, Bob must do the following:

1. Open his email from Alice and descramble the contents using his private key.

2. Perform a hash of the supposed location of the witness using the same hash function Alice used.

3. Using Alice's public key Bob descrambles the latter end of Alice's email.

4. If the output from #2 and #3 match, Bob can be sure Alice sent the email and the location of the witness is true. Otherwise, Eve surely has tried again to lead him astray.

After receiving an authenticated email from Alice, Bob correctly finds out the whereabouts of the important witness. Bob safely takes the witness to court in The Hague so that the valuable evidence can be heard.

The JCE

Core Classes

The following is a description of the core classes that comprise the JCE.

Cipher Class

A Cipher is the main class with which encryption and decryption is performed. Around this class the JCE framework is built. An instance of the Cipher class embodies how information is scrambled or descrambled, as well as with what secret key it should use when doing its work.

A static factory method on the Cipher class is the means with which Cipher objects are created. When factorizing a Cipher object, its transformation name is essential. Additionally, it is possible to also specify the name of a JCE provider, in case there are two or more implementations available in the Java runtime environment.

A Cipher's transformation name follows the format: algorithm/mode/padding.

In our example above, Alice and Bob could create a Cipher class with the following,

Cipher cipher1 = Cipher.getInstance( "Rijndael" );

The mode describes how the cipher will scramble the information internally through its work. Standards dictate how a cipher ought to be used and in what context. Depending on the mode a Cipher instance may require an initialization vector (IV) which kick-starts the algorithm.

The padding describes how the information is padded when the plaintext is shorter than what is required by the cryptographic algorithm.

In each case, the provider of a JCE implementation will choose a default mode and padding if none are offered. In our example, Alice and Bob have agreed upon a specific implementation so they do not require the extra qualifiers for the Cipher object they wish to instantiate; the common code will choose the correct defaults.

Before working with a Cipher object, it must be initialized. The two oft-used modes are:

Cipher.ENCRYPT_MODE

Specifies that the Cipher object will be used for encryption.

Cipher.DECRYPT_MODE

Specifies that the Ciphert object will be used for decryption.

These modes are required because cryptographic algorithms behave differently in encryption and decryption mode. The other missing instantiation information is the Key. The Key can be any class that implements the java.security.Key interface, or from some certificate that contains the appropriate key.

There are other parameters that can be used with initializing a Cipher object. In all cases the parameters:

1. Specify how the algorithm will perform its work,

2. Embody a secret key with which the algorithm uses to perform its work, or

3. Reference a specific random number generator[8].

Cipher Stream Class

The Cipher Stream classes provide a Java developer the means with which to perform encryption or decryption on conventional streams.

KeyGenerator Class

Symmetric algorithms require the use of a key to scramble the plaintext into ciphertext. For systems that must create keys without user input, like SSL or PGP, some sort of key generator is required. Important to this process is the fact that symmetric algorithms each have their own definition of what constitutes a weak[9] or valid key. The KeyGenerator class solves the problem of automatically generating secure, acceptable keys.

Similar to the Cipher class, a KeyGenerator instance is created using:

KeyGenerator kg = KeyGenerator.getInstance("DES");

Using the factory method, getInstance, the above line of source code creates a KeyGenerator instance for the DES algorithm. Additionally, a JCE provider name could be added as a second parameter in case there are more than one provider offering KeyGenerator instances in its implementation. With an instance, the KeyGenerator instance must be initialized.

A KeyGenerator instance can be initialized by specifying the keysize, a random number generator, both, or some algorithm parameters. The keysize is an important parameter to consider when generating a key for an algorithm that supports many different key sizes. A developer should always be sure how strong the keys are when implementing cryptographic protocols.

With a KeyGenerator instance setup, a secret key can be made available by simply calling:

SecretKey sk = kg.generateKey();

With this SecretKey, sk, a Java developer can secure information.

In the adventures of Alice and Bob, the two could not reliably establish a secret key unless they were speaking to one another privately. Since both lived on separate continents it became harder to establish their secret key. To alleviate this they used an asymmetric cryptosystem to create a secure channel through which they would share their secret key. It is through the use of the KeyAgreement Class that Alice and Bob were able to securely share their secret key in an insecure environment.

KeyAgreement Class

Consistent with the JCE, the KeyAgreement class is available to a developer using its getInstance method. For example,

KeyAgreement ka = KeyAgreement.getInstance("DH");

creates a KeyAgreement instance utilizing the Diffie-Hellman algorithm[10]. The KeyAgreement instance requires initialization and this can be done using a user's private information. Additionally a developer can provide reference to a secure random generator, or some algorithm parameters.

Once the KeyAgreement instance is initialized the doPhase method must be called in order to establish a secure channel. The method is defined as:

public Key doPhase(Key key, boolean lastPhase);

For Alice and Bob, a single call to this method the other person's public key using in place of key and lastPhase=true, is sufficient. If there are more parties with whom the secret must be shared, then the generated Key must be shared with the participants and more doPhase invocations are required. Please refer to the JCE documentation for more details on the KeyAgreement.doPhase method.

After the single invocation, Alice and Bob will be able to extract the secret key,

byte[] establishedSecret = kg.generateSecret();

With establishedSecret Alice and Bob can securely exchange information utilizing it as their secretKey.

Mac Class

When exchanging information securely it is useful to determine if a rogue individual has intercepted the ciphertext and modified it. The JCE facilitates this through the Mac class.

Summary

Cryptography is a powerful technology that creates secure channels in an insecure environment. It allows intelligence agents, suppressed nationals, and businesses to exchange information securely with others. This technology is important in the development of systems that exchange sensitive information.

The JCE is an implementation of cryptography for Java systems. It empowers a Java developer to securely exchange keys, scramble information with a key and provide a means to descramble it. However, this provision operates within a larger context.

The technology on which the JCE is based can only claim with high confidence that the exchange will be secure: the JCE provides no guaranteed security.[11] For practical purposes I would not concern oneself with this comment. It is recommended to stay relatively current with cryptographic advances and re-address the security of a system at regular intervals. Pick secret keys that are appropriate for your application.[12]

It is also important to note that cryptography is not the silver bullet of system security. Well administered firewalls, a commitment to secure processes, and many other security measures are as important to securing a system as incorporating the latest cryptographic technologies and protocols.

Geoff leads Fireball Technology Group, Inc. - a Toronto-based software consulting firm specializing in Java and PHP web applications. Fireball uses its development abilities to maintain and enhance http://www.thelocalguru.com - Canada's first skill database that supports freelance and self-employed experts to connect with their local communities.