<?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>Tara Andrei</title>
	<atom:link href="http://www.andreitara.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andreitara.com</link>
	<description>a developer&#039;s blog</description>
	<lastBuildDate>Sun, 18 Jul 2010 17:46:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[theGlowfish] &#8211; codename for my new CMS</title>
		<link>http://www.andreitara.com/2010/07/theglowfish-codename-for-my-new-cms/</link>
		<comments>http://www.andreitara.com/2010/07/theglowfish-codename-for-my-new-cms/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 17:46:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=265</guid>
		<description><![CDATA[
It&#8217;s alive!!! Finally I have enough time to finis a first pre-alpha  release of my CMS (code name theGlowfish).

So what  a hack is theGlowfish ? Well theGlowfish  is an CMS  ( or in long form is an content management system ), an  application that allows user to administrate the content of the website [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andreitara.com/wp-content/uploads/2010/07/Untitled-421.jpg"><img class="size-full wp-image-267 alignnone" title="Untitled-42" src="http://www.andreitara.com/wp-content/uploads/2010/07/Untitled-421.jpg" alt="Untitled-42" width="588" height="389" /></a></p>
<p>It&#8217;s alive!!! Finally I have enough time to finis a first pre-alpha  release of my CMS (code name <strong>theGlowfish</strong>).</p>
<p><span id="more-265"></span></p>
<p><span style="text-decoration: underline;"><strong>So what  a hack is </strong></span><strong><strong><span style="text-decoration: underline;">theGlowfish </span>? </strong></strong>Well theGlowfish  is an CMS  ( or in long form is an content management system ), an  application that allows user to administrate the content of the website  without having to bother about how the thinks are done. Content can be  simple text, photos,  movies, documents and anything that you can  imagine.</p>
<p><strong><span style="text-decoration: underline;">Why a pre-alpha release ? Why not an beta RC </span>?</strong> The answer is very simple: there are some modules under development ( deployment, update and design  module) that will be integrated in application core.</p>
<p><span style="text-decoration: underline;"><strong>Why should I use it ?</strong></span> There are a lot of advantages of using theGlowfish from each point of view:</p>
<p>Simple user:</p>
<ul>
<li>Clean, simple and intuitive administration panel.</li>
<li>Multiple tabs allowing you to do more stuff in parallel (for instance editing an article and creating a new menu).<a href="http://www.andreitara.com/wp-content/uploads/2010/07/Untitledgugujgbjh-1.jpg"><img class="alignnone  size-full wp-image-274" title="Untitledgugujgbjh-1" src="http://www.andreitara.com/wp-content/uploads/2010/07/Untitledgugujgbjh-1.jpg" alt="Untitledgugujgbjh-1" width="639" height="339" /></a></li>
<li>Treat separate the public content, private content (for registered users)</li>
<li>Multiple languages native support.</li>
<li>Mobile device detection, allowing  to be displayed a more simple design, small images, etc.<br />
<a href="http://www.andreitara.com/wp-content/uploads/2010/07/Untitlasdasdasdasdasdd-2.jpg"><img class="alignnone size-full wp-image-276" title="Untitlasdasdasdasdasdd-2" src="http://www.andreitara.com/wp-content/uploads/2010/07/Untitlasdasdasdasdasdd-2.jpg" alt="Untitlasdasdasdasdasdd-2" width="613" height="399" /></a></li>
<li>Simple and elegant content editor<br />
<a href="http://www.andreitara.com/wp-content/uploads/2010/07/Untitledhiuhkjhkjhhhhhhhhhhhhhhhhhhhhhhhhhh-1.jpg"><img class="alignnone size-full wp-image-275" title="Untitledhiuhkjhkjhhhhhhhhhhhhhhhhhhhhhhhhhh-1" src="http://www.andreitara.com/wp-content/uploads/2010/07/Untitledhiuhkjhkjhhhhhhhhhhhhhhhhhhhhhhhhhh-1.jpg" alt="Untitledhiuhkjhkjhhhhhhhhhhhhhhhhhhhhhhhhhh-1" width="584" height="412" /></a></li>
</ul>
<p>Designer:</p>
<p>Creating a theme for theGlowfish is very simple all you have to do is  to create an HTML as you are used and add some special tags called <em>positions </em>that indicate to the template engine that there must be  displayed  something. The form of a <em>position </em>is <span style="color: #ff0000;">{position name=&#8217;name&#8217;}</span>. Let  see an basic example:</p>
<blockquote><p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0  Transitional//EN&#8221;  &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;<br />
&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;</p>
<p>&lt;head&gt;</p>
<p>&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html;  charset=iso-8859-1&#8243; /&gt;</p>
<p>&lt;link href=&#8221;<span style="color:  #ff0000;">{$TEMPLATE_PATH}</span>/css/style.css&#8221; rel=&#8221;stylesheet&#8221; /&gt;<br />
&lt;link href=&#8221;<span style="color:  #ff0000;">{$TEMPLATE_PATH}</span>/css/buttons.css&#8221; rel=&#8221;stylesheet&#8221;  /&gt;</p>
<p><span style="color: #ff0000;">{position  name=&#8217;head&#8217;}</span></p>
<p>&lt;/head&gt;</p>
<p>&lt;body &gt;</p>
<p><span style="color: #ff0000;">{position  name=&#8217;Menu&#8217; }</span></p>
<p>&lt;hr /&gt;</p>
<p><span style="color: #ff0000;">{position  name=&#8217;Content&#8217; }</span></p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p></blockquote>
<p>In the example above are defined 3 positions, to each position it can  be associated  items to be displayed, for instance an menu or content  of a page. Another simple modifier is the <span style="color: #ff0000;">{$TEMPLATE_PATH} <span style="color: #000000;">, the template engine will  replace the {$TEMPLATE_PATH} with the correct relative path of the  resource (image, file). There are more other special tags with more  magic, the template engine used extends Smarty.</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">Coder:</span></span></p>
<ul>
<li><span style="color: #ff0000;"><span style="color: #000000;">modularity</span></span><br />
<span style="color: #ff0000;"> </span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">plugin support<br />
</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">MVC architecture</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">independent of database type<br />
</span></span></li>
</ul>
<p><span style="text-decoration: underline;"><strong>History ? </strong></span> I get sick  of trying to develop new features for some well known &#8220;classic&#8221;  CMS.  The weakness of the most free CMS are:  mixing the code with the  presentation or the aspect of the website,bad understanding an  utilization of OOP (object orientated programming), database dependency,  so trying to extend or change something is very unproductive ( in non  academic terms ..a pain in the ass ). The story of theGlowfish has started couple of months ago on a rainy day with me scratching some core UML diagrams of the  new CMS on an old piece of paper. If the first version wasn&#8217;t flexible enough, the second was too generic even for me ( if you <span id="result_box"><span style="background-color: #ffffff;">would know me</span></span>, I am the fan of generic programing ). The 3&#8242;rd version combined the simplicity of first and the flexibility of second was the perfect one.</p>
<p><span style="text-decoration: underline;"><strong> </strong></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;"><span style="text-decoration: underline;"><strong>Cool&#8230; so where can I try theGlowfish ?</strong></span></span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">demo page: http:\\test.andreitara.com/</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">admin page: http:\\test.andreitara.com/administrator/</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">user: admin</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">password: admin</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;"><span style="text-decoration: underline;"><strong>Do you like it ? Want or participate ?</strong></span><br />
</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">I have big plans and a lot o ideas for my CMS, the problem is that I don&#8217;t have time to do all the work by myself (software design, implementation, user interface, graphics , testing and debug) . If you are interested you can help me with:</span></span></p>
<ul>
<li><span style="color: #ff0000;"><span style="color: #000000;">test and debug</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">implementation (PHP, Javascript and MySql)<br />
</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">design and graphics</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">spread the idea (tell to all you&#8217;re friends about theGlowfish )</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">tell me about the things that can be improved.<br />
</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;"><a href="http://www.andreitara.com/wp-content/uploads/2010/07/We_Need_You.jpg"><img class="alignnone size-full wp-image-279" title="We_Need_You" src="http://www.andreitara.com/wp-content/uploads/2010/07/We_Need_You.jpg" alt="We_Need_You" width="283" height="381" /></a><br />
</span></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2010/07/theglowfish-codename-for-my-new-cms/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The magic of mode_rewrite</title>
		<link>http://www.andreitara.com/2010/06/the-magic-of-mode_rewrite/</link>
		<comments>http://www.andreitara.com/2010/06/the-magic-of-mode_rewrite/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 20:00:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[others]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[apache mode_rewrite]]></category>
		<category><![CDATA[installing mode_rewrite on linux]]></category>
		<category><![CDATA[installing mode_rewrite on windows]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=244</guid>
		<description><![CDATA[There&#8217;s a long time in the galaxy since I haven&#8217;t post on my blog and now,  finally here I am, posing a new article. Today I will speak about htaccess mod_rewrite. Well despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo.
The majority of the web servers, that are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andreitara.com/wp-content/uploads/2010/06/images.jpg"><img class="alignleft size-full wp-image-252" title="images" src="http://www.andreitara.com/wp-content/uploads/2010/06/images.jpg" alt="images" width="179" height="134" /></a>There&#8217;s a long time in the galaxy since I haven&#8217;t post on my blog and now,  finally here I am, posing a new article. Today I will speak about <a title=".Htaccess rewrites, Mod_Rewrite Tricks and Tips" href="http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html">htaccess mod_rewrite</a>. Well despite the tons of examples and docs, <strong>mod_rewrite</strong> is voodoo. Damned cool voodoo, but still voodoo.</p>
<p>The majority of the web servers, that are based on Apache, have the mod_rewrite enabled so you don&#8217;t have to get dirty to install it on the hosting server.But anyone of those that are developing web application based on Apache server,  using PHP have a local installed server therefore mode_rewrite is also  necessary in testing process.<br />
<span id="more-244"></span></p>
<p>Installing mod_rewrite :</p>
<ol>
<li>On Linux: edit the Apache configuration file (  httpd.conf ) and uncomment   <em>LoadModule rewrite_module modules/mod_rewrite.so</em> (remove the  pound &#8216;#&#8217; sign from in front of the line) . Also be sure that the lines containing <em>ClearModuleList</em> and <em>AddModule mod_rewrite.c are</em> uncommented . Now you can create the famous .htacess file on the root of you website and start adding your code.</li>
<li>On Windows: well as we are expecting, things are a bit more complicated because on Windows you cannot create a file that doesn&#8217;t have a name (.htacess is a file that only have an extension). For first just uncomment the same lines as in the Linux example. Now you have to tell Apache to use you&#8217;re custom file instead of  .htacess file, so search in the configuration file (httpd.conf)  for the following lines:</li>
</ol>
<p style="padding-left: 60px;"><strong># AccessFileName: The  name of the file to look for in each directory # for additional  configuration directives. See also the AllowOverride<br />
# directive.<br />
#<br />
AccessFileName .htaccess (change the .htaccess to [name].htaccess where name can be whatever what you wish )</strong></p>
<p style="padding-left: 30px;">You can escape this step and create the .htacess file even on windows, actually the restriction of creating a file without name is an restriction of Windows Explorer is not an restriction of the operating system<strong> </strong>. Open the command (cmd), go to the root folder of the website and type <strong>copy con .htacess </strong>and press <strong>Ctrl+Z</strong>. well&#8230; that&#8217;s all folks.</p>
<p>Maybe you are asking yourself  about mod_rewrite and where to use it, well the short and  simple answer is :  for simplifying the URL of a website, simpler/shorter URL are easier to write easier to remember. For example instead of having an URL  like this www.example.com?id_product=23123&amp;color=23 you can have something like www.example.com/iphone-white. Mod_rewrite basicly make   use of regular expression to rewrite an specified URL.</p>
<p style="padding-left: 30px;">When to use it: mod_rewrite can be used in many circumstances where you may want to rewrite the an URL, also you can create dynamically virtual hosting entry;  practically mode_rewrite is an &#8220;Swiss Army Knife&#8221;.</p>
<p style="padding-left: 30px;">When not to use it: well as I have mentioned  before mode_rewrite make use of regular expression, and evaluating regular expression takes time, use memory and the global performance of the server is decreasing.</p>
<p>I will provide you some basic example of using mode_rewrite. .htaccess file should begin with:</p>
<pre style="padding-left: 60px;"><strong>Options +FollowSymLinks
RewriteEngine On
RewriteBase /

</strong></pre>
<ol>
<li><span style="text-decoration: underline;">Redirecting</span> <strong> </strong><br />
<strong>Redirect /index.php   http://www.example.com</strong>/    -this example redirect the current site to www.example.com<br />
RedirectMatch (.*)\.gif http://images.example.com$1.png      -In this example, we’ve taken all of our GIF files, converted them to PNG files, and<br />
moved them to another server</li>
<li><span style="text-decoration: underline;">Require www</span>
<pre>Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]</pre>
</li>
<li>Denying access to a folder except of fopen file from php
<pre>RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)/.*\ HTTP [NC]
RewriteRule .* - [F,L]</pre>
</li>
<li>Limit access during some hours
<pre class="odd">Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# If the hour is 7
RewriteCond %{TIME_HOUR} ^7$
RewriteRule ^.*$ - [F,L]</pre>
</li>
</ol>
<p>These samples are here just to open your appetite for mode_rewrite. Practically this tool can be used in any other ways,yes&#8230; the limit is your imagination.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2010/06/the-magic-of-mode_rewrite/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Protecting HTML source code from being stolen</title>
		<link>http://www.andreitara.com/2010/03/protecting-html-source-code-from-being-stolen/</link>
		<comments>http://www.andreitara.com/2010/03/protecting-html-source-code-from-being-stolen/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 19:01:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web app]]></category>
		<category><![CDATA[web page protection]]></category>
		<category><![CDATA[hite web page code]]></category>
		<category><![CDATA[html protector]]></category>
		<category><![CDATA[javascript page encryptor]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=222</guid>
		<description><![CDATA[A  lot of people are asking me how they can protect the source code of HTML of they&#8217;re  site from being seen or worst being stolen. Well, the simple and short answer is that you can&#8217;t everything that the browser loads to render it can be seen by the user. The simplest method to protect [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-238" title="011810_home_security" src="http://www.andreitara.com/wp-content/uploads/2010/03/011810_home_security.jpg" alt="011810_home_security" width="243" height="243" />A  lot of people are asking me how they can <strong>protect the source code</strong> of HTML of they&#8217;re  site from being seen or worst being stolen. Well, the simple and <span style="text-decoration: underline;">short answer</span> is that <span style="text-decoration: underline;">you can&#8217;t</span> everything that the browser loads to render it can be seen by the user. The simplest method to protect you&#8217;re source HTML code is  never to publish it on Internet <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Well seriously, there are some <strong>meta methods</strong> to <strong>protect</strong> you&#8217;re <strong>HTML</strong> source from being seen by a common user not from an expert user.I will enumerate some methods starting with the simplest.<br />
<span id="more-222"></span></p>
<ul>
<li>The first method, maybe the most stupid one but used by many people (stupid ideas work for stupid people <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) is <strong>putting a lot of empty line in front of HTML source</strong>. If the user looks at the source will see just empty white page. But if he scroll down on bottom of the page he will see the source.</li>
<li>The  second method is to disable right click on page. To do that just take a look at next code://Disable right click script III- By Renigade (renigade@mediaone.net)<br />
//For full source code, visit http://www.dynamicdrive.com</p>
<p>var message=&#8221;";<br />
///////////////////////////////////<br />
function clickIE() {if (document.all) {(message);return false;}}<br />
function clickNS(e)<br />
{<br />
if(document.layers||(document.getElementById&amp;&amp;!document.all))<br />
{<br />
if (e.which==2||e.which==3)<br />
{(message);return false;}<br />
}<br />
}</p>
<p>if (document.layers)<br />
{<br />
document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;<br />
}<br />
else<br />
{<br />
document.onmouseup=clickNS;document.oncontextmenu=clickIE;<br />
}</p>
<p>document.oncontextmenu=new Function(&#8221;return false&#8221;)<br />
// &#8211;&gt;</p>
<p>Now that the user can do right click-&gt;show page source,  you have achieved a good protection method,  if you user is a old granny  <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  that doesn&#8217;t know to use  (Ctrl+U)  shortcut or Edit-&gt;View page soure.</li>
<li>The third method is to <strong>use javascript</strong> to hide the HTML content. A short example is presented next:<br />
Let&#8217;s suppose that the page has the following code:&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;<br />
&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt;<br />
&lt;title&gt;Sample HTML-hide sorece code&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body&gt;<br />
Blah blah blah<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>Now what we have to do next is to &#8220;encrypt&#8221; this content, go to http://www.swingnote.com/tools/texttohex.php or a similar page and convert the text source code to an hexa representation. You will obtain something similar to this:<br />
%3c%21%44%4f%43%54%59%50%45%20%68%74%6d%6c%20%50%55%42%4c%49%43%20%5c%22%2d%2f%2f%57%33%43%2f%2f%44%54%44%20%58%48%54%4d%4c%20%31%2e%30%20%54%72%61%6e%73%69%74%69%6f%6e%61%6c%2f%2f%45%4e%5c%22%20%5c%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%54%52%2f%78%68%74%6d%6c%31%2f%44%54%44%2f%78%68%74%6d%6c%31%2d%74%72%61%6e%73%69%74%69%6f%6e%61%6c%2e%64%74%64%5c%22%3e%20%3c%68%74%6d%6c%20%78%6d%6c%6e%73%3d%5c%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%31%39%39%39%2f%78%68%74%6d%6c%5c%22%3e%20%3c%68%65%61%64%3e%20%3c%6d%65%74%61%20%68%74%74%70%2d%65%71%75%69%76%3d%5c%22%43%6f%6e%74%65%6e%74%2d%54%79%70%65%5c%22%20%63%6f%6e%74%65%6e%74%3d%5c%22%74%65%78%74%2f%68%74%6d%6c%3b%20%63%68%61%72%73%65%74%3d%75%74%66%2d%38%5c%22%20%2f%3e%20%3c%74%69%74%6c%65%3e%53%61%6d%70%6c%65%20%48%54%4d%4c%2d%68%69%64%65%20%73%6f%72%65%63%65%20%63%6f%64%65%3c%2f%74%69%74%6c%65%3e%20%3c%2f%68%65%61%64%3e%20%20%3c%62%6f%64%79%3e%20%09%42%6c%61%68%20%62%6c%61%68%20%62%6c%61%68%20%3c%2f%62%6f%64%79%3e%20%3c%2f%68%74%6d%6c%3e</p>
<p>The page is the same but now has a different representation that is strange to a common user but remember that this is a <em>meta protection method </em>an advanced user can and will do the reverse method to obtain you&#8217;re source.<br />
The next step is to create the &#8220;protected&#8221; page, create a new HTML document and add the next code:</p>
<p>&lt;script&gt;<br />
<strong>document.write</strong>(<strong>unescape</strong>(&#8221;%3c%21%44%4f%43%54%59%50%45%20%68%74%6d%6c%20%50%55%42%4c%49%43%20%5c%22%2d%2f%2f%57%33%43%2f%2f%44%54%44%20%58%48%54%4d%4c%20%31%2e%30%20%54%72%61%6e%73%69%74%69%6f%6e%61%6c%2f%2f%45%4e%5c%22%20%5c%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%54%52%2f%78%68%74%6d%6c%31%2f%44%54%44%2f%78%68%74%6d%6c%31%2d%74%72%61%6e%73%69%74%69%6f%6e%61%6c%2e%64%74%64%5c%22%3e%20%3c%68%74%6d%6c%20%78%6d%6c%6e%73%3d%5c%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%31%39%39%39%2f%78%68%74%6d%6c%5c%22%3e%20%3c%68%65%61%64%3e%20%3c%6d%65%74%61%20%68%74%74%70%2d%65%71%75%69%76%3d%5c%22%43%6f%6e%74%65%6e%74%2d%54%79%70%65%5c%22%20%63%6f%6e%74%65%6e%74%3d%5c%22%74%65%78%74%2f%68%74%6d%6c%3b%20%63%68%61%72%73%65%74%3d%75%74%66%2d%38%5c%22%20%2f%3e%20%3c%74%69%74%6c%65%3e%53%61%6d%70%6c%65%20%48%54%4d%4c%2d%68%69%64%65%20%73%6f%72%65%63%65%20%63%6f%64%65%3c%2f%74%69%74%6c%65%3e%20%3c%2f%68%65%61%64%3e%20%20%3c%62%6f%64%79%3e%20%09%42%6c%61%68%20%62%6c%61%68%20%62%6c%61%68%20%3c%2f%62%6f%64%79%3e%20%3c%2f%68%74%6d%6c%3e&#8221;));<br />
&lt;/script&gt;<br />
As you can see all we are doing is to use javascript to write the content (<strong>document.write</strong> method).<br />
<span style="color: #ff0000;">!!! Important</span> : if user has the javascript disabled he will not see anything because the code will not execute, therefore will  be nothing displayed. Also remember that most of searchengine as Google or Yahoo crawl  the web in text mode,  remember that <span style="text-decoration: underline;">javascript is luxury</span> not a necessity.</li>
<li>Now is time to get serious and speak about some more advanced, a little bit harder to break (not impossible to break), technique   to keep you HTML source protected.The base idea is to encrypt the content of the HTML page, this time really encryption . Let imagine  a function for encryption this time a simple one that is using xor logic function to achieve encryption. The code to do that is showed next:<br />
//Encryptionfunction encrypt(text,key){</p>
<p>var rez=new Array(text.length);<br />
for(i=0;i&lt;text.length;i++){<br />
rez[i]=text.charCodeAt(i) ^key.charCodeAt(i%key.length);<br />
}<br />
return rez;<br />
}</p>
<p>//Decryption</p>
<p>function decrypt(text,key){<br />
var rez=&#8221;";<br />
for(i=0;i&lt;text.length;i++){<br />
rez+=String.fromCharCode(text[i] ^key.charCodeAt(i%key.length));</p>
<p>}<br />
return rez;<br />
}</p>
<p>Using the functions in this form won&#8217;t help to much because the user will see clear what is about, so I am going to obfuscate the code (if you don&#8217;t know what is that google it <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Now the code looks not so friendly :</p>
<p>eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!&#8221;.replace(/^/,String)){while(c&#8211;){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return&#8217;\\w+&#8217;};c=1};while(c&#8211;){if(k[c]){p=p.replace(new RegExp(&#8217;\\b&#8217;+e(c)+&#8217;\\b&#8217;,'g&#8217;),k[c])}}return p}(&#8217;8 c(2,4){9 3=d b(2.5);7(1=0;1&lt;2.5;1++){3[1]=2.6(1)^4.6(1%4.5)}a 3}8 f(2,4){9 3=&#8221;";7(1=0;1&lt;2.5;1++){3+=e.g(2[1]^4.6(1%4.5))}a 3}&#8217;,17,17,&#8217;|i|text|rez|key|length|charCodeAt|for|function|var|return|Array|encrypt|new|String|decrypt|fromCharCode&#8217;.split(&#8217;|'),0,{}))</p>
<p>The next step is to convert you&#8217;re page in hexa as showed previously in this post, suppost that we are using the same page the hexa will be:</p>
<p>%3c%21%44%4f%43%54%59%50%45%20%68%74%6d%6c%20%50%55%42%4c%49%43%20%5c%22%2d%2f%2f%57%33%43%2f%2f%44%54%44%20%58%48%54%4d%4c%20%31%2e%30%20%54%72%61%6e%73%69%74%69%6f%6e%61%6c%2f%2f%45%4e%5c%22%20%5c%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%54%52%2f%78%68%74%6d%6c%31%2f%44%54%44%2f%78%68%74%6d%6c%31%2d%74%72%61%6e%73%69%74%69%6f%6e%61%6c%2e%64%74%64%5c%22%3e%20%3c%68%74%6d%6c%20%78%6d%6c%6e%73%3d%5c%22%68%74%74%70%3a%2f%2f%77%77%77%2e%77%33%2e%6f%72%67%2f%31%39%39%39%2f%78%68%74%6d%6c%5c%22%3e%20%3c%68%65%61%64%3e%20%3c%6d%65%74%61%20%68%74%74%70%2d%65%71%75%69%76%3d%5c%22%43%6f%6e%74%65%6e%74%2d%54%79%70%65%5c%22%20%63%6f%6e%74%65%6e%74%3d%5c%22%74%65%78%74%2f%68%74%6d%6c%3b%20%63%68%61%72%73%65%74%3d%75%74%66%2d%38%5c%22%20%2f%3e%20%3c%74%69%74%6c%65%3e%53%61%6d%70%6c%65%20%48%54%4d%4c%2d%68%69%64%65%20%73%6f%72%65%63%65%20%63%6f%64%65%3c%2f%74%69%74%6c%65%3e%20%3c%2f%68%65%61%64%3e%20%20%3c%62%6f%64%79%3e%20%09%42%6c%61%68%20%62%6c%61%68%20%62%6c%61%68%20%3c%2f%62%6f%64%79%3e%20%3c%2f%68%74%6d%6c%3e</p>
<p>now is time to encrypt the hexa representation with a key, so apply encrypt(&#8221;&#8230;hexa text &#8230;.&#8221;,&#8221;&#8230;you personal key&#8230;&#8221;) . I used as key &#8220;secret&#8221; and have obtained this:</p>
<p>86,86,0,87,87,69,86,81,87,87,81,18,86,81,80,87,80,64,86,80,90,87,80,68,86,81,86,87,87,68,86,83,91,87,82,64,86,83,7,87,83,23,86,87,83,87,80,68,86,80,86,87,81,70,<br />
86,81,0,87,81,77,86,81,80,87,87,68,86,80,0,87,87,70,86,87,7,87,87,18,86,87,5,87,80,67,86,86,80,87,81,71,86,87,5,87,87,18,86,81,87,87,80,64,86,81,87,87,87,68,86,<br />
80,91,87,81,76,86,80,87,87,81,16,86,81,0,87,87,68,86,86,82,87,87,17,86,86,83,87,87,68,86,80,87,87,82,70,86,83,82,87,83,17,86,82,80,87,83,77,86,82,87,87,83,77,86,<br />
83,5,87,83,17,86,83,82,87,83,23,86,87,5,87,87,18,86,81,86,87,81,17,86,80,0,87,87,70,86,87,83,87,80,23,86,87,81,87,83,76,86,82,87,87,82,64,86,82,83,87,86,21,86,87,5<br />
,87,87,18,86,82,84,87,82,67,86,82,84,87,87,17,86,82,84,87,86,71,86,87,6,87,83,18,86,82,81,87,83,67,86,87,5,87,80,64,86,80,81,87,87,18,86,82,91,87,83,76,86,82,87,87,<br />
83,16,86,83,0,87,86,69,86,87,5,87,81,64,86,80,87,87,81,64,86,87,5,87,82,76,86,83,91,87,82,64,86,83,7,87,83,23,86,86,82,87,87,16,86,82,87,87,82,70,86,83,82,87,83,17,<br />
86,82,80,87,83,77,86,82,87,87,83,77,86,83,5,87,83,17,86,83,82,87,83,23,86,87,6,87,83,64,86,82,87,87,83,64,86,80,0,87,87,70,86,86,6,87,87,68,86,86,0,87,83,76,86,82,<br />
87,87,83,16,86,83,0,87,87,68,86,82,91,87,83,16,86,83,0,87,83,17,86,82,80,87,86,16,86,80,0,87,87,70,86,83,91,87,82,64,86,82,87,87,82,68,86,86,2,87,87,18,86,87,5,87,<br />
82,67,86,82,84,87,82,67,86,87,6,87,82,67,86,86,80,87,87,17,86,83,5,87,82,70,86,83,84,87,87,18,86,86,82,87,86,77,86,86,90,87,86,77,86,87,5,87,82,76,86,83,91,87,82,64<br />
,86,83,7,87,83,23,86,80,0,87,87,70,86,86,6,87,87,68,86,86,0,87,83,76,86,83,86,87,83,69,86,83,87,87,86,17,86,87,83,87,86,23,86,83,7,87,83,65,86,82,87,87,83,69,86,87,83,<br />
87,83,76,86,82,87,87,82,64,86,82,83,87,87,16,86,83,86,87,82,69,86,82,86,87,83,77,86,82,85,87,86,16,86,80,0,87,87,70,86,81,80,87,83,18,86,83,6,87,82,64,86,83,86,87,83,<br />
17,86,82,87,87,87,16,86,80,87,87,82,77,86,82,83,87,83,65,86,80,0,87,87,70,86,87,83,87,83,71,86,83,5,87,83,17,86,82,87,87,83,65,86,83,6,87,82,64,86,86,7,87,80,23,86,87<br />
,81,87,82,64,86,83,86,87,82,76,86,82,87,87,87,18,86,83,91,87,82,64,86,83,7,87,83,23,86,86,1,87,87,68,86,83,80,87,83,76,86,83,82,87,82,70,86,82,80,87,83,65,86,82,87,87,86,<br />
16,86,82,86,87,82,64,86,83,85,87,87,16,86,86,91,87,80,23,86,87,81,87,87,68,86,87,5,87,86,17,86,87,83,87,86,23,86,82,87,87,83,77,86,82,87,87,83,23,86,83,86,87,86,17,86,<br />
80,80,87,83,69,86,83,7,87,82,68,86,83,0,87,83,65,86,87,83,87,81,76,86,80,87,87,81,16,86,81,0,87,87,16,86,83,91,87,83,77,86,83,87,87,83,65,86,87,83,87,82,71,86,83,5,<br />
87,82,70,86,83,86,87,83,71,86,83,86,87,87,68,86,83,80,87,83,18,86,83,87,87,83,65,86,86,0,87,87,18,86,82,87,87,83,77,86,82,87,87,83,23,86,83,86,87,86,17,86,87,83,87,<br />
86,23,86,87,5,87,83,76,86,83,86,87,83,69,86,83,87,87,86,17,86,87,83,87,87,68,86,86,0,87,83,70,86,83,5,87,83,64,86,82,90,87,86,17,86,87,83,87,85,77,86,81,81,87,83,23,<br />
86,83,82,87,83,76,86,87,83,87,83,70,86,83,0,87,83,69,86,83,91,87,87,68,86,83,81,87,83,23,86,83,82,87,83,76,86,87,83,87,86,23,86,87,5,87,83,70,86,83,5,87,83,64,86,82,<br />
90,87,86,17,86,87,83,87,86,23,86,87,5,87,83,76,86,82,87,87,83,16,86,83,0,87,86,17</p>
<p>Now let&#8217;s create the script,that will display the content of page, that will be the final step:</p>
<p>document.write(unescape(decrypt(new Array(86,86,0,87,87,69,86,81,87,87,81,18,86,81,80,87,80,64,86,80,90,87,80,68,86,81,86,87,87,68,86,83,91,87,82,64,86,83,7,87,83,23,86,87,83,87,80,68,86,80,86,87,81,70,<br />
86,81,0,87,81,77,86,81,80,87,87,68,86,80,0,87,87,70,86,87,7,87,87,18,86,87,5,87,80,67,86,86,80,87,81,71,86,87,5,87,87,18,86,81,87,87,80,64,86,81,87,87,87,68,86,<br />
80,91,87,81,76,86,80,87,87,81,16,86,81,0,87,87,68,86,86,82,87,87,17,86,86,83,87,87,68,86,80,87,87,82,70,86,83,82,87,83,17,86,82,80,87,83,77,86,82,87,87,83,77,86,<br />
83,5,87,83,17,86,83,82,87,83,23,86,87,5,87,87,18,86,81,86,87,81,17,86,80,0,87,87,70,86,87,83,87,80,23,86,87,81,87,83,76,86,82,87,87,82,64,86,82,83,87,86,21,86,87,5<br />
,87,87,18,86,82,84,87,82,67,86,82,84,87,87,17,86,82,84,87,86,71,86,87,6,87,83,18,86,82,81,87,83,67,86,87,5,87,80,64,86,80,81,87,87,18,86,82,91,87,83,76,86,82,87,87,<br />
83,16,86,83,0,87,86,69,86,87,5,87,81,64,86,80,87,87,81,64,86,87,5,87,82,76,86,83,91,87,82,64,86,83,7,87,83,23,86,86,82,87,87,16,86,82,87,87,82,70,86,83,82,87,83,17,<br />
86,82,80,87,83,77,86,82,87,87,83,77,86,83,5,87,83,17,86,83,82,87,83,23,86,87,6,87,83,64,86,82,87,87,83,64,86,80,0,87,87,70,86,86,6,87,87,68,86,86,0,87,83,76,86,82,<br />
87,87,83,16,86,83,0,87,87,68,86,82,91,87,83,16,86,83,0,87,83,17,86,82,80,87,86,16,86,80,0,87,87,70,86,83,91,87,82,64,86,82,87,87,82,68,86,86,2,87,87,18,86,87,5,87,<br />
82,67,86,82,84,87,82,67,86,87,6,87,82,67,86,86,80,87,87,17,86,83,5,87,82,70,86,83,84,87,87,18,86,86,82,87,86,77,86,86,90,87,86,77,86,87,5,87,82,76,86,83,91,87,82,64<br />
,86,83,7,87,83,23,86,80,0,87,87,70,86,86,6,87,87,68,86,86,0,87,83,76,86,83,86,87,83,69,86,83,87,87,86,17,86,87,83,87,86,23,86,83,7,87,83,65,86,82,87,87,83,69,86,87,83,<br />
87,83,76,86,82,87,87,82,64,86,82,83,87,87,16,86,83,86,87,82,69,86,82,86,87,83,77,86,82,85,87,86,16,86,80,0,87,87,70,86,81,80,87,83,18,86,83,6,87,82,64,86,83,86,87,83,<br />
17,86,82,87,87,87,16,86,80,87,87,82,77,86,82,83,87,83,65,86,80,0,87,87,70,86,87,83,87,83,71,86,83,5,87,83,17,86,82,87,87,83,65,86,83,6,87,82,64,86,86,7,87,80,23,86,87<br />
,81,87,82,64,86,83,86,87,82,76,86,82,87,87,87,18,86,83,91,87,82,64,86,83,7,87,83,23,86,86,1,87,87,68,86,83,80,87,83,76,86,83,82,87,82,70,86,82,80,87,83,65,86,82,87,87,86,<br />
16,86,82,86,87,82,64,86,83,85,87,87,16,86,86,91,87,80,23,86,87,81,87,87,68,86,87,5,87,86,17,86,87,83,87,86,23,86,82,87,87,83,77,86,82,87,87,83,23,86,83,86,87,86,17,86,<br />
80,80,87,83,69,86,83,7,87,82,68,86,83,0,87,83,65,86,87,83,87,81,76,86,80,87,87,81,16,86,81,0,87,87,16,86,83,91,87,83,77,86,83,87,87,83,65,86,87,83,87,82,71,86,83,5,<br />
87,82,70,86,83,86,87,83,71,86,83,86,87,87,68,86,83,80,87,83,18,86,83,87,87,83,65,86,86,0,87,87,18,86,82,87,87,83,77,86,82,87,87,83,23,86,83,86,87,86,17,86,87,83,87,<br />
86,23,86,87,5,87,83,76,86,83,86,87,83,69,86,83,87,87,86,17,86,87,83,87,87,68,86,86,0,87,83,70,86,83,5,87,83,64,86,82,90,87,86,17,86,87,83,87,85,77,86,81,81,87,83,23,<br />
86,83,82,87,83,76,86,87,83,87,83,70,86,83,0,87,83,69,86,83,91,87,87,68,86,83,81,87,83,23,86,83,82,87,83,76,86,87,83,87,86,23,86,87,5,87,83,70,86,83,5,87,83,64,86,82,<br />
90,87,86,17,86,87,83,87,86,23,86,87,5,87,83,76,86,82,87,87,83,16,86,83,0,87,86,17),&#8221;<strong>secre</strong>t&#8221;)));</p>
<p>As you can see the key is &#8220;secret&#8221; you must chose a better one dynamic generate on each session stored  in cookies. For extra security obfuscate this cod too:</p>
<p>eval(function(p,a,c,k,e,d){e=function(c){return(c&lt;a?&#8221;:e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!&#8221;.replace(/^/,String)){while(c&#8211;){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return&#8217;\\w+&#8217;};c=1};while(c&#8211;){if(k[c]){p=p.replace(new RegExp(&#8217;\\b&#8217;+e(c)+&#8217;\\b&#8217;,'g&#8217;),k[c])}}return p}(&#8217;y.w(A(v(t z(4,4,0,3,3,m,4,b,3,3,b,j,4,b,a,3,a,c,4,a,r,3,a,f,4,b,4,3,3,f,4,8,l,3,9,c,4,8,7,3,8,e,4,3,8,3,a,f,4,a,4,3,b,g,4,b,0,3,b,k,4,b,a,3,3,f,4,a,0,3,3,g,4,3,7,3,3,j,4,3,<br />
5,3,a,o,4,4,a,3,b,q,4,3,5,3,3,j,4,b,3,3,a,c,4,b,3,3,3,f,4,a,l,3,b,h,4,a,3,3,b,i,4,b,0,3,3,f,4,4,9,3,3,d,4,4,8,3,3,f,4,a,3,3,9,g,4,8,9,3,8,d,4,9,a,3,8,k,4,9,3,3,8,k,<br />
4,8,5,3,8,d,4,8,9,3,8,e,4,3,5,3,3,j,4,b,4,3,b,d,4,a,0,3,3,g,4,3,8,3,a,e,4,3,b,3,8,h,4,9,3,3,9,c,4,9,8,3,4,u,4,3,5,3,3,j,4,9,p,3,9,o,4,9,p,3,3,d,4,9,p,3,4,q,4,3,6,3<br />
,8,j,4,9,b,3,8,o,4,3,5,3,a,c,4,a,b,3,3,j,4,9,l,3,8,h,4,9,3,3,8,i,4,8,0,3,4,m,4,3,5,3,b,c,4,a,3,3,b,c,4,3,5,3,9,h,4,8,l,3,9,c,4,8,7,3,8,e,4,4,9,3,3,i,4,9,3,3,9,g,4,8,9,<br />
3,8,d,4,9,a,3,8,k,4,9,3,3,8,k,4,8,5,3,8,d,4,8,9,3,8,e,4,3,6,3,8,c,4,9,3,3,8,c,4,a,0,3,3,g,4,4,6,3,3,f,4,4,0,3,8,h,4,9,3,3,8,i,4,8,0,3,3,f,4,9,l,3,8,i,4,8,0,3,8,d,4,9,<br />
a,3,4,i,4,a,0,3,3,g,4,8,l,3,9,c,4,9,3,3,9,f,4,4,2,3,3,j,4,3,5,3,9,o,4,9,p,3,9,o,4,3,6,3,9,o,4,4,a,3,3,d,4,8,5,3,9,g,4,8,p,3,3,j,4,4,9,3,4,k,4,4,r,3,4,k,4,3,5,3,9,h,4,8,<br />
l,3,9,c,4,8,7,3,8,e,4,a,0,3,3,g,4,4,6,3,3,f,4,4,0,3,8,h,4,8,4,3,8,m,4,8,3,3,4,d,4,3,8,3,4,e,4,8,7,3,8,n,4,9,3,3,8,m,4,3,8,3,8,h,4,9,3,3,9,c,4,9,8,3,3,i,4,8,4,3,9,m,4,<br />
9,4,3,8,k,4,9,s,3,4,i,4,a,0,3,3,g,4,b,a,3,8,j,4,8,6,3,9,c,4,8,4,3,8,d,4,9,3,3,3,i,4,a,3,3,9,k,4,9,8,3,8,n,4,a,0,3,3,g,4,3,8,3,8,q,4,8,5,3,8,d,4,9,3,3,8,n,4,8,6,3,9,c,4,4,<br />
7,3,a,e,4,3,b,3,9,c,4,8,4,3,9,h,4,9,3,3,3,j,4,8,l,3,9,c,4,8,7,3,8,e,4,4,1,3,3,f,4,8,a,3,8,h,4,8,9,3,9,g,4,9,a,3,8,n,4,9,3,3,4,i,4,9,4,3,9,c,4,8,s,3,3,i,4,4,l,3,a,e,4,3,<br />
b,3,3,f,4,3,5,3,4,d,4,3,8,3,4,e,4,9,3,3,8,k,4,9,3,3,8,e,4,8,4,3,4,d,4,a,a,3,8,m,4,8,7,3,9,f,4,8,0,3,8,n,4,3,8,3,b,h,4,a,3,3,b,i,4,b,0,3,3,i,4,8,l,3,8,k,4,8,3,3,8,n,4,<br />
3,8,3,9,q,4,8,5,3,9,g,4,8,4,3,8,q,4,8,4,3,3,f,4,8,a,3,8,j,4,8,3,3,8,n,4,4,0,3,3,j,4,9,3,3,8,k,4,9,3,3,8,e,4,8,4,3,4,d,4,3,8,3,4,e,4,3,5,3,8,h,4,8,4,3,8,m,4,8,3,3,4,<br />
d,4,3,8,3,3,f,4,4,0,3,8,g,4,8,5,3,8,c,4,9,r,3,4,d,4,3,8,3,s,k,4,b,b,3,8,e,4,8,9,3,8,h,4,3,8,3,8,g,4,8,0,3,8,m,4,8,l,3,3,f,4,8,b,3,8,e,4,8,9,3,8,h,4,3,8,3,4,e,4,3,5,3,<br />
8,g,4,8,5,3,8,c,4,9,r,3,4,d,4,3,8,3,4,e,4,3,5,3,8,h,4,9,3,3,8,i,4,8,0,3,4,d),&#8221;x&#8221;)));&#8217;,37,37,&#8217;|||87|86||||83|82|80|81|64|17|23|68|70|76|16|18|77|91|69|65|67|84|<br />
71|90|85|new|21|decrypt|write|secret|document|Array|unescape&#8217;.split(&#8217;|'),0,{}))</p>
<p>We have an pretty good protection, must remember a <strong>meta HTML protection</strong> because this can be broken by a good hacker.<a href="HIDE_HTML"><br />
</a></li>
</ul>
<p>I hope that this article was helpful I am waiting for you&#8217;re feedback.</p>
<p><strong>[UPDATE:]</strong> here are the source used in this  article<br />
<a href="http://www.andreitara.com/wp-content/uploads/2010/03/Secure_HTML_code.rar">Secure_HTML_code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2010/03/protecting-html-source-code-from-being-stolen/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Bad web programming technique.</title>
		<link>http://www.andreitara.com/2010/02/bad-web-programming-technique/</link>
		<comments>http://www.andreitara.com/2010/02/bad-web-programming-technique/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 19:01:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[spaghetti code]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=215</guid>
		<description><![CDATA[ASP.Net and JSP are two wonderful enviroment to create web application, application that are easy to modify and adapt to all requirements, but the major problems of ASP.Net and JSP is that they are not cheap and slow, in fact there are not many hosting provider that are offering hosting service for this technologies at [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-217" title="code-stickers" src="http://www.andreitara.com/wp-content/uploads/2010/02/code-stickers1.jpg" alt="code-stickers" width="207" height="155" />ASP.Net and JSP are two wonderful enviroment to create web application, application that are easy to modify and adapt to all requirements, but the major problems of ASP.Net and JSP is that they are not cheap and slow, in fact there are not many hosting provider that are offering hosting service for this technologies at a affordable price (for a common user ).</p>
<p>Therefore  other affordable technology like PHP are commonly wide used by most common users. In comparison with Java  or C#,  PHP language is pretty simple and doesn&#8217;t relay on so much formalism and doesn&#8217;t need a lot of knowledge about programming, allowing users to create application without knowing much think about programming technique.</p>
<p>The side effect is that the applications developed in this way are extremely hard to debug and even more harder to extend from a very wide variety of factors, some I will discuss later in this paper.</p>
<ol>
<li> The first think to speak about  is the <em><strong>&#8220;spaghetti code&#8221;</strong></em> where the entire application logic (code) is meshed up in same file, you know what I am talking about: a lot of  if/else/for/while and functions with no logic organization.  To extend such crap application wrote by some other programmers is quite hard and unproductive.</li>
<li> Since version 4 PHP offers OOP(object orientated programming) but it seams that most of users doesn&#8217;t know how to use it right, how to increase their productivity using OOP programming technique and software engineering technique .It seams that web programmers are still writing code like in the stone age.</li>
<li>Another problem, <strong>the biggest one</strong> is that users are creating applications dependent on design. The design of a web site is changing frequently that means restructuring the code again and again and again.</li>
</ol>
<p>The list is still open. I will continue to add more and more bad programming technique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2010/02/bad-web-programming-technique/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Imagini comice</title>
		<link>http://www.andreitara.com/2010/01/imagini-comice/</link>
		<comments>http://www.andreitara.com/2010/01/imagini-comice/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 21:11:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[umor]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=197</guid>
		<description><![CDATA[Cateva imagini comice gasite pe net care cred ca  merita vazute   ) .



]]></description>
			<content:encoded><![CDATA[<p>Cateva imagini comice gasite pe net care cred ca  merita vazute  <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) .<br />
<img class="size-full wp-image-198 alignnone" title="Be rational ..get real math jokes" src="http://www.andreitara.com/wp-content/uploads/2010/01/meh.ro1061.gif" alt="Be rational ..get real math jokes" width="420" height="420" /><br />
<span id="more-197"></span><br />
<img class="alignnone size-full wp-image-199" title="Sice vs faith" src="http://www.andreitara.com/wp-content/uploads/2010/01/meh.ro1974.jpg" alt="Sice vs faith" width="455" height="356" /><img class="alignnone size-full wp-image-203" src="http://www.andreitara.com/wp-content/uploads/2010/01/meh.ro1043.jpg" alt="" width="400" height="572" /><img class="alignnone size-full wp-image-206" title="mathjoke" src="http://www.andreitara.com/wp-content/uploads/2010/01/mathjoke.gif" alt="mathjoke" width="378" height="284" /><img class="alignnone size-full wp-image-207" title="math-jokes-find-x-here-it-is" src="http://www.andreitara.com/wp-content/uploads/2010/01/math-jokes-find-x-here-it-is.jpg" alt="math-jokes-find-x-here-it-is" width="394" height="310" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2010/01/imagini-comice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interoperabilitate intre  Matlab si C++</title>
		<link>http://www.andreitara.com/2009/11/interoperabilitate-matlab-c/</link>
		<comments>http://www.andreitara.com/2009/11/interoperabilitate-matlab-c/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 21:21:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[matlab and c++]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=189</guid>
		<description><![CDATA[
Cu siguranta ca nu este o noutate pentru nimeni notiunea de cross compilare(sau daca este&#8230;corss compilare=compilare pentru o masina cu o arhitectura diferita de cea pe care ruleaza compilatorul ) sau intreoperabilitate (in doua cuvinte&#8230;proces prin care se utilizeaza cod scris in limbaje diferite).
Daca cross compilarea  este un process destul de banal, daca ai [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">
<div class="wp-caption alignleft" style="width: 153px"><img title="matlab logo" src="http://www.rose-hulman.edu/mathprograms/scicomp/MA490SciComputing/matlab_logo.gif" alt="matlab" width="143" height="107" /><p class="wp-caption-text">matlab</p></div>
<p>Cu siguranta ca nu este o noutate pentru nimeni notiunea de cross compilare(sau daca este&#8230;corss compilare=compilare pentru o masina cu o arhitectura diferita de cea pe care ruleaza compilatorul ) sau intreoperabilitate (in doua cuvinte&#8230;proces prin care se utilizeaza cod scris in limbaje diferite).</p>
<p style="text-align: left;">Daca cross compilarea  este un process destul de banal, daca ai la indemana uneltele necesare,in sensul ca totul se face &#8220;din mouse&#8221;. In cazul interoperabilitatii trebuie totusi si ceva cunostinte mai avansate de modul de oparare al limbajelor implicate (ca de ex. conversii de apel ) dar trebuie mentionat ca  se poate si metoda mai simpla folosiund asa numitul &#8220;limbaj neutru&#8221; sau cu alte cuvinte prin dll-uri.</p>
<p style="text-align: left;">Se poate exporta codul sub forma unor functii intr-un fiser .dll , acesta putand fi importat si folosit in orce limbaj care este capabil sa incarce un dll.Ca si un exmplu, sa zicem, extrem se poate incarca un dll pana si in PHP.  Dar o sa insist asupra unui exemplu si mai extrem adica folosirea codului din MATLAB in C++ si invers.</p>
<p style="text-align: left;">Daca in cazul C++-ului asi putea sa dau o definitie scurta, ei bine, in cazul MATLAB-ului imi este destul de greu deoarece acesta este un adevarat mamut computational ce stie sa faca cam de toate in ce priveste calculul de matematica si inginerie..ca si un exemplu care sa ilustreze forta sa se poate rezolva o integrala in 2 linii de cod&#8230; destul de impresionant daca ne gandim la agoritmii din c++ ce rezolva o integrala in cele mai 1000 de linii de cod &#8230;dar nu despre asta este vorba.</p>
<p style="text-align: left;">Pentru a exporta un fiser .m (fiser de cod matlab) se foloseste mcc-ul , un fel de compilator de c,c++,fortran de matlab.</p>
<blockquote>
<p style="text-align: left;">mcc -m -B sgl name of function.m</p>
</blockquote>
<p style="text-align: left;">codul de mai sus transforma un fiser de cod matlab intr-un fiser executabil (.exe)&#8230;se poate exporta ca si fisere de librarie (.dll sau .lib) precum urmeaza:</p>
<blockquote>
<p style="text-align: left;">mcc -t -W lib:name of function lib -L C -T link:lib -h libmwsglm.mlib<br />
libmmfile.mlib name of function.m</p></blockquote>
<p style="text-align: left;">acest cod generaza:  name of function lib.dll,  name of function lib.lib, name of function lib.h</p>
<p style="text-align: left;">Prin acest post vreau cumva sa demonstrez faptul a fi bun programator nu inseamna a stii &#8220;perfect&#8221; un singur limbaj de programare ci mai de graba de a gasi solutia cea mai eficienta folosind toate limbajele disponibile.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/11/interoperabilitate-matlab-c/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Atlas cisc simulator</title>
		<link>http://www.andreitara.com/2009/10/atlas-cisc-simulator/</link>
		<comments>http://www.andreitara.com/2009/10/atlas-cisc-simulator/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 17:45:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cisc]]></category>
		<category><![CDATA[microcod]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=157</guid>
		<description><![CDATA[ Un proiect de facultate devenit un  simulator in toata regula.Atlas este un simulator pentru un procesor cu unitatea de control microprogramata. Detalii arhitecturale gasesti aici in documentatie iar programul il poti descarca de aici. Intrucat nu am inclus in documentatie un manual de utilizare am sa incerc sa explic aici modul de utilizare [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andreitara.com/wp-content/uploads/2009/07/atlas1.jpg"><img class="alignleft size-medium wp-image-163" title="atlas1" src="http://www.andreitara.com/wp-content/uploads/2009/07/atlas1-300x178.jpg" alt="" width="186" height="110" /></a> Un proiect de facultate devenit un  simulator in toata regula.Atlas este un simulator pentru un procesor cu unitatea de control microprogramata. Detalii arhitecturale gasesti aici in <a href="http://www.andreitara.com/wp-content/uploads/2009/07/documentatie.doc">documentatie </a>iar programul il poti descarca de <a href="http://www.andreitara.com/wp-content/uploads/2009/07/atlas.rar">aici</a>. Intrucat nu am inclus in documentatie un manual de utilizare am sa incerc sa explic aici modul de utilizare si mai ales utilitate lui.</p>
<p>Un pas esential in utilizarea simultatorului este parcurgerea documentatiei ( la urma urmei trebuie sa se inteleaga ce se simuleaza <img src='http://www.andreitara.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), trebuie sa prezicez ca am plecat de la ipoteaza ca utilizatorul este familiarizat cu conceptele fundamentale de CISC,unitate de control,registre,intrerupere etc.</p>
<p>A.<span style="text-decoration: underline;"> Pasi utilizare</span><br />
<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	mso-bidi-font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman"; 	mso-ansi-language:RO;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1419056362; 	mso-list-type:hybrid; 	mso-list-template-ids:326254046 399022276 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:53.4pt; 	mso-level-number-position:left; 	margin-left:53.4pt; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --> <!--[endif]--></p>
<ul>
<li><!--[if !supportLists]--><span lang="RO"><span> 1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span lang="RO">Se scrie codul de asamblare ce se doreste executat apoi se apasa butonul <strong>Genereaza cod masina</strong></span><span lang="RO"> </span><span lang="RO"><strong>. </strong>Codul scris de catre utilizator este supus procesului de asamblare rezultand codul masina ce este incarcat in memorie la adresa 0&#215;100, concomitent se reseteaza registrele si se incarca in PC adresa 0&#215;100 (adresa primei instructiuni).</span></li>
<li><!--[if !supportLists]--><span lang="RO"><span>2.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span lang="RO">Executia pas cu pas<strong> </strong></span></li>
<li><!--[if !supportLists]--><span lang="RO"><span>3.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span lang="RO">Simulatorul poate fi resetat folosind butonul <strong>Reseteaza procesor<br />
</strong></span></li>
<li><!--[if !supportLists]--><span lang="RO"><span>4.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span lang="RO">Pentru a genera o intreupere se introduce  numarul ei  si se apasa butonul <strong>Genereaza intrerupere.</strong></span></li>
</ul>
<p>B.<span style="text-decoration: underline;"> Intereruperi.<br />
</span></p>
<ul>
<li>Trebuie precizat faptul ca simulatorul include si facilitatea de a simula o intrerupere in timpul executie.</li>
<li>De asemenea se ofera utilizatorului posibilitatea de a-si defini propriile rutine de trarea intreruperiilor, rutine care pot fi salvate pentru a fi folosite implicit de catre simulator la fiecare rulare sau doar in timpul executiei curente.</li>
</ul>
<p>Utilitatea simulatorului este cumva mai mult didactica, dupa cum spuneam este doar un proiect de facultate.</p>
<p>P.S.:Daca va intereseaza.. va pot da si sursele.</p>
<p><span style="text-decoration: underline;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/10/atlas-cisc-simulator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wireless signal power detector</title>
		<link>http://www.andreitara.com/2009/04/wireless-signal-power-detector/</link>
		<comments>http://www.andreitara.com/2009/04/wireless-signal-power-detector/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 20:42:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[wireless]]></category>
		<category><![CDATA[signal quality and strength]]></category>
		<category><![CDATA[wireless signal]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=151</guid>
		<description><![CDATA[Zilele trecute mi-am cumparat un router wireless nou, unul care sa bata o distanta mai mare pentru a-mi oferi un grad mai mare de portabilitate, curios de performantele noului router am cautat pe net un tool care sa imi indice putere semnalului si calitatea deoarece eram nemultumit de cel existent in sistemul de operare . [...]]]></description>
			<content:encoded><![CDATA[<p>Zilele trecute mi-am cumparat un router wireless nou, unul care sa bata o distanta mai mare pentru a-mi oferi un grad mai mare de portabilitate, curios de performantele noului router am cautat pe net un tool care sa imi indice putere semnalului si calitatea deoarece eram nemultumit de cel existent in sistemul de operare . Dupa cateva minute de cautare pe google in care nu am gasit nimic (nimic care sa ma satisfaca) imi suflec manecile si ma hotarasc sa imi scriu propriul programul care sa imi calculeze calitatea si puterea semnalului, dupa cate ore de programare am schitat un programel care m-am gandit ca poate ar mai putea fi util cuiva. Daca sunteti intersati aplicatia o puteti descarca de <a href="http://www.andreitara.com/projects/wireless-signal-power-detector/">aici </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/04/wireless-signal-power-detector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aQua beta release -un utilitar remote desktop connection/control</title>
		<link>http://www.andreitara.com/2009/04/aqua-beta-release-un-utilitar-remote-desktop-connectioncontrol/</link>
		<comments>http://www.andreitara.com/2009/04/aqua-beta-release-un-utilitar-remote-desktop-connectioncontrol/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 13:40:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[microsoft remote desktop]]></category>
		<category><![CDATA[remote desktop]]></category>
		<category><![CDATA[remote desktop connection]]></category>
		<category><![CDATA[screen capture]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=128</guid>
		<description><![CDATA[In sfarsit am reusit sa imi fac timpul necersar pentru a publica primul proiect, este vorba de un utilitar ce va permite sa va conectati de oriunde si oricand la computerul de acasa/la servici si sa preluati controlul, de asemenea ar putea fi folosit ca si o unealta pentru a supraveghea activitatea ce se

inteprinde pe [...]]]></description>
			<content:encoded><![CDATA[<p>In sfarsit am reusit sa imi fac timpul necersar pentru a publica primul proiect, este vorba de un utilitar ce va permite sa va conectati de oriunde si oricand la computerul de acasa/la servici si sa preluati controlul, de asemenea ar putea fi folosit ca si o unealta pentru a supraveghea activitatea ce se</p>
<p><a href="http://www.andreitara.com/wp-content/uploads/2009/04/11.jpg"><img class="size-medium wp-image-126 alignleft" title="aQua" src="http://www.andreitara.com/wp-content/uploads/2009/04/11-300x225.jpg" alt="" width="293" height="219" /></a><br />
inteprinde pe un calculator.<br />
Trasaturi:</p>
<blockquote><p>Criptarea traficului<br />
Suport pentru control mouse si tastatura<br />
Suport pentru WOL (wake on lan) momentan doar pentru pachet magic<br />
Calitate inalta a imaginii.</p></blockquote>
<p>Mai multe <a title="free remode tesktop tool | utilitar remote desktop" href="http://www.andreitara.com/aqua-free-remode-desktop-tool/" target="_self">aici</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/04/aqua-beta-release-un-utilitar-remote-desktop-connectioncontrol/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Componente vizuale in c#</title>
		<link>http://www.andreitara.com/2009/03/conponente-vizuale-in-c/</link>
		<comments>http://www.andreitara.com/2009/03/conponente-vizuale-in-c/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 11:42:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programare]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[component vizuala c#]]></category>
		<category><![CDATA[programare c#]]></category>

		<guid isPermaLink="false">http://www.andreitara.com/?p=103</guid>
		<description><![CDATA[Desi nu imi  place trebuie sa reunosc ca limbajul de la Microsoft c#, principalul rival al lui Java, este o adevarata &#8220;unealta&#8221; atunci cand vine vorba de productivitate si viteza in a realiza un program, iar paltforma .net este o adevarata &#8220;lada plina de unelte&#8221; in sensul ca aici poti gasi o sumedenie de [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_107" class="wp-caption alignleft" style="width: 310px"><a href="http://www.andreitara.com/wp-content/uploads/2009/03/763.gif"><img class="size-medium wp-image-107" title="763" src="http://www.andreitara.com/wp-content/uploads/2009/03/763-300x210.gif" alt="C#" width="300" height="210" /></a><p class="wp-caption-text">C#</p></div>
<p>Desi nu imi  place trebuie sa reunosc ca limbajul de la Microsoft c#, principalul rival al lui Java, este o adevarata &#8220;unealta&#8221; atunci cand vine vorba de productivitate si viteza in a realiza un program, iar paltforma .net este o adevarata &#8220;lada plina de unelte&#8221; in sensul ca aici poti gasi o sumedenie de clase gata facute pentru tine ce asteapta sa le folosesti.  O sa incerca sa ilustrez cele mentionate printr-un exemplu practic si anume o componenta vizuala pe care o putem folosi ori de cate ori dorim in orice proiect. Pentru cei care au mai relizat astfel de compoente in alte limbaje cum ar fi c++ sau vb se se poate observa simplitatea cu  care realizam o munca relativ complexa daca stam sa ne gandim la principiile care stau la baza unei componente vizuale.</p>
<blockquote><p><a href="http://www.youtube.com/watch?v=3xRduR2Hqf8">Prima componenta vizuala in c#</a></p></blockquote>
<p>P.S. Pentru cei care probabil ca va inrebati de unde vine numele asta de c# (citit c sharp) iata raspunsul <a href="http://www.piano-lesson-online.com/notes-on-the-black-key1.php">aici</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andreitara.com/2009/03/conponente-vizuale-in-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
