Sunday, January 2, 2011
Parking a Domain
2. This can be useful when you have additional domain names
3. Select the "Park Domain" feature to park additional domains at your website cPanel
4. Click on the "Parked Domains" icon
5. Domain parking will not work if you haven't updated the domain nameservers of the domain you are parking to point to your accounts nameservers. Do that with your registrar first
6. Enter the domain you want to park in box provided
7. Click the "Add Domain" button
8. That's it. The domain is now parked.
9. You can remove any parked domains
Friday, December 17, 2010
localhost browsing problem in firefox,Authentication required for localhost in firefox
If you happen to have the same problem, here's a quick and simple workaround:
1. In Firefox type about:config in the addressbar
2. Find the preference named network.automatic-ntlm-auth.trusted-uris
3. Doubleclick and type localhost
4. Enter and you're done
Tuesday, December 14, 2010
Malware
Malware is a general term for malicious software, and it is a growing problem on the Internet. Hackers install malware by exploiting security weaknesses on your web server to gain access to your web site. Malware includes everything from adware, which displays unwanted pop-up advertisements, to Trojan horses, which can help criminals steal confidential information, like online banking credentials.Malware is increasingly distributed through web browsers. Hackers use drive-by malware to spread viruses, hijack computers, or steal sensitive data, such as credit card numbers or other personal information.
Drive-by malware
Drive-by malware downloads itself onto a user’s system without their consent. Cybercriminals exploit browser and/or plug—in vulnerabilities to deliver the malware by hiding it within a web page as an invisible element (e.g., an iframe or obfuscated javascript) or by embedding it in an image (e.g., a flash or PDF file) that can be unknowingly delivered from the web site to the visitor’s system.
The anatomy of malware attacks
To infect a computer through a web browser, an attacker must accomplish two tasks. First, they must find a way to
connect with the victim. Next, the attacker must install malware on the victim’s computer. Both of these steps
can occur quickly and without the victim’s knowledge, depending on the attacker’s tactics.
Common types of malware delivery mechanisms
• Software updates
• Banner ads
• Downloadable documents
• Man-in-the-middle
• Keyloggers
Simple way of Installing PHP with IIS as CGI
1. Add \php to the PATH environment variable. I assume you know how to do this.
2. Set up PHP configuration file. First rename \php\php.ini-recommended to \php\php.ini. Then edit \php\php.ini to set the following values:
cgi.force_redirect = 0
doc_root = "c:\inetpub\wwwroot"
cgi.redirect_status_env = ENV_VAR_NAME
3. Create a new environment variable PHPRC with \php. This is needed to access php.ini.
4. Now we need to change IIS configuration to run PHP scripts as CGI scripts. Run Control Panel, Internet Information Service, Default Web Site, and Properties. On the Directory tab, first set Execute Permissions to "Scripts only". Then click Configuration to add a new Application Mapping with Executable=\php\php-cgi.exe, Extension=.php, and Script engine checked.
5. Stop and start Default Web Site.
6. Copy Hello.php to \inetpub\wwwroot.
Sunday, December 12, 2010
System Analyst & System Administrator
Systems Analyst
A systems analyst is responsible for researching, planning and recommending software and system choices to meet an organization's business requirements.
Systems analysts may act as a liaison between vendors and the organization they represent. They may be responsible for developing cost analyses, design considerations, and implementation time-lines. They may also be responsible for feasibility studies of a computer system before making recommendations to senior management.
Systems analysts are responsible for deciding what software, hardware and settings are needed for each computer, and the steps needed to maintain them. They plan, implement and manage multi-computer systems within an organization.
Additional duties include:
- Assessing the needs of individual departments within an organization and documenting them.
- Planning for the computers and software they will need in order to interact and meet organizational goals.
- Providing analysis of costs versus benefits and potential return on investments for proposed computer systems.
- Establishing and documenting procedures for related tasks.
- Installing and configuring software according to procedures.
- Testing individual computers for proper function; repairing and upgrading software and hardware.
- Working with computer programmers to set up, troubleshoot and maintain computer systems.
- Conducting assessments on the quality and efficiency of computer systems, and making recommendations.
Systems analysts work with both technical and business customers, facilitating communication between the two. Many systems analysts focus on specific computing areas, such as for business, accounting, financial systems or scientific and engineering. Analysts that specialize in selection of system software and infrastructure are sometimes referred to as system architects while those that are specialized in developing and evolving systems are frequently known as systems designers. System analysts typically work in offices or computer labs, and may be either employees or self-employed consultants.
Systems Administrator
A system administrator is a person employed to maintain, and operate a computer system or network. System administrators may be members of an information technology department.
The duties of a system administrator are wide-ranging, and vary widely from one organization to another. Sysadmins are usually charged with installing, supporting, and maintaining servers or other computer systems, and planning for and responding to service outages and other problems. Other duties may include scripting or light programming, project management for systems-related projects, supervising or training computer operators, and being the consultant for computer problems beyond the knowledge of technical support staff. A System Administrator must demonstrate a blend of technical skills and responsibility.
Wednesday, October 13, 2010
Difference between CMM and CMMI
1. CMM stands for capability stands for capability maturity model.
2. CMM designed only for software industry.
3. It has four phases.
4. It is initial model & provide base line to CMMI
Phases:
1. Initial
2. Repeatable
3. Defined
4. Quantitatively Managed
5. Optimizing
CMMI
1. CMMI stands for capability maturity model integration.
2. CMMI designed for all other industries like call center etc along with software.
3. It has five phases.
4. It is upgraded model of CMM.
Phases:
1. Initial
2. Managed
3. Defined
4. Quantitatively Managed
5. Optimizing
Thursday, June 24, 2010
Cloud computing
Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth.
A simple example of cloud computing is Yahoo email or Gmail etc. You dont need a software or a server to use them. All a consumer would need is just an internet connection and you can start sending emails. The server and email management software is all on the cloud ( internet) and is totally managed by the cloud service provider Yahoo , Google etc. The consumer gets to use the software alone and enjoy the benefits. The analogy is , 'If you only need milk , would you buy a cow ?' All the users or consumers need is to get the benefits of using the software or hardware of the computer like sending emails etc. Just to get this benefit (milk) why should a consumer buy a (cow) software /hardware?
Virtualization, standardization and other fundamental features of cloud are lowering the cost of IT, simplifying IT service management and accelerating service delivery.
In a cloud computing environment, applications and services are not tethered to specific hardware components. Instead, processing is handled across a distributed, glob-ally accessible network of resources, which are dispensed on demand, as a service.
The cloud computing architecture enables this kind of flexibility via a highly virtualized, automated and service-oriented design.
Traditional business applications—like those from SAP, Microsoft, and Oracle—have always been too complicated and expensive. They need a data center with office space, power, cooling, bandwidth, networks, servers, and storage. A complicated software stack. And a team of experts to install, configure, and run them. They need development, testing, staging, production, and failover environments.
When you multiply these headaches across dozens or hundreds of apps, it’s easy to see why the biggest companies with the best IT departments aren’t getting the apps they need. Small businesses don’t stand a chance.
Traditional business applications—like those from SAP, Microsoft, and Oracle—have always been too complicated and expensive. They need a data center with office space, power, cooling, bandwidth, networks, servers, and storage. A complicated software stack. And a team of experts to install, configure, and run them. They need development, testing, staging, production, and failover environments.
Cloud computing is a better way to run your business. Instead of running your apps yourself, they run on a shared data center. When you use any app that runs in the cloud, you just log in, customize it, and start using it. That’s the power of cloud computing.
Businesses are running all kinds of apps in the cloud these days, like CRM, HR, accounting, and custom-built apps. Cloud-based apps can be up and running in a few days, which is unheard of with traditional business software. They cost less, because you don’t need to pay for all the people, products, and facilities to run them. And, it turns out they’re more scalable, more secure, and more reliable than most apps. Plus, upgrades are taken care of for you, so your apps get security and performance enhancements and new features—automatically.
The way you pay for cloud-based apps is also different. Forget about buying servers and software. When your apps run in the cloud, you don’t buy anything. It’s all rolled up into a predictable monthly subscription, so you only pay for what you actually use.
Sunday, June 20, 2010
SOFTWARE TESTING, QUALITY ASSURANCE
QA is involved in the project from the beginning. This helps the teams communicate and understand the problems and concerns, also gives time to set up the testing environment and configuration. On the other hand, actual testing starts after the test plans are written, reviewed and approved based on the design documentation.
Software Testing
Software testing is oriented to "detection". It's examining a system or an application under controlled conditions. It's intentionally making things go wrong when they should not and things happen when they should not.
Quality software is reasonably bug free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable.
Software Verification and Validation
Verification is "whether the actual requirements are correctly implemented" and validation is code testing. Verification involves reviews, meetings, evaluating documents, plans, code, inspections, specifications etc. Validation occurs after verification and it's the actual testing to find defects against the functionality or the specifications.
Test Plan
Test Plan is a document that describes the objectives, scope, approach, and focus of a software testing effort.
Test Case
A test case is a document that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly. A test case should contain particulars such as test case identifier, test case name, objective, test conditions/setup, input data requirements, steps, and expected results.
Good Software Coding
Good code is code that works according to the requirements, bug free, readable, expandable in the future and easily maintainable.
Good Design
In good design, the overall structure is clear, understandable, easily modifiable, and maintainable. Works correctly when implemented and functionality can be traced back to customer and end user requirements.
Good Test Engineer
Good test engineer has the ability to think the unthinkable, has the test to break attitute, strong desire to quality and attention to detail.
Walkthrough
Walkthrough is quick and informal meeting for evaluation purposes.
Software Life Cycle
The Software Life Cycle begins when an application is first conceived and ends when it is no longer in use. It includes aspects such as initial concept, requirements analysis, functional design, internal design, documentation planning, test planning, coding, document preparation, integration, testing, maintenance, updates, retesting, phase-out, and other aspects.
Software Inspection
The purpose of inspection is trying to find defects and problems mostly in documents such as test plans, specifications, test cases, coding etc. It helps to find the problems and report it but not to fix it. It is one of the most cost effective methods of software quality. Many people can join the inspections but normally one moderator, one reader and one note taker are mandatory.
Benefits of Automated Testing
It's very valuable for long term and on going projects. You can automize some or all of the tests which needs to be run from time to time repeatedly or diffucult to test manually. It saves time and effort, also makes testing possible out of working hours and nights. They can be used by different people and many times in the future. By this way, you also standardize the testing process and you can depend on the results.
Main problems of working in a geographically distributed team
The main problem is the communication. To know the team members, sharing as much information as possible whenever you need is very valuable to solve the problems and concerns. On the other hand, increasing the wired communication as much as possible, seting up meetings help to reduce the miscommunication problems.
Common problems in Software Development Process
Poor requirements, unrealistic schedule, inadequate testing, miscommunication and additional requirement changes after development begin.
Different Kind of Testing
• Black box testing : You don't need to know the internal design in detail or have a good knowledge about the code for this test. It's mainly based on functionality and specifications, requirements.
• White box testing : This test is based on detailed knowledged of the internal design and code. Tests are performed for specific code statements and coding styles.
• Unit testing : The most micro scale of testing to test specific functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code, may require developing test driver modules or test harnesses.
• Incremental integration testing : Continuous testing of an application as new functionality is added. Requires that various aspects of an application's functionality be independent enough to work separately before all parts of the program are completed, or that test drivers be developed as needed. Done by programmers or by testers.
• Integration testing : Testing of combined parts of an application to determine if they function together correctly. It can be any type of application which has several independent sub applications, modules.
• Functional testing : Black box type testing to test the functional requirements of an application. Typically done by software testers but software programmers should also check if their code works before releasing it.
• System testing : Black box type testing that is based on overall requirements specifications. Covers all combined parts of a system.
• End to End testing : It's similar to system testing. Involves testing of a complete application environment similar to real world use. May require interacting with a database, using network communications, or interacting with other hardware, applications, or systems.
• Sanity testing or smoke testing : An initial testing effort to determine if a new sw version is performing well enough to start for a major software testing. For example, if the new software is crashing frequently or corrupting databases then it is not a good idea to start testing before all these problems are solved first.
• Regression testing : Re-testing after software is updated to fix some problems. The challenge might be to determine what needs to be tested, and all the interactions of the functions, especially near the end of the sofware cycle. Automated testing can be useful for this type of testing.
• Acceptance testing : This is the final testing done based on the agrements with the customer.
• Load / stress / performance testing : Testing an application under heavy loads. Such as simulating a very heavy traffic condition in a voice or data network, or a web site to determine at what point the system start causing problems or fails.
• Usability testing : Testing to determine how user friendly the application is. It depends on the end user or customer. User interviews, surveys, video recording of user sessions, and other techniques can be used. Programmers and testers are usually not appropriate as usability testers.
• Install / Uninstall testing : Testing of full, partial, or upgrade install / uninstall processes.
• Recovery / failover testing : Testing to determine how well a system recovers from crashes, failures, or other major problems.
• Security testing : Testing to determine how well the system protects itself against unauthorized internal or external access and intentional damage. May require sophisticated testing techniques.
• Compatability testing : Testing how well software performs in different environments. Particular hardware, software, operating system, network environment etc. Like testing a web site in different browsers and browser versions.
• Exploratory testing : Often taken to mean a creative, informal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it.
• Ad-hoc testing : Similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it.
• Context driven testing : Testing driven by an understanding of the environment, culture, and intended use of software. For example, the testing approach for life critical medical equipment software would be completely different than that for a low cost computer game.
• Comparison testing : Comparing software weaknesses and strengths to competing products.
• Alpha testing : Testing of an application when development is nearing completion. Minor design changes may still be made as a result of such testing. Typically done by end users or others, not by programmers or testers.
• Beta testing : Testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end users or others, not by programmers or testers.
• Mutation testing : A method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes (defects) and retesting with the original test data/cases to determine if the defects are detected. Proper implementation requires large computational resources.
Wednesday, June 16, 2010
Search Engine Optimization
Accurately describe the page's content
Create unique title tags for each page
Use brief, but descriptive titles
2.Make use of the "description" meta tag
Adding description meta tags to each of your pages is always a good practice in case Google cannot find a good selection of text to use in the snippet.
Accurately summarize the page's content
Use unique descriptions for each page
3.Improve the structure of your URLs
Use words in URLs
Create a simple directory structure
Provide one version of a URL to reach a document
4.Make your site easier to navigate
Create a naturally flowing hierarchy
Use mostly text for navigation
Use "breadcrumb" navigation - A breadcrumb is a row of internal links at the top or bottom of the page that allows visitors to quickly navigate back to a previous section or the root page.
Put an HTML sitemap page on your site, and use an XML Sitemap file
Consider what happens when a user removes part of your URL
Have a useful 404 page
5.Offer quality content and services
Write easy-to-read text
Stay organized around the topic
Use relevant language
Create fresh, unique content
Offer exclusive content or services
Create content primarily for your users, not search engines
6.Write better anchor text
Choose descriptive text
Write concise text
Format links so they're easy to spot
Think about anchor text for internal links too
7.Use heading tags appropriately
Imagine you're writing an outline
Use headings sparingly across the page
8.Optimize your use of images
Use brief, but descriptive filenames and alt text
Supply alt text when using images as links
Store images in a directory of their own
Use commonly supported filetypes
9.Make effective use of robots.txt
Use more secure methods for sensitive content
10.Be aware of rel="nofollow" for links
If you link to a site that you don't trust and don't want to pass your site's reputation to, use nofollow
Lastly, if you're interested in nofollowing all of the links on a page, you can use "nofollow" in your
robots meta tag, which is placed inside the tag of that page's HTML.This method is written as
11.Promote your website in the right ways
Blog about new content or services
Don't forget about offline promotion
Know about social media sites
Add your business to Google's Local Business Center
Reach out to those in your site's related community
12.Take advantage of web analytics services
Get insight into how users reach and behave on your site
Discover the most popular content on your site
Measure the impact of optimizations you make to your site