<?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>Lacisoft&#039;s &#187; Programming</title>
	<atom:link href="http://www.lacisoft.com/blog/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lacisoft.com/blog</link>
	<description>SELECT * FROM lacisoft</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:42:20 +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>A little crawling experiment</title>
		<link>http://www.lacisoft.com/blog/2011/12/21/a-little-crawling-experiment/</link>
		<comments>http://www.lacisoft.com/blog/2011/12/21/a-little-crawling-experiment/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 08:42:33 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[crawler]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[romania]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=733</guid>
		<description><![CDATA[Almost a year ago i wrote the article about the TYPO3 market share statistics i’m preparing to make a new statistic in the early days of 2012. Having too much time on my hands last days i thought why not to write my own crawler which searches for TYPO3 sites ? I know this is [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2011/11/30/typo3-usergroup-romania-meetup-2011schedule/' rel='bookmark' title='TYPO3 Usergroup Romania Meetup 2011&ndash;schedule'>TYPO3 Usergroup Romania Meetup 2011&ndash;schedule</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Almost a year ago i wrote the article about the <a href="http://www.lacisoft.com/blog/2011/01/19/some-typo3-market-share-statistics/">TYPO3 market share statistics</a> i’m preparing to make a new statistic in the early days of 2012. Having too much time on my hands last days i thought why not to write my own crawler which searches for TYPO3 sites ?</p>
<p>I know this is quite a difficult task. Actually it is not that difficult to write the crawler, its much more difficult to scale after the number of domains start to grow in the database. But i like challenges. </p>
<p>So i started working on it and after a few hours a basic crawler was born. What it does is that it scans a website and tries to identify it if it is a TYPO3 website (based on the TYPO3 header comment). Then it extracts all distinct domains from the links and goes to the next domain.</p>
<p>The early data is available here: <a href="http://crawler.lacisoft.com/">http://crawler.lacisoft.com/</a> The crawler is not very speedy because i limited its speed (i don’t want to kill my VPS). Also because of this i limited its scope to .ro domains (domains from Romania).</p>
<p>Another issue is that for now it counts a domain twice if it has both www and non-www version. Technically i could solve it to count only one but i’m not convinced that this would be the right step as theoretically www is a subdomain of the main domain and it is possible that the www and non-www versions house different websites. I will think more about it.</p>
<p>For now this is only an experiment, let’s see how it works out.</p>
<p><strong>Later edit:</strong> The crawler is still scanning, the data is not final!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2011%2F12%2F21%2Fa-little-crawling-experiment%2F&amp;title=A%20little%20crawling%20experiment" id="wpa2a_2"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2011/11/30/typo3-usergroup-romania-meetup-2011schedule/' rel='bookmark' title='TYPO3 Usergroup Romania Meetup 2011&ndash;schedule'>TYPO3 Usergroup Romania Meetup 2011&ndash;schedule</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2011/12/21/a-little-crawling-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn to say &#8220;No&#8221;</title>
		<link>http://www.lacisoft.com/blog/2010/06/09/learn-to-say-no/</link>
		<comments>http://www.lacisoft.com/blog/2010/06/09/learn-to-say-no/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 05:51:58 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=499</guid>
		<description><![CDATA[All too often i receive emails or inquiries from people on how much would some website that they imagined would cost and how long it would take for me to implement it. Because this blog lately become more popular then ever before, i started to receive even more of these inquiries .  One might say [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2007/08/10/7/' rel='bookmark' title='How Google contextual ads learn your preferences over time'>How Google contextual ads learn your preferences over time</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>All too often i receive emails or inquiries from people on how much would some website that they imagined would cost and how long it would take for me to implement it. Because this blog lately become more popular then ever before, i started to receive even more of these inquiries .  One might say that very good for me, that in these harsh times i receive work offers. But many of these offers will not get any reply from me or get a negative reply. Why is that ?</p>
<p>This is because i&#8217;m not willing to take work that will eventually be turning into bad reputation for me or the client. There are two situations in which this might occur:</p>
<p>1) Stealing websites</p>
<p>For example i often get inquires like this:</p>
<blockquote><p>&#8220;Hi. My name is xxxxxx and i&#8217;ve seen you build websites with TYPO3. I would like you to build me a website for a client of mine. I&#8217;ve seen this site yyyyyyyy and i would like you to copy this site and change the logo and the texts in it. How much would you charge for this ?&#8221;</p></blockquote>
<p>I rarely reply to this kind of emails. That is because i don&#8217;t want to say to someone that he is a thief. Copying websites its just plain stealing if you don&#8217;t have the owners approval. First time when i said this the client said:  &#8221;that website is in Australia, who will check it anyway ?&#8221;.  No comment.</p>
<p>2) The &#8220;i want Facebook in like a week&#8221; approach</p>
<p>The other category of inquiries that i turn down will come with this type of emails:</p>
<blockquote><p>&#8220;Hi. My name is xxxxxx and i want to make a website just like Facebook but better, i want to integrate it with Twitter and also a search like Google would be nice on it. My budget would be 1200 EUROS and i need it in two weeks. Would you be interested ?&#8221;</p></blockquote>
<p>No. Most of the times i&#8217;m not interested.  The guys at Facebook worked on it for a few years and Twitter is still having issues under load , Google isn&#8217;t matched yet as performance (after being tweaked for ten years) but someone wants to build all that in two weeks.  Ok most of the times its not Facebook, Twitter or Google they want but the situation is the same. They want space rockets built out of thin air.</p>
<p>Ok, i might take the project and work on it for two weeks and get some payment for it. But in the end the client wouldn&#8217;t be happy with the fact that the product he could get in two weeks is not the product he dreamed of. I would get bad reputation, he would search for someone else.</p>
<p>So when one of the two situations above occurs i learned to say no to these projects. Because its more important to have good projects that you can be proud of working on then many runaway projects that never get completed, or get completed in a manner that will destroy your reputation.</p>
<p>Also when someone making or requiring an estimation or a quote should take into account that there are 3 types of work:</p>
<ul>
<li>quality work</li>
<li>fast work</li>
<li>cheap work</li>
</ul>
<p>Quality work will never be fast and cheap. It will be either fast and expensive (more developer resources) or cheap but slow.</p>
<p>Fast work will never be cheap and quality work. It will be either cheap and miserable or it will be quality work but it will be expensive. Very expensive.</p>
<p>Cheap work will never be quality work and fast work in the same time. It will be either quality work and slow work or it will be fast work but it won&#8217;t be of any acceptable quality.</p>
<p>So if you have to choose always choose two from these three: quality, fast, cheap. Its not possible to choose all three of them.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2010%2F06%2F09%2Flearn-to-say-no%2F&amp;title=Learn%20to%20say%20%26%238220%3BNo%26%238221%3B" id="wpa2a_4"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2007/08/10/7/' rel='bookmark' title='How Google contextual ads learn your preferences over time'>How Google contextual ads learn your preferences over time</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2010/06/09/learn-to-say-no/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A lesson to be learned in software development</title>
		<link>http://www.lacisoft.com/blog/2009/12/22/a-lesson-to-be-learned-in-software-development/</link>
		<comments>http://www.lacisoft.com/blog/2009/12/22/a-lesson-to-be-learned-in-software-development/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 17:12:11 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[duke nukem forever]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[lesson]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=358</guid>
		<description><![CDATA[I&#8217;ve just read a great and insightful article on Wired about the development of a game that was never finished and it was canceled after 12 years of development. The game is Duke Nukem Forever and the article is called: Learn to let go: How success killed Duke Nukem The situation from the article happens [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/04/15/how-some-people-make-free-software-more-to-cost-more-then-commercial-software/' rel='bookmark' title='How some people make free software to cost more then commercial software'>How some people make free software to cost more then commercial software</a></li>
<li><a href='http://www.lacisoft.com/blog/2008/11/04/frequently-forgotten-fundamental-facts-about-software-engineering/' rel='bookmark' title='Frequently Forgotten Fundamental Facts about Software Engineering'>Frequently Forgotten Fundamental Facts about Software Engineering</a></li>
<li><a href='http://www.lacisoft.com/blog/2011/08/23/why-software-is-eating-the-world/' rel='bookmark' title='Why software is eating the world'>Why software is eating the world</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just read a great and insightful article on Wired about the development of a game that was never finished and it was canceled after 12 years of development. The game is Duke Nukem Forever and the article is called: <a href="http://www.wired.com/magazine/2009/12/fail_duke_nukem/all/1#">Learn to let go: How success killed Duke Nukem</a></p>
<p>The situation from the article happens often when there is no direction, no milestones, no plan. If the plan is that there is no plan, then the project will certainly fail.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2009%2F12%2F22%2Fa-lesson-to-be-learned-in-software-development%2F&amp;title=A%20lesson%20to%20be%20learned%20in%20software%20development" id="wpa2a_6"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/04/15/how-some-people-make-free-software-more-to-cost-more-then-commercial-software/' rel='bookmark' title='How some people make free software to cost more then commercial software'>How some people make free software to cost more then commercial software</a></li>
<li><a href='http://www.lacisoft.com/blog/2008/11/04/frequently-forgotten-fundamental-facts-about-software-engineering/' rel='bookmark' title='Frequently Forgotten Fundamental Facts about Software Engineering'>Frequently Forgotten Fundamental Facts about Software Engineering</a></li>
<li><a href='http://www.lacisoft.com/blog/2011/08/23/why-software-is-eating-the-world/' rel='bookmark' title='Why software is eating the world'>Why software is eating the world</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2009/12/22/a-lesson-to-be-learned-in-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interest for PHP is declining ?</title>
		<link>http://www.lacisoft.com/blog/2009/03/25/interest-for-php-is-declining/</link>
		<comments>http://www.lacisoft.com/blog/2009/03/25/interest-for-php-is-declining/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 07:53:21 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[google insights for search]]></category>
		<category><![CDATA[interest]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=171</guid>
		<description><![CDATA[Google Insights for Search is an interesting tool, it allows you to take a look at what people are serching for in different parts of the world and how is the volume of search evolving for a keyword in a specific part of the world or worldwide. I played a bit with Google Insights and [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/09/01/gmail-is-down-how-to-check-if-it-is-really-down-or-its-just-your-connection/' rel='bookmark' title='Gmail is down! How to check if it is really down or its just your connection'>Gmail is down! How to check if it is really down or its just your connection</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/insights/search/">Google Insights for Search</a> is an interesting tool, it allows you to take a look at what people are serching for in different parts of the world and how is the volume of search evolving for a keyword in a specific part of the world or worldwide.</p>
<p>I played a bit with Google Insights and after a while i tought i check how PHP search volume is evolving, after all i work with PHP and i wanted to see what is graph for the popularity of this language. I must say i was shocked. The interest over time from 2004 to 2008 is declining, rapidly i could say. But don&#8217;t take my word for it, <a href="http://www.google.com/insights/search/#q=PHP&amp;cmpt=q">check in Google Insights</a>, or here is the picture (click on it for better quality):</p>
<p><a href="http://www.lacisoft.com/blog/wp-content/uploads/2009/03/phpdecline.jpg"><a href="http://www.lacisoft.com/blog/wp-content/uploads/2009/03/phpdecline.jpg"><img class="aligncenter size-full wp-image-172" title="phpdecline" src="http://www.lacisoft.com/blog/wp-content/uploads/2009/03/phpdecline.jpg" alt="phpdecline" width="458" height="179" /></a><br />
</a></p>
<p>I don&#8217;t understand this decline as interest for many PHP applications are increasing sharply in this period, you could check Google Insights for WordPress , Joomla or other PHP based applications.</p>
<p>The only thing i could think about is the proliferation of these already built web apps, that are downloaded and installed, in many cases the users get an already functional application so they don&#8217;t have to bother do understand or learn about PHP. Back in the times when you needed a CMS or a website you had to build it yourself using PHP or at least you needed to have some PHP knowledge to install it. Now with the advanced click click next next installers users don&#8217;t need to know anything about PHP.</p>
<p>What is your opinion on this ?</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2009%2F03%2F25%2Finterest-for-php-is-declining%2F&amp;title=Interest%20for%20PHP%20is%20declining%20%3F" id="wpa2a_8"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/09/01/gmail-is-down-how-to-check-if-it-is-really-down-or-its-just-your-connection/' rel='bookmark' title='Gmail is down! How to check if it is really down or its just your connection'>Gmail is down! How to check if it is really down or its just your connection</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2009/03/25/interest-for-php-is-declining/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to scrape webpages using PHP and XPath</title>
		<link>http://www.lacisoft.com/blog/2009/02/19/how-to-scrape-webpages-using-php-and-xpath/</link>
		<comments>http://www.lacisoft.com/blog/2009/02/19/how-to-scrape-webpages-using-php-and-xpath/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 16:55:02 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[regular expressions]]></category>
		<category><![CDATA[scraping]]></category>
		<category><![CDATA[xpath]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=104</guid>
		<description><![CDATA[If you need to extract information from remote webpages you can read this article about how to do it with PHP and XPath. The autor explains how extracting information can be very easy and it can be done in no time (less then 5 minutes) with the mentioned tools and without the use of regular expressions. [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>If you need to extract information from remote webpages you can read <a href="http://dev.juokaz.com/php/web-scraping-with-php-and-xpath">this article</a> about how to do it with PHP and XPath. The autor explains how extracting information can be very easy and it can be done in no time (less then 5 minutes) with the mentioned tools and without the use of regular expressions.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2009%2F02%2F19%2Fhow-to-scrape-webpages-using-php-and-xpath%2F&amp;title=How%20to%20scrape%20webpages%20using%20PHP%20and%20XPath" id="wpa2a_10"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2009/02/19/how-to-scrape-webpages-using-php-and-xpath/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to generate PDF files dynamically using PHP and Haru</title>
		<link>http://www.lacisoft.com/blog/2008/11/20/how-to-generate-pdf-files-dynamically-using-php-and-haru/</link>
		<comments>http://www.lacisoft.com/blog/2008/11/20/how-to-generate-pdf-files-dynamically-using-php-and-haru/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 11:47:06 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[haru]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=63</guid>
		<description><![CDATA[An excellent tutorial on how to create PDF files dynamically using PHP and Haru written by Will Sinclair. And here is a quote from the article that grabbed my attention &#8220;When it comes to working with different file formats, PHP is like a Swiss Army knife: it has a tool to handle almost anything you [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2010/01/20/importing-large-files-into-a-mysql-database/' rel='bookmark' title='Importing large files into a MySQL database'>Importing large files into a MySQL database</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/09/23/enabling-php-file-uploads-in-typo3-backend/' rel='bookmark' title='Enabling PHP file uploads in TYPO3 Backend'>Enabling PHP file uploads in TYPO3 Backend</a></li>
<li><a href='http://www.lacisoft.com/blog/2009/02/10/critical-security-issue-in-typo3-core-all-versions/' rel='bookmark' title='Critical security issue in Typo3 core &#8211; all versions'>Critical security issue in Typo3 core &#8211; all versions</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>An<a href="http://devzone.zend.com/article/4044-Dynamically-Generating-PDF-Files-with-PHP-and-Haru-"> excellent tutorial on how to create PDF files dynamically using PHP and Haru</a> written by Will Sinclair. And here is a quote from the article that grabbed my attention</p>
<p>&#8220;When it comes to working with different file formats, PHP is like a Swiss Army knife: it has a tool to handle almost anything you can throw at it. JPEG images, XML files, Word documents, ZIP archives&#8230;you name it, and there&#8217;s a PHP extension to handle it!&#8221;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2008%2F11%2F20%2Fhow-to-generate-pdf-files-dynamically-using-php-and-haru%2F&amp;title=How%20to%20generate%20PDF%20files%20dynamically%20using%20PHP%20and%20Haru" id="wpa2a_12"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2010/01/20/importing-large-files-into-a-mysql-database/' rel='bookmark' title='Importing large files into a MySQL database'>Importing large files into a MySQL database</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/09/23/enabling-php-file-uploads-in-typo3-backend/' rel='bookmark' title='Enabling PHP file uploads in TYPO3 Backend'>Enabling PHP file uploads in TYPO3 Backend</a></li>
<li><a href='http://www.lacisoft.com/blog/2009/02/10/critical-security-issue-in-typo3-core-all-versions/' rel='bookmark' title='Critical security issue in Typo3 core &#8211; all versions'>Critical security issue in Typo3 core &#8211; all versions</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2008/11/20/how-to-generate-pdf-files-dynamically-using-php-and-haru/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips for improving your PHP programming skills</title>
		<link>http://www.lacisoft.com/blog/2008/11/18/tips-for-improving-your-php-programming-skills/</link>
		<comments>http://www.lacisoft.com/blog/2008/11/18/tips-for-improving-your-php-programming-skills/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 19:43:44 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=60</guid>
		<description><![CDATA[Smashing Magazine published an article with 10 tips to improve your PHP programming skills. They claim to be advanced tips but i tend to disagree. Every PHP programmer with 1-2 years of experience, somewhere around mid-level should know these things. But nevertheless the article is worth reading, if you did not know those things you [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2010/05/06/book-drupal-6-performance-tips/' rel='bookmark' title='Book: Drupal 6 Performance Tips'>Book: Drupal 6 Performance Tips</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/11/18/server-configuration-and-performance-tips/' rel='bookmark' title='Server configuration and performance tips'>Server configuration and performance tips</a></li>
<li><a href='http://www.lacisoft.com/blog/2009/02/25/tips-to-prevent-cross-site-scripting/' rel='bookmark' title='Tips to prevent Cross Site Scripting (XSS)'>Tips to prevent Cross Site Scripting (XSS)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Smashing Magazine published an <a href="http://www.smashingmagazine.com/2008/11/18/10-advanced-php-tips-to-improve-your-progamming/">article</a> with 10 tips to improve your PHP programming skills. They claim to be advanced tips but i tend to disagree. Every PHP programmer with 1-2 years of experience, somewhere around mid-level should know these things. But nevertheless the article is worth reading, if you did not know those things you may remember them again.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2008%2F11%2F18%2Ftips-for-improving-your-php-programming-skills%2F&amp;title=Tips%20for%20improving%20your%20PHP%20programming%20skills" id="wpa2a_14"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2010/05/06/book-drupal-6-performance-tips/' rel='bookmark' title='Book: Drupal 6 Performance Tips'>Book: Drupal 6 Performance Tips</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/11/18/server-configuration-and-performance-tips/' rel='bookmark' title='Server configuration and performance tips'>Server configuration and performance tips</a></li>
<li><a href='http://www.lacisoft.com/blog/2009/02/25/tips-to-prevent-cross-site-scripting/' rel='bookmark' title='Tips to prevent Cross Site Scripting (XSS)'>Tips to prevent Cross Site Scripting (XSS)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2008/11/18/tips-for-improving-your-php-programming-skills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A comparation between Typo3 and Drupal</title>
		<link>http://www.lacisoft.com/blog/2008/11/03/a-comparation-between-typo3-and-drupal/</link>
		<comments>http://www.lacisoft.com/blog/2008/11/03/a-comparation-between-typo3-and-drupal/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 07:55:11 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=52</guid>
		<description><![CDATA[Working in web development often requires the use of different CMS packages that have certain advantages or disadvantages. At work Typo3 and Drupal are the most often used content management systems. I will make a short comparation from a web developers perspective on these two packages. Learning to work with them I first started to [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/10/05/how-to-add-a-cancel-button-to-drupal-forms/' rel='bookmark' title='How to add a Cancel button to Drupal forms'>How to add a Cancel button to Drupal forms</a></li>
<li><a href='http://www.lacisoft.com/blog/2009/03/14/book-drupal-6-social-networking/' rel='bookmark' title='Book: Drupal 6 Social Networking'>Book: Drupal 6 Social Networking</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/04/14/book-drupal-e-commerce-with-ubercart-2-x/' rel='bookmark' title='Book: Drupal E-commerce with Ubercart 2.x'>Book: Drupal E-commerce with Ubercart 2.x</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Working in web development often requires the use of different CMS packages that have certain advantages or disadvantages. At work <a title="Typo3" href="http://www.typo3.org" target="_blank">Typo3</a> and <a title="Drupal" href="http://www.drupal.org" target="_blank">Drupal</a> are the most often used content management systems. I will make a short comparation from a web developers perspective on these two packages.</p>
<p><strong>Learning to work with them</strong></p>
<p>I first started to work with Typo3 and i must say that Typo3 is hard to learn. The documentation is scarce and very badly structured. It is a nightmare for every beginner. But once you start to learn the inner workings of this package you become more and more amazed by the power that is under the hood of this CMS.</p>
<p>Drupal is somewhat luckier having more documentation and more books written about it. Learning to work and develop sites using it is easier somewhat.</p>
<p><strong>Working with forms</strong></p>
<p>Drupal has a very ingenious system for forms. I was amazed when i learned to use it. You just need to create a configuration array for forms and call them from your module. Drupal will take care of generating the forms and submit it and validate it according to your preferences. And the AHAH form property is just killer. It will make Ajax calls and update the forms accordingly.</p>
<p>Typo3 has some plugins for forms and frontend editing but they aren&#8217;t there yet where it should be, it&#8217;s just a pain sometimes to use multilevel forms.</p>
<p><strong>Templates</strong></p>
<p>Drupal comes with a default template and you can start using that right away. Typo3 comes empty, you will need to create a template and code it into your project. You would think that Drupal is better from this point of view. But this is not true. Drupal&#8217;s templates aren&#8217;t really to good. That&#8217;s because in Drupal&#8217;s templates PHP code is mixed with HTML, the two aren&#8217;t separated as clearly as it should be. If you work with a designer who can make HTML code for you but he has no PHP knowledge, he will have a hard time working with Drupal templates.</p>
<p>In Typo3 HTML templates are what the name says, pure HTML with markers for different content elements. So creating a template is pretty straightforward even for people with no coding experience.</p>
<p><strong>Customization</strong></p>
<p>Drupal is well suited for community sites and often you just need to enable some modules bundled with the package like blog, forums, poll, faq management and modify the templates. But the problem is that often these modules provide basic functionality and they just aren&#8217;t what you want in your app.</p>
<p>In contrast Typo3 is much more complex and you can customize everything. You don&#8217;t have bundled plugins like forum or blog but you can download them for free from the extension repository. And most often they are more powerful and much more customizable then those included with Drupal.</p>
<p><strong>Drupal</strong></p>
<p>Pros: documentation, forms, out of the box functionality<br />
Cons: templating</p>
<p><strong>Typo3</strong></p>
<p>Pros: templating, highly customizable<br />
Cons: hard to learn</p>
<p><strong>Conclusion</strong></p>
<p>Both CMS packages have their pros and cons, it depends on the developer to choose the right CMS for the job required to be done. Because for some projects is more suited to use Drupal and for other projects is better to use Typo3. But the conclusion is that you need to learn them both, you might need one or another.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2008%2F11%2F03%2Fa-comparation-between-typo3-and-drupal%2F&amp;title=A%20comparation%20between%20Typo3%20and%20Drupal" id="wpa2a_16"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/10/05/how-to-add-a-cancel-button-to-drupal-forms/' rel='bookmark' title='How to add a Cancel button to Drupal forms'>How to add a Cancel button to Drupal forms</a></li>
<li><a href='http://www.lacisoft.com/blog/2009/03/14/book-drupal-6-social-networking/' rel='bookmark' title='Book: Drupal 6 Social Networking'>Book: Drupal 6 Social Networking</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/04/14/book-drupal-e-commerce-with-ubercart-2-x/' rel='bookmark' title='Book: Drupal E-commerce with Ubercart 2.x'>Book: Drupal E-commerce with Ubercart 2.x</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2008/11/03/a-comparation-between-typo3-and-drupal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP support may be on the way in Google App Engine</title>
		<link>http://www.lacisoft.com/blog/2008/10/30/php-support-may-be-on-the-way-in-google-app-engine/</link>
		<comments>http://www.lacisoft.com/blog/2008/10/30/php-support-may-be-on-the-way-in-google-app-engine/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 08:38:24 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web apps]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=42</guid>
		<description><![CDATA[Rumor has it that Google is adding support for a new runtime language for Google App Engine. If you take a closer look at their roadmap you can see that for sure another runtime language will be added.  But which one will be ? Java or PHP ? According to some reports, Google said that [...]
Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/04/14/you-can-run-php-on-google-app-engine/' rel='bookmark' title='You can run PHP on Google App Engine'>You can run PHP on Google App Engine</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/02/01/fatality-google-drops-ie6-support-in-2010/' rel='bookmark' title='Fatality: Google drops IE6 support in 2010'>Fatality: Google drops IE6 support in 2010</a></li>
<li><a href='http://www.lacisoft.com/blog/2011/02/02/only-one-search-engine-left/' rel='bookmark' title='Only one search engine left?'>Only one search engine left?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft alignnone size-full wp-image-43" style="border: 0pt none; margin: 5px; float: left;" title="appengine" src="http://www.lacisoft.com/blog/wp-content/uploads/2008/10/appengine.gif" alt="Google App Engine" width="145" height="111" />Rumor has it that Google is adding support for a new runtime language for Google App Engine. If you take a closer look at their <a href="http://code.google.com/appengine/docs/roadmap.html" target="_blank">roadmap</a> you can see that for sure another runtime language will be added.  But which one will be ? Java or PHP ? According to some reports, Google said that they cannot yet say the name of the new runtime language but they indicated that is one being demanded by the community. If you follow what languages were requested you can see that Java is in the lead, followed by PHP.  If you want to express your vote to PHP just go <a href="http://code.google.com/p/googleappengine/issues/detail?id=13">here</a> and star that thread. You don&#8217;t need to post anything since posting will send an email to everyone. Let&#8217;s hope PHP will be the one choosen!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2008%2F10%2F30%2Fphp-support-may-be-on-the-way-in-google-app-engine%2F&amp;title=PHP%20support%20may%20be%20on%20the%20way%20in%20Google%20App%20Engine" id="wpa2a_18"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>Related posts:<ol>
<li><a href='http://www.lacisoft.com/blog/2009/04/14/you-can-run-php-on-google-app-engine/' rel='bookmark' title='You can run PHP on Google App Engine'>You can run PHP on Google App Engine</a></li>
<li><a href='http://www.lacisoft.com/blog/2010/02/01/fatality-google-drops-ie6-support-in-2010/' rel='bookmark' title='Fatality: Google drops IE6 support in 2010'>Fatality: Google drops IE6 support in 2010</a></li>
<li><a href='http://www.lacisoft.com/blog/2011/02/02/only-one-search-engine-left/' rel='bookmark' title='Only one search engine left?'>Only one search engine left?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2008/10/30/php-support-may-be-on-the-way-in-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Controversed namespace separator for PHP namespaces</title>
		<link>http://www.lacisoft.com/blog/2008/10/28/controversed-namespace-separator-for-php-namespaces/</link>
		<comments>http://www.lacisoft.com/blog/2008/10/28/controversed-namespace-separator-for-php-namespaces/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 07:47:23 +0000</pubDate>
		<dc:creator>lacisoft</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[namespaces]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.lacisoft.com/blog/?p=37</guid>
		<description><![CDATA[The PHP development team decided to use the backslash (\) as namespace separator in future releases of PHP (up from 5.3)  The decision wasn&#8217;t very welcomed by the community and numerous people already started basing PHP again. i feel that some of the people involved are beeing very single minded on this. I think time [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>The PHP development team decided to use the  backslash (\) as namespace separator in future releases of PHP (up from 5.3)  The decision wasn&#8217;t very welcomed by the community and numerous people already <a href="http://michaelkimsal.com/blog/disappointed-with-php-namespace-seperator-decision/">started basing</a> PHP again. i feel that some of the people involved are beeing very single minded on this. I think time will tell <a href="http://pooteeweet.org/blog/0/1343#m1343">who was right</a> and who wasn&#8217;t. I personally would liked to be :: instead of \ but i will live with this. This shouldn&#8217;t be a motive for anyone to spread the FUD (Fear Uncertainty Doubt) around about PHP.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.lacisoft.com%2Fblog%2F2008%2F10%2F28%2Fcontroversed-namespace-separator-for-php-namespaces%2F&amp;title=Controversed%20namespace%20separator%20for%20PHP%20namespaces" id="wpa2a_20"><img src="http://www.lacisoft.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.lacisoft.com/blog/2008/10/28/controversed-namespace-separator-for-php-namespaces/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

