<?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>osscc &#187; Tutorial</title>
	<atom:link href="http://www.osscc.org/category/documentation/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.osscc.org</link>
	<description>free open source software for cyber cafe</description>
	<lastBuildDate>Wed, 03 Aug 2011 18:06:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How to install ubuntu lucid to hard drive Part 2</title>
		<link>http://www.osscc.org/2010/06/how-to-install-ubuntu-lucid-to-hard-drive-part-2/</link>
		<comments>http://www.osscc.org/2010/06/how-to-install-ubuntu-lucid-to-hard-drive-part-2/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 02:18:32 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Cyber Cafe]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[hard drive]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.osscc.org/?p=145</guid>
		<description><![CDATA[After a successful installation and boot to the newly installed Ubuntu Lucid with out problem, now it's time for the post-installation. You might consider to create a user if you want, login as root with your previous password]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.osscc.org/wp-content/uploads/2010/06/Ubuntu-Lucid-1.png"><img class="alignleft size-medium wp-image-142" title="Ubuntu-Lucid-1" src="http://www.osscc.org/wp-content/uploads/2010/06/Ubuntu-Lucid-1-300x175.png" alt="" width="300" height="175" /></a>Post installation</strong></p>
<p>After a successful installation and boot to the newly installed Ubuntu Lucid with out problem, now it&#8217;s time for the post-installation. You might consider to create a user if you want, login as root with your previous password:</p>
<div>
<p>To add a user and set a password for that user.</p>
</div>
<div>
<blockquote><p><strong># adduser</strong></p>
</blockquote>
</div>
<p><strong>Step 1.</strong> You will need to edit your hosts file</p>
<div>
<blockquote><p><strong># vi /etc/hosts</strong></p>
</blockquote>
<blockquote><p>127.0.0.0.1                localhost.localdomain  localhost</p>
<p>127.0.0.0.1                yourhostname</p>
<p>192.168.1.100           yourhostname.dotcom yourhostname</p>
</blockquote>
<p>Change the 192.168.1.100 to fit your need.</p>
</div>
<div>
<div>
<p><strong>Step 2.</strong> Re-create and reconfigure your file system table, this is quite tricky, I got three partition for on my hard drive for this installation method.</p>
</div>
<div>
<blockquote>
<div>
<p>Name                Flags             Part Type        FS Type                    [Label]                 Size (MB)</p>
</div>
<div>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
</div>
<div>
<p>sda1                Boot               Primary         Linux ext3                                           5239.51</p>
</div>
<div>
<p>sda5                                   Logical         Linux ext3                                           4491.01</p>
</div>
<div>
<p>sda6                                   Logical         Linux swap / Solaris                                  509.97</p>
</div>
<div>
<div>
<p>so just create new file system for the partition to used as a cache directory for Squid Proxy purpose.</p>
</div>
<p><strong># mkfs.ext3 /dev/sda5</strong></p>
</div>
<p><strong> # mkdir -p /var/spool/squid (note: you will need this)</strong></p>
<div>
<p><strong># mount /dev/sda5 /var/spool/squid</strong></p>
</div>
<div>
<p>Now edit your /etc/fstab file</p>
<p><strong># vi /etc/fstab</strong></p>
</div>
<div>
<p>You will see the fstab file content is nothing except &#8220;UNCONFIGURED FSTAB FOR BASE SYSTEM&#8221;,  find your UUID using blkid commmand</p>
</div>
<div>
<p><strong># blkid</strong></p>
</div>
<div>
<p>/dev/sda1: UUID=&#8221;09dd88d5-251b-4c88-9643-3c2658fe3b50&#8243; TYPE=&#8221;ext3&#8243;</p>
</div>
<div>
<p>/dev/sda5: UUID=&#8221;76835f78-cfee-4d52-a664-92bdf3d8a633&#8243; TYPE=&#8221;ext3&#8243;</p>
</div>
<div>
<p>/dev/sda6: UUID=&#8221;b0f80d32-87d6-46f4-97b9-9aedd93334b6&#8243; TYPE=&#8221;swap&#8221;</p>
</div>
<p>now enter those UUID without &#8220;quote&#8221; sign.</p>
<div>
<p><strong># vi /etc/fstab</strong></p>
</div>
<div>
<p>#</p>
</div>
<div>
<p>proc            /proc           proc    defaults        0       0</p>
</div>
<div>
<p>UUID=09dd88d5-251b-4c88-9643-3c2658fe3b50      /       ext3    relatime,errors=remount-ro 0       1</p>
</div>
<div>
<p>UUID=76835f78-cfee-4d52-a664-92bdf3d8a633      /var/spool/squid        ext3  nodev,nosuid 0        2</p>
</div>
<div>
<p>UUID=b0f80d32-87d6-46f4-97b9-9aedd93334b6      none    swap    sw              0       0</p>
</div>
<div>
<p>Esc then :wq! press Enter</p>
</div>
<div>
<p>now type the command below to see the changes</p>
</div>
<div>
<p><strong># sudo mount -a</strong></p>
</div>
<div>
<p><strong># sudo mount</strong></p>
</div>
<div>
<div>
<p>/dev/sda1 on / type ext3 (rw,relatime,errors=remount-ro)</p>
</div>
<div>
<p>proc on /proc type proc (rw)</p>
</div>
<div>
<p>none on /sys type sysfs (rw,noexec,nosuid,nodev)</p>
</div>
<div>
<p>none on /sys/fs/fuse/connections type fusectl (rw)</p>
</div>
<div>
<p>none on /sys/kernel/debug type debugfs (rw)</p>
</div>
<div>
<p>none on /sys/kernel/security type securityfs (rw)</p>
</div>
<div>
<p>udev on /dev type tmpfs (rw,mode=0755)</p>
</div>
<div>
<p>none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)</p>
</div>
<div>
<p>none on /dev/shm type tmpfs (rw,nosuid,nodev)</p>
</div>
<div>
<p>none on /var/run type tmpfs (rw,nosuid,mode=0755)</p>
</div>
<div>
<p>none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)</p>
</div>
<div>
<p>none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)</p>
</div>
<div>
<p>/dev/sda5 on /var</p>
</div>
</div>
</blockquote>
<p><strong> now edit your /etc/fstab file</strong></p>
<p>After that reboot your system and pray hard</p>
<p>Then we will continue to setup our firewall and proxy server</p>
</div>
<div>
</div>
</div>
<p><map name='google_ad_map_145_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/145?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_145_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=145&amp;url= http%3A%2F%2Fwww.osscc.org%2F2010%2F06%2Fhow-to-install-ubuntu-lucid-to-hard-drive-part-2%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2010/06/how-to-install-ubuntu-lucid-to-hard-drive-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Ubuntu Lucid to hard drive Part 1</title>
		<link>http://www.osscc.org/2010/06/how-to-install-ubuntu-lucid-to-hard-drive-part-1/</link>
		<comments>http://www.osscc.org/2010/06/how-to-install-ubuntu-lucid-to-hard-drive-part-1/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 01:47:08 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Cyber Cafe]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.osscc.org/?p=138</guid>
		<description><![CDATA[Firewall is one of the most important thing that you should have it although your business is a cyber cafe, internet cafe or gaming center. Because running a firewall system meant to protect your interest and your investment, also your business reputation is depending on i]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.osscc.org/wp-content/uploads/2010/06/Ubuntu-Lucid-1.png"><img class="alignleft size-medium wp-image-142" title="Ubuntu-Lucid-1" src="http://www.osscc.org/wp-content/uploads/2010/06/Ubuntu-Lucid-1-300x175.png" alt="" width="300" height="175" /></a>Firewall is one of the most important thing that you should have it although your business is a cyber cafe, internet cafe or gaming center. Because running a firewall system meant to protect your interest and your investment, also your business reputation is depending on it.</p>
<p>So I want to install Ubuntu Linux for my other system without using a cdrom, but I dont want to do it on that system, instead of that I want to install it via my current working ubuntu desktop that Im using right now.</p>
<p>Actually I want to build a firewall system complate with hotspot gateway and freeradius. But for now lets start with the basic installation first.</p>
<p>You could follow the instruction from ubuntu help community by <a class="interwiki" title="https://login.launchpad.net/+id/PRKPNfN @ wentz-dip0.nat.okstate.edu[139.78.10.24]" href="https://launchpad.net/%7Ecurtlee2002">Curtis Lee Bolin</a> : <a href="https://help.ubuntu.com/community/Installation/FromLinux#Alternate%20CD%20Alternate%20Method">Installation From Linux</a> or you can continue to read it from here because I made a little modification for the installation method and I add the instruction for the post-installation and how to setup a firewall base system.</p>
<p><strong>How to install without CD</strong></p>
<p>You can install Ubuntu directly from Ubuntu using debootstrap. Debootstrap installs some essential packages in a directory for use with chroot. Note that the essential packages does not in itself make the system bootable. It just installs what you need to chroot to that directory and use apt-get to install other packages witch makes ubuntu usable.</p>
<p><strong>Step 1</strong>. First turn off you computer and plugin your hard drive to it, after turn it on back then check that you have debootstrap installed if not, then you should run the following command below:</p>
<p><strong># sudo apt-get install debootstrap</strong></p>
<p>(NOTE: if you want to install a newer release than your current system, you normally need to install the backported debootstrap version, see: UbuntuBackports)</p>
<p><strong>Step 2. </strong>Partition device and make a file-system, to make it more easy, I use cfdisk to create partition for the other drive.</p>
<p>We will assume /dev/sdb is the storage device for your fresh install. I use my thumbdrive to show you an example how to partition the other drive for another system to setup an installation of ubuntu linux from your current ubuntu desktop.</p>
<p>Remove former partitions and create the new on.</p>
<blockquote><p><strong># sudo cfdisk /dev/sdb</strong></p></blockquote>
<p>cfdisk (util-linux-ng 2.17.2)</p>
<p>Disk Drive: /dev/sdb<br />
Size: 2056257536 bytes, 2056 MB<br />
Heads: 64   Sectors per Track: 62   Cylinders: 1012</p>
<p>Name        Flags      Part Type  FS Type          [Label]        Size (MB)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
sdb1        Boot        Primary   W95 FAT32 (LBA)                   2056.00</p>
<p>[ Bootable ]  [  Delete  ]  [   Help   ]  [ Maximize ]  [  Print   ]<br />
[   Quit   ]  [   Type   ]  [  Units   ]  [  Write   ]</p>
<p>Use your arrow key to the [ Delete ] option to remove your partition on the other drive:</p>
<p>Name        Flags      Part Type  FS Type          [Label]        Size (MB)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Pri/Log   Free Space                        2056.00</p>
<p>[   Help   ]  [   New    ]  [  Print   ]  [   Quit   ]  [  Units   ]<br />
[  Write   ]</p>
<p>Create new partition from free space, then you will see your drive is empty, now select [ New ] to create your new partition and select [ Primary ] :</p>
<p>Name        Flags      Part Type  FS Type          [Label]        Size (MB)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Pri/Log   Free Space                        2056.00</p>
<p>Size (in MB): 1500</p>
<p>You need to enter new size limit for primary partition, press backspace then enter the size yo want, for example I use 1500MB and 500MB++ for the extended and swap partition.</p>
<p>Now create the rest of your free space as an extended and swap, to change type of your newly created partition navigate to [ Type ] press Enter and select 83 for linux and 82 for swap.</p>
<p>Name        Flags      Part Type  FS Type          [Label]        Size (MB)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
sdb1        Boot        Primary   Linux                             1499.34<br />
sdb5                    Logical   Linux swap / Solaris               556.67</p>
<p>and select your primary partition as bootable by press the option [ Bootable ]. The write down your partition and quite cfdisk.</p>
<p>Are you sure you want to write the partition table to disk? (yes or no): yes</p>
<p>then [ Quit ] and start to make the file-system</p>
<blockquote><p><strong># sudo mkfs.ext4 /dev/sdb1</strong></p></blockquote>
<p><strong>Step 3.</strong> Mount that new partition.</p>
<blockquote><p><strong># sudo mkdir /mnt<br />
# sudo mount /dev/sdb1 /mnt</strong></p></blockquote>
<p><strong>Step 4</strong>. Create the new install.</p>
<blockquote><p><strong># sudo debootstrap lucid /mnt</strong></p></blockquote>
<p><strong>Step 5.</strong> Copy files to the new install to keep your repositories</p>
<blockquote><p><strong># sudo cp /etc/apt/sources.list /mnt/etc/apt/</strong></p></blockquote>
<p><strong>Step 6</strong>. Chroot to your new install.</p>
<blockquote><p><strong># sudo mount &#8211;bind /dev /mnt/dev<br />
# sudo mount -t proc /proc /mnt/proc<br />
# sudo chroot /mnt /bin/bash</strong></p></blockquote>
<p><strong>Step 7</strong>. Upgrade the new install.</p>
<blockquote><p><strong># apt-get update<br />
# apt-get install language-pack-en-base</strong></p></blockquote>
<p><em>Note: I install the language-pack-en-base before upgrade to avoid perl warnings as shown below.</em></p>
<p>perl: warning: Setting locale failed.<br />
perl: warning: Please check that your locale settings:<br />
LANGUAGE = (unset),<br />
LC_ALL = (unset),<br />
LANG = &#8220;en_US.utf8&#8243;<br />
are supported and installed on your system.<br />
perl: warning: Falling back to the standard locale (&#8220;C&#8221;).<br />
locale: Cannot set LC_CTYPE to default locale: No such file or directory<br />
locale: Cannot set LC_MESSAGES to default locale: No such file or directory<br />
locale: Cannot set LC_ALL to default locale: No such file or directory</p>
<p>then continue with :</p>
<blockquote><p><strong># apt-get upgrade</strong></p></blockquote>
<p><strong>Step 8.</strong> Install Grub and Linux Kernel.</p>
<blockquote><p><strong># apt-get install grub-pc linux-image</strong></p></blockquote>
<p><strong>Step 9.</strong> set root password.</p>
<p>To set a root password.</p>
<p>(NOTE: You must at least set a root password if you aren&#8217;t adding a user)</p>
<blockquote><p><strong># passwd</strong></p></blockquote>
<p>It should now be safe to reboot, you may want the next few things.</p>
<p><strong>Step 10</strong>. If you want to access it with ssh after reboot.</p>
<p>Use vi or install nano to edit /etc/hostname.</p>
<p>Remove anytext in this file and add the hostname you would like.</p>
<blockquote><p><strong># vi /etc/hostname</strong></p>
<p>yourhostnameyouwant</p></blockquote>
<p>and then edit /etc/network/interfaces</p>
<blockquote><p><strong># vi /etc/network/interfaces</strong></p></blockquote>
<p>Add this lines to /etc/network/interfaces. This will start eth0 at boot and request an ip with dhclient.</p>
<blockquote><p>auto eth0<br />
iface eth0 inet dhcp</p></blockquote>
<p>Next you need to install ssh</p>
<blockquote><p><strong># apt-get install ssh</strong></p></blockquote>
<p>Turn off your computer, remove the new installation drive and plugin to the other system, and bootup the system. If you want the Ubuntu Gnome desktop, continue with Step 11, but if you want to setup a firewall base system, so just skip the Step 11 and Step 12, so it safe for you turn off your system and boot the drive from other system.</p>
<p><strong>Step 11.</strong> Install ubuntu-desktop.</p>
<blockquote><p><strong># apt-get install ubuntu-desktop ubuntu-standard</strong></p></blockquote>
<p>Step 12. Reboot and keep those fingers crossed.</p>
<blockquote><p><strong># sudo halt or sudo reboot</strong></p></blockquote>
<p><strong>To be continue on Part 2</strong></p>
<p><map name='google_ad_map_138_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/138?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_138_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=138&amp;url= http%3A%2F%2Fwww.osscc.org%2F2010%2F06%2Fhow-to-install-ubuntu-lucid-to-hard-drive-part-1%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2010/06/how-to-install-ubuntu-lucid-to-hard-drive-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Howto setup your free domain name in Blogger &#8211; Part 2</title>
		<link>http://www.osscc.org/2010/06/howto-setup-your-free-domain-name-in-blogger-part-2/</link>
		<comments>http://www.osscc.org/2010/06/howto-setup-your-free-domain-name-in-blogger-part-2/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 00:25:00 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Domain Name]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.osscc.org/2010/06/howto-setup-your-free-domain-name-in-blogger-part-2/</guid>
		<description><![CDATA[Last time I posted a tutorial about to setup your-free-domain.co.cc, if you don&#8217;t have any of this free domain name account, you can get it by using this search form to find out which name you like, after that proceed to registering your new account. This domain is free to use for personal purpose but [...]]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;"><a href="http://www.co.cc/?id=181185" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzOBFHX9iEI/AAAAAAAAA2Y/3G6AlW19_u4/s320/Screenshot-co.cc.png" /></a></div>
<p>Last time I posted a tutorial about to setup <a href="http://www.co.cc/?id=181185">your-free-domain.co.cc</a>, if you don&#8217;t have any of this free domain name account, you can get it by using this <a href="http://www.keghahpalo.co.cc/2006/12/cocc-free-domain-name-registration.html">search form</a> to find out which name you like, after that proceed to registering your new account.</p>
<p><iframe align="right" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=kegpal-20&amp;o=1&amp;p=8&amp;l=bpl&amp;asins=0470241993&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe>This domain is free to use for personal purpose but they will charge you for business at minimum price at $3 per domain name, but if you make a donation to them about $5, you can have around 100 domain name, normal account will get about 4 domain only.</p>
<p>After completing <a href="http://www.keghahpalo.co.cc/2009/12/how-to-setup-your-free-domain-name-in.html">How to setup your free domain name in Blogger &#8211; Part 1</a> process, to make your free domain working with Blogger all you need to do now is login to your Blogger account and start doing the next procedure.</p>
<p>If you feel uncomfortable with image size, you can maximize it by click the maximize button located on the top left corner of the images <img alt="free domain provider" src="http://4.bp.blogspot.com/_IZd4Rp4XipA/SzOHP7mL9SI/AAAAAAAAA20/AUycrw7WQDc/s320/blogger-image-maximize-button.png" />.</p>
<p>Wokeyy.. let&#8217;s do it&#8230; <img src='http://www.osscc.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><b>Step 01</b><br />At your Dashboard click at <b>&#8220;Setting&#8221;</b> link on your Blog.
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN44VW86nI/AAAAAAAAA1I/VLe4Ia56zMk/s1600-h/Screenshot-kitab-linux-setting-blogger.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="blogger images maximize button" border="0" longdesc="http://lh5.ggpht.com/_IZd4Rp4XipA/SzN44VW86nI/AAAAAAAAA1I/VLe4Ia56zMk/Screenshot-kitab-linux-setting-blogger.png" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN44VW86nI/AAAAAAAAA1I/VLe4Ia56zMk/s320/Screenshot-kitab-linux-setting-blogger.png" /></a></div>
<p><b>Step 02</b><br />At the navigation menu <b>&#8220;Setting&#8221;</b> tab, click the sub menu <b>&#8220;Publishing&#8221;</b>.
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN4AGOVOmI/AAAAAAAAA1A/u8czAr5eqn4/s1600-h/Screenshoot-kitab-linux-publish-blogger.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" longdesc="http://lh5.ggpht.com/_IZd4Rp4XipA/SzN4AGOVOmI/AAAAAAAAA1A/u8czAr5eqn4/Screenshoot-kitab-linux-publish-blogger.png" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN4AGOVOmI/AAAAAAAAA1A/u8czAr5eqn4/s320/Screenshoot-kitab-linux-publish-blogger.png" /></a></div>
<p><b>Step 03</b><br />Then you will see the <b>&#8220;Custom Domain&#8221;</b> link, click on it.
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN5CSdY6mI/AAAAAAAAA1Q/WX1IeGED4G4/s1600-h/Screenshot-blogger-custom-domain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" longdesc="http://lh5.ggpht.com/_IZd4Rp4XipA/SzN5CSdY6mI/AAAAAAAAA1Q/WX1IeGED4G4/Screenshot-blogger-custom-domain.png" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN5CSdY6mI/AAAAAAAAA1Q/WX1IeGED4G4/s320/Screenshot-blogger-custom-domain.png" /></a></div>
<p><b>Step 04</b><br />Then you will see the <b>&#8220;Switch to advanced settings&#8221;</b>, for more infos, if you don&#8217;t have any domain yet, you can purchase it through Blogger.
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN5vrtLlqI/AAAAAAAAA1Y/8XuGgF57uVA/s1600-h/Screenshot-kitab-linux-switch-advance-blogger.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" longdesc="http://lh5.ggpht.com/_IZd4Rp4XipA/SzN5vrtLlqI/AAAAAAAAA1Y/8XuGgF57uVA/Screenshot-kitab-linux-switch-advance-blogger.png" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN5vrtLlqI/AAAAAAAAA1Y/8XuGgF57uVA/s320/Screenshot-kitab-linux-switch-advance-blogger.png" /></a></div>
<p><b>Step 05</b><br />Key in your domain name in the text box, remember that you should include the &#8220;www&#8221; subdomain before your top level domain name, otherwise Blogger will reject your request if you put naked domain name e.g. <a href="http://kitablinux.co.cc/">kitablinux.co.cc</a>. By the way if you like to use a different subdomain like blog.kitablinux.co.cc, you can do it by adding up first the CNAME at your <a href="http://www.co.cc/?id=181185">co.cc</a> domain hosting.
<div class="separator" style="clear: both; text-align: center;"></div>
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN9YrTHZlI/AAAAAAAAA1o/SZfaJ_pq0SM/s1600-h/Screenshot-kitab-linux-keyin-your-domain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" longdesc="http://lh3.ggpht.com/_IZd4Rp4XipA/SzN6hNlzNXI/AAAAAAAAA1g/BVaJLWMhQN0/Screenshot-blogger-your-domain.png" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/SzN9YrTHZlI/AAAAAAAAA1o/SZfaJ_pq0SM/s320/Screenshot-kitab-linux-keyin-your-domain.png" /></a></div>
<p>After that key in the <b>&#8220;Word Verification&#8221;</b> text and click <b>&#8220;SAVE SETTING&#8221;</b> button.
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IZd4Rp4XipA/SzN-DDxY6dI/AAAAAAAAA1w/GtrUEdvuXXQ/s1600-h/Screenshot-kitab-linux-word-verify.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IZd4Rp4XipA/SzN-DDxY6dI/AAAAAAAAA1w/GtrUEdvuXXQ/s320/Screenshot-kitab-linux-word-verify.png" /></a></div>
<p><b>Step 06</b><br />After doing all the above successfully, now you need to redirect your domain name, click the checkbox to redirect your domain, but please make sure first that you already&nbsp;<span style="line-height: 16px;"><span style="font-family: inherit;">Create&nbsp;</span><b><span style="font-family: inherit;">&#8216;A&#8217; NAME</span></b><span style="font-family: inherit;">&nbsp;records for your naked domain as I did mention in the <a href="http://www.keghahpalo.co.cc/2009/12/how-to-setup-your-free-domain-name-in.html">Part 1</a>&nbsp;of this tutorial, if not you should check for it first or your redirection won&#8217;t work at all.</span></span>
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IZd4Rp4XipA/SzN_zpQVSgI/AAAAAAAAA2Q/U1KAIjM3sgc/s1600-h/Screenshot-kitab-linux-keyin-your-domain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" longdesc="http://lh5.ggpht.com/_IZd4Rp4XipA/SzN9YrTHZlI/AAAAAAAAA1o/SZfaJ_pq0SM/Screenshot-kitab-linux-keyin-your-domain.png" src="http://1.bp.blogspot.com/_IZd4Rp4XipA/SzN_zpQVSgI/AAAAAAAAA2Q/U1KAIjM3sgc/s320/Screenshot-kitab-linux-keyin-your-domain.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;"></div>
<p><span style="line-height: 16px;">Enter your &#8220;Word Verification&#8221; in the textbox and click SAVE SETTING button to proceed, after completing all the steps above now try to view your domain either using full web address with subdomain e.g. <i>&#8220;http://www.kitablinux.co.cc&#8221;</i> or naked domain e.g. <i>&#8220;http://kitablinux.co.cc&#8221;</i>.</span><br /><span style="line-height: 16px;"><br /></span><br /><span style="line-height: 16px;">Related Article : <a href="http://www.keghahpalo.co.cc/2009/12/how-to-setup-your-free-domain-name-in.html">How to setup your free domain name in Blogger &#8211; Part 1</a></span></p>
<p><span style="line-height: 16px;"><b>p/s</b>: currently I am working with another tutorial about setting a domain to use with google apps(mail/sites/blogger)+web hosting, yaa dude you can use one single domain name for multipurpose, don&#8217;t waste it, make fortune or wheel of fortune.. weeee&#8230;&#8230; chow cinchau&#8230;.</span></p>
<p><map name='google_ad_map_175_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/175?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_175_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=175&amp;url= http%3A%2F%2Fwww.osscc.org%2F2010%2F06%2Fhowto-setup-your-free-domain-name-in-blogger-part-2%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2010/06/howto-setup-your-free-domain-name-in-blogger-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to configure your display using xrandr</title>
		<link>http://www.osscc.org/2010/06/how-to-configure-your-display-using-xrandr/</link>
		<comments>http://www.osscc.org/2010/06/how-to-configure-your-display-using-xrandr/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 00:20:21 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xrandr]]></category>

		<guid isPermaLink="false">http://www.osscc.org/?p=131</guid>
		<description><![CDATA[To solve the problem you could done it by following the instruction below using the xrandr. First open your terminal from your desktop, go to Ubuntu Main Menu button > Accessories > Terminal, and type the following command  to find your default display adapter]]></description>
			<content:encoded><![CDATA[<div>
<p><a href="http://www.osscc.org/wp-content/uploads/2010/06/9jnmed.jpg"><img class="alignleft size-full wp-image-180" title="GNU LINUX" src="http://www.osscc.org/wp-content/uploads/2010/06/9jnmed.jpg" alt="" width="300" height="296" /></a>If you new to Ubuntu Linux, sometime you might face a problem in configuring display in Ubuntu Linux, it&#8217;s might cause of un-supported monitor or lcd on your system.</p>
<p>To solve the problem you could done it by following the instruction below using the xrandr. First open your terminal from your desktop, go to Ubuntu Main Menu button &gt; Accessories &gt; Terminal, and type the following command  to find your default display adapter:</p>
<blockquote><p># xrandr</p>
<p># Screen 0: minimum 320 x 240, current 1280 x 800, maximum 1280 x 800</p>
<p><strong>default</strong> connected 1280&#215;800+0+0 0mm x 0mm (you&#8217;ll see the default word that I just bold it, is my default display adapter, but it might different with your&#8217;s)</p>
<p>1280&#215;800       50.0*</p>
<p>1024&#215;768       51.0</p>
<p>960&#215;540        52.0</p>
<p>840&#215;525        53.0</p>
<p>800&#215;600        54.0</p>
<p>800&#215;512        55.0</p>
<p>720&#215;450        56.0</p>
<p>680&#215;384        57.0     58.0</p>
<p>640&#215;512        59.0</p>
<p>640&#215;480        60.0     61.0</p>
<p>576&#215;432        62.0</p>
<p>512&#215;384        63.0</p>
<p>400&#215;300        64.0</p>
<p>320&#215;240        65.0</p></blockquote>
<div>You see that my max screen resolution is 1280&#215;800, so to add your highes undetected resolution for your display adapter, run the following command:</div>
<blockquote><p># cvt / gtf 1280 800 60 (note: you can use cvt or gtf, but dont type both just one) i.e # cvt 1280 800 60</p></blockquote>
<p>then you will get the following messages</p>
<blockquote><p># 1280&#215;800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz</p>
<p>Modeline &#8220;1280x800_60.00&#8243;   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync</p></blockquote>
<p>Then to add new mode run the following command :</p>
<blockquote><p># xrandr &#8211;newmode  &#8221;1280x800_60.00&#8243;   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync</p></blockquote>
<p>after that add your desire mode to the default display adapter of yours by using the command line option below:</p>
<blockquote><p>#xrandr &#8211;addmode default &#8220;1280x800_60.00&#8243;</p></blockquote>
<p>And to set up your screen display with new resolution, run the command below:</p>
<blockquote><p># xrandr &#8211;output default &#8211;mode 1280&#215;80</p></blockquote>
<p><strong>Before and after screenshot:</strong></p>
<p><a href="http://www.osscc.org/wp-content/uploads/2010/06/800x600-Screenshot-osscc  free-open-source-software-for-cyber-cafe.png"><img class="aligncenter size-full wp-image-132" title="800x600-Screenshot-osscc | free open source software for cyber cafe" src="http://www.osscc.org/wp-content/uploads/2010/06/800x600-Screenshot-osscc  free-open-source-software-for-cyber-cafe.png" alt="configure using xrandr" width="800" height="578" /></a></p>
<p style="text-align: center;">800&#215;600</p>
<p><a href="http://www.osscc.org/wp-content/uploads/2010/06/1280x800-Screenshot-osscc  free-open-source-software-for-cyber-cafe.png"><img class="aligncenter size-large wp-image-134" title="1280x800-Screenshot-osscc | free open source software for cyber cafe" src="http://www.osscc.org/wp-content/uploads/2010/06/1280x800-Screenshot-osscc  free-open-source-software-for-cyber-cafe-1024x622.png" alt="configure using xrandr" width="1024" height="622" /></a></p>
<p style="text-align: center;">1240&#215;800</p>
</div>
<p><map name='google_ad_map_131_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/131?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_131_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=131&amp;url= http%3A%2F%2Fwww.osscc.org%2F2010%2F06%2Fhow-to-configure-your-display-using-xrandr%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2010/06/how-to-configure-your-display-using-xrandr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linksys Power Over Ethernet Adapter Injector</title>
		<link>http://www.osscc.org/2010/05/linksys-power-over-ethernet-adapter-injector/</link>
		<comments>http://www.osscc.org/2010/05/linksys-power-over-ethernet-adapter-injector/#comments</comments>
		<pubDate>Wed, 19 May 2010 23:17:00 +0000</pubDate>
		<dc:creator>thenone</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[Access Point]]></category>
		<category><![CDATA[power over ethernet]]></category>

		<guid isPermaLink="false">http://osscc.org/?p=33</guid>
		<description><![CDATA[What you may not realize is that, these same pins 4, 5, 7, and 8 can be used as data or network cable as well if we going to split one UTP cable to be connected to two NIC on the same computer system such as linux pc based router/firewall, so for pins 4,5,7 and 8 are used as power supply pins.]]></description>
			<content:encoded><![CDATA[<p><a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" href="http://www.amazon.com/Cisco-WAP200E-Wireless-G-Access-Point/dp/B000RMJAKC?ie=UTF8&amp;tag=kegpal-20&amp;link_code=bil&amp;camp=213689&amp;creative=392969" target="_blank"><img src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;ServiceVersion=20070822&amp;ID=AsinImage&amp;WS=1&amp;Format=_SL160_&amp;ASIN=B000RMJAKC&amp;tag=kegpal-20" alt="Cisco WAP200E Wireless-G Access Point - PoE" /></a><img style="border: none !important; margin: 0px !important; padding: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kegpal-20&amp;l=bil&amp;camp=213689&amp;creative=392969&amp;o=1&amp;a=B000RMJAKC" border="0" alt="" width="1" height="1" />This is a survival guide to save your &#8220;buck&#8221; if you had a same problem like me in dealing with broken UTP cable on Linksys <a href="http://www.amazon.com/Cisco-Linksys-WAPPOE12-Power-Ethernet-Adapter/dp/B00077IPC6?ie=UTF8&amp;tag=kegpal-20&amp;link_code=btl&amp;camp=213689&amp;creative=392969" target="_blank">Power Over Ethernet Adapter</a><img style="border: none !important; margin: 0px !important; padding: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kegpal-20&amp;l=btl&amp;camp=213689&amp;creative=392969&amp;o=1&amp;a=B00077IPC6" border="0" alt="" width="1" height="1" /> Injector and beside you dont have any other POE appliances such as manageable switch to providing power supply over ethernet for your <a href="http://www.amazon.com/Cisco-WAP200E-Wireless-G-Access-Point/dp/B000RMJAKC?ie=UTF8&amp;tag=kegpal-20&amp;link_code=btl&amp;camp=213689&amp;creative=392969" target="_blank">Linksys WAP54GPE Acess Point</a><img style="border: none !important; margin: 0px !important; padding: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kegpal-20&amp;l=btl&amp;camp=213689&amp;creative=392969&amp;o=1&amp;a=B000RMJAKC" border="0" alt="" width="1" height="1" />.<span id="more-33"></span></p>
<p><strong>My actual problem is :</strong></p>
<ol>
<li>the UTP cable on POE Adapter is not working to transmit data via it own UTP cable, to buy a new one it cost about $25-$60 buck(RM80 &#8211; RM200), but why spending when you can still use the POE Adapter as power supply, except for the broken UTP cable on the POE Adapter.</li>
<li>the current UTP installed with Linksys WAP54GPE with RJ45 PCB Socket attached on it is not working too.</li>
</ol>
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.osscc.org/wp-content/uploads/2010/05/DSC00096.jpg"><img class="aligncenter size-full wp-image-107" title="DSC00096" src="http://www.osscc.org/wp-content/uploads/2010/05/DSC00096.jpg" alt="" width="384" height="288" /></a></div>
<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://lh4.ggpht.com/_IZd4Rp4XipA/S_RxWPlzc9I/AAAAAAAAA9U/3Nu1_RLCkfo/DSC00095.JPG"><img src="http://lh4.ggpht.com/_IZd4Rp4XipA/S_RxWPlzc9I/AAAAAAAAA9U/3Nu1_RLCkfo/DSC00095.JPG" border="0" alt="" width="400" height="300" /></a></div>
<p>the power is there but not the network connection</p>
</div>
<p><strong>My Solution :</strong><br />
Splitting 1 UTP cable into POE connector and networking cable. At the first end of the UTP cable clamped as normal straight cable, and the second end we split it one as data cable and the other as power supply cable. So pins 1,2,3 and 6 will be connected to the switch.</p>
<div style="text-align: center;"><strong>See the pins out diagram</strong></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_IZd4Rp4XipA/S_Re5eMlU8I/AAAAAAAAA80/1IAz_CxMdWk/s1600/568-b.gif"><img src="http://1.bp.blogspot.com/_IZd4Rp4XipA/S_Re5eMlU8I/AAAAAAAAA80/1IAz_CxMdWk/s320/568-b.gif" border="0" alt="" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_IZd4Rp4XipA/S_RgXcXl1PI/AAAAAAAAA88/45ZvoheZvk0/s1600/rj45pinout.gif"><img src="http://1.bp.blogspot.com/_IZd4Rp4XipA/S_RgXcXl1PI/AAAAAAAAA88/45ZvoheZvk0/s320/rj45pinout.gif" border="0" alt="" /></a></div>
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: arial, serif;"> </span><br />
<span class="Apple-style-span" style="font-family: arial, serif;"> </span><br />
<span class="Apple-style-span" style="font-family: arial, serif;"></p>
<div style="margin-bottom: 0in;"><strong>The Table</strong></div>
<dl>
<dd>
<table style="text-align: left;" border="0" cellspacing="0" cellpadding="2">
<col width="41*"></col>
<col width="40*"></col>
<col width="47*"></col>
<col width="55*"></col>
<col width="29*"></col>
<col width="45*"></col>
<thead>
<tr>
<th width="16%">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: white;"><span style="font-size: x-small;"><strong>First      RJ45 Pin #</strong></span></span></div>
</th>
<th width="16%">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: white;"><span style="font-size: x-small;"><strong>Wire      Color</strong></span></span></div>
</th>
<th width="18%">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: white;"><span style="font-size: x-small;"><strong>100Base-TX      Signal</strong></span></span></div>
</th>
<th width="21%">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: white;"><span style="font-size: x-small;"><strong>2nd      and 3rd RJ45 Pin #</strong></span></span></div>
</th>
<th width="11%">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: white;"><span style="font-size: x-small;"><strong>Wire      Color</strong></span></span></div>
</th>
<th width="17%">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: white;"><span style="font-size: x-small;"><strong>100Base-TX      Signal</strong></span></span></div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">1</span></span></div>
</td>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Orange</span></span></div>
</td>
<td width="18%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Transmit+</span></span></div>
</td>
<td width="21%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">1      (2nd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Green</span></span></div>
</td>
<td width="17%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Transmit+</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">2</span></span></div>
</td>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Orange</span></span></div>
</td>
<td width="18%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Transmit-</span></span></div>
</td>
<td width="21%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">2 (2nd      RJ45) </span></span></div>
</td>
<td width="11%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Green</span></span></div>
</td>
<td width="17%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Transmit-</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">3</span></span></div>
</td>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Green</span></span></div>
</td>
<td width="18%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Receive+</span></span></div>
</td>
<td width="21%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">3      (2nd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Orange</span></span></div>
</td>
<td width="17%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Receive+</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">4</span></span></div>
</td>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Blue</span></span></div>
</td>
<td width="18%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Unused</span></span></div>
</td>
<td width="21%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">6      (2nd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Blue</span></span></div>
</td>
<td width="17%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Receive-</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">5</span></span></div>
</td>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Blue</span></span></div>
</td>
<td width="18%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Unused</span></span></div>
</td>
<td width="21%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">4      (3rd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Blue</span></span></div>
</td>
<td width="17%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">BI_D3+**</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">6</span></span></div>
</td>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Green</span></span></div>
</td>
<td width="18%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Receive-</span></span></div>
</td>
<td width="21%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">5      (3rd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Green</span></span></div>
</td>
<td width="17%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">BI_D3-**</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">7</span></span></div>
</td>
<td width="16%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Brown</span></span></div>
</td>
<td width="18%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Unused</span></span></div>
</td>
<td width="21%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">7      (3rd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">White/Brown</span></span></div>
</td>
<td width="17%" bgcolor="#ffffff">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">BI_D4+**</span></span></div>
</td>
</tr>
<tr>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">8</span></span></div>
</td>
<td width="16%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Brown</span></span></div>
</td>
<td width="18%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Unused</span></span></div>
</td>
<td width="21%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">8      (3rd RJ45)</span></span></div>
</td>
<td width="11%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">Brown</span></span></div>
</td>
<td width="17%" bgcolor="#dddddd">
<div style="text-align: center; padding: 0in; border: initial none initial;"><span style="color: black;"><span style="font-size: x-small;">BI_D4-**</span></span></div>
</td>
</tr>
</tbody>
</table>
</dd>
</dl>
<p></span></div>
<div style="text-align: center;"><strong>like this one</strong></p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://lh5.ggpht.com/_IZd4Rp4XipA/S_RxVpNaqlI/AAAAAAAAA9E/QTSFe3ORFQM/s1600/DSC00099.JPG"><img src="http://lh5.ggpht.com/_IZd4Rp4XipA/S_RxVpNaqlI/AAAAAAAAA9E/QTSFe3ORFQM/s400/DSC00099.JPG" border="0" alt="" width="300" height="400" /></a></div>
<p><strong><br />
</strong></p>
</div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://lh5.ggpht.com/_IZd4Rp4XipA/S_RduygdJhI/AAAAAAAAA8w/FXFo0lKw7p4/s1600/DSC00100.JPG"><img src="http://lh5.ggpht.com/_IZd4Rp4XipA/S_RduygdJhI/AAAAAAAAA8w/FXFo0lKw7p4/s400/DSC00100.JPG" border="0" alt="" width="300" height="400" /></a></div>
<p><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;">We see that the TX (transmitter) pins are connected to the corresponding RX (receiver) pins, plus to plus and minus to minus. You can also see that both the blue and brown wire pairs on pins 4, 5, 7, and 8 are not used in either standard, but actually it was used as power transmiter between the POE Adapter and WAP54GPE Access Point.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;">What you may not realize is that, these same pins 4, 5, 7, and 8 can be used as data or network cable as well if we going to split one UTP cable to be connected to two NIC on the same computer system such as linux pc based router/firewall, s</span><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;">o for pins 4,5,7 and 8 are used as power supply pins.</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;"><br />
</span></p>
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;"><strong>And the result</strong></span></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://lh5.ggpht.com/_IZd4Rp4XipA/S_RdGhYKlXI/AAAAAAAAA8M/bgRV27xuHks/DSC00107.JPG"><img src="http://lh5.ggpht.com/_IZd4Rp4XipA/S_RdGhYKlXI/AAAAAAAAA8M/bgRV27xuHks/DSC00107.JPG" border="0" alt="" width="400" height="300" /></a></div>
<p><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;"><br />
</span></p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://lh3.ggpht.com/_IZd4Rp4XipA/S_RcxxjTmII/AAAAAAAAA8E/k-WnM78q_Hw/DSC00109.JPG"><img src="http://lh3.ggpht.com/_IZd4Rp4XipA/S_RcxxjTmII/AAAAAAAAA8E/k-WnM78q_Hw/DSC00109.JPG" border="0" alt="" width="400" height="300" /></a></div>
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;">Now the LAN connection is ON</span></div>
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;"><br />
</span></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://lh3.ggpht.com/_IZd4Rp4XipA/S_RcxG2-OZI/AAAAAAAAA78/dL8M5Dh0HQ8/DSC00111.JPG"><img src="http://lh3.ggpht.com/_IZd4Rp4XipA/S_RcxG2-OZI/AAAAAAAAA78/dL8M5Dh0HQ8/DSC00111.JPG" border="0" alt="" width="400" height="300" /></a></div>
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;">WAP54GPE is &#8220;ON THE AIR&#8221;</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 12px;">hehe.. now I can browse the internet using my Sony Ericsson G705 again =P</span></div>
<div class="blogger-post-footer">OSSCC © 2006</div>
<p><map name='google_ad_map_33_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/33?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_33_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=33&amp;url= http%3A%2F%2Fwww.osscc.org%2F2010%2F05%2Flinksys-power-over-ethernet-adapter-injector%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2010/05/linksys-power-over-ethernet-adapter-injector/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Clonezilla HOWTO: Quick and Dirty Setup</title>
		<link>http://www.osscc.org/2010/01/clonezilla-howto-quick-and-dirty-setup/</link>
		<comments>http://www.osscc.org/2010/01/clonezilla-howto-quick-and-dirty-setup/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 22:07:00 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Cyber Cafe]]></category>
		<category><![CDATA[Diskless Gaming Client]]></category>
		<category><![CDATA[Diskless Gaming Server]]></category>
		<category><![CDATA[Diskless Technology]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[DRBL]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Recovery System]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.osscc.org/2010/01/clonezilla-howto-quick-and-dirty-setup/</guid>
		<description><![CDATA[Although I am quite familiar with DRBL, since I was running an experiment about Linux Diskess Gaming Server and Client last year at local exhibition (you can read about it here : Diskless Linux Gaming Client ), but this tutorial down here is quite easy and simple to follow it. So enjoy your reading]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.osscc.org/wp-content/uploads/2010/01/400px-DRBL_33.png"><img class="alignleft size-medium wp-image-177" title="400px-DRBL_33" src="http://www.osscc.org/wp-content/uploads/2010/01/400px-DRBL_33-300x224.png" alt="" width="300" height="224" /></a>Although I am quite familiar with DRBL, since I was running an experiment about Linux Diskess Gaming Server and Client last year at local exhibition (you can read about it here : <a href="http://www.osscc.org/2009/12/diskless-linux-gaming-terminal-using-drbl/">Diskless Linux Gaming Client</a> ), but this tutorial down here is quite easy and simple to follow it. So enjoy your reading.</p>
<p>If you have any question, do not hasitate to post it on our comment form.</p>
<hr />Since I wrote the post ‘<a href="http://lightcubesolutions.com/blog/?p=6">Clonezilla</a>‘ in January, our blog has been getting a lot of hits, apparently from people looking for advice on how to set up Clonezilla. This is understandable, since DRBL (of which Clonezilla is just a piece) is a complex piece of work, with loads of possibilities. So I decided to write up a small HOWTO, a quick and dirty method of getting Clonezilla up and running.</p>
<p>Before I go on, a bit of a disclaimer: Following the instructions below may not provide you with results that fit your particular needs. If you have specific and detailed requirements, see the <a href="http://drbl.sourceforge.net/">DRBL documentation</a>. If you would like to hire LightCube Solutions to provide assistance in setting up a Clonezilla solution for your organization, send an email to <a href="mailto:info@lightcubesolutions.com">info@lightcubesolutions.com</a>.</p>
<h2>The Steps</h2>
<h4>1. Install Linux</h4>
<p>You’ll need a Linux machine to run your Clonezilla services. These instructions were successfully tested on Ubuntu 9.04 and 9.10 and Debian 5. DRBL will also run on Fedora.</p>
<h4>2. Install DRBL</h4>
<p>First off, open up a Terminal. In Ubuntu and Debian, this is located in ‘Applications -&gt; Accessories -&gt; Terminal’. If you have sudo configured, you can change to super-user access by typing:<span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;"> </span></p>
<blockquote>
<pre><code><strong>sudo -i</strong></code></pre>
</blockquote>
<p>Otherwise, use the root password with the following:</p>
<blockquote>
<pre><code><strong>su -</strong></code></pre>
</blockquote>
<p>Next, add DRBL’s GPG key to your system:</p>
<blockquote>
<pre><code><strong>wget http://drbl.sourceforge.net/GPG-KEY-DRBL </strong></code></pre>
<pre><code><strong>apt-key add GPG-KEY-DRBL</strong></code></pre>
</blockquote>
<p>Update your apt configuration so that you can install software from the DRBL guys:</p>
<blockquote>
<pre><code><strong>cp /etc/apt/sources.list{,.bak}echo "deb http://drbl.sourceforge.net/drbl-core drbl stable" \  &gt;&gt; /etc/apt/sources.list</strong></code></pre>
</blockquote>
<p>Finally, install DRBL:</p>
<blockquote>
<pre><code><strong>apt-get update </strong></code></pre>
<pre><code><strong>apt-get install drbl</strong></code></pre>
</blockquote>
<h4>3. Configure a Network Alias</h4>
<p>DRBL requires that you have two network interfaces. We can get around this by adding a virtual interface:</p>
<blockquote>
<pre><code><strong>cat &gt;&gt; /etc/network/interfaces &lt;&lt; "EOF"auto eth0:1iface eth0:1 inet static   address 192.168.222.1   netmask 255.255.255.0EOFifup eth0:1</strong></code></pre>
</blockquote>
<p>To verify that you have set up the alias properly, type:</p>
<blockquote>
<pre><code><strong>ip addr show eth0 | grep eth0:1</strong></code></pre>
</blockquote>
<p>You should see something like this:</p>
<blockquote><p><code class="stdout"><strong>inet 192.168.222.1/24 brd 192.168.222.255 scope global eth0:1</strong></code></p></blockquote>
<h4>4. Configure Your New DRBL Server</h4>
<p>Run the following two interactive commands (note that this will require an internet connection and may take some time):</p>
<blockquote>
<pre><code><strong>/opt/drbl/sbin/drblsrv -i/opt/drbl/sbin/drblpush -i</strong></code></pre>
</blockquote>
<p>Congratulations! That’s it, you have a DRBL/Clonezilla server ready to create and deploy custom images. All you need to do to start cloning is run:</p>
<blockquote>
<pre><code><strong>/opt/drbl/sbin/dcs</strong></code></pre>
</blockquote>
<p>Then, boot up your client machines using PXE. See, that wasn’t too painful…</p>
<hr />Source : <a href="http://www.lightcubesolutions.com/blog/?p=33">http://www.lightcubesolutions.com/blog/?p=33</a></p>
<p><map name='google_ad_map_170_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/170?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_170_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=170&amp;url= http%3A%2F%2Fwww.osscc.org%2F2010%2F01%2Fclonezilla-howto-quick-and-dirty-setup%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2010/01/clonezilla-howto-quick-and-dirty-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to setup your free domain name in Blogger &#8211; Part 1</title>
		<link>http://www.osscc.org/2009/12/how-to-setup-your-free-domain-name-in-blogger-part-1/</link>
		<comments>http://www.osscc.org/2009/12/how-to-setup-your-free-domain-name-in-blogger-part-1/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 00:31:00 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Domain Name]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.osscc.org/2009/12/how-to-setup-your-free-domain-name-in-blogger-part-1/</guid>
		<description><![CDATA[I have a friend who was asking for my help on how to set up her&#160;freedomain.co.cc domain to change her blogspot.com subdoamin that was hosted with blogger. It is so simple and quite easy actually, because all the guides was writen at co.cc it self, and what you need to do is follow it exactly [...]]]></description>
			<content:encoded><![CDATA[<p>I have a friend who was asking for my help on how to set up her&nbsp;<a href="http://www.co.cc/?id=181185">freedomain.co.cc</a> domain to change her blogspot.com subdoamin that was hosted with blogger.</p>
<p>It is so simple and quite easy actually, because all the guides was writen at <a href="http://www.co.cc/?id=181185">co.cc</a> it self, and what you need to do is follow it exactly as it shown.</p>
<p>But for now let me show you from the guides it self.</p>
<p><b>How to setup Blogger for my domain?</b></p>
<div class="content"><span id="answer_6" style="display: block;"><b>Pre-Requirements </b></span>Before you start configure your domain name for blogger.</div>
<ol>
<li>blogger.com Account (of course you must have an account first, it&#8217;s more easily if you already has a gmail account, but if you dont, register with gmail.com. <a href="http://www.co.cc/?id=181185">co.cc</a>&nbsp;</li>
<li>domain name (this tutorial is going to use <a href="http://www.co.cc/?id=181185">co.cc</a> for an example, click here to get your free domain name).</li>
<li>you will get a message to setup your domain after completing submit the registration form, as shown as the picture below. </li>
<li><span id="answer_6" style="display: block;"><b>If you has a domain name registered with co.cc, please follow the steps below : </b></span> 
<div class="content"><span id="answer_6" style="display: block;"><span id="answer_6" style="display: block;">Co.cc ? Log-in your account ?Domain Settings ? Select domain ? Click &#8220;Set up&#8221; box ? Zone Records ? Add record as below </span></span></div>
</li>
</ol>
<p><b>Step 01.</b><br />Register your own domain here <a href="http://www.co.cc/?id=181185"><b>http://www.co.cc</b></a>
<div class="separator" style="clear: both; text-align: center;"></div>
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/Sy1lAIKHgdI/AAAAAAAAAzE/LMKf9Nb44W4/s1600-h/Screenshot-cocc-register.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/Sy1lAIKHgdI/AAAAAAAAAzE/LMKf9Nb44W4/s320/Screenshot-cocc-register.png" /></a></div>
<p><b>Step 02. </b><br />Click the &#8220;<b>Set up</b>&#8221; button to proceed</p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_IZd4Rp4XipA/Sy1lO0IILXI/AAAAAAAAAzM/G5yHhUWwzzA/s1600-h/Screenshot-setup-48-hours.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_IZd4Rp4XipA/Sy1lO0IILXI/AAAAAAAAAzM/G5yHhUWwzzA/s320/Screenshot-setup-48-hours.png" /></a></div>
<p><b>Step 03.</b> <br />If you already has a domain name registred with co.cc, select which one of your domain name you want to set up, but from now as new comer just click the &#8220;<b>Set up</b>&#8221; button to proceed</p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IZd4Rp4XipA/Sy1laJuOVgI/AAAAAAAAAzU/50OUFZL_jbs/s1600-h/Screenshot-setup-domain-now.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IZd4Rp4XipA/Sy1laJuOVgI/AAAAAAAAAzU/50OUFZL_jbs/s320/Screenshot-setup-domain-now.png" /></a></div>
<p><b>Step 04.</b><br />Click the radio button to add your &#8220;<b>Zone Records</b>&#8220;
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IZd4Rp4XipA/Sy1lqK1Cp0I/AAAAAAAAAzc/FypHfnnc_uI/s1600-h/Screenshot-setup-zone-record.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IZd4Rp4XipA/Sy1lqK1Cp0I/AAAAAAAAAzc/FypHfnnc_uI/s320/Screenshot-setup-zone-record.png" /></a></div>
<p><b>Step 05.</b><br />Key in your zone records, make sure your type in the <b style="color: red;">www</b>.beforeyourdomain.co.cc in the &#8220;<b>Host</b>&#8221; textbox, click the Type droplist buttong then key in &#8220;<b>ghs.google.com</b>&#8221; in the &#8220;<b>Value</b>&#8221; box then click &#8220;<b>Set up&#8221;</b> button.
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_IZd4Rp4XipA/Sy1lxlcQfUI/AAAAAAAAAzk/pxThU0KMMSM/s1600-h/Screenshot-setup-zone-record2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_IZd4Rp4XipA/Sy1lxlcQfUI/AAAAAAAAAzk/pxThU0KMMSM/s320/Screenshot-setup-zone-record2.png" /></a></div>
<p>after that you will the result as show below.
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_IZd4Rp4XipA/Sy1l9hpufTI/AAAAAAAAAzs/65swrX8sXPo/s1600-h/Screenshot-current-zone-record3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_IZd4Rp4XipA/Sy1l9hpufTI/AAAAAAAAAzs/65swrX8sXPo/s320/Screenshot-current-zone-record3.png" /></a></div>
<p><b>Step 06.</b> <br />Click on the &#8220;Setup&#8221; link at the right above sidebard then you will see your domain status allowed, Walaaahhh&#8230; your are now ready to rock Blogger setting with How to setup your free domain name in Blogger &#8211; Part 2
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_IZd4Rp4XipA/Sy1mHP0VbkI/AAAAAAAAAz0/YxvHiRz2CKM/s1600-h/Screenshot-manage-domain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_IZd4Rp4XipA/Sy1mHP0VbkI/AAAAAAAAAz0/YxvHiRz2CKM/s320/Screenshot-manage-domain.png" /></a></div>
<p><span id="answer_6" style="display: block;"><b>&nbsp;</b></span><span id="answer_6" style="display: block;">Blogger setting with How to setup your free domain name in Blogger &#8211; Part 2</span></p>
<p><map name='google_ad_map_169_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/169?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_169_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=169&amp;url= http%3A%2F%2Fwww.osscc.org%2F2009%2F12%2Fhow-to-setup-your-free-domain-name-in-blogger-part-1%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2009/12/how-to-setup-your-free-domain-name-in-blogger-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial: A simple embedded Linux system</title>
		<link>http://www.osscc.org/2009/11/tutorial-a-simple-embedded-linux-system/</link>
		<comments>http://www.osscc.org/2009/11/tutorial-a-simple-embedded-linux-system/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 04:46:00 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Diskless Technology]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[embedded]]></category>

		<guid isPermaLink="false">http://www.osscc.org/2009/11/tutorial-a-simple-embedded-linux-system/</guid>
		<description><![CDATA[This first article covers the construction of the most basic system possible, which will provide a command shell on the console. Along with the rest of the series, it assumes a basic understanding of a Linux-based operating system. While discussing concepts and general approaches, these concepts are demonstrated with extensive practical examples. All the practical examples are based upon a Debian- or Ubuntu-based distribution]]></description>
			<content:encoded><![CDATA[<div>
<p><span class="Article_Date"> <span class="content_rating"> </span></span><strong><a href="http://www.osscc.org/wp-content/uploads/2009/11/embedded-linux-box.jpg"><img class="size-full wp-image-231 alignleft" title="embedded-linux-box" src="http://www.osscc.org/wp-content/uploads/2009/11/embedded-linux-box.jpg" alt="Embedded Linux" width="281" height="210" /></a>Foreword</strong> &#8212; This article begins a series of tutorials on embedded Linux system development contributed by noted ARM Linux kernel hackers Vincent Sanders and Daniel Silverstone. In the initial installment, the Simtec engineers describe how embedded devices differ from other computers, and how to build &#8220;the most basic system possible.&#8221;<span class="txt"> </span></p>
<div id="intelliTxt">
<p>Papers in the series have been contributed to <cite>LinuxDevices</cite> by <a rel="nofollow" href="http://www.simtec.co.uk/" target="new"><span style="text-decoration: underline;">Simtec Electronics</span></a>, a 20-year-old U.K.-based company specializing in embedded hardware and software services, with special expertise in ARM Linux.</p>
<p>Other papers in the series (will) include:</p>
<ul>
<li>Building a simple embedded system (this paper)</li>
<li>Building an embedded Linux system with a web server</li>
<li>Building an embedded Linux web kiosk</li>
<li>Building an ARM-based embedded Linux web kiosk</li>
<li>Improving an embedded Linux system</li>
<li>Deploying embedded Linux systems</li>
</ul>
<p>Enjoy . . . !</p>
<hr /><strong>Simple Embedded Linux System</strong><br />
by Vincent Sanders and Daniel Silverstone</p>
<p><strong>Introduction</strong></p>
<p>Constructing an embedded system with Linux is often seen as a complex undertaking. This article is the first in a series which will show the fundamental aspects of constructing such systems and enable the reader to apply this knowledge to their specific situation.</p>
<p>This first article covers the construction of the most basic system possible, which will provide a command shell on the console. Along with the rest of the series, it assumes a basic understanding of a Linux-based operating system. While discussing concepts and general approaches, these concepts are demonstrated with extensive practical examples. All the practical examples are based upon a Debian- or Ubuntu-based distribution.</p>
<p><strong>What is an embedded system?</strong></p>
<p>The term &#8220;Embedded System&#8221; has been applied to such a large number of systems that its meaning has become somewhat ill-defined. The term has been applied to everything from 4-bit microcontroller systems to huge industrial control systems.</p>
<p>The context in which we are using the term here is to refer to systems where the user is limited to a specific range of interaction with a limited number of applications (typically one). Thus, from the whole spectrum of applications which a general purpose computer can run, a very narrow selection is made by the creator of the embedded system software.</p>
<p>It should be realized that the limits of interaction with a system may involve hardware as well as software. For example, if a system is limited to a keypad with only the digits 0 to 9, user interaction will be more constrained than if the user had access to a full 102-key keyboard.</p>
<p>In addition to the limiting of user interaction, there may also be limits on the system resources available. Such limits are typically imposed by a system&#8217;s cost, size, or environment. However, wherever possible, these limits should be arrived at with as much knowledge of the system requirements as possible. Many projects fail unnecessarily because an arbitrary limit has been set which makes a workable solution unachievable. An example of this would be the selection of a system&#8217;s main memory size before the application&#8217;s memory requirements have been determined.</p>
<p><strong>What do you want to achieve?</strong></p>
<p>A project must have a clearly defined goal.</p>
<p>This may be viewed as a statement of the obvious, but it bears repeating as for some unfortunately inexplicable reason, embedded systems seem to suffer from poorly-defined goals.</p>
<p>An &#8220;embedded&#8221; project, like any other, should have a clear statement of what must be achieved to be declared a success. The project brief must contain all the requirements, as well as a list of &#8220;desirable properties.&#8221; It is essential that the two should not be confused; e.g., if the product must fit inside a 100mm by 80mm enclosure, that is a requirement. However, a statement that the lowest cost should be achieved is a desirable item, whereas a fixed upper cost would be a requirement.</p>
<p>If information necessary to formulate a requirement is not known, then it should be kept as a &#8220;desirable item&#8221; couched in terms of that unknown information. It may be possible that once that information is determined, a requirement can be added.</p>
<p>It is, again, self-evident that any project plan must be flexible enough to cope with changes to requirements, but it must be appreciated that such changes may have a huge impact on the whole project and, indeed, may invalidate central decisions which have already been made.</p>
<p>General IT project management is outside the scope of this article. Fortunately there exist many good references on this topic.</p>
<p>Requirements which might be added to a project brief based on the assumptions of this article are:</p>
<ul>
<li>The system software will be based upon a Linux kernel.</li>
<li>The system software will use standard Unix-like tools and layout.</li>
</ul>
<p>The implications of these statements mean the chosen hardware should have a Linux kernel port available, and must have sufficient resources to run the chosen programs.</p>
<p>Another important consideration is what kind of OS the project warrants. For example, if you have a project requirement of in-field updates, then you may want to use a full OS with package management, such as Debian GNU/Linux or Fedora. Such a requirement would, however, imply a need for a non-flash-based storage medium such as a hard disc for storing the OS, as these kinds of systems are typically very large (even in minimal installations), and not designed with the constraints of flash-based storage in mind. However, given that additional wrinkle, using an extant operating system can reduce software development costs significantly.</p>
<p><strong>Anatomy of a Linux-based system</strong></p>
<p>Much has been written on how Linux-based systems are put together; however a brief review is in order, to ensure that basic concepts are understood.</p>
<p>To be strictly correct the term &#8220;Linux&#8221; refers only to the kernel. Various arguments have been made as to whether the kernel constitutes an operating system (OS) in its entirety, or whether the term should refer to the whole assemblage of software that makes up the system. We use the latter interpretation here.</p>
<p>The general steps when any modern computer is turned on or reset is:</p>
<ul>
<li>The CPU (or designated boot CPU on multi-core/processor systems) initializes its internal hardware state, loads microcode etc.</li>
<li>The CPU commences execution of the initial boot code, e.g., the BIOS on x86 or the boot-loader on ARM.</li>
<li> The boot code loads and executes the kernel. However, it is worth noting that x86 systems generally use the BIOS to load an intermediate loader such as GRUB or syslinux, which then fetches and starts the kernel.</li>
<li>The kernel configures the hardware and executes the init process.</li>
<li>The init process executes other processes to get all the required software running.</li>
</ul>
<p>The kernel&#8217;s role in the system is to provide a generic interface to programs, and arbitrate access to resources. Each program running on the system is called a process. Each operates as if it were the only process running. The kernel completely insulates a program from the implementation details of physical memory layout, peripheral access, networking, etc.</p>
<p>The first process executed is special in that it is not expected to exit, and is expected to perform some basic housekeeping tasks to keep a system running. Except in very specific circumstances, this process is provided by a program named /sbin/init. The init process typically starts a shell script at boot to execute additional programs.</p>
<p>Some projects have chosen to run their primary application as the init process. While this is possible, it is not recommended, as such a program is exceptionally difficult to debug and control. A programming bug in the application halts the system, and there is no way to debug the issue.</p>
<p>One feature of almost all Unix-like systems is the shell, an interactive command parser. Most common shells have the Bourne shell syntax.</p>
<p><strong>A simple beginning</strong></p>
<p>We shall now consider creating a minimal system. The approach taken here requires no additional hardware beyond the host PC, and the absolute minimum of additional software.</p>
<p>As already mentioned, these examples assume a Debian or Ubuntu host system. To use the QEMU emulator for testing, the host system must be supported by QEMU as a target. An example where this might not be the case is where the target system is x86-64, which QEMU does not support.</p>
<p>To ease construction of the examples, we will use the kernel&#8217;s <em>initramfs</em> support. An initramfs is a gzip-compressed cpio archive of a file system. It is unpacked into a RAM disk at kernel initialization. A slight difference to normal system start-up is that while the first process executed must still be called init, it must be in the root of the file system. We will use the /init script to create some symbolic links and device nodes before executing the more-typical /sbin/init program.</p>
<p>This example system will use a program called <em>Busybox</em>, which provides a large number of utilities in a single executable, including a shell and an init process. Busybox is used extensively to build embedded systems of many types.</p>
<p>The <em>busybox-static</em> package is required to obtain pre-built copy of the Busybox binary and the <em>qemu</em> package is required to test the constructed images. These may be obtained by executing:</p>
<blockquote>
<pre>$ sudo apt-get install busybox-static qemu</pre>
</blockquote>
<p>As mentioned, our initramfs-based approach requires a small /init script. This configures some basic device nodes and directories, mounts the special /sys and /proc file systems, and starts the processing of hotplug events using mdev.</p>
<blockquote>
<pre>#!/bin/sh

# Create all the busybox symbolic links/bin/busybox --install -s

# Create base directories[ -d /dev ] || mkdir -m 0755 /dev[ -d /root ] || mkdir --mode=0700 /root[ -d /sys ] || mkdir /sys[ -d /proc ] || mkdir /proc[ -d /tmp ] || mkdir /tmpmkdir -p /var/lock

# Mount essential filesystemsmount -t sysfs none /sys -onodev,noexec,nosuidmount -t proc none /proc -onodev,noexec,nosuid

# Create essential filesystem nodesmknod /dev/zero c 1 5mknod /dev/null c 1 3
mknod /dev/tty c 5 0mknod /dev/console c 5 1mknod /dev/ptmx c 5 2
mknod /dev/tty0 c 4 0mknod /dev/tty1 c 4 1
echo "/sbin/mdev" &gt; /proc/sys/kernel/hotplug
echo "Creating devices"/sbin/mdev -s
exec /sbin/init</pre>
</blockquote>
<p>To construct the cpio archive, the following commands should be executed in a shell. Note, however, that INITSCRIPT should be replaced with the location of the above script.</p>
<blockquote>
<pre>$ mkdir simple$ cd simple$ mkdir -p bin sbin usr/bin usr/sbin$ cp /bin/busybox bin/busybox$ ln -s busybox bin/sh$ cp INITSCRIPT init$ chmod a+x init$ find . | cpio --quiet -o -H newc | gzip &gt;../simple.gz$ cd ..</pre>
</blockquote>
<p>To test the constructed image use a command like:</p>
<blockquote>
<pre>$ qemu -kernel /boot/vmlinuz-2.6.26-1-686 -initrd simple.gz \             -append "root=/dev/ram" /dev/zero</pre>
</blockquote>
<p>This should present a QEMU window where the OS you just constructed boots and displays the message &#8220;Please press Enter to activate this console.&#8221; Press enter and you should be presented with an interactive shell from which you can experiment with the commands Busybox provides. This environment is executing entirely from a RAM disc and is completely volatile. As such, any changes you make will not persist when the emulator is stopped.</p>
<p><strong>Booting a real system</strong></p>
<p>Starting the image under emulation proves the image ought to work on a real system, but there is no substitute for testing on real hardware. The <em>syslinux</em> package allows us to construct bootable systems for standard PCs on DOS-formatted storage.</p>
<p>A suitable medium should be chosen to boot from, e.g., a DOS-formatted floppy disk or a DOS-formatted USB stick. The DOS partition of the USB stick must be marked bootable. Some USB sticks might need repartitioning and reformatting with the Linux tools in order to work correctly.</p>
<p>The <em>syslinux</em> program should be run on the device /dev/fd0 for a floppy disk, or something similar to <em>/dev/sdx1</em> for a USB stick. Care must be taken, as selecting the wrong device name might overwrite your host system&#8217;s hard drive.</p>
<p>The target device should then be mounted and the kernel and the <em>simple.gz</em> file copied on.</p>
<p>The syslinux loader can be configured using a file called syslinux.cfg which would look something like:</p>
<blockquote>
<pre>default simpletimeout 100prompt 1

label simple  kernel vmlinuz  append initrd=simple root=/dev/ram</pre>
</blockquote>
<p>The complete command sequence to perform these actions, substituting file locations as appropriate, is:</p>
<blockquote>
<pre>$ sudo syslinux -s /dev/sdd1$ sudo mount -t vfat -o shortname=mixed  /dev/sdd1 /mnt/$ cd /mnt$ sudo cp /boot/vmlinuz-2.6.26-1-686 VMLINUZ$ sudo cp simple.gz SIMPLE$ sudo cp syslinux.cfg SYSLINUX.CFG$ cd /mnt$ sudo umount /mnt</pre>
</blockquote>
<p>The device may now be removed and booted on an appropriate PC. The PC should boot the image and present a prompt exactly the same way the emulator did.</p>
<p><strong>What&#8217;s next?</strong></p>
<p>This first step, while simple, provides a complete OS, and demonstrates that constructing an embedded system can be a straightforward process.</p>
<p>The next step is to expand this simple example to encompass a specific application, which will be covered in the next article.</p>
<p><em>This article is copyrighted 2009, <a rel="nofollow" href="http://www.simtec.co.uk/" target="new"><span style="text-decoration: underline;">Simtec Electronics</span></a>, and reproduced here with permission.</em></p>
<hr />
<p><img src="http://www.linuxfordevices.com/files/misc/vincent_sanders-thm.jpg" alt="" hspace="10" vspace="5" align="left" /><strong>Vincent Sanders</strong> is the senior software engineer at <a rel="nofollow" href="http://www.simtec.co.uk/" target="new"><span style="text-decoration: underline;">Simtec Electronics</span></a>. He has extensive experience in the computer industry, having worked on projects from large fault-tolerant systems through accounting software to programmable logic systems. He is an active developer for numerous open source projects, including the Linux kernel, and is also a Debian developer.</p>
<p><img src="http://www.linuxfordevices.com/files/misc/daniel_silverstone-thm.jpg" alt="" hspace="10" vspace="5" align="left" /><strong>Daniel Silverstone</strong> is a software engineer at <a rel="nofollow" href="http://www.simtec.co.uk/" target="new"><span style="text-decoration: underline;">Simtec Electronics</span></a>, and has experience in architecting robust systems. He develops software for a large number of open source projects, contributes to the Linux kernel, and is both an Ubuntu and Debian developer.</p>
<blockquote>
<hr /></blockquote>
<p><strong>About the authors</strong> By <a rel="nofollow" href="http://www.linuxfordevices.com/cp/bio/Jonathan-Angel/">Jonathan Angel</a> 2009-03-23</p>
</div>
</div>
<div id="at20mc" style="z-index: 1000000;">
<p>Source : <a href="http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Tutorial-A-simple-embedded-Linux-system/">http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Tutorial-A-simple-embedded-Linux-system/</a></p>
<div id="at16pcc">
<div id="at16p" style="display: none;">
<p><a name="atpro"></a><a name="atclb"></a><a name="atopp"></a><a name="atcle"></a><a name="atcef"></a></p>
<div id="at16pib">
<div id="at16pi">
<div id="at16pm">
<div id="at16pt">
<h4><span id="at16ptc">Bookmark &amp; Share</span></h4>
<p><span id="at16_brand">DevSource</span><a id="at16ptx" onclick="return _atw.clb()" href="http://www.linuxfordevices.com/index2.php?option=content&amp;task=view&amp;id=48525&amp;pop=1&amp;hide_ads=1&amp;page=0&amp;hide_js=1#">X</a></p>
</div>
<div id="at16pc">
<div id="at_feed" style="display: none;">
<p><span style="display: block;">Select from these web-based feed readers:</span></p>
<div onclick="return addthis_sendto('aol');"><a class="fbtn at_baa aol">AOL</a></div>
<div class="at_litem" onclick="return addthis_sendto('bloglines');"><a class="fbtn at_baa bloglines">Bloglines</a></div>
<div onclick="return addthis_sendto('google');"><a class="fbtn at_baa google">Google Reader</a></div>
<div class="at_litem" onclick="return addthis_sendto('mymsn');"><a class="fbtn at_baa mymsn">My MSN</a></div>
<div onclick="return addthis_sendto('netvibes');"><a class="fbtn at_baa netvibes">Netvibes</a></div>
<div class="at_litem" onclick="return addthis_sendto('newsisfree');"><a class="fbtn at_baa newsisfree">Newsisfree</a></div>
<div onclick="return addthis_sendto('pageflakes');"><a class="fbtn at_baa pageflakes">Pageflakes</a></div>
<div class="at_litem" onclick="return addthis_sendto('technorati');"><a class="fbtn at_baa technorati">Technorati</a></div>
<div onclick="return addthis_sendto('yahoo');"><a class="fbtn at_baa yahoo">Yahoo</a></div>
</div>
<div id="at_share" style="display: none;">
<div id="at16psf" style="display: none; visibility: hidden;">
<input id="at16filt" class="atfxmode2" onkeyup="_atw.filt(this.value,_atw.list)" maxlength="50" name="at16filt" size="30" type="text" tabindex="1" /></div>
<div id="at16ps">
<div id="at16nms" style="display: none;">No matching services.</div>
<div id="ati_100zakladok" class="at_item" onclick="return addthis_sendto('100zakladok');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_100zakladok">100zakladok</span></div>
<div id="ati_a1webmarks" class="at_item" onclick="return addthis_sendto('a1webmarks');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_a1webmarks">A1?Webmarks</span></div>
<div id="ati_aim" class="at_item" onclick="return addthis_sendto('aim');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_aim">AIM Share</span></div>
<div id="ati_amazonwishlist" class="at_item" onclick="return addthis_sendto('amazonwishlist');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_amazonwishlist">Amazon</span></div>
<div id="ati_amenme" class="at_item" onclick="return addthis_sendto('amenme');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_amenme">Amen Me!</span></div>
<div id="ati_aolmail" class="at_item" onclick="return addthis_sendto('aolmail');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_aolmail">AOL Mail</span></div>
<div id="ati_arto" class="at_item" onclick="return addthis_sendto('arto');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_arto">Arto</span></div>
<div id="ati_ask" class="at_item" onclick="return addthis_sendto('ask');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_ask">Ask</span></div>
<div id="ati_aviary" class="at_item" onclick="return addthis_sendto('aviary');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_aviary">Aviary Capture</span></div>
<div id="ati_backflip" class="at_item" onclick="return addthis_sendto('backflip');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_backflip">Backflip</span></div>
<div id="ati_baidu" class="at_item" onclick="return addthis_sendto('baidu');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_baidu">Baidu</span></div>
<div id="ati_ballhype" class="at_item" onclick="return addthis_sendto('ballhype');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_ballhype">BallHype</span></div>
<div id="ati_bebo" class="at_item" onclick="return addthis_sendto('bebo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bebo">Bebo</span></div>
<div id="ati_bitly" class="at_item" onclick="return addthis_sendto('bitly');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bitly">Bit.ly</span></div>
<div id="ati_bizsugar" class="at_item" onclick="return addthis_sendto('bizsugar');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bizsugar">BizSugar</span></div>
<div id="ati_bleetbox" class="at_item" onclick="return addthis_sendto('bleetbox');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bleetbox">Bleetbox</span></div>
<div id="ati_blinklist" class="at_item" onclick="return addthis_sendto('blinklist');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_blinklist">Blinklist</span></div>
<div id="ati_blip" class="at_item" onclick="return addthis_sendto('blip');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_blip">Blip</span></div>
<div id="ati_blogger" class="at_item" onclick="return addthis_sendto('blogger');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_blogger">Blogger</span></div>
<div id="ati_bloggy" class="at_item" onclick="return addthis_sendto('bloggy');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bloggy">Bloggy</span></div>
<div id="ati_blogmarks" class="at_item" onclick="return addthis_sendto('blogmarks');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_blogmarks">Blogmarks</span></div>
<div id="ati_bobrdobr" class="at_item" onclick="return addthis_sendto('bobrdobr');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bobrdobr">Bobrdobr</span></div>
<div id="ati_bonzobox" class="at_item" onclick="return addthis_sendto('bonzobox');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bonzobox">BonzoBox</span></div>
<div id="ati_bordom" class="at_item" onclick="return addthis_sendto('bordom');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bordom">Bordom</span></div>
<div id="ati_brainify" class="at_item" onclick="return addthis_sendto('brainify');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_brainify">Brainify</span></div>
<div id="ati_bryderi" class="at_item" onclick="return addthis_sendto('bryderi');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_bryderi">Bryderi.se</span></div>
<div id="ati_buddymarks" class="at_item" onclick="return addthis_sendto('buddymarks');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_buddymarks">BuddyMarks</span></div>
<div id="ati_buzz" class="at_item" onclick="return addthis_sendto('buzz');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_buzz">Buzz</span></div>
<div id="ati_care2" class="at_item" onclick="return addthis_sendto('care2');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_care2">Care2</span></div>
<div id="ati_citeulike" class="at_item" onclick="return addthis_sendto('citeulike');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_citeulike">CiteULike</span></div>
<div id="ati_colivia" class="at_item" onclick="return addthis_sendto('colivia');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_colivia">Colivia.de</span></div>
<div id="ati_connotea" class="at_item" onclick="return addthis_sendto('connotea');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_connotea">Connotea</span></div>
<div id="ati_delicious" class="at_item" onclick="return addthis_sendto('delicious');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_delicious">Delicious</span></div>
<div id="ati_designbump" class="at_item" onclick="return addthis_sendto('designbump');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_designbump">DesignBump</span></div>
<div id="ati_designmoo" class="at_item" onclick="return addthis_sendto('designmoo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_designmoo">Designmoo</span></div>
<div id="ati_digg" class="at_item" onclick="return addthis_sendto('digg');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_digg">Digg</span></div>
<div id="ati_diggita" class="at_item" onclick="return addthis_sendto('diggita');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_diggita">Diggita</span></div>
<div id="ati_diglog" class="at_item" onclick="return addthis_sendto('diglog');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_diglog">Diglog</span></div>
<div id="ati_diigo" class="at_item" onclick="return addthis_sendto('diigo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_diigo">Diigo</span></div>
<div id="ati_domelhor" class="at_item" onclick="return addthis_sendto('domelhor');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_domelhor">DoMelhor</span></div>
<div id="ati_doower" class="at_item" onclick="return addthis_sendto('doower');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_doower">Doower</span></div>
<div id="ati_dosti" class="at_item" onclick="return addthis_sendto('dosti');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_dosti">Dosti</span></div>
<div id="ati_dotnetkicks" class="at_item" onclick="return addthis_sendto('dotnetkicks');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_dotnetkicks">DotNetKicks</span></div>
<div id="ati_dropjack" class="at_item" onclick="return addthis_sendto('dropjack');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_dropjack">Dropjack</span></div>
<div id="ati_dzone" class="at_item" onclick="return addthis_sendto('dzone');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_dzone">Dzone</span></div>
<div id="ati_edelight" class="at_item" onclick="return addthis_sendto('edelight');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_edelight">Edelight</span></div>
<div id="ati_ekudos" class="at_item" onclick="return addthis_sendto('ekudos');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_ekudos">eKudos</span></div>
<div id="ati_email" class="at_item" onclick="return addthis_sendto('email');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_email">Email</span></div>
<div id="ati_embarkons" class="at_item" onclick="return addthis_sendto('embarkons');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_embarkons">Embarkons</span></div>
<div id="ati_eucliquei" class="at_item" onclick="return addthis_sendto('eucliquei');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_eucliquei">euCliquei</span></div>
<div id="ati_evernote" class="at_item" onclick="return addthis_sendto('evernote');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_evernote">Evernote</span></div>
<div id="ati_fabulously40" class="at_item" onclick="return addthis_sendto('fabulously40');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_fabulously40">Fabulously40</span></div>
<div id="ati_facebook" class="at_item" onclick="return addthis_sendto('facebook');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_facebook">Facebook</span></div>
<div id="ati_fark" class="at_item" onclick="return addthis_sendto('fark');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_fark">Fark</span></div>
<div id="ati_faves" class="at_item" onclick="return addthis_sendto('faves');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_faves">Faves</span></div>
<div id="ati_favorites" class="at_item" onclick="return addthis_sendto('favorites');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_favorites">Favorites</span></div>
<div id="ati_favoritus" class="at_item" onclick="return addthis_sendto('favoritus');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_favoritus">Favoritus</span></div>
<div id="ati_flosspro" class="at_item" onclick="return addthis_sendto('flosspro');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_flosspro">Floss.pro</span></div>
<div id="ati_fnews" class="at_item" onclick="return addthis_sendto('fnews');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_fnews">Fnews</span></div>
<div id="ati_folkd" class="at_item" onclick="return addthis_sendto('folkd');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_folkd">Folkd</span></div>
<div id="ati_fresqui" class="at_item" onclick="return addthis_sendto('fresqui');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_fresqui">Fresqui</span></div>
<div id="ati_friendfeed" class="at_item" onclick="return addthis_sendto('friendfeed');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_friendfeed">FriendFeed</span></div>
<div id="ati_funp" class="at_item" onclick="return addthis_sendto('funp');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_funp">funP</span></div>
<div id="ati_fwisp" class="at_item" onclick="return addthis_sendto('fwisp');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_fwisp">fwisp</span></div>
<div id="ati_gabbr" class="at_item" onclick="return addthis_sendto('gabbr');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_gabbr">Gabbr</span></div>
<div id="ati_gacetilla" class="at_item" onclick="return addthis_sendto('gacetilla');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_gacetilla">Gacetilla</span></div>
<div id="ati_globalgrind" class="at_item" onclick="return addthis_sendto('globalgrind');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_globalgrind">GlobalGrind</span></div>
<div id="ati_gluvsnap" class="at_item" onclick="return addthis_sendto('gluvsnap');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_gluvsnap">GluvSnap</span></div>
<div id="ati_gmail" class="at_item" onclick="return addthis_sendto('gmail');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_gmail">Gmail</span></div>
<div id="ati_google" class="at_item" onclick="return addthis_sendto('google');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_google">Google</span></div>
<div id="ati_googlereader" class="at_item" onclick="return addthis_sendto('googlereader');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_googlereader">Google Reader</span></div>
<div id="ati_gravee" class="at_item" onclick="return addthis_sendto('gravee');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_gravee">Gravee</span></div>
<div id="ati_grumper" class="at_item" onclick="return addthis_sendto('grumper');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_grumper">Grumper</span></div>
<div id="ati_habergentr" class="at_item" onclick="return addthis_sendto('habergentr');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_habergentr">Haber.gen.tr</span></div>
<div id="ati_hackernews" class="at_item" onclick="return addthis_sendto('hackernews');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hackernews">Hacker News</span></div>
<div id="ati_hadashhot" class="at_item" onclick="return addthis_sendto('hadashhot');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hadashhot">Hadash Hot</span></div>
<div id="ati_hatena" class="at_item" onclick="return addthis_sendto('hatena');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hatena">Hatena</span></div>
<div id="ati_hazarkor" class="at_item" onclick="return addthis_sendto('hazarkor');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hazarkor">Hazarkor</span></div>
<div id="ati_hellotxt" class="at_item" onclick="return addthis_sendto('hellotxt');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hellotxt">HelloTxt</span></div>
<div id="ati_hemidemi" class="at_item" onclick="return addthis_sendto('hemidemi');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hemidemi">HEMiDEMi</span></div>
<div id="ati_hipstr" class="at_item" onclick="return addthis_sendto('hipstr');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hipstr">Hipstr</span></div>
<div id="ati_hitmarks" class="at_item" onclick="return addthis_sendto('hitmarks');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hitmarks">Hitmarks</span></div>
<div id="ati_hotklix" class="at_item" onclick="return addthis_sendto('hotklix');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hotklix">Hotklix</span></div>
<div id="ati_hotmail" class="at_item" onclick="return addthis_sendto('hotmail');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hotmail">Hotmail</span></div>
<div id="ati_w3validator" class="at_item" onclick="return addthis_sendto('w3validator');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_w3validator">HTML Validator</span></div>
<div id="ati_hyves" class="at_item" onclick="return addthis_sendto('hyves');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_hyves">Hyves</span></div>
<div id="ati_identica" class="at_item" onclick="return addthis_sendto('identica');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_identica">Identi.ca</span></div>
<div id="ati_investorlinks" class="at_item" onclick="return addthis_sendto('investorlinks');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_investorlinks">InvestorLinks</span></div>
<div id="ati_jamespot" class="at_item" onclick="return addthis_sendto('jamespot');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_jamespot">Jamespot</span></div>
<div id="ati_jumptags" class="at_item" onclick="return addthis_sendto('jumptags');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_jumptags">Jumptags</span></div>
<div id="ati_kaboodle" class="at_item" onclick="return addthis_sendto('kaboodle');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_kaboodle">Kaboodle</span></div>
<div id="ati_kaevur" class="at_item" onclick="return addthis_sendto('kaevur');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_kaevur">Kaevur</span></div>
<div id="ati_kirtsy" class="at_item" onclick="return addthis_sendto('kirtsy');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_kirtsy">KiRTSY</span></div>
<div id="ati_kledy" class="at_item" onclick="return addthis_sendto('kledy');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_kledy">Kledy</span></div>
<div id="ati_koornk" class="at_item" onclick="return addthis_sendto('koornk');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_koornk">koornk</span></div>
<div id="ati_kudos" class="at_item" onclick="return addthis_sendto('kudos');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_kudos">Kudos</span></div>
<div id="ati_laaikit" class="at_item" onclick="return addthis_sendto('laaikit');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_laaikit">Laaikit</span></div>
<div id="ati_librerio" class="at_item" onclick="return addthis_sendto('librerio');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_librerio">Librerio</span></div>
<div id="ati_linkninja" class="at_item" onclick="return addthis_sendto('linkninja');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_linkninja">Link Ninja</span></div>
<div id="ati_linkagogo" class="at_item" onclick="return addthis_sendto('linkagogo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_linkagogo">Link-a-Gogo</span></div>
<div id="ati_linkedin" class="at_item" onclick="return addthis_sendto('linkedin');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_linkedin">LinkedIn</span></div>
<div id="ati_linkuj" class="at_item" onclick="return addthis_sendto('linkuj');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_linkuj">Linkuj.cz</span></div>
<div id="ati_live" class="at_item" onclick="return addthis_sendto('live');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_live">Live</span></div>
<div id="ati_livejournal" class="at_item" onclick="return addthis_sendto('livejournal');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_livejournal">LiveJournal</span></div>
<div id="ati_lunch" class="at_item" onclick="return addthis_sendto('lunch');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_lunch">Lunch.com</span></div>
<div id="ati_lynki" class="at_item" onclick="return addthis_sendto('lynki');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_lynki">Lynki</span></div>
<div id="ati_meccho" class="at_item" onclick="return addthis_sendto('meccho');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_meccho">Meccho</span></div>
<div id="ati_meinvz" class="at_item" onclick="return addthis_sendto('meinvz');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_meinvz">meinVZ</span></div>
<div id="ati_memori" class="at_item" onclick="return addthis_sendto('memori');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_memori">Memori.ru</span></div>
<div id="ati_meneame" class="at_item" onclick="return addthis_sendto('meneame');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_meneame">Menéame</span></div>
<div id="ati_mindbodygreen" class="at_item" onclick="return addthis_sendto('mindbodygreen');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_mindbodygreen">Mindbodygreen</span></div>
<div id="ati_misterwong" class="at_item" onclick="return addthis_sendto('misterwong');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_misterwong">Mister Wong</span></div>
<div id="ati_mixx" class="at_item" onclick="return addthis_sendto('mixx');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_mixx">Mixx</span></div>
<div id="ati_multiply" class="at_item" onclick="return addthis_sendto('multiply');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_multiply">Multiply</span></div>
<div id="ati_myaol" class="at_item" onclick="return addthis_sendto('myaol');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_myaol">myAOL</span></div>
<div id="ati_mylinkvault" class="at_item" onclick="return addthis_sendto('mylinkvault');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_mylinkvault">Mylinkvault</span></div>
<div id="ati_myspace" class="at_item" onclick="return addthis_sendto('myspace');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_myspace">MySpace</span></div>
<div id="ati_n4g" class="at_item" onclick="return addthis_sendto('n4g');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_n4g">N4G</span></div>
<div id="ati_netlog" class="at_item" onclick="return addthis_sendto('netlog');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_netlog">NetLog</span></div>
<div id="ati_netvibes" class="at_item" onclick="return addthis_sendto('netvibes');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_netvibes">Netvibes</span></div>
<div id="ati_netvouz" class="at_item" onclick="return addthis_sendto('netvouz');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_netvouz">Netvouz</span></div>
<div id="ati_newstrust" class="at_item" onclick="return addthis_sendto('newstrust');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_newstrust">NewsTrust</span></div>
<div id="ati_newsvine" class="at_item" onclick="return addthis_sendto('newsvine');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_newsvine">Newsvine</span></div>
<div id="ati_nujij" class="at_item" onclick="return addthis_sendto('nujij');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_nujij">Nujij</span></div>
<div id="ati_oknotizie" class="at_item" onclick="return addthis_sendto('oknotizie');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_oknotizie">OKNOtizie</span></div>
<div id="ati_oneview" class="at_item" onclick="return addthis_sendto('oneview');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_oneview">Oneview</span></div>
<div id="ati_orkut" class="at_item" onclick="return addthis_sendto('orkut');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_orkut">Orkut</span></div>
<div id="ati_osmosus" class="at_item" onclick="return addthis_sendto('osmosus');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_osmosus">Osmosus</span></div>
<div id="ati_oyyla" class="at_item" onclick="return addthis_sendto('oyyla');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_oyyla">Oyyla</span></div>
<div id="ati_pdfonline" class="at_item" onclick="return addthis_sendto('pdfonline');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_pdfonline">PDF Online</span></div>
<div id="ati_phonefavs" class="at_item" onclick="return addthis_sendto('phonefavs');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_phonefavs">PhoneFavs</span></div>
<div id="ati_pimpthisblog" class="at_item" onclick="return addthis_sendto('pimpthisblog');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_pimpthisblog">PimpThisBlog</span></div>
<div id="ati_pingfm" class="at_item" onclick="return addthis_sendto('pingfm');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_pingfm">Ping.fm</span></div>
<div id="ati_planypus" class="at_item" onclick="return addthis_sendto('planypus');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_planypus">Planypus</span></div>
<div id="ati_plaxo" class="at_item" onclick="return addthis_sendto('plaxo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_plaxo">Plaxo</span></div>
<div id="ati_plurk" class="at_item" onclick="return addthis_sendto('plurk');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_plurk">Plurk</span></div>
<div id="ati_polladium" class="at_item" onclick="return addthis_sendto('polladium');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_polladium">Polladium</span></div>
<div id="ati_posterous" class="at_item" onclick="return addthis_sendto('posterous');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_posterous">Posterous</span></div>
<div id="ati_print" class="at_item" onclick="return addthis_sendto('print');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_print">Print</span></div>
<div id="ati_printfriendly" class="at_item" onclick="return addthis_sendto('printfriendly');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_printfriendly">PrintFriendly</span></div>
<div id="ati_propeller" class="at_item" onclick="return addthis_sendto('propeller');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_propeller">Propeller</span></div>
<div id="ati_pusha" class="at_item" onclick="return addthis_sendto('pusha');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_pusha">Pusha</span></div>
<div id="ati_quantcast" class="at_item" onclick="return addthis_sendto('quantcast');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_quantcast">Quantcast</span></div>
<div id="ati_readitlater" class="at_item" onclick="return addthis_sendto('readitlater');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_readitlater">Read It Later</span></div>
<div id="ati_reddit" class="at_item" onclick="return addthis_sendto('reddit');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_reddit">Reddit</span></div>
<div id="ati_scoopat" class="at_item" onclick="return addthis_sendto('scoopat');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_scoopat">Scoop.at</span></div>
<div id="ati_segnalo" class="at_item" onclick="return addthis_sendto('segnalo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_segnalo">Segnalo</span></div>
<div id="ati_shaveh" class="at_item" onclick="return addthis_sendto('shaveh');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_shaveh">Shaveh</span></div>
<div id="ati_shetoldme" class="at_item" onclick="return addthis_sendto('shetoldme');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_shetoldme">She Told Me</span></div>
<div id="ati_simpy" class="at_item" onclick="return addthis_sendto('simpy');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_simpy">Simpy</span></div>
<div id="ati_slashdot" class="at_item" onclick="return addthis_sendto('slashdot');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_slashdot">Slashdot</span></div>
<div id="ati_smaknews" class="at_item" onclick="return addthis_sendto('smaknews');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_smaknews">Smak News</span></div>
<div id="ati_sodahead" class="at_item" onclick="return addthis_sendto('sodahead');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_sodahead">SodaHead</span></div>
<div id="ati_sonico" class="at_item" onclick="return addthis_sendto('sonico');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_sonico">Sonico</span></div>
<div id="ati_speedtile" class="at_item" onclick="return addthis_sendto('speedtile');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_speedtile">Speedtile</span></div>
<div id="ati_sphinn" class="at_item" onclick="return addthis_sendto('sphinn');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_sphinn">Sphinn</span></div>
<div id="ati_springpad" class="at_item" onclick="return addthis_sendto('springpad');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_springpad">springpad</span></div>
<div id="ati_squidoo" class="at_item" onclick="return addthis_sendto('squidoo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_squidoo">Squidoo</span></div>
<div id="ati_startaid" class="at_item" onclick="return addthis_sendto('startaid');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_startaid">Startaid</span></div>
<div id="ati_startlap" class="at_item" onclick="return addthis_sendto('startlap');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_startlap">Startlap</span></div>
<div id="ati_strands" class="at_item" onclick="return addthis_sendto('strands');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_strands">Strands</span></div>
<div id="ati_studivz" class="at_item" onclick="return addthis_sendto('studivz');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_studivz">studiVZ</span></div>
<div id="ati_stuffpit" class="at_item" onclick="return addthis_sendto('stuffpit');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_stuffpit">Stuffpit</span></div>
<div id="ati_stumbleupon" class="at_item" onclick="return addthis_sendto('stumbleupon');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_stumbleupon">StumbleUpon</span></div>
<div id="ati_stumpedia" class="at_item" onclick="return addthis_sendto('stumpedia');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_stumpedia">Stumpedia</span></div>
<div id="ati_stylehive" class="at_item" onclick="return addthis_sendto('stylehive');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_stylehive">Stylehive</span></div>
<div id="ati_svejo" class="at_item" onclick="return addthis_sendto('svejo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_svejo">Svejo</span></div>
<div id="ati_symbaloo" class="at_item" onclick="return addthis_sendto('symbaloo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_symbaloo">Symbaloo</span></div>
<div id="ati_tagza" class="at_item" onclick="return addthis_sendto('tagza');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tagza">Tagza</span></div>
<div id="ati_technorati" class="at_item" onclick="return addthis_sendto('technorati');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_technorati">Technorati</span></div>
<div id="ati_tellmypolitician" class="at_item" onclick="return addthis_sendto('tellmypolitician');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tellmypolitician">TellMyPolitician</span></div>
<div id="ati_thisnext" class="at_item" onclick="return addthis_sendto('thisnext');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_thisnext">ThisNext</span></div>
<div id="ati_tipd" class="at_item" onclick="return addthis_sendto('tipd');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tipd">Tip&#8217;d</span></div>
<div id="ati_transferr" class="at_item" onclick="return addthis_sendto('transferr');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_transferr">Transferr</span></div>
<div id="ati_googletranslate" class="at_item" onclick="return addthis_sendto('googletranslate');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_googletranslate">Translate</span></div>
<div id="ati_tulinq" class="at_item" onclick="return addthis_sendto('tulinq');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tulinq">Tulinq</span></div>
<div id="ati_tumblr" class="at_item" onclick="return addthis_sendto('tumblr');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tumblr">Tumblr</span></div>
<div id="ati_tusul" class="at_item" onclick="return addthis_sendto('tusul');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tusul">Tusul</span></div>
<div id="ati_tweetmeme" class="at_item" onclick="return addthis_sendto('tweetmeme');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_tweetmeme">TweetMeme</span></div>
<div id="ati_twitter" class="at_item" onclick="return addthis_sendto('twitter');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_twitter">Twitter</span></div>
<div id="ati_typepad" class="at_item" onclick="return addthis_sendto('typepad');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_typepad">Typepad</span></div>
<div id="ati_viadeo" class="at_item" onclick="return addthis_sendto('viadeo');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_viadeo">Viadeo</span></div>
<div id="ati_virb" class="at_item" onclick="return addthis_sendto('virb');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_virb">Virb</span></div>
<div id="ati_vyoom" class="at_item" onclick="return addthis_sendto('vyoom');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_vyoom">Vyoom</span></div>
<div id="ati_webnews" class="at_item" onclick="return addthis_sendto('webnews');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_webnews">Webnews</span></div>
<div id="ati_domaintoolswhois" class="at_item" onclick="return addthis_sendto('domaintoolswhois');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_domaintoolswhois">Whois Lookup</span></div>
<div id="ati_windycitizen" class="at_item" onclick="return addthis_sendto('windycitizen');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_windycitizen">Windy Citizen</span></div>
<div id="ati_wordpress" class="at_item" onclick="return addthis_sendto('wordpress');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_wordpress">WordPress</span></div>
<div id="ati_worio" class="at_item" onclick="return addthis_sendto('worio');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_worio">Worio</span></div>
<div id="ati_wovre" class="at_item" onclick="return addthis_sendto('wovre');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_wovre">Wovre</span></div>
<div id="ati_wykop" class="at_item" onclick="return addthis_sendto('wykop');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_wykop">Wykop</span></div>
<div id="ati_yahoobkm" class="at_item" onclick="return addthis_sendto('yahoobkm');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yahoobkm">Y! Bookmarks</span></div>
<div id="ati_yahoomail" class="at_item" onclick="return addthis_sendto('yahoomail');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yahoomail">Y! Mail</span></div>
<div id="ati_yammer" class="at_item" onclick="return addthis_sendto('yammer');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yammer">Yammer</span></div>
<div id="ati_yardbarker" class="at_item" onclick="return addthis_sendto('yardbarker');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yardbarker">Yardbarker</span></div>
<div id="ati_yigg" class="at_item" onclick="return addthis_sendto('yigg');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yigg">Yigg</span></div>
<div id="ati_yoolink" class="at_item" onclick="return addthis_sendto('yoolink');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yoolink">Yoolink</span></div>
<div id="ati_yorumcuyum" class="at_item" onclick="return addthis_sendto('yorumcuyum');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_yorumcuyum">Yorumcuyum</span></div>
<div id="ati_youmob" class="at_item" onclick="return addthis_sendto('youmob');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_youmob">YouMob</span></div>
<div id="at16sas"><a href="http://www.addthis.com/services/submit" target="_blank">Suggest a service »</a></div>
</div>
</div>
<div id="at_complete" style="display: none;"><button onclick="_atw.clb()">Done</button></div>
<div id="at_success" style="display: none;">Message sent! <a onclick="_atw.get('at16filt').value='';_atw.filt('',_atw.list);return _atw.sag()" href="http://www.linuxfordevices.com/index2.php?option=content&amp;task=view&amp;id=48525&amp;pop=1&amp;hide_ads=1&amp;page=0&amp;hide_js=1#">Share again.</a></div>
<div id="at_promo">
<div class="at-promo-btm-ffx at-promo-content">
<h4>AddThis for Firefox</h4>
<p><span>Bookmark, email or share any page, anytime.</span></p>
<div class="at-promo-btn"><a href="http://www.addthis.com/landing/?to=ffext&amp;utm_source=el&amp;utm_medium=link&amp;utm_content=ATTool_orig&amp;utm_campaign=AT_tooldl" target="_blank">Install</a></div>
</div>
</div>
<div id="at_email" style="display: none;">
<form><label for="at_to">To:  <span>(email address)</span></label><textarea id="at_to" class="atfxmode2" onkeypress="if (window._atab) _atab.htkd(this, event)" onkeyup="_atw.filt(this.value.replace(/[;\n]/g,',').replace(/ /g,'').split(',').pop(), _atw.data.contacts.all, 'at16eatdr', '_ataddr', null, 'a')" cols="30" rows="4"></textarea><label for="at_from">From:  <span>(email address)</span></label></p>
<input id="at_from" class="atfxmode2" name="at_from" size="30" type="text" tabindex="3" /><label for="at_msg">Note:  <span>(optional)</span></label><textarea id="at_msg" class="atfxmode2" onkeyup="return _atw.lml(this,250);" cols="30" rows="4"></textarea></p>
<div id="ateml"><small>255 character limit</small></div>
<div id="addthis-pop-email-btns">
<input class="atbtn" onclick="return addthis_send();" type="submit" value="Send" tabindex="5" />
<input class="atbtn" style="color: #666666; font-weight: normal;" onclick="return _atw.cef()" type="reset" value="Cancel" tabindex="6" /></div>
</form>
</div>
</div>
<div id="at16pf"><a id="at16pfpro" class="at-whatsthis" onclick="_ate.cev('ctk', 'ft:fx:pg');return true" href="http://www.addthis.com/landing/?to=ffext&amp;utm_source=hm&amp;utm_medium=link&amp;utm_content=ATFFToolDL_orig&amp;utm_campaign=ATCMFF_DL" target="_blank">Get AddThis for Firefox</a><a id="at-privacy" style="display: none; visibility: hidden;" href="http://www.addthis.com/privacy" target="_blank">Privacy</a><a id="at-logo" class="at_baa" title="AddThis" href="http://www.addthis.com/?utm_source=mm&amp;utm_medium=img&amp;utm_content=ATLogo_orig&amp;utm_campaign=AT_main" target="_blank">AddThis</a></div>
</div>
</div>
</div>
</div>
</div>
<div id="at15s" style="display: none; left: 266px; position: absolute; top: 145px; visibility: visible; z-index: 1000000;" onmouseover="_atw.xwa()" onmouseout="if (this.className.indexOf('border')==-1) addthis_close()">
<div id="at15s_head"><span id="at15ptc">Bookmark &amp; Share</span><span id="at15s_brand">DevSource</span></div>
<div id="at_email15" style="display: none; visibility: hidden;">
<div class="at15e_row">
<p><label>To:</label></p>
<input id="at_to15" class="at15ti" maxlength="80" size="20" type="text" value=" email address" />
</div>
<div class="at15e_row">
<p><label>From:</label></p>
<input id="at_from15" class="at15ti" maxlength="80" size="20" type="text" value=" email address" />
</div>
<div class="at15e_row" style="height: 60px;"><label for="at_msg15">Note:</label><textarea id="at_msg15" style="width: 150px;" cols="30" rows="3"></textarea></div>
<div class="at15e_row">
<p><label> </label></p>
<input id="at_send" onclick="return addthis_send()" type="button" value="Send" />
</div>
</div>
<div id="at_hover" style="display: block;">
<div class="at_item at_col0" onclick="return addthis_sendto('favorites');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_favorites">Favorites</span></div>
<div class="at_item at_col1" onclick="return addthis_sendto('email');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_email">Email</span></div>
<div class="at_item at_col0" onclick="return addthis_sendto('digg');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_digg">Digg</span></div>
<div class="at_item at_col1" onclick="return addthis_sendto('delicious');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_delicious">Delicious</span></div>
<div class="at_item at_col0" onclick="return addthis_sendto('myspace');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_myspace">MySpace</span></div>
<div class="at_item at_col1" onclick="return addthis_sendto('facebook');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_facebook">Facebook</span></div>
<div class="at_item at_col0" onclick="return addthis_sendto('google');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_google">Google</span></div>
<div class="at_item at_col1" onclick="return addthis_sendto('live');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_live">Live</span></div>
<div class="at_item at_colNaN" onclick="return addthis_sendto('more');" onmouseover="_atw.hov(this)" onmouseout="_atw.hov(this)"><span class="at15t at15t_more">More&#8230; (199)</span></div>
</div>
<div id="at16pf"><a id="at15pfpro" class="at-whatsthis" onclick="_ate.cev('ctk', 'ft:fx:pg');return true" href="http://www.addthis.com/landing/?to=ffext&amp;utm_source=hm&amp;utm_medium=link&amp;utm_content=ATFFToolDL_orig&amp;utm_campaign=ATCMFF_DL" target="_blank">Get AddThis for Firefox</a><a id="at-logo" class="at_baa" title="AddThis" href="http://www.addthis.com/?utm_source=hm&amp;utm_medium=img&amp;utm_content=ATLogo_orig&amp;utm_campaign=AT_main" target="_blank">AddThis</a></div>
</div>
</div>
<p><map name='google_ad_map_166_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/166?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_166_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=166&amp;url= http%3A%2F%2Fwww.osscc.org%2F2009%2F11%2Ftutorial-a-simple-embedded-linux-system%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2009/11/tutorial-a-simple-embedded-linux-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Fun With Bash Quoting</title>
		<link>http://www.osscc.org/2009/11/more-fun-with-bash-quoting/</link>
		<comments>http://www.osscc.org/2009/11/more-fun-with-bash-quoting/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 06:39:00 +0000</pubDate>
		<dc:creator>osscc</dc:creator>
				<category><![CDATA[Bash Scripting]]></category>
		<category><![CDATA[Documentation]]></category>

		<guid isPermaLink="false">http://www.osscc.org/2009/11/more-fun-with-bash-quoting/</guid>
		<description><![CDATA[By Mitch Frazier Created 2009-11-19 11:52 &#160; I&#8217;ve written about bash quoting [1] before, and yes, it&#8217;s about as exciting as watching paint dry or listening to the corn grow. It can also be extremely frustrating when it doesn&#8217;t do what you want, case in point: trying to script the updating of a field in [...]]]></description>
			<content:encoded><![CDATA[<p>By <em>Mitch Frazier</em>
<div class="print-created">Created <em>2009-11-19 11:52</em></div>
<div class="print-created"><em>&nbsp;</em></div>
<p>
<div class="print-content">I&#8217;ve written about <a class="reference" href="http://www.linuxjournal.com/content/bash-quoting">bash quoting</a> <span class="print-footnote">[1]</span> before, and yes, it&#8217;s about as exciting as watching paint dry or listening to the corn grow. It can also be extremely frustrating when it doesn&#8217;t do what you want, case in point: trying to script the updating of a field in a mysql table when the field to be changed contains quote characters.<br />Let&#8217;s imagine we have a simple table with the following data and we would like to change the name field:
<div class="highlight">
<pre>+----+----------------------+---------------------+| id | name                 | create_date         |+----+----------------------+---------------------+|  1 | name 'with' "quotes" | 2009-11-19 08:48:59 |+----+----------------------+---------------------+</pre>
</div>
<p>Your first script might look something like this:
<div class="highlight">
<pre><span class="c">#!/bin/bash</span>

<span class="nv">USERNAME</span><span class="o">=</span><span class="k">${</span><span class="nv">USERNAME</span><span class="k">:-</span><span class="nv">user</span><span class="k">}</span><span class="nv">PASSWORD</span><span class="o">=</span><span class="k">${</span><span class="nv">PASSWORD</span><span class="k">:-</span><span class="nv">pwd</span><span class="k">}</span>

<span class="nv">mysql_cmd</span><span class="o">=</span><span class="s2">"mysql -u $USERNAME -p$PASSWORD test"</span>

<span class="c"># Remove mysql header line.</span><span class="k">function </span>remove_header<span class="o">()</span><span class="o">{</span>    <span class="nb">shift</span><span class="nb">    echo</span> <span class="nv">$*</span><span class="o">}</span>

<span class="nv">id</span><span class="o">=</span>1<span class="nv">name</span><span class="o">=</span><span class="k">$(</span>remove_header <span class="k">$(</span><span class="nv">$mysql_cmd</span> -e <span class="s2">"SELECT name FROM atable WHERE id='$id'"</span><span class="k">))</span>

<span class="nv">new_name</span><span class="o">=</span><span class="s2">"$name and more"</span><span class="nb">echo </span>mysql -e <span class="s2">"UPDATE atable SET name='$new_name' WHERE id='$id'"</span><span class="nv">$mysql_cmd</span> -e <span class="s2">"UPDATE atable SET name='$new_name' WHERE id='$id'"</span>

<span class="c"># vim: tabstop=4: shiftwidth=4: noexpandtab:</span><span class="c"># kate: tab-width 4; indent-width 4; replace-tabs false;</span></pre>
</div>
<p>And when you run it, it will puke something like this:
<div class="highlight">
<pre><span class="nv">$ </span>bash badfix.shmysql -e UPDATE atable SET <span class="nv">name</span><span class="o">=</span><span class="s1">'name '</span>with<span class="s1">' quotes and more'</span> WHERE <span class="nv">id</span><span class="o">=</span><span class="s1">'1'</span>ERROR 1064 <span class="o">(</span>42000<span class="o">)</span> at line 1:    You have an error in your SQL syntax;    check the manual that corresponds to your MySQL server version    <span class="k">for </span>the right syntax to use near <span class="s1">'with'</span> quotes and more<span class="s1">' WHERE id='</span>1<span class="s1">''</span>    at line 1</pre>
</div>
<p>Note, the function at the top (<tt class="docutils literal"><span class="pre">remove_header</span></tt>) removes the header line from the mysql output so that we don&#8217;t get the name of the field included in the data.<br />We all know the solution here: we need to escape the quotes in the value so that both bash and mysql are happy. However, this turns out to be easier said than done, and perhaps I missed the obvious, but after numerous attempts (on more than one occasion) the following finally did the trick:
<div class="highlight">
<pre><span class="c">#!/bin/bash</span>

<span class="nv">USERNAME</span><span class="o">=</span><span class="k">${</span><span class="nv">USERNAME</span><span class="k">:-</span><span class="nv">user</span><span class="k">}</span><span class="nv">PASSWORD</span><span class="o">=</span><span class="k">${</span><span class="nv">PASSWORD</span><span class="k">:-</span><span class="nv">pwd</span><span class="k">}</span>

<span class="nv">mysql_cmd</span><span class="o">=</span><span class="s2">"mysql -u $USERNAME -p$PASSWORD test"</span>

<span class="c"># Remove mysql header line.</span><span class="k">function </span>remove_header<span class="o">()</span><span class="o">{</span>    <span class="nb">shift</span><span class="nb">    echo</span> <span class="nv">$*</span><span class="o">}</span>

<span class="c"># Quote any quotes in a mysql value.</span><span class="k">function </span>fix_quotes<span class="o">()</span><span class="o">{</span>    <span class="nb">local  </span><span class="nv">val</span><span class="o">=</span><span class="s2">"$*"</span>    <span class="k">if</span> <span class="o">[[</span> <span class="s2">"$val"</span> <span class="o">=</span>~ .*<span class="se">\'</span>.* <span class="o">]]</span>; <span class="k">then</span> <span class="c">#'</span>        <span class="nb">echo</span> <span class="s2">"String contains single quotes: $val"</span> &gt;&amp;2        <span class="c">#val="${val//'/\\\\'}"</span>        <span class="nv">val</span><span class="o">=</span><span class="k">$(</span>sed -e <span class="s2">"s/'/' \"'\" '/g"</span> &lt;&lt;&lt;<span class="s2">"$val"</span><span class="k">)</span>        <span class="nb">echo </span>New Value: <span class="s2">"$val"</span> &gt;&amp;2    <span class="k">fi</span><span class="k">    </span><span class="nb">echo</span> <span class="s2">"$val"</span><span class="o">}</span>

<span class="nv">id</span><span class="o">=</span>1<span class="nv">name</span><span class="o">=</span><span class="k">$(</span>remove_header <span class="k">$(</span><span class="nv">$mysql_cmd</span> -e <span class="s2">"SELECT name FROM atable WHERE id='$id'"</span><span class="k">))</span>

<span class="nv">fixed_name</span><span class="o">=</span><span class="s2">"$(fix_quotes "</span><span class="nv">$name</span><span class="s2">") and more"</span><span class="nb">echo </span>mysql -e <span class="s2">"UPDATE atable SET name='$fixed_name' WHERE id='$id'"</span><span class="nv">$mysql_cmd</span> -e <span class="s2">"UPDATE atable SET name='$fixed_name' WHERE id='$id'"</span>

<span class="c"># vim: tabstop=4: shiftwidth=4: noexpandtab:</span><span class="c"># kate: tab-width 4; indent-width 4; replace-tabs false;</span></pre>
</div>
<p>The <tt class="docutils literal"><span class="pre">fix_quotes</span></tt> function only checks for single quotes since our mysql value is contained in single quotes:
<div class="highlight">
<pre><span class="nv">$mysql_cmd</span> -e <span class="s2">"UPDATE atable SET name='$fixed_name' WHERE id='$id'"</span><span class="c">#                                     ^           ^</span></pre>
</div>
<p>As you would expect, we don&#8217;t need to escape double quotes inside single quotes for mysql. However, if we wanted to use a literal value in our SQL command we would need to escape double quotes since our SQL command is contained inside double quotes:
<div class="highlight">
<pre><span class="nv">$mysql_cmd</span> -e <span class="s2">"UPDATE atable SET name='quoted \"value\"' WHERE id='$id'"</span><span class="c">#             ^                                                        ^</span></pre>
</div>
<p>We need to escape them in this case for bash&#8217;s benefit and not for mysql: bash will &#8220;remove&#8221; the backslashes before passing the command to mysql.<br />One of my initial attempts (which you can see commented out in the code) was to try to change the value directly using a bash assignment statement. I tried to change each single quote to an escaped single quote:
<div class="highlight">
<pre><span class="nv">val</span><span class="o">=</span><span class="s2">"${val//'/\\\\'}"</span></pre>
</div>
<p>Interestingly, this does not modify the string at all, a result that I don&#8217;t quite understand. I tried a similar thing using <tt class="docutils literal"><span class="pre">sed</span></tt> and that also did not work. The solution that finally worked is based on the fact that mysql, like C++, concatenates adjacent strings into a single string. So, I change (using <tt class="docutils literal"><span class="pre">sed</span></tt>) all single quotes inside the string into the sequence: single-quote, space, double-quote, single-quote, double-quote, space, single-quote.  You may notice that the double quotes are escaped, but that&#8217;s for escaping within the <tt class="docutils literal"><span class="pre">sed</span></tt> command, those don&#8217;t make it into the value that&#8217;s passed to mysql.
<div class="highlight">
<pre><span class="nv">val</span><span class="o">=</span><span class="k">$(</span>sed -e <span class="s2">"s/'/' \"'\" '/g"</span> &lt;&lt;&lt;<span class="s2">"$val"</span><span class="k">)</span></pre>
</div>
<p>Running this final version does the trick:
<div class="highlight">
<pre><span class="nv">$ </span>bash fix.shString contains single quotes: name <span class="s1">'with'</span> <span class="se">\"</span>quotes<span class="se">\"</span>New Value: name <span class="s1">' "'</span><span class="s2">" 'with' "</span><span class="s1">'" '</span> <span class="se">\"</span>quotes<span class="se">\"</span>mysql -e UPDATE atable SET <span class="nv">name</span><span class="o">=</span><span class="s1">'name '</span> <span class="s2">"'"</span> <span class="s1">'with'</span> <span class="s2">"'"</span> <span class="s1">' \"quotes\" and more'</span> WHERE <span class="nv">id</span><span class="o">=</span><span class="s1">'1'</span></pre>
</div>
<p>and you can see the result in the table.
<div class="highlight">
<pre>+----+-------------------------------+---------------------+| id | name                          | create_date         |+----+-------------------------------+---------------------+|  1 | name 'with' "quotes" and more | 2009-11-19 08:48:59 |+----+-------------------------------+---------------------+</pre>
</div>
<p>Have we had enough quoting yet????<br />__________________________ <br />Mitch Frazier is an Associate Editor for <i>Linux Journal</i> and the Web Editor for linuxjournal.com.</div>
<div class="print-footer"> </div>
<hr class="print-hr" />
<div class="print-source_url"><strong>Source URL:</strong> <a href="http://www.linuxjournal.com/content/more-fun-bash-quoting">http://www.linuxjournal.com/content/more-fun-bash-quoting</a></div>
<p><strong>Links:</strong><br />[1] http://www.linuxjournal.com/content/bash-quoting</p>
<p><map name='google_ad_map_159_3db9945d9ae1c815'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/159?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_159_3db9945d9ae1c815' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=159&amp;url= http%3A%2F%2Fwww.osscc.org%2F2009%2F11%2Fmore-fun-with-bash-quoting%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.osscc.org/2009/11/more-fun-with-bash-quoting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

