<?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>Arash Hemmat</title>
	<atom:link href="http://hemmat.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://hemmat.net/blog</link>
	<description>A web programmer</description>
	<lastBuildDate>Tue, 24 Jan 2012 20:36:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Converting HTML5 Video in Bulk</title>
		<link>http://hemmat.net/blog/preparing-html5-video-bulk/</link>
		<comments>http://hemmat.net/blog/preparing-html5-video-bulk/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 22:24:08 +0000</pubDate>
		<dc:creator>Arash Hemmat</dc:creator>
				<category><![CDATA[Tutorials for myself]]></category>

		<guid isPermaLink="false">http://hemmat.net/blog/?p=50</guid>
		<description><![CDATA[Recently i&#8217;ve been working on a multimedia magazine project and i wanted to use HTML5 for playing video, i&#8217;ve decided to use VideoJs while there were also good tools like MediaElementJs and SublimeVideo as you can see in below chart (borrowed from MediaElementJs website!) i needed to have both Webm and H.264 format in order to [...]]]></description>
			<content:encoded><![CDATA[<p>Recently i&#8217;ve been working on a multimedia magazine project and i wanted to use HTML5 for playing video, i&#8217;ve decided to use <a href="http://videojs.com/" target="_blank">VideoJs</a> while there were also good tools like <a href="http://mediaelementjs.com/" target="_blank">MediaElementJs</a> and <a href="http://sublimevideo.net" target="_blank">SublimeVideo</a> as you can see in below chart (borrowed from <a href="http://mediaelementjs.com/" target="_blank">MediaElementJs</a> website!) i needed to have both Webm and H.264 format in order to cover most of the browsers.</p>
<p><a href="http://hemmat.net/blog/wp-content/uploads/2011/12/html5-video-chart.png"><img class="aligncenter size-full wp-image-52" title="html5-video-support-chart" src="http://hemmat.net/blog/wp-content/uploads/2011/12/html5-video-chart.png" alt="html5-video-support-chart" width="830" height="214" /></a>The first problem was the lack of good converters for Webm format, i could find few but most of them were lacking either advanced options or multiple file conversion, so i started using ffmpeg for Webm conversion and it was working pretty good until i realised that ffmpeg has dropped support for H.264 because of the some patent problems, i could build ffmpeg with H.264 support but <a href="http://handbrake.fr" target="_blank">Handbrake</a> was out there with many more features and i decided to use ffmpeg for Webm conversion and Handbrake for H.264 conversion.</p>
<p>I needed to create both Linux and Windows converters for my own use and the other stuff who were using windows.</p>
<h2>Windows Converter</h2>
<p>First i downloaded the Windows builds of Handbrake and ffmpeg:</p>
<blockquote><p>Handbrake: http://handbrake.fr/downloads.php</p>
<p>ffmpeg: http://ffmpeg.zeranoe.com/builds/</p></blockquote>
<p>Then i created a batch file which was reading all files in &#8220;input&#8221; folder convert them and put in &#8220;ouput&#8221; folder, all the user needs to do is to put video files in &#8220;input&#8221; folder and click on &#8220;convert.bat&#8221; file. Here is the &#8220;convert.bat&#8221;:</p>
<blockquote><p>@echo off<br />
SET count=1<br />
FOR /f &#8220;tokens=*&#8221; %%U IN (&#8216;dir /b input&#8217;) DO (<br />
echo %%~nU<br />
ffmpeg.exe -i input\%%U -vcodec libvpx -s 640&#215;360 -aspect 16:9 -b 256k -qmin 4 -qmax 63 -deinterlace -acodec libvorbis -ab 96k -aq 4 -ar 44100 -threads 8 output\%%~nU_normal.webm</p>
<p>ffmpeg -i input\%%U -vcodec libvpx -s 854&#215;480 -aspect 16:9 -b 640k -qmin 4 -qmax 63 -deinterlace -acodec libvorbis -ab 128k -aq 4 -ar 44100 -threads 8 output\%%~nU_high.webm</p>
<p>handbrake -i input\%%U -t 1    -c 1 -o output\%%~nU_normal.mp4 -O -f mp4 -e x264 -w 640 -l 360 &#8211;custom-anamorphic -b 256 -a 1,1 -E faac,ac3 -6 stereo,auto -R 44.1,Auto -B 96,auto -D 0.0,0.0 -x cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subq=6:weightb=0 -v 1</p>
<p>handbrake.exe -i input\%%U -t 1    -c 1 -o output\%%~nU_high.mp4 -O -f mp4 -e x264 -w 854 -l 480 &#8211;custom-anamorphic -b 640 -a 1,1 -E faac,ac3 -6 stereo,auto -R 44.1,Auto -B 128,auto -D 0.0,0.0 -x cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subq=6:weightb=0 -v 1</p>
<p>set /a count+=1 )<br />
pause</p></blockquote>
<p>This bat file covnerts video files in &#8220;input&#8221; folder into two different quality and size which i needed for my project and you can customise them as you wish.</p>
<h2>Linux Converter</h2>
<p>The linux approach is almost the same but to make it work you need to install ffmpeg and Handbrake on your linux box first. Here is the convert.sh batch file:</p>
<blockquote><p>for FILE in `ls input/`<br />
do<br />
NAME=${FILE%\.*}<br />
ffmpeg -i input/$FILE -vcodec libvpx -s 640&#215;360 -aspect 16:9 -b 256k -qmin 4 -qmax 63 -deinterlace -acodec libvorbis -ab 96k -aq 4 -ar 44100 -threads 8 output/&#8221;$NAME&#8221;_normal.webm<br />
ffmpeg -i input/$FILE -vcodec libvpx -s 854&#215;480 -aspect 16:9 -b 640k -qmin 4 -qmax 63 -deinterlace -acodec libvorbis -ab 128k -aq 4 -ar 44100 -threads 8 output/&#8221;$NAME&#8221;_high.webm<br />
HandBrakeCLI -i input/$FILE -t 1    -c 1 -o output/&#8221;$NAME&#8221;_normal.mp4 -O -f mp4 -e x264 -w 640 -l 360 &#8211;custom-anamorphic -b 256 -a 1,1 -E faac,ac3 -6 stereo,auto -R 44.1,Auto -B 96,auto -D 0.0,0.0 -x cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subq=6:weightb=0 -v 1<br />
HandBrakeCLI -i input/$FILE -t 1    -c 1 -o output/&#8221;$NAME&#8221;_high.mp4 -O -f mp4 -e x264 -w 854 -l 480 &#8211;custom-anamorphic -b 640 -a 1,1 -E faac,ac3 -6 stereo,auto -R 44.1,Auto -B 128,auto -D 0.0,0.0 -x cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subq=6:weightb=0 -v 1<br />
done</p></blockquote>
<p>&nbsp;</p>
<h1>Customising Video Quality and size</h1>
<p>I needed two different quality and size for this project, the normal quality and the high quality and the options used in converter is based on these parameters:</p>
<p><strong>Normal Quality</strong></p>
<blockquote><p>Video bitrate: 256k</p>
<p>Video Size: 640&#215;360</p>
<p>Video Aspect: 16:9</p>
<p>Audio bitrate: 96k</p>
<p>&nbsp;</p></blockquote>
<p><strong>High Quality</strong></p>
<blockquote><p>Video bitrate: 640k</p>
<p>Video Size: 854&#215;480</p>
<p>Video Aspect: 16:9</p>
<p>Audio bitrate: 128k</p></blockquote>
<p>The most important thing here is to make a video with a bitrate that suits your user&#8217;s bandwidth, the normal quality needs at least 352 kbps (256k video +96k audio) bandwidth for playing without buffering and the high quality needs at least 768kbps bandwidth for a smooth play, knowing these you should be able to customise the batch files based on your own needs.</p>
<p><strong>Note 1:</strong> this approach won&#8217;t guarantee the bitrate and if you need a guaranteed bitrate you must use a two pass conversion method which is much more complicated.</p>
<p><strong>Note 2:</strong> if you wonder what each of options i used here means you can take a look at ffmpeg and Handbrake cli guides:</p>
<blockquote><p>Handbrake CLI Guide: https://trac.handbrake.fr/wiki/CLIGuide</p>
<p>ffmpeg documentation: http://ffmpeg.org/ffmpeg.html</p></blockquote>
<h1 style="text-align: center;"></h1>
<h1 style="text-align: center;"><a href="http://hemmat.net/blog/wp-content/uploads/2011/12/HTML5_Video_Converter.tar.gz"><strong>Download the Converter Here</strong></a></h1>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://hemmat.net/blog/preparing-html5-video-bulk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian squeeze webserver setup</title>
		<link>http://hemmat.net/blog/debian-squeeze-webserver-setup/</link>
		<comments>http://hemmat.net/blog/debian-squeeze-webserver-setup/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 16:17:06 +0000</pubDate>
		<dc:creator>Arash Hemmat</dc:creator>
				<category><![CDATA[Tutorials for myself]]></category>

		<guid isPermaLink="false">http://hemmat.net/blog/?p=33</guid>
		<description><![CDATA[This is a tutorial for fast setup of a webserver for a VPS or dedicated server with at least 256MB of RAM, in this tutorial I assume that you only have installed the base system and ssh server.]]></description>
			<content:encoded><![CDATA[<p>This is a tutorial for fast setup of a webserver for a VPS or dedicated server with at least 256MB of RAM, in this tutorial I assume that you only have installed the base system and ssh server.</p>
<p>First step is to change the hostname</p>
<blockquote><p>#hostname example.com</p></blockquote>
<p>You should modify the resolv.conf file if your server is not able to resolve internet addresses</p>
<blockquote><p>#nano /etc/resolv.conf</p></blockquote>
<p>Modify the nameserver line to your network nameserver or to one of the primary name servers, i will use the sun and google nameservers here</p>
<blockquote><p>nameserver 4.2.2.4<br />
nameserver 8.8.8.8</p></blockquote>
<p>Now you must edit the repositories <a href="http://packages.debian.org/squeeze/all/mirror/download">click here</a> for the list of official debian squeeze repositories.</p>
<blockquote><p># nano /etc/apt/sources.list</p>
<p>## Debian security updates:<br />
deb http://security.debian.org/ squeeze/updates main contrib non-free<br />
deb-src http://security.debian.org/ squeeze/updates main contrib non-free</p>
<p>## Debian.org:<br />
deb http://ftp.debian.org/debian/ squeeze main contrib non-free<br />
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free</p></blockquote>
<p>Now let&#8217;s update the system</p>
<blockquote><p>#apt-get update</p>
<p>#apt-get upgrade</p></blockquote>
<p>Our server should sync the time with the outer world frequently so we need ntp</p>
<blockquote><p>#apt-get install ntp ntpdate</p></blockquote>
<p>Now we are going to install Apache2 and PHP5</p>
<blockquote><p>#apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-mysql php5-cli apache2-suexec libapache2-mod-suphp</p></blockquote>
<p>Then run the following command to enable the Apache modules</p>
<blockquote><p>#a2enmod suexec rewrite ssl actions include</p></blockquote>
<p>Restart Apache afterwards:</p>
<blockquote><p>#service apache2 restart</p></blockquote>
<p>We will need a virtual host here so let&#8217;s create it</p>
<blockquote><p>#nano /etc/apache2/sites-available/example.com</p></blockquote>
<p>Here is what you should use in this file</p>
<blockquote><p>&lt;VirtualHost *:80&gt;<br />
ServerName example.com<br />
ServerAdmin webmaster@example.com<br />
ServerAlias www.example.com<br />
DocumentRoot /var/www/example<br />
&lt;Directory /var/www/example&gt;<br />
Order deny,allow<br />
AllowOverride All<br />
Allow from All<br />
&lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p>After you save the virtual host file you need to activate it</p>
<blockquote><p>#a2ensite example.com</p></blockquote>
<p>Now you need to restart the apache again</p>
<blockquote><p>$service apache2 restart</p></blockquote>
<p>Now let&#8217;s install Mysql</p>
<blockquote><p>#apt-get install mysql-server mysql-client libmysqlclient15-dev</p></blockquote>
<p>Bind DNS server can be installed as follows</p>
<blockquote><p>#apt-get install bind9 dnsutils</p></blockquote>
<p>Now we need to configure the bind for our fully qualified domain(s), first we need to add a zone to &#8220;/etc/bind/named.conf.local&#8221; file</p>
<blockquote><p>#nano /etc/bind/named.conf.local</p>
<p>zone &#8220;example.com&#8221; {<br />
type master;<br />
file &#8220;/etc/bind/db.example.com&#8221;;<br />
};</p></blockquote>
<p>Now we must create the &#8220;/etc/bind/db.example.com&#8221; file</p>
<blockquote><p>#nano /etc/bind/db.example.com</p></blockquote>
<p>Now copy the below content below replaceing the &#8220;192.168.254.1&#8243; with your server IP.</p>
<blockquote><p>;<br />
; BIND data file for example.com<br />
;<br />
$TTL    604800<br />
@       IN      SOA     ns1.example.com. info.example.com. (<br />
20100714         ; Serial based on date<br />
7200         ; Refresh<br />
120         ; Retry<br />
2419200         ; Expire<br />
604800)        ; Default TTL<br />
;<br />
@               IN      NS      ns1.example.com.<br />
@               IN      NS      ns2.example.com.<br />
example.com.        IN      MX      10      mail.example.com.<br />
example.com.        IN      A       192.168.254.1<br />
ns1                     IN      A       192.168.254.1<br />
ns2                     IN      A       192.168.254.2<br />
www                     IN      CNAME   example.com.<br />
mail                    IN      A       192.168.254.1<br />
ftp                     IN      CNAME   example.com.<br />
example.com.            IN      TXT     &#8220;v=spf1 ip4:192.168.254.1 a mx ~all&#8221;<br />
mail                    IN      TXT     &#8220;v=spf1 a -all&#8221;</p></blockquote>
<p>Now we can restart bind</p>
<blockquote><p>#service bind9 restart</p></blockquote>
<p>Many applications need to send emails so we are going to install a send only mail server</p>
<blockquote><p>#apt-get install exim4-daemon-light mailutils</p></blockquote>
<p>Use the below command to start Exim configuration</p>
<blockquote><p>#dpkg-reconfigure exim4-config</p></blockquote>
<p>Choose &#8220;Internet Site&#8221; when asked about the mail configuration type.</p>
<p>Enter your system&#8217;s FQDN (fully qualified domain name) on the &#8220;mail name&#8221; configuration screen.</p>
<p>Enter &#8220;127.0.0.1&#8243; when asked which IP address to listen on for SMTP connections.</p>
<p>Make sure you list your FQDN, hostname, and localhost entries when you&#8217;re asked which destinations mail should be accepted for.</p>
<p>Leave the relay domains and relay machines fields blank.</p>
<p>Select &#8220;No&#8221; when asked whether to keep DNS queries to a minimum.</p>
<p>You may select either &#8220;mbox&#8221; or &#8220;Maildir&#8221; when asked about the delivery method used for incoming mail. While many utilities use mbox format, Maildir format can make handling individual locally delivered mail messages easier, and is widely supporting by a range of applications.</p>
<p>Accept the default &#8220;non-split&#8221; option for your mail configuration file.</p>
<p>Issue the following command to send a test email, substituting an external email address for someone@somedomain.com.</p>
<blockquote>
<pre>echo "This is a test." | mail -s Testing someone@somedomain.com</pre>
</blockquote>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://hemmat.net/blog/debian-squeeze-webserver-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Trac and Git on Debian lenny</title>
		<link>http://hemmat.net/blog/installing-trac-git-debian-lenny/</link>
		<comments>http://hemmat.net/blog/installing-trac-git-debian-lenny/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 12:15:05 +0000</pubDate>
		<dc:creator>Arash Hemmat</dc:creator>
				<category><![CDATA[Tutorials for myself]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[squeeze]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://hemmat.net/blog/?p=12</guid>
		<description><![CDATA[I couldn't find a good article so I decided to write one, this is a very quick howto for installing Trac with Git on Debian Lenny for myself!]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t find a good article so I decided to write one, this is a very quick howto for installing Trac with Git on Debian Lenny for myself!</p>
<p><strong>First things first</strong></p>
<p>First we should decide where to put our Trac files and Git repository, this is my fashion to put everything in /home directory so when i need a backup of my system all i have to do is to copy my /home directory.</p>
<p>Git repository files for the project test go here:</p>
<blockquote><p>/home/repositories/test/</p></blockquote>
<p>Trac files for project test go here:</p>
<blockquote><p>/home/tracs/test</p></blockquote>
<p><strong>Installing Trac and Git</strong></p>
<p>Thanks to apt magic installing Trac and Git is superb easy:</p>
<blockquote><p>apt-get install trac-git</p></blockquote>
<p><strong>Initialize Git repository</strong></p>
<p>We need  to initialize out  git repository first:</p>
<blockquote><p>cd /home/repositories/test</p>
<p>git init</p>
<p>git commit</p></blockquote>
<p>and it would be a good idea to add some files and folders before going to next step because trac-git plugin is not handling empty repositories very well.</p>
<p><strong>Initializing Trac enviroment</strong></p>
<blockquote><p>trac-admin /home/tracs/test initenv</p></blockquote>
<p>When asked for &#8220;Database connection string&#8221; just press Enter to use the default sqlite and when asked for &#8220;Repository type&#8221; type git and when asked for &#8220;Path to repository&#8221; enter the path like this &#8220;/home/repositories/test/.git&#8221; (Don&#8217;t forget to put the .git after the path)</p>
<p>Now we need to set the permissions:</p>
<blockquote><p>find /home/tracs/test -type f -exec chmod 660 {} \;</p>
<p>find /home/tracs/test -type d -exec chmod 2770 {} \;</p>
<p>chown -R root.www-data /home/repositories</p>
<p>chown -R root.www-data /home/tracs</p></blockquote>
<p><strong>Adding Users to Trac</strong></p>
<p>Let&#8217;s add an admin user to the Trac enviroment:</p>
<blockquote><p>htpasswd -c /home/tracs/test/.htpasswd admin</p></blockquote>
<p>You can add as many user as you want using this method.</p>
<p><strong>Setting the Virtual Host</strong></p>
<p>Now we will setup<strong> </strong>a virtual host like to be able to access trac from a sub domain like http://trac.example.com :</p>
<p>You&#8217;ll probably need to install and activate the apache python module if you don&#8217;t have it already:</p>
<blockquote><p>apt-get install libapache2-mod-python</p>
<p>a2enmod python</p></blockquote>
<p>Then we need to add the virtual host:</p>
<blockquote><p>vim /etc/apache2/sites-available/trac.example.com</p></blockquote>
<p>Now replace the example.com with your own domain name and paste the below lines into the newly created file:</p>
<blockquote><p>&lt;VirtualHost *:80&gt;<br />
ServerName  trac.example.com<br />
ServerAdmin webmaster@example.com</p>
<p># Note: This folder should exist, but will generally be empty<br />
DocumentRoot /home/tracs/test/htdocs<br />
&lt;Directory /home/tracs/test/htdocs&gt;<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;</p>
<p># Host the main Trac instance at /<br />
&lt;Location /&gt;<br />
SetHandler mod_python<br />
PythonHandler trac.web.modpython_frontend<br />
PythonInterpreter main<br />
PythonOption TracEnv /home/tracs/test<br />
PythonOption TracUriRoot /<br />
SetEnv PYTHON_EGG_CACHE /tmp<br />
&lt;/Location&gt;</p>
<p># Host all others at /projects/$PROJECT<br />
&lt;Location /projects&gt;<br />
PythonOption TracEnv &#8220;&#8221;<br />
PythonOption TracEnvParentDir /home/tracs/<br />
&lt;/Location&gt;</p>
<p>&lt;Location /login&gt;<br />
AuthType Basic<br />
AuthName &#8220;Test&#8221;<br />
AuthUserFile /home/tracs/test/.htpasswd<br />
Require valid-user<br />
&lt;/Location&gt;</p>
<p>&lt;/VirtualHost&gt;</p></blockquote>
<p>It is time to restart the apache:</p>
<blockquote><p>/etc/init.d/apache2 restart</p></blockquote>
<p>That&#8217;s it! Point your browser to http://trac.example.com and you&#8217;ll see Trac and Git running painless.</p>
<p><strong>Troubleshooting</strong></p>
<p>If you get an error message like below or something like that you will need to make some changes to the trac.ini file.</p>
<blockquote><p>Warning: <em>Can&#8217;t synchronize with the repository (GIT backend not available</em>)</p></blockquote>
<p>Let&#8217;s open trac.ini and take a look:</p>
<blockquote><p>vim /home/tracs/example/conf/trac.ini</p></blockquote>
<p>First find these lines:</p>
<blockquote><p>[git]<br />
cached_repository = false<br />
git_bin = /usr/bin/git<br />
persistent_cache = false<br />
shortrev_len = 7</p></blockquote>
<p>Now replace &#8220;git_bin = git&#8221; with &#8220;git_bin = /usr/bin/git&#8221;</p>
<p>This should solve the problem, if it is not then continue reading!</p>
<p>Ok, if you are still getting error about git these are the posibilities:</p>
<ul>
<li>Make sure you did put the &#8220;/.git&#8221; after your repository path while initializing the trac enviroment, if not find &#8220;repository_dir&#8221; in trac.ini and fix it.</li>
<li>You may not set the permissions for your repository as described above, make sure www-data has permission to the repository</li>
<li>You may be working with an empty repository, if so add some files and commit.</li>
</ul>
<p>UPDATE 10-02-2010: If you still have problems you may read the comments you may find the solution there!</p>
]]></content:encoded>
			<wfw:commentRss>http://hemmat.net/blog/installing-trac-git-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Hello World!</title>
		<link>http://hemmat.net/blog/hello-world/</link>
		<comments>http://hemmat.net/blog/hello-world/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 06:46:23 +0000</pubDate>
		<dc:creator>Arash Hemmat</dc:creator>
				<category><![CDATA[Daily]]></category>
		<category><![CDATA[Hello World]]></category>

		<guid isPermaLink="false">http://hemmat.net/blog/?p=1</guid>
		<description><![CDATA[Hello wrold! if you&#8217;ve had an expirince of learning a computer programing language you should be familiar with this sentence, almost in all the books about programing languages the first thing to do is printing  this sentence! As I&#8217;m a programmer tought that I should start my blog with it, so HELLO WORLD!]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Hello wrold! if you&#8217;ve had an expirince of learning a computer programing language you should be familiar with this sentence, almost in all the books about programing languages the first thing to do is printing  this sentence! As I&#8217;m a programmer tought that I should start my blog with it, so HELLO WORLD!</p>
]]></content:encoded>
			<wfw:commentRss>http://hemmat.net/blog/hello-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

