TechMynd, Stuff That Works | Downloads, Tips & Tricks, Softwares, Programming, Resources

Archive for July, 2007


Advantages & Disadvantages of XML

Advantages of XML

1- It is a simultaneously human- and machine-readable format.
2- It supports Unicode, allowing almost any information in any written human language to be communicated.
3- It can represent the most general computer science data structures: records, lists and trees.
4- Its self-documenting format describes structure and field names as well as specific values.
5- The strict syntax and parsing requirements make the necessary parsing algorithms extremely simple, efficient, and consistent.
6- XML is heavily used as a format for document storage and processing, both online and offline.
7- It is based on international standards.
8- It allows validation using schema languages such as XSD and Schematron, which makes effective unit-testing, firewalls, acceptance testing, contractual specification and software construction easier.
9- The hierarchical structure is suitable for most (but not all) types of documents.
10- It manifests as plain text files, which are less restrictive than other proprietary document formats.
11- It is platform-independent, thus relatively immune to changes in technology.
12- Forward and backward compatibility are relatively easy to maintain despite changes in DTD or Schema.
13- Its predecessor, SGML, has been in use since 1986, so there is extensive experience and software available.

Disadvantages of XML

1- XML syntax is redundant or large relative to binary representations of similar data.
2- The redundancy may affect application efficiency through higher storage, transmission and processing costs.
3- XML syntax is too verbose relative to other alternative ‘text-based’ data transmission formats.
4- No intrinsic data type support: XML provides no specific notion of “integer”, “string”, “boolean”, “date”, and so on.
5- The hierarchical model for representation is limited in comparison to the relational model or an object oriented graph.
6- Expressing overlapping (non-hierarchical) node relationships requires extra effort.
7- XML namespaces are problematic to use and namespace support can be difficult to correctly implement in an XML parser.
8- XML is commonly depicted as “self-documenting” but this depiction ignores critical ambiguities.

Tags:
Posted in: XML
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

Why XHTML?

We have reached a point where many pages on the WWW contain “bad” HTML.

The following HTML code will work fine if you view it in a browser, even if it does not follow the HTML rules:

<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
</body>

XML is a markup language where everything has to be marked up correctly, which results in “well-formed” documents.

XML was designed to describe data and HTML was designed to display data.

Today’s market consists of different browser technologies, some browsers run Internet on computers, and some browsers run Internet on mobile phones and hand helds. The last-mentioned do not have the resources or power to interpret a “bad” markup language.

Therefore - by combining HTML and XML, and their strengths, we got a markup language that is useful now and in the future - XHTML.

XHTML pages can be read by all XML enabled devices AND while waiting for the rest of the world to upgrade to XML supported browsers, XHTML gives you the opportunity to write “well-formed” documents now, that work in all browsers and that are backward browser compatible !!!

Tags:
Posted in: XHTML
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)

XHTML is a family of current and future document types and modules that reproduce, subset, and extend HTML 4 [HTML4]. XHTML family document types are XML based, and ultimately are designed to work in conjunction with XML-based user agents. The details of this family and its evolution are discussed in more detail in [XHTMLMOD].

XHTML 1.0 (this specification) is the first document type in the XHTML family. It is a reformulation of the three HTML 4 document types as applications of XML 1.0 [XML]. It is intended to be used as a language for content that is both XML-conforming and, if some simple guidelines are followed, operates in HTML 4 conforming user agents. Developers who migrate their content to XHTML 1.0 will realize the following benefits:

1- XHTML documents are XML conforming. As such, they are readily viewed, edited, and validated with standard XML tools.
2- XHTML documents can be written to operate as well or better than they did before in existing HTML 4-conforming user agents as well as in new, XHTML 1.0 conforming user agents.
3- XHTML documents can utilize applications (e.g. scripts and applets) that rely upon either the HTML Document Object Model or the XML Document Object Model [DOM].
4- As the XHTML family evolves, documents conforming to XHTML 1.0 will be more likely to interoperate within and among various XHTML environments.
The XHTML family is the next step in the evolution of the Internet. By migrating to XHTML today, content developers can enter the XML world with all of its attendant benefits, while still remaining confident in their content’s backward and future compatibility.

Tags:
Posted in: XHTML
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

What is Web Hosting? How Does it Works?

Simply put web hosting, or web site hosting, is the process of creating an internet web site and allowing others around the world to view the web site. A web hosting provider is basically a business which rents space on its computers (commonly these computers are called servers.) What happens is that after a web site is created, it is uploaded or transferred to the hosting provider’s server. The hosting provider then allows the world to view the web site when someone types in the web address (or domain name) of the internet site. And then the site (or specifically the page) is sent to the person requesting to view the site. Essentially, web hosting can be defined as providing space on a server which allows others to view your web site.

