<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT Engineer's Blog, Malaysia Life Tech Blog</title>
	<atom:link href="http://www.icalvyn.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.icalvyn.com</link>
	<description>Your Gateway To IT Engineer Knowledge, Life experience on Malaysia Tech Blog</description>
	<lastBuildDate>Tue, 09 Mar 2010 04:29:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Encrypting and authenticating XML data [Part 2]</title>
		<link>http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-2/</link>
		<comments>http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-2/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 04:29:02 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Webmastering]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2601</guid>
		<description><![CDATA[After get some understanding on encrypting and authentication on xml on XML web services. Now we getting to know more about the XML signature and also some summarize of XML encrypting and authenticating.

XML Signature Standard
The W3C XML Signature standard provides a specification for  creating and using digital signatures in XML. You use XML Signature [...]]]></description>
			<content:encoded><![CDATA[<p>After get some understanding on <a title="encrypting and authentication xml data" href="http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-1" target="_blank">encrypting and authentication on xml</a> on XML web services. Now we getting to know more about the XML signature and also some summarize of XML encrypting and authenticating.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img692.imageshack.us/img692/7808/xmllogo.png" alt="xml authentication" /></p>
<p><strong>XML Signature Standard</strong><br />
The W3C XML Signature standard provides a specification for  creating and using digital signatures in XML. You use XML Signature to provide  authentication when transmitting documents. You can use XML Signature with any  content, including XML data. You can sign just a portion of a document, in the  same way that you can encrypt just part of it.<span id="more-2601"></span></p>
<p>Authenticating XML documents is difficult, however, because  their structure may change even when the data in them does not. Most digital  signature methods treat the structure of a document as significant when  generating the unique value, or <em>message digest</em>, that can be used to  validate the document&#8217;s authenticity To address this, the W3C uses XML  Canonicalization. This specification defines how to generate a canonical form of  an XML document. This is a highly formalized version of the XML document. Two  XML documents that differ textually as a result of comments, empty tags, or line  breaks for example, but have the same logical structure will produce identical  canonical documents.</p>
<p>The basic structure of a digital signature is as follows,  where <code>?</code> indicates zero or one occurrence and <code>*</code> indicates zero or more occurrences:</p>
<blockquote><p>&lt;Signature  ID?&gt;<br />
&lt;SignedInfo&gt;<br />
&lt;CanonicalizationMethod/&gt;<br />
&lt;SignatureMethod/&gt;<br />
(&lt;Reference  URI?  &gt;<br />
(&lt;Transforms&gt;)?<br />
&lt;DigestMethod&gt;<br />
&lt;DigestValue&gt;<br />
&lt;/Reference&gt;)+<br />
&lt;/SignedInfo&gt;<br />
&lt;SignatureValue&gt;<br />
(&lt;KeyInfo&gt;)?<br />
(&lt;Object  ID?&gt;)*<br />
&lt;/Signature&gt;</p></blockquote>
<p><code>Signature</code> is the root element, and its  <code>ID</code> attribute is an optional one used to identify the signature. The  mandatory <code>SignedInfo</code> element represents the data that is signed.  Then the <code>CanonicalizationMethod</code> element provides the  canonicalization algorithm that has been applied to the signed data. The  <code>Reference</code> element provides a reference to the data object being  signed. This element contains the <code>Transforms</code>,  <code>DigestMethod</code>, and <code>DigestValue</code> child elements, which  describe how the signed data object has been compiled. The <code>KeyInfo</code> element enables you to obtain the key to validate the signature. Note that,  although this element is qualified when used in encryption, it does not need to  be qualified when used with digital signatures because it is part of the digital  signature namespace.</p>
<p>The following is an example of a signature:</p>
<blockquote><p>&lt;Signature  Id=&#8221;ENTSecureSig&#8221;<br />
xmlns=&#8221;http://www.w3.org/2000/09/xmldsig#&#8221;&gt;<br />
&lt;SignedInfo&gt;<br />
&lt;CanonicalizationMethod  Algorithm=<br />
&#8220;http://www.w3.org/TR/2001/REC-xml-c14n-20010315&#8243;/&gt;<br />
&lt;SignatureMethod  Algorithm=<br />
&#8220;http://www.w3.org/2000/09/xmldsig#dsa-sha1&#8243;/&gt;<br />
&lt;Reference  URI=<br />
&#8220;http://www.w3.org/TR/2000/REC-xhtml1-20000126/&#8221;&gt;<br />
&lt;DigestMethod  Algorithm=<br />
&#8220;http://www.w3.org/2000/09/xmldsig#sha1&#8243;/&gt;<br />
&lt;DigestValue&gt;<br />
j6lwx3rvEPO0vKtMup4NbeVu8nk=<br />
&lt;/DigestValue&gt;<br />
&lt;/Reference&gt;<br />
&lt;/SignedInfo&gt;<br />
&lt;SignatureValue&gt;MC0CFFrVLtRlk=&#8230;&lt;/SignatureValue&gt;<br />
&lt;KeyInfo&gt;<br />
&lt;KeyValue&gt;<br />
&lt;DSAKeyValue&gt;<br />
&lt;P&gt;&#8230;&lt;/P&gt;&lt;Q&gt;&#8230;&lt;/Q&gt;&lt;G&gt;&#8230;&lt;/G&gt;&lt;Y&gt;&#8230;&lt;/Y&gt;<br />
&lt;/DSAKeyValue&gt;<br />
&lt;/KeyValue&gt;<br />
&lt;/KeyInfo&gt;<br />
&lt;/Signature&gt;</p></blockquote>
<p>The <code>Signature</code> element declares the XML Signature  namespace. The <code>Reference</code> element identifies the W3C XHTML  specification as the object that&#8217;s being signed in this case. The  <code>DigestMethod</code> element&#8217;s Algorithm attribute indicates that the SHA-1  algorithm was used to generate a hash, or message digest of this, the value of  which is indicated in <code>DigestValue</code>. Everything within the  <code>SignedInfo</code> element is canonicalized according to the Canonical XML  specification indicated by the <code>CanonicalizationMethod</code> element. Then  the DSA algorithm specified by the Algorithm attribute in  <code>SignatureMethod</code> is used to produce the <code>SignatureValue</code>,  which is the digest of everything in the <code>SignedInfo</code> element.  <code>KeyInfo</code> specifies what key should be used to validate this  signature &#8211; in this case, DSA keys. The <code>P</code>, <code>Q</code>,  <code>G</code>, and <code>Y</code> elements are used only with  <code>DSAKeyValue</code> and specify DSA public key values.</p>
<p>For this signature to be validated, the contents of  <code>SignedInfo</code> must be canonicalized, and then processed with the  algorithm specified in <code>SignatureMethod</code> using the public key  supplied by <code>KeyInfo</code>. If the value this produces matches the one in  <code>SignatureValue</code>, the signature is valid. For the signed data to be  validated, its unsigned version is retrieved using the <code>Reference</code> URI, processed according to <code>DigestMethod</code>, and compared to the value  in <code>DigestValue</code>.</p>
<p>As a summary on Encrypting and authenticating of XML data, XML Encryption enables you to encrypt an entire document, a  specific element, or the content of a specific element. It also facilitates the  transmission of data between more than two parties and ensures end-to-end  security rather than party-to-party security. XML Signature provides  authentication when using web services. It enables users to receive data that is  signed by the sender and to verify the integrity of the data.</p>
<p>XML Encryption encrypts data using the following elements &#8211;  <code>EncryptedData</code>, <code>CipherData</code>, <code>CipherValue</code>,  <code>CipherReference</code>, and <code>EncryptionMethod</code>. These elements  are in the <code>http://www.w3.org/2001/04/xmlenc#</code> namespace. XML  encryption is key-based and can be asymmetric or symmetric.</p>
<p>The W3C XML Signature standard provides a specification for  creating and using digital signatures in XML. You can sign just a portion of a  document, in the same way that you can encrypt just part of it. XML Signature  relies on XML Canonicalization to generate a canonical form of an XML document.  This ensures that the data in a document can still be verified even if its  structure changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML standards and compliance [Part 2]</title>
		<link>http://www.icalvyn.com/html-standards-and-compliance-part-2/</link>
		<comments>http://www.icalvyn.com/html-standards-and-compliance-part-2/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 16:06:39 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Webmastering]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2579</guid>
		<description><![CDATA[After knowing how the HTML Standard and compliance on HT (Hyper Text) and Markup, let us get more understand on tag wars, xhtml and etc.

Tag wars
In the early days of the Web, HTML proved to be an extremely popular authoring language. With HTML, publishing content to the Web was easy – you inserted some tags [...]]]></description>
			<content:encoded><![CDATA[<p>After knowing how the <a title="HTML standard" href="http://www.icalvyn.com/html-standards-and-compliance-part-1/" target="_blank">HTML Standard and compliance</a> on <strong>HT</strong> (Hyper Text) and <strong>Markup</strong>, let us get more understand on<strong> tag wars</strong>,<strong> xhtml</strong> and etc.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img707.imageshack.us/img707/5938/hypertext.jpg" alt="html standard" width="525" /></p>
<p><strong>Tag wars</strong><br />
In the early days of the Web, HTML proved to be an extremely popular authoring language. With HTML, publishing content to the Web was easy – you inserted some tags into a document using a text editor and uploaded the document to a web site, where it could be read by anybody with a browser.<span id="more-2579"></span> However, this very simplicity was a drawback, because the people who were actually developing web browsers wanted to include exciting new features that were not supported by early versions of HTML. So these developers decided to create their own tags, which could only be interpreted properly by their browsers. This threatened to lead to a situation where the type of web page you could visit would depend on the browser you were using. Clearly what was needed was an agreed HTML standard.</p>
<p><strong>The W3C to the rescue</strong><br />
The need for a body to develop common standards for the Web led to the formation, by Tim Berners-Lee in 1994, of the World Wide Web Consortium (W3C). A specification that has been approved by members of the W3C and is appropriate for widespread use is published as a recommendation document.</p>
<p>One of the most important initial tasks for the W3C was to develop a standard for HTML, and in 1995 this body was busily working on HTML 3.0, a badly needed update for the two previous versions – HTML 1.0 and HTML 2.0. However, the draft specification for HTML 3.0 included many new tags, most of which were not, and would not, be supported by browsers available at the time. So the W3C changed tack – instead of attempting to cram in lots of new features, it focused on what was currently supported. HTML 3.0 was abandoned and, in 1996, the W3C published its recommendation for HTML 3.2, which represented the consensus on HTML at that time.</p>
<p>The next recommendation after HTML 3.2 described the widely used HTML 4.0, released in 1997, and was followed in 1999 by a recommendation for HTML 4.01.<br />
<strong><br />
The latest recommendation – XHTML 1.0 </strong><br />
XHTML 1.0 is W3C&#8217;s recommendation for the latest version of HTML. XHTML 1.0 is a hybrid of XML – another, more powerful markup language called the Extensible Markup Language – and HTML 4.01. XHTML 1.0 is specified in three &#8220;flavors&#8221;:</p>
<ul>
<li> XHTML 1.0 Transitional – if you are a developer creating web pages for the general public, you should use this &#8220;flavor&#8221; because it allows you to take advantage of XHTML features such as Cascading Style Sheets, and you only have to make small changes to your documents to accommodate users viewing your pages with older browsers that don&#8217;t support XHTML</li>
<li>XHTML 1.0 Strict – this is used when you want your document to be free of any tags associated with the layout of text</li>
<li>XHTML 1.0 Frameset – this is useful when you want to use HTML Frames to partition the browser window into two or more frames</li>
</ul>
<p><strong>Watch out for old tags </strong><br />
If you read the documentation for XHTML 1.0, you will see that some tags and attributes are deprecated – which means that, although they are supported in XHTML 1.0, they may not be supported in future versions. As a result, you are strongly urged not to use the deprecated tags and attributes on the list provided by the W3C.</p>
<p>However, one of the difficulties is that some browsers may not support the tag that replaces a deprecated one. For example, in XHTML 1.0, the &lt;applet&gt; tag is deprecated in favor of &lt;object&gt;, but recent versions of Netscape Navigator do not support &lt;object&gt;. In this case, you may be forced to use &lt;applet&gt;, even though it is not recommended.</p>
<p><strong>Return of the tag wars – proprietary extensions </strong><br />
You might think that with the release of XHTML 1.0, everybody is happy – that all web site developers adhere to this specification when creating web pages and all browsers provide full support for this code. Nothing is ever this neat, however, and browser developers have included features that are not part of the current recommendation. These features are called proprietary extensions, because they supposedly &#8220;extend&#8221; the existing standard, although in most cases it&#8217;s possible to adhere to the current recommendation and develop the features that these extensions offer.</p>
<p>Two (in)famous proprietary extensions are the &lt;marquee&gt; and &lt;blink&gt; tags. Neither is part of XHTML 1.0, and in any case both are browser-specific – the &lt;marquee&gt; tag is supported by Internet Explorer but not by Netscape Navigator, and the &lt;blink&gt; tag is supported by Netscape Navigator but not Internet Explorer. For these and other reasons, such extensions should be avoided.</p>
<p><strong>Stick to the recommendation and check your code</strong><br />
When creating web pages, it&#8217;s always a good idea to conform to the latest recommendation from the W3C, who will even check any code you send them to see if it is valid. And you should test any pages you develop with several browsers and older versions of these browsers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/html-standards-and-compliance-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Do you use Voice Over IP?</title>
		<link>http://www.icalvyn.com/do-you-use-voice-over-ip/</link>
		<comments>http://www.icalvyn.com/do-you-use-voice-over-ip/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 06:54:22 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2634</guid>
		<description><![CDATA[I believe most of us are familiar with this technology, but a lot of us don&#8217;t really know what is the actual term. Some said &#8220;Internet phone&#8220;, some said &#8220;free call from Internet&#8220;&#8230; But the actual term is call VOIP (Voice over Internet Protocol)

There are a lot of different setup or connection method for VOIP. [...]]]></description>
			<content:encoded><![CDATA[<p>I believe most of us are familiar with this technology, but a lot of us don&#8217;t really know what is the actual term. Some said &#8220;<strong>Internet phone</strong>&#8220;, some said &#8220;<strong>free call from Internet</strong>&#8220;&#8230; But the actual term is call VOIP (Voice over Internet Protocol)</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img717.imageshack.us/img717/4759/voip.png" alt="" /></p>
<p>There are a lot of different setup or connection method for VOIP. The most normal VOIP that we usually use will be <strong>SKYPE</strong>, which is a communication software that able to perform voice call from computer to computer. I use to use this software to contact my friend who stay far a ways from me, different state and oversea, we chating with VOIP few hour without need to paid any extra changes. <span id="more-2634"></span>VOIP also is a recomended tools for those couple who like to contact each others to have casual talk, without worry about the phone bills.</p>
<p>Other then home usage, <a href="http://www.vocalocity.com">business voip</a> system will be the best and effective way to reduce calling cost for businesses, now a day, a lot of company invest on VOIP system at their company, and save thousand of dollar per month. Further more, business voip system also reduce those equipment such as PABX which take a big space to located at a company, all this equipment require maintanance cost.</p>
<p>As per my experience, as mention before on <a title="cat 7 termination process" href="http://www.icalvyn.com/category-7a-termination-process/" target="_blank">category 7 </a>cable, a lot company start to invest in Cat 7 cable because 1 port can install up to 4 IP phone with using VOIP system, which save a lot of cabling cost.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/do-you-use-voice-over-ip/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Introduction to Linux processes [Part 2]</title>
		<link>http://www.icalvyn.com/introduction-to-linux-processes-part-2/</link>
		<comments>http://www.icalvyn.com/introduction-to-linux-processes-part-2/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 06:26:41 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2572</guid>
		<description><![CDATA[Last month was mention about the Linux Processes on PIDs , parent and child processes and using the ps command. In this part 2, let see how the background and foreground background process work.
Background and foreground processes 
An interactive process can run in the foreground or background. To place a process in the background, you [...]]]></description>
			<content:encoded><![CDATA[<p>Last month was mention about the <a href="http://www.icalvyn.com/introduction-to-linux-processes-part-1/" target="_blank">Linux Processes</a> on PIDs , parent and child processes and using the ps command. In this part 2, let see how the background and foreground background process work.</p>
<p><strong>Background and foreground processes </strong><br />
An interactive process can run in the foreground or background. To place a process in the background, you use the command bg or the ampersand symbol (&amp;). This lets you do other jobs while waiting for the command to finish. Let&#8217;s say you use the syntax</p>
<p><span style="color: #ff0000;">$ find / filename 2 &gt; /dev/null | grep filename | tee result</span></p>
<p>A command using this syntax could take a long time to execute, especially if you have a lot of files and are listing several network drives. Only one job at a time can run in the foreground, so no further commands can be issued until the prompt returns. To continue working on the command line while it processes, you can execute the same command in the background, using the ampersand. For example, you could enter the command using the following syntax:</p>
<p><span style="color: #ff0000;">$ find / filename 2 &gt; /dev/null | grep filename | &gt;result &amp;</span></p>
<p>After the command has been issued, the shell displays a message, which looks similar to the following:<span id="more-2572"></span></p>
<p><span style="color: #ff0000;">$ find / filename 2&gt; /dev/null | grep filename | &gt;result &amp;<br />
[1] 60913<br />
$ </span></p>
<p>The number after the brackets, 60913, indicates the PID for the process, so the status of the background command can be monitored. You can run numerous commands in the background simultaneously.</p>
<p>When the background command has been completed, you will see a line like this:</p>
<p><span style="color: #ff0000;">[1]+ Done find / filename 2&gt; /dev/null | grep filename | &gt;result </span></p>
<p>Note that the output of a long job has to be redirected when it&#8217;s placed in the background. This prevents difficulties when you use the command prompt, because otherwise the output from the background command would continue to appear as you typed.<br />
You use the bg command to send a command to the background while it is running. Initially, you press Ctrl+Z to stop the process, and then enter the bg command to place it in the background, where it resumes execution. Placing a process in the background clears the system, leaving the command line available for other uses.</p>
<p>If it is an interactive process, a message like this will occasionally appear:</p>
<p><span style="color: #ff0000;">[1]+ Stopped (tty output) telnet localhost </span></p>
<p>If a command is stopped, you can start it running again in the background using the bg command, as in</p>
<p><span style="color: #ff0000;">$ bg %1 </span></p>
<p>To maintain control of the command and to return it to the foreground, you enter a percent symbol (%) before the command&#8217;s job number. You then use the fg command to return the process to the foreground, as in the following example:</p>
<p><span style="color: #ff0000;">$ fg %1 </span></p>
<p>As a summary of linux processes part 1 and part 2. Processes perform tasks specified at the command line in Linux. Each process can initiate other processes. Process identity numbers (PIDs) let the shell keep track of which particular process it&#8217;s working on. The ps command displays information about each of the processes running under the shell. The bg command enables you to place a process in the background, so that you can do other jobs while waiting for the command to finish. A PID preceded by a percent symbol (%) and used with the fg command returns a process to the foreground.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/introduction-to-linux-processes-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Business use GPS tracking device</title>
		<link>http://www.icalvyn.com/business-use-gps-tracking-device/</link>
		<comments>http://www.icalvyn.com/business-use-gps-tracking-device/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 09:52:47 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2484</guid>
		<description><![CDATA[Recently I am looking for GPS tracking device which install in my car for security purposes, while doing research on GPS, found that a lot of businesses started to use GPS to track their company asset such as vans, company cars, trucks, even boats and airplanes.

Now a day, a lot of our mobile phone has [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I am looking for GPS tracking device which install in my car for security purposes, while doing research on GPS, found that a lot of businesses started to use GPS to track their company asset such as vans, company cars, trucks, even boats and airplanes.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img641.imageshack.us/img641/332/carthievesinbrazil.jpg" alt="gps device" /></p>
<p>Now a day, a lot of our mobile phone has already embedded with GPS device, human tent to depend on GPS system when heading to some location that they never went before. My self have some experience when hang out with friend, they are heading to some rural area, I was surprise is the GPS tracking device able to bring us there.<span id="more-2484"></span></p>
<p>Few month back, there are a <a href="http://www.icalvyn.com/penang-international-dragon-boat-festival-2009/" target="_blank">Dragon Boat Race</a> Competition around my area, and the organizer has install the GPS tracking device on each other the dragon boat. During those boat race far away from the seaside,  the audience focus on the GPS system which monitoring where the boat actual location. Every one was very excited because this kind of system consider very new over here.</p>
<p>I come across this website name LandAirSea, selling variety of<a href="http://www.landairsea.com">GPS Tracking</a> device include teen tracking, vehicle tracking, passive tracking, real time tracking and fleet management as well. For those who wish to have GPS update, this website also provide a lot GPS related news! Worth to pay a visit</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/business-use-gps-tracking-device/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How to Choose Unix [Part 2]</title>
		<link>http://www.icalvyn.com/how-to-choose-unix-part-2/</link>
		<comments>http://www.icalvyn.com/how-to-choose-unix-part-2/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 00:16:11 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2556</guid>
		<description><![CDATA[Last month, I have come across how to choose Unix, with which UNIX to choose, commercial UNIX, and open source UNIX, lets see how the “Brands of commercial UNIX“and “Brands of open source UNIX”.

Brands of commercial UNIX
Some of the most famous and widely used brands of UNIX include Sun&#8217;s Solaris and Hewlett Packard&#8217;s HP-UX.
Solaris is [...]]]></description>
			<content:encoded><![CDATA[<p>Last month, I have come across <a title="choose unix" href="http://www.icalvyn.com/how-to-choose-unix-part-1/" target="_blank">how to choose Unix</a>, with which UNIX to choose, commercial UNIX, and open source UNIX, lets see how the “Brands of commercial UNIX“and “Brands of open source UNIX”.</p>
<p style="text-align: center;"><img src="http://img42.imageshack.us/img42/317/unixplate.jpg" alt="choose unix" width="525" /></p>
<p><strong>Brands of commercial UNIX</strong><br />
Some of the most famous and widely used brands of UNIX include Sun&#8217;s Solaris and Hewlett Packard&#8217;s HP-UX.</p>
<p>Solaris is a binary-compatible operating system, which means that Sun have gone to some lengths to ensure that one version of their UNIX will run on all of their hardware. Solaris also features integrated Java support, although Java can be downloaded for any UNIX<br />
distribution.</p>
<p>Sun also manufacture UNIX for Intel hardware as well as their own proprietary hardware.<span id="more-2556"></span></p>
<p>By comparison, HP manufacture four different versions of their operating system, each fine tuned for a specific purpose. Hewlett Packard&#8217;s UNIX variants all support both RISC architecture and the new breed of Itanium chips from Intel.</p>
<p>Other commercial UNIX variants include IBM&#8217;s AIX and Silicon Graphics&#8217;s IRIX system.</p>
<p><strong>Brands of open source UNIX</strong><br />
There are an increasingly large number of offshoots of open-source UNIX. However, two names are significant: BSD and Linux. <!--more--></p>
<p>BSD UNIX is one of the oldest forms of UNIX in existence, and pioneered such technologies as the TCP/IP stack and virtual memory. It&#8217;s widely in use across the Internet as a web server.</p>
<p>Linux is a port of the UNIX kernel to i386 (Intel) hardware, and is one of the fastest growing and most widespread UNIXes in use today. In fact, some hardware vendors who traditionally developed proprietary UNIX systems now offer the choice of shipping their<br />
hardware with Linux installed. For example, even though IBM have their own proprietary UNIX, they now offer the option of shipping their xSeries servers with Linux pre-installed.</p>
<p>As a conclusion on choosing Unix, UNIX comes in two main flavors: commercial and open source. The strength of commercial UNIX lies in its support and stability, while open source&#8217;s strength lies in innovation and portability. Well known commercial UNIXes include Sun Solaris and Hewlett Packard&#8217;s HP-UX. Well known open-source UNIXes include BSD and Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/how-to-choose-unix-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plan for Swimming Trip</title>
		<link>http://www.icalvyn.com/plan-for-swimming-trip/</link>
		<comments>http://www.icalvyn.com/plan-for-swimming-trip/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 05:41:28 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[iCalvyn Life]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2613</guid>
		<description><![CDATA[Back to year 2000, me and my family, together with my relative when for bukit merah water park, unfortunately, wae does not actually went to the water park, we just went for jungle tracking.

Few week back when we go for Gunung Jerai, my friend was suggest to visit bukit merah water park again, decide to [...]]]></description>
			<content:encoded><![CDATA[<p>Back to year 2000, me and my family, together with my relative when for bukit merah water park, unfortunately, wae does not actually went to the water park, we just went for jungle tracking.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img404.imageshack.us/img404/263/m06wavepool.jpg" alt="" /></p>
<p>Few week back when we go for Gunung Jerai, my friend was suggest to visit bukit merah water park again, decide to make it after Chinese New Year. Morning plan for swimming, and afternoon plan for Jungle tracking, and probably over night there.<span id="more-2613"></span></p>
<p>When talking about swimming, this is the worst thing I ever have. I still remember about my 5 year old time, my father send me to swimming club to have swimming class, unfortunately, I was scare, and not really learn anything there. Now when go any place swimming, I told my friend I only know how to &#8220;play water&#8221;</p>
<p>Currently is time for me to prepare swim wear, since I long time never go for &#8220;play water&#8221; already. I know there are some shop in town area selling <a href="http://www.herroom.com/swimwear.aspx">women&#8217;s swimwear</a> and <a href="http://www.hisroom.com/swimwear.aspx">mens swimwear</a>, but I do have a friend, they need to look for <a href="http://www.herroom.com/plus-size,swimwear,435,032,10.html">plus size swimwear</a> since they hv extra body size. i have browse some swim wear website, found a lot of nice swimwear,</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/plan-for-swimming-trip/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Encrypting and authenticating XML data [Part 1]</title>
		<link>http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-1/</link>
		<comments>http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-1/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 16:34:03 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Webmastering]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2588</guid>
		<description><![CDATA[To lean on advance xml, we might need to know some W3C standards to extending the XML understanding, Encrypting and authenticating on XML data is one of the XML, XHTML and Webservices that we might need to know in order to master the XML skills
Using encryption and authentication with web services
As web services become more [...]]]></description>
			<content:encoded><![CDATA[<p>To lean on advance xml, we might need to know some W3C standards to extending the XML understanding, Encrypting and authenticating on XML data is one of the XML, XHTML and Webservices that we might need to know in order to master the XML skills</p>
<p><strong>Using encryption and authentication with web services</strong><br />
As web services become more prevalent, the issue of security becomes more important. Encryption and authentication are vital tools for achieving secure web services.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img692.imageshack.us/img692/7808/xmllogo.png" alt="encryption on xml" /></p>
<p>Security protocols such as Transport Layer Security (TLS) and Secure Sockets Layer (SSL) enable you to encrypt data and transmit it safely over the Internet. However, these protocols have a number of shortfalls, in that they provide security only between the two parties sending and receiving data at a particular moment in a transaction, rather than among all the parties in a multi-part online information exchange. For example, SSL can encrypt all details of an online purchase you make. This ensures that your credit card number is encrypted when sent to an online merchant, but it cannot ensure that the merchant then sends the number securely to a credit card verification service. XML Encryption serves to address these shortfalls. It enables you to:<span id="more-2588"></span></p>
<ul>
<li>encrypt specific parts of the data being transmitted</li>
<li>provide end-to-end security</li>
</ul>
<p>This means that you can choose to encrypt an entire document, a specific element, or the content of a specific element. For example, in an online transaction, you may need to encrypt the credit card details, but not the product details. In this case, you would encrypt a specific element or the content of a specific element rather than encrypting the entire document. You can also transmit data between more than two parties and ensure end-to-end security rather than party-to-party security. This provides opportunities for more advanced e-commerce applications.</p>
<p>Digital signatures provide authentication when using web services. They enable users to receive data that is signed by the sender and to verify the identity of the sender and the integrity of the document – that is to verify that the data has not been altered since it was sent.</p>
<p>Encryption and authentication can be used together to provide powerful security solutions. The W3C has published recommendations for both encryption and digital signatures using XML. However, these are only specifications. They do not provide implementation details. To implement XML Encryption or XML Signatures, you&#8217;ll need to create programs that use these standards.<br />
<strong><br />
Encrypting data using XML</strong><br />
The W3C&#8217;s XML Encryption standard provides a way to encrypt  any data. That data can be an entire document, a specific element, or the  content of an element. Also, it doesn&#8217;t necessarily have to be XML. The standard  then specifies a way to create an XML document to store the encrypted data.</p>
<p>Data is encrypted using the following elements &#8211;  <code>EncryptedData</code>, <code>CipherData</code>, <code>CipherValue</code>,  <code>CipherReference</code>, and <code>EncryptionMethod</code>.</p>
<p>Encrypted data generally takes the following format, where  <code>?</code> indicates zero or one occurrence and <code>*</code> indicates  zero or more occurrences of an element or attribute:</p>
<blockquote><p>&lt;EncryptedData Id? Type? MimeType?  Encoding?&gt;<br />
&lt;EncryptionMethod/&gt;?<br />
&lt;ds:KeyInfo&gt;<br />
&lt;EncryptedKey&gt;?<br />
&lt;AgreementMethod&gt;?<br />
&lt;ds:KeyName&gt;?<br />
&lt;ds:RetrievalMethod&gt;?<br />
&lt;ds:*&gt;?<br />
&lt;/ds:KeyInfo&gt;?<br />
&lt;CipherData&gt;<br />
&lt;CipherValue&gt;?<br />
&lt;CipherReference  URI?&gt;?<br />
&lt;/CipherData&gt;<br />
&lt;EncryptionProperties&gt;?<br />
&lt;/EncryptedData&gt;</p></blockquote>
<p>The <code>EncryptedData</code> element identifies the section  of an XML document that holds encrypted information. If an entire document is  encrypted, this element will serve as the root element for the encrypted  document. The <code>EncryptedData</code> element can have the following child  elements – <code>EncryptionMethod</code>, <code>ds:KeyInfo</code>,  <code>CipherData</code>, and <code>EncryptionProperties</code>. The  <code>EncryptionMethod</code> element specifies the encryption algorithm used.  The <code>ds:KeyInfo</code> element contains information on the key used to  encrypt and decrypt the data. For example, it can provide the public key that  was used for encryption.</p>
<p>The <code>CipherData</code> element can contain a  <code>CipherValue</code> or a <code>CipherReference</code> element. The  <code>CipherValue</code> element contains the encrypted data, whereas the  <code>CipherReference</code> element provides a URI describing the location of  the encrypted data. Finally, the <code>EncryptedData</code> element can contain  an optional <code>EncryptionProperties</code> element, which describes the  properties of the encrypted data, such as when it was generated.</p>
<p>For example, say you want to encrypt the following document:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; ?&gt;<br />
&lt;booking<br />
xmlns=&#8221;http://www.easynomadtravel.com/securebookings&#8221;&gt;<br />
&lt;vacation&gt;<br />
&lt;destination&gt;Acapulco&lt;/destination&gt;<br />
&lt;startDate&gt;2004-05-14&lt;/startDate&gt;<br />
&lt;endDate&gt;2004-05-28&lt;/endDate&gt;<br />
&lt;/vacation&gt;<br />
&lt;customer&gt;<br />
&lt;name&gt;Jonathan  Gold&lt;/name&gt;<br />
&lt;creditCard&gt;<br />
&lt;cardNumber&gt;1234898888999968&lt;/cardNumber&gt;<br />
&lt;cardType&gt;VISA&lt;/cardType&gt;<br />
&lt;validTo&gt;2005-01-31&lt;/validTo&gt;<br />
&lt;creditCard&gt;<br />
&lt;/customer&gt;<br />
&lt;/booking&gt;</p></blockquote>
<p>Encrypting the entire file would result in the following code:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; ?&gt;<br />
&lt;EncryptedData  xmlns=&#8221;http://www.w3.org/2001/04/xmlenc#&#8221;<br />
MimeType=&#8221;text/xml&#8221;&gt;<br />
&lt;CipherData&gt;<br />
&lt;CipherValue&gt;A23B45C56&lt;/CipherValue&gt;<br />
&lt;/CipherData&gt;<br />
&lt;/EncryptedData&gt;</p></blockquote>
<p>All of the encrypted data is contained within the  <code>EncryptedData</code> element. This element is in the XML Encryption  namespace, whose URI is <code>http://www.w3.org/2001/04/xmlenc#,</code> and  whose recommended namespace prefix is <code>xenc</code>. The  <code>MimeType</code> attribute specifies the format of the original data. Note  that the <code>CipherValue</code> in this example is a sample. A real  <code>CipherValue</code> would probably be considerably longer.</p>
<p>Encrypting the <code>creditCard</code> element only would  result in a document such as:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; ?&gt;<br />
&lt;booking<br />
xmlns=&#8221;http://www.easynomadtravel.com/securebookings&#8221;&gt;<br />
&lt;vacation&gt;<br />
&lt;destination&gt;Acapulco&lt;/destination&gt;<br />
&lt;startDate&gt;2004-05-14&lt;/startDate&gt;<br />
&lt;endDate&gt;2004-05-28&lt;/endDate&gt;<br />
&lt;/vacation&gt;<br />
&lt;customer&gt;<br />
&lt;name&gt;Jonathan  Gold&lt;/name&gt;<br />
&lt;EncryptedData  Type=<br />
&#8220;http://www.w3.org/2001/04/xmlenc#Element&#8221;<br />
xmlns=&#8221;http://www.w3.org/2001/04/xmlenc#&#8221;&gt;<br />
&lt;CipherData&gt;<br />
&lt;CipherValue&gt;A23B45C564587&lt;/CipherValue&gt;<br />
&lt;/CipherData&gt;<br />
&lt;/EncryptedData&gt;<br />
&lt;/customer&gt;<br />
&lt;/booking&gt;</p></blockquote>
<p>Only the encrypted <code>creditCard</code> element is  contained in the <code>EncryptedData</code> element. All other elements in the  document are visible. Once again, the <code>EncryptedData</code> element uses  the <code>http://www.w3.org/2001/04/xmlenc#</code> namespace. However, this time  it also uses the <code>Type</code> attribute with the value  <code>http://www.w3.org/2001/04/xmlenc#Element</code>. Note the word  <code>Element</code> at the end of the URI. This indicates that an element is  encrypted.</p>
<p>Alternatively, you could encrypt just the credit card number,  in which case the resulting document would be as follows:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; ?&gt;<br />
&lt;booking  xmlns=<br />
&#8220;http://www.easynomadtravel.com/securebookings&#8221;&gt;<br />
&lt;vacation&gt;<br />
&lt;destination&gt;Acapulco&lt;/destination&gt;<br />
&lt;startDate&gt;2004-05-14&lt;/startDate&gt;<br />
&lt;endDate&gt;2004-05-28&lt;/endDate&gt;<br />
&lt;/vacation&gt;<br />
&lt;customer&gt;<br />
&lt;name&gt;Jonathan  Gold&lt;/name&gt;<br />
&lt;creditCard&gt;<br />
&lt;cardNumber&gt;<br />
&lt;EncryptedData  Type=<br />
&#8220;http://www.w3.org/2001/04/xmlenc#Content&#8221;<br />
xmlns=&#8221;http://www.w3.org/2001/04/xmlenc#&#8221;&gt;<br />
&lt;CipherData&gt;<br />
&lt;CipherValue&gt;A23B45C564587&lt;/CipherValue&gt;<br />
&lt;/CipherData&gt;<br />
&lt;/EncryptedData&gt;<br />
&lt;/cardNumber&gt;<br />
&lt;cardType&gt;VISA&lt;/cardType&gt;<br />
&lt;validTo&gt;2005-01-31&lt;/validTo&gt;<br />
&lt;creditCard&gt;<br />
&lt;/customer&gt;<br />
&lt;/booking&gt;</p></blockquote>
<p>This time all tags remain visible. Only the content of the  <code>cardNumber</code> element has been encrypted. Again, the  <code>EncryptedData</code> element uses the  <code>http://www.w3.org/2001/04/xmlenc#</code> namespace. However, it uses the  following value for the <code>Type</code> attribute &#8211;  <code>http://www.w3.org/2001/04/xmlenc#Content</code>. The word  <code>Content</code> at the end of this URI indicates that the content of an  element is being encrypted.</p>
<p>XML encryption is key-based. Key-based encryption can be  asymmetric or symmetric. Asymmetric encryption uses public and private keys. You  use an algorithm to generate both keys. Then you send your public key to anyone  who wants to send encrypted data to you. They use the public key to encrypt the  data and then send the encrypted data to you. Then you use your private key to  decrypt the data. Symmetric encryption uses secret keys. Using symmetric  encryption, you exchange a secret key with someone who wants to send encrypted  data to you. Then you can both use the secret key to encrypt and decrypt data.</p>
<p>In a document that uses encryption, the <code>ds:KeyInfo</code> element contains  information about the key:</p>
<blockquote><p>&lt;ds:KeyInfo&gt;<br />
&lt;EncryptedKey&gt;?<br />
&lt;AgreementMethod&gt;?<br />
&lt;ds:KeyName&gt;?<br />
&lt;ds:RetrievalMethod&gt;?<br />
&lt;ds:*&gt;?<br />
&lt;/ds:KeyInfo&gt;?</p></blockquote>
<p>Note that these elements use the <code>ds</code> namespace prefix because they  occur in the XML Signature namespace rather than in the XML Encryption  namespace. For example,</p>
<blockquote><p>&lt;EncryptedData  xmlns=&#8221;http://www.w3.org/2001/04/xmlenc#&#8221;<br />
Type=&#8221;http://www.w3.org/2001/04/xmlenc#Element&#8221;/&gt;<br />
&lt;EncryptionMethod  Algorithm=<br />
&#8220;http://www.w3.org/2001/04/xmlenc#tripledes-cbc&#8221;/&gt;<br />
&lt;ds:KeyInfo  xmlns:ds=<br />
&#8220;http://www.w3.org/2000/09/xmldsig#&#8221;&gt;<br />
&lt;ds:KeyName&gt;Jonathan  Gold&lt;/ds:KeyName&gt;<br />
&lt;/ds:KeyInfo&gt;<br />
&lt;CipherData&gt;<br />
&lt;CipherValue&gt;A23B45C564587&lt;/CipherValue&gt;<br />
&lt;/CipherData&gt;<br />
&lt;/EncryptedData&gt;</p></blockquote>
<p>The <code>KeyInfo</code> and <code>KeyName</code> elements are  qualified to indicate they belong to the XML Signature namespace.</p>
<p>The data in this code sample has been encrypted using the  Triple DES algorithm. This is specified using the <code>Algorithm</code> attribute in the <code>EncryptionMethod</code> element:</p>
<blockquote><p>&lt;EncryptionMethod  Algorithm=<br />
&#8220;http://www.w3.org/2001/04/xmlenc#tripledes-cbc&#8221;/&gt;</p></blockquote>
<p>The <code>KeyInfo</code> element declares the XML Signature namespace:</p>
<blockquote><p>&lt;ds:KeyInfo xmlns:ds=<br />
&#8220;http://www.w3.org/2000/09/xmldsig#&#8221;&gt;</p></blockquote>
<p>Triple DES uses symmetric keys, and the <code>KeyName</code> element is used  here to indicate that the key used is Jonathan Gold&#8217;s.</p>
<blockquote><p>&lt;ds:KeyName&gt;Jonathan Gold&lt;/ds:KeyName&gt;</p></blockquote>
<p>Alternatively, you could use the AES algorithm to encrypt the data:</p>
<blockquote><p>&lt;EncryptedData Id=&#8217;ED&#8217;<br />
xmlns=&#8217;http://www.w3.org/2001/04/xmlenc#&#8217;&gt;<br />
&lt;EncryptionMethod  Algorithm=<br />
&#8216;http://www.w3.org/2001/04/xmlenc#aes128-cbc&#8217;/&gt;<br />
&lt;ds:KeyInfo  xmlns:ds=<br />
&#8216;http://www.w3.org/2000/09/xmldsig#&#8217;&gt;<br />
&lt;ds:RetrievalMethod  URI=&#8217;#EK&#8217;<br />
Type=&#8221;http://www.w3.org/2001/04/xmlenc#EncryptedKey&#8221;/&gt;<br />
&lt;ds:KeyName&gt;Antonia  Suares&lt;/ds:KeyName&gt;<br />
&lt;/ds:KeyInfo&gt;<br />
&lt;CipherData&gt;<br />
&lt;CipherValue&gt;A23B45C564587&lt;/CipherValue&gt;<br />
&lt;/CipherData&gt;<br />
&lt;/EncryptedData&gt;</p></blockquote>
<p>This time the value of the <code>Algorithm</code> attribute in the  <code>EncryptionMethod</code> element is  <code>http://www.w3.org/2001/04/xmlenc#aes128-cbc</code>, to indicate 128-bit  AES. The <code>RetrievalMethod</code> element is used to identify  <code>KeyInfo</code> information that is stored remotely.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/encrypting-and-authenticating-xml-data-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HTML standards and compliance [Part 1]</title>
		<link>http://www.icalvyn.com/html-standards-and-compliance-part-1/</link>
		<comments>http://www.icalvyn.com/html-standards-and-compliance-part-1/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 02:19:15 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Webmastering]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2577</guid>
		<description><![CDATA[As you probably know, HTML stands for Hypertext Markup Language, the language used to create documents on the World Wide Web. It was developed during 1989 and 1990 by Tim Berners-Lee and Robert Cailliau while they were both working at CERN, the European particle physics laboratory. HTML is similar to the Standard Generalized Markup Language [...]]]></description>
			<content:encoded><![CDATA[<p>As you probably know, HTML stands for Hypertext Markup Language, the language used to create documents on the World Wide Web. It was developed during 1989 and 1990 by Tim Berners-Lee and Robert Cailliau while they were both working at CERN, the European particle physics laboratory. HTML is similar to the Standard Generalized Markup Language (SGML), which was standardized by the International Organization for Standardization in 1986. However, HTML is less complex than SGML and is much easier to learn.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img689.imageshack.us/img689/5060/htmlj.jpg" alt="hypertextmarkuplanguage" width="525" /></p>
<p><strong>The &#8216;HT&#8217; part – hypertext </strong><br />
Hypertext – invented by Ted Nelson in the 1960s – is really a special type of database format in which individual documents can be linked to each other in any number of ways. The links between different documents are called hyperlinks – these are the embedded instructions within a document that link it to another document. On the Web, hyperlinks are typically indicated by blue text. When you click the blue text, you are brought to another related file or web page.<span id="more-2577"></span></p>
<p>As its name implies, the World Wide Web is a single huge hypertext system in which an enormous amount of individual web pages are connected by an enormous number of hyperlinks. Of course, most web pages include other media elements besides text, such as graphics, animation, and audio, so the Web is more accurately described as a hypermedia system.</p>
<p><strong>The &#8216;M&#8217; – markup </strong><br />
Markup refers to the characters or symbols that you place within a document to determine how the document will look when printed or displayed. Markup indicators can also give a document its logical structure.</p>
<p>In HTML, these indicators are usually called tags, which are the characters or words enclosed in angle brackets that you can see in any HTML document if you open it in your browser and select View &#8211; Source (Internet Explorer) – or View &#8211; Page Source (Netscape Navigator).</p>
<p>Opening tags mark the start of the tagged part of the document affected by the tag and have a pair of angle brackets &lt;&gt;, whereas closing tags, which mark the end of the tagged section, have a forward slash within a pair of angle brackets &lt;/&gt;. Characters inside the brackets determine what the tag actually does. So, for example, these are the opening &lt;b&gt; and closing &lt;/b&gt; bold tags. If you surround some text in an HTML document with the &lt;b&gt; and &lt;/b&gt; tags, the text inside the tags will be displayed as bold if the document is opened by an HTML interpreter, such as a web browser. Other common tags include the opening &lt;body&gt; and closing &lt;/body&gt; tags for marking the body of a document, the opening &lt;ul&gt; and closing &lt;/ul&gt; tags for bulleted lists, and the opening &lt;tr&gt; and closing &lt;/tr&gt; table row tags.</p>
<p>You can also add hyperlinks to your document by using the opening &lt;a href = &#8220;URL&#8221;&gt; and closing &lt;/a&gt; tags, where URL is the address of the web page or resource that will be opened or called when the user clicks the link. In essence, HTML is the set of markup indicators, or tags, that you can insert into a file so that it can be displayed as a web page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/html-standards-and-compliance-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introduction to Linux processes [Part 1]</title>
		<link>http://www.icalvyn.com/introduction-to-linux-processes-part-1/</link>
		<comments>http://www.icalvyn.com/introduction-to-linux-processes-part-1/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 16:20:13 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2568</guid>
		<description><![CDATA[After read some linux article, and having some basic knowledge, now can have basic understanding on linux processes, a process is a single program that is executed within its own virtual address space. For example, a shell is a process that is created each time a user logs in to the system. It creates a [...]]]></description>
			<content:encoded><![CDATA[<p>After read some <a title="linux" href="http://www.icalvyn.com/category/linux/" target="_blank">linux article</a>, and having some basic knowledge, now can have basic understanding on linux processes, a process is a single program that is executed within its own virtual address space. For example, a shell is a process that is created each time a user logs in to the system. It creates a new process every time it implements a program such as a system command. A system command is an example of a collection of related commands called a job. Jobs create a series of separate processes from a single command line. So, in fact, every program running under Linux is a process.</p>
<p>The following table shows the three main categories of processes.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img16.imageshack.us/img16/7050/linux1.jpg" alt="linux processes" /></p>
<p>Linux can share its processing power, storage capabilities, and input and output mechanisms with several users, or with several processes created by one user. Processes such as user jobs, operating system tasks, mail, and background jobs like printing need to be monitored simultaneously by Linux.<span id="more-2568"></span></p>
<p><strong>PIDs </strong><br />
When a request is made to the shell, it assigns a specific identity number called a process identifier (PID) to the corresponding process. PIDs enable the shell to identify the process it&#8217;s working on and helps it to monitor the progress of this process. PIDs start at zero, beginning at boot time, and increase by one for each process being run. Once the highest system-determined number has been reached, such as 65,564, the procedure starts from zero again, skipping the PIDs for processes that are still active. Every new command creates at least one extra process. For example, to print a file called report.txt, you enter</p>
<p><span style="color: #ff0000;">$ lp report.txt </span></p>
<p>This creates an extra process – lp – on top of the already existing shell process that is running in the foreground. So the shell prompt reappears onscreen only after the lp command is finished, because only one process can occupy the foreground at any one time.</p>
<p><strong>Parent and child processes </strong><br />
Each existing process becomes a parent process when it initiates a new process. The new process is referred to as a child process. For example, say you run a shell script called shellscript1 that contains an ls command. The shell executes a process called shellscript1, which in turn generates a process called ls. So the shell process becomes the parent of shellscript1, and shellscript1 then becomes the parent of ls.</p>
<p>A parent process bestows its environment upon the child process. A child process will include standard input (stdin), standard output (stdout), and standard error (stderr). So if you open a file in a shell script (its parent), the commands that follow in the script will retain the open file in their environment. However, the parent and child processes will remain unaffected by any changes in the environment that occur during the execution of a process. This is because the processes run independently of each other. Therefore, after the child process has been initiated, any files opened in either the parent or the child will not be available to the other process.</p>
<p><strong>Using the ps command </strong><br />
You use the ps command to identify which processes are currently running in the system. It helps you to monitor the process running in the foreground, and allows you, as root, to see what other processes are running.</p>
<p>To list all current processes running under a User ID (UID), you type ps without using options or arguments. This returns the PIDs of the processes, the terminal they originated from, their current status, the CPU time used, and the command running in the processes. For example, the command could return output such as</p>
<p><span style="color: #ff0000;">$ ps<br />
PID     TTY       TIME        CMD<br />
511     tty1       00:00:00  login<br />
7062   tty1       02:34:59   bash<br />
17079  tty1       00:00:00   ps </span></p>
<p>This output shows that the user&#8217;s startup shell is bash (PID 7062). The startup shell sometimes has a hyphen placed before it to differentiate it from any shells started afterwards. But some versions of the ps command don&#8217;t do this.</p>
<p>General users can display their own processes only using the ps command. However, superusers can use the ps command to list every process running in the system.</p>
<p>There are many complex options for the ps command. Some options determine the sets of processes to be produced, whereas others determine the output format. Some options are preceded by a dash (–) in the traditional Linux manner, but others are not. And sometimes the same letter produces completely different output depending on whether it has a dash or not. For instance, $ ps -a produces a full listing of all processes, but $ ps a produces a modified listing of all the processes in the current terminal. For a full listing of the different ps options, you can consult the man pages for ps.</p>
<p>For most purposes, a simple set of common options for the ps command provide sufficient power and flexibility. The -a option provides a listing of all processes currently running on all the terminals. The listing below shows the processes running under tty1 and tty2, for example:</p>
<p><span style="color: #ff0000;">$ ps -a<br />
PID   TTY       TIME           CMD<br />
7062  tty1      02:34:5        bash<br />
16894 tty2      00:00:00       bash<br />
16906 tty2      00:00:00       startx<br />
16913 tty2      00:00:00       xinit<br />
16917 tty2      00:00:00       gnome-session<br />
16927 tty2      00:00:00       gnome-smproxy<br />
16933 tty2      00:00:00       enlightenment<br />
16952 tty2      00:00:00       magicdev<br />
16969 tty2      00:00:00       panel<br />
16971 tty2      00:00:00       gmc<br />
16988 tty1      00:00:00       ps </span></p>
<p>The f option, without a dash, uses ASCII characters to graphically represent a hierarchical view of the parent-child relationships between processes. This is particularly useful if you&#8217;re considering killing processes, because it helps you ensure that you don&#8217;t kill a child process accidentally when you kill a parent process. In the listing below, process 16906 is the parent of 16913, which in turn is the parent of 16917:</p>
<p><span style="color: #ff0000;">$ ps f –a<br />
PID   TTY  STAT  TIME  COMMAND<br />
16894 tty2 S     0:00  -bash<br />
16906 tty2 S     0:00  sh /usr/X11R6/bin/startx<br />
16913 tty2 S     0:00  \_ xinit /etc/X11/xinit/xinitrc &#8212; :0 –auth /root/.X<br />
16917 tty2 S     0:00  \_ /usr/bin/gnome-session<br />
7062  tty1 S   154:59  -bash<br />
17105 tty1 R     0:00  ps f –a<br />
16971 tty2 S     0:00  gmc &#8211;sm-client-id default10<br />
16969 tty2 S     0:00  panel &#8211;sm-client-id default8<br />
16952 tty2 S     0:00  magicdev &#8211;sm-client-id=default12<br />
16933 tty2 S     0:00  enlightenment –clientId default2<br />
16927 tty2 S     0:00  gnome-smproxy &#8211;sm-client-id default </span></p>
<p>Using the -l option with the ps command shows more detailed information in the process entry. This includes the parent PID (PPID), the size, the UID, the status, and the priority of a process. For example, the ps -l command might return output such as</p>
<p><span style="color: #ff0000;">$ ps -l<br />
F   S UID PID   PPID C PRI NI ADDR SZ  WCHAN TTY  TIME     CMD<br />
100 S 0   511   1    0 60  0  –    549 wait4 tty1 00:00:00 login<br />
100 S 0   7062  511  0 70  0  –    808 wait4 tty1 02:34:59 bash<br />
100 R 0   17115 7062 0 73  0  –    627 –     tty1 00:00:00 ps </span></p>
<p>The PPID column shows the process that started each process. This is useful if you need to identify child processes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/introduction-to-linux-processes-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.065 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-17 03:52:29 -->