How Does it Works?
When a site is on the server it is controlled by the software on the computer; i.e., the server software. Currently over 60% of all servers on the internet use the server software known as Apache server. What happens is that when a web site is created on the server, the server software is told where the web site is on the hard disk and the details of the account. Then when a user types in a domain name (web site address) and requests a specific page from their internet browser, that request is sent to the web hosting provider’s server where the web site is located. The server software then finds the specific site and page requested in its list of details, and figures out which page the user wants and then sends that page to the user’s internet browser where the page is displayed. Basically, the server software is the intermediary between the files on the server and the browser requesting the web pages. Server software can process millions and millions of requests each day.

Tags: ,
Posted in: Web Hosting
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

Which Hosting is Better? Unix, Windows or Linux!

On the Internet there is a tremoundous amount of argument over which operating system is the best for web hosting. There are anti-windows haters, there are FreeBSD fanatics and more. But which is the best? The truth is it depends on what you are doing.

The servers which run the web sites and the server software all run on a computer program known as the operating system. If you are running a personal computer chances are that you are running Windows ME, XP, NT or some other similiar computer program. That is the operating system of your computer. With web hosting servers they also need a operating system and there are essentially three different competing versions.

The first version is Windows. Microsoft makes an operating system especially for servers. This operating systems allows true integration with Microsoft’s products and also allows web sites to run Active Server Pages (basically computer scripts for dynamic web site content). Microsoft’s server also allows integration with its SQL database, one of the more powerful databases. The downside of Microsoft’s server software is that it costs several thousands of dollars for each server.

The second version is Linux. Linux is actually a common name for a variety of operating systems. Linux was, and is, developed by a community of individuals which come together to commonly write the main part of Linux. After this main part is developed, and continually refined, additional parts are added to the program to customize it for whatever purposes the end user wants. A variety of companies market Linux and you might have heard of a few: Red Hat, Debian, Slackware, etc. Linux is good in that it is compatible with the popular programming language PHP. It is also favored by some web hosters in that in general it has a good security record and tends on average to be a stable operating system. Linux software is free.

The third version is Unix-based operating systems. The last version mentioned here is very close in comparision to the Linux versions. In fact there are probably more similiaries than differences. The main difference is the history of how the two versions came into being. Linux is an offshoot of the Unix operating system, where the Unix-based operating systems are refinements of Unix itself. Linux basically is a cousin to Unix-based operating systems. The main Unix-based operating systems are FreeBSD and OpenBSD. The selling point of these operating system is that they tend to be very stable once installed. The downpoint is that they are very technical to install. OpenBSD also has the reputation of very secure in that in the last six years it had only one security hole in the software itself. But OpenBSD does not allow everything; that it you have to sacrafice some flexibility for security. These operating systems are free as well.

So which is the best? Well it depends on what you need. If you want the tightest security you can get then OpenBSD is probably for you. But it is very technical to install and you will not have a lot of frills. How about compatibility with all of Microsoft’s products? Well then Windows is the best for you, but be prepared in that it will cost a lot–the other operating systems here all are free. How about compatibity with PHP? Well then look at Linux or FreeBSD. You see it is not so much as which operating system is the best, but rather which operating system is best for what you need to do.

Tags:
Posted in: Web Hosting
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

What is Server? What Makes a Computer, A Server?

A server is nothing more than a computer. It has a hard drive, a cpu, memory and all of the things you will generally find in a home computer. Your home computer can be a server if you want it to be. A server by definition is just a computer which serves other computers. A web hosting server is nothing more than a computer which serves web pages to the computers requesting them; i.e., to the person running the internet browser. So while in the generalist sense every computer can be a server; correspondingly what makes a computer a good server?

A web hosting server is a server set up to perform web hosting tasks quickly and efficiently. A web hosting server does not need pretty graphics because typically it runs by itself without input from a person. It is essentially (after you set it up) fully automated. And unless it is necessary, it doesn’t have a monitor. (Of course like all things it needs maintenance from a qualified professional from time to time to ensure it is running efficiently).

A good web hosting server does have a few characteristics that make it different from a normal home computer. One of the characteristics is redundancy. Typically, a server has multiple hard drives which store the data. With a multiple hard drive system data is saved on more than one hard drive so in the event of a hard drive failure the redundant drive takes over exactly where the first hard drive failed. This process is known as RAID. Another redundancy you will find is that some servers will also have multiple network access cards (for faster input and output) and two power sources. The name of the game with servers is *reliability*.

Aiming for reliability with a server typically means that the latest and greatest is not necessary the best for a web hosting server. Web hosting servers typically wait until *all* the bugs are out of the hardware and software because they want their clients’ websites up at all times. (Of course servers should always have the latest and greatest security patches.) With these characteristics in mind sometimes it shocks the average person that most servers run lower end cpus. At the time of this writing the 3.0 Ghz chips are entering the market but you will find a lot of web sites hosted on Pentium III cpus. And quite frequently Celeron chips are used which range from 1.0 Ghz to 1.7 Ghz. The reason for this is two-fold: these chips generate less heat which is important to keep heat down in a server and web hosting does not generally demand much cpu processing. RAM (the computer’s main memory) is actually more important at times than the cpu. Typically a server should have 512 MB to 2 GB of memory, with 1 GB being a sweet spot for processing. But the question always arises-if a Pentium III does a very good job at web processing won’t a Xeon cpu or dual AMDs do better? Maybe-it really depends on what is on the server. If you have just web sites and they don’t use much scripting programs (PHP or Perl or CGI) or don’t have huge shopping sites like Amazon.com on them, a lower end cpu is going to perform pretty good. Of course the dual AMDs and Xeon are going to outperform the Pentium III but not as much as you are going to pay for the premium in pricing for the cpus and the additional requirements brought on by the increased heat (more fans, bigger cases, etc).

Tags: ,
Posted in: Web Hosting
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

Characteristics of Web 2.0

Web 2.0, a phrase coined by O’Reilly Media in 2003 and popularized by the first Web 2.0 conference in 2004, refers to a perceived second generation of web-based communities and hosted services — such as social-networking sites, wikis and folksonomies — which facilitate collaboration and sharing between users. O’Reilly Media titled a series of conferences around the phrase, and it has since become widely adopted.

Although the term suggests a new version of the World Wide Web, it does not refer to an update to Web technical specifications, but to changes in the ways software developers and end-users use the web as a platform. According to Tim O’Reilly, “Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success on that new platform.”

Some technology experts, notably Tim Berners-Lee, have questioned whether one can use the term in a meaningful way, since many of the technology components of “Web 2.0″ have existed since the early days of the Web.

Characteristics of “Web 2.0″

While interested parties continue to debate the definition of a Web 2.0 application, a Web 2.0 web-site may exhibit some basic common characteristics. These might include:

1- “Network as platform” — delivering (and allowing users to use) applications entirely through a browser.

2- Users owning the data on a site and exercising control over that data.

3- An architecture of participation that encourages users to add value to the application as they use it. This stands in sharp contrast to hierarchical access-control in applications, in which systems categorize users into roles with varying degrees of functionality.

4- A rich, interactive, user-friendly interface based on Ajax or similar frameworks.

5- Some social-networking aspects.

Tags:
Posted in: Web 2.0
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

URI Choice Checklist

A few questions to consider when you choose a URI for a new location:

1- Can you easily write the chosen URI on a piece of paper, or can you remember it easily?
2- Can you spell the chosen URI on the phone?
3- Does the chosen URI give hints about the content of the resource? Will it still make sense if the resource evolves?
4- Did you choose to locate the URI near the root level of your Web server? Are you certain it is the best location?
5- Can you see any reason that would force you to move this resource in the future? New resources that would fit better at this location? A re-organisation of your server maybe?
6- A few technical tips for good choices: these tips are not detailed here, but the documents in the Further Reading section of this document provide more detailed explanations.
7- Keep it short. Use lower-case URIs if possible.
8- Organise your Web site by topics for big areas, and use dated URIs such as http://www.example.org/2003/10/meeting-minutes for standalone documents. You can also choose to use dated space in addition to a classification by Area for extra tidyness.
9- Use format negotiation to hide file extensions in URIs, giving you enough flexibility to change the underlying technology without too much pain.
10- And finally, since nobody is perfect, learn to manage URIs for when you find out your choice was not so good after all.

Tags:
Posted in: W3C
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

Links

Meta tags Generator
http://www.javedkhalil.com/tools/metatags.php

Anchor Link generator
http://www.javedkhalil.com/tools/link_generator.php

Expense management System
http://www.javedkhalil.com/tools/ems/

World Time
http://www.timeanddate.com/worldclock/

Tags: ,
Posted in: Tools
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment

Why no Tables For Layout?

1- A table forces a user to follow your document structure, not a typical document structure.

2- Tables require much more HTML to generate than using the DIV method and so increase the file size of the page.

3- Once a table is laid out and used across a website, possibly hundreds of pages, any structural updates or amendments are both time consuming and expensive.

4- A table can be styled using CSS whereas a DIV can be floated and positioned to give you precise layout control.

5- Nested tables and spacer gifs make for messy markup and inaccessible websites.

6- Presentation information is mixed with markup so maintenance becomes harder.

7- Tables may offer good browser compatibility but not device compatibility.

Tags:
Posted in: Tableless Websites
Post's RSS » RSS 2.0
Post's Comments RSS » RSS 2.0
Respond: Post A Comment




  Subscribe Via RSS
  Subscribe Via Email


Add to Google Reader
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Add to My AOL
Add to Simpy
Add to Technorati Favorites!
Add to netvibes


Add to Technorati Favorites