<?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>Building the Web &#187; Web development</title>
	<atom:link href="http://www.filonov.com/blog/tags/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.filonov.com/blog</link>
	<description>Web development notes, tips, tricks, ideas, thoughts</description>
	<lastBuildDate>Fri, 04 Mar 2011 15:43:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Nightmare of PHP programmer: include_once fails</title>
		<link>http://www.filonov.com/blog/2011/03/04/nightmare-of-php-programmer-include_once-fails/</link>
		<comments>http://www.filonov.com/blog/2011/03/04/nightmare-of-php-programmer-include_once-fails/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 15:43:16 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.filonov.com/blog/?p=63</guid>
		<description><![CDATA[For a moment it was looking like our project got haunted. Suddenly we started getting errors from the libraries being included twice, function exists and class exits kind of error. First few times it was written off as a &#8220;honest&#8221; mistake and fixed on spot, but it continued to happen again and again. Of course, [...]]]></description>
			<content:encoded><![CDATA[<p>For a moment it was looking like our project got haunted. Suddenly we started getting errors from the libraries being included twice, function exists and class exits kind of error. First few times it was written off as a &#8220;honest&#8221; mistake and fixed on spot, but it continued to happen again and again. Of course, it was only showing up on production sites, none of the test sites had this issue.</p>
<p>Some digging in the code and pulling hairs out lead to the issue: include_once was failing us. Yes, it was doing include of the same file again! One little detail &#8211; that only happened when we used both relative and absolute include path, something like:</p>
<p><code>include_once("../includes/fancyLibrary.php");<br />
and<br />
include_once("/absolute/path/to/document/root/includes/fancyLibrary.php");</code></p>
<p>Of course that should not be an issue, according to the PHP documentation.<br />
When I started troubleshooting those includes calling<br />
<code>realpath("../includes/fancyLibrary.php");</code><br />
the truth popped out &#8211; realpath was not returning anything. And then we found why &#8211; there was missing &#8220;read&#8221; attribute on the document root directory, it only had executable bit set (711). Changing permissions to 755 (added read attribute&#8217;s bit) fixed the issue. </p>
<p>So, problems with realpath or include_once PHP functions? Check folders permissions!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2011/03/04/nightmare-of-php-programmer-include_once-fails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP ftp_connect causing Segmentation Fault (core dumped)</title>
		<link>http://www.filonov.com/blog/2010/12/27/php-ftp_connect-causing-segmentation-fault-core-dumped/</link>
		<comments>http://www.filonov.com/blog/2010/12/27/php-ftp_connect-causing-segmentation-fault-core-dumped/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 21:02:48 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.filonov.com/blog/?p=57</guid>
		<description><![CDATA[Pretty strange issue and I had hard time to Google it up, so here you go, fellow PHP developers. PHP script which was doing ftp_connect was failing on some installations with Segmentation Fault (core dumped) message. After quite a bit of time wasted looking for answers why, I found that problem was with the FTP [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty strange issue and I had hard time to Google it up, so here you go, fellow PHP developers.</p>
<p>PHP script which was doing ftp_connect was failing on some installations with Segmentation Fault (core dumped) message. After quite a bit of time wasted looking for answers why, I found that problem was with the FTP host name having trailing line break. Well, that host name was coming from config and technically only developers had access to it, so looks like we assumed that variable &#8220;safe&#8221; and were not doing standard checks on special characters. To make things worse that line break is hard to see with debug output, because that line break is too easy to miss when you check variable value in debugger.</p>
<p>I am still not sure why Segmentation Fault (instead of proper message) &#8211; must be some PHP bug (and that server has Solaris OS).</p>
<p>Anyway, hope that helps somebody <img src='http://www.filonov.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2010/12/27/php-ftp_connect-causing-segmentation-fault-core-dumped/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hiring Freelancer vs Employee</title>
		<link>http://www.filonov.com/blog/2010/09/22/hiring-freelancer-vs-employee/</link>
		<comments>http://www.filonov.com/blog/2010/09/22/hiring-freelancer-vs-employee/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 06:21:55 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[Small Business]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.filonov.com/blog/?p=53</guid>
		<description><![CDATA[When I am looking for web development projects I often see an ads when company is looking for someone they call &#8220;Web designer&#8221; who is supposed to develop website including graphics, user interface, programming, content and then make sure website will be well placed in Google and have an avalanche of visitors. And salary range [...]]]></description>
			<content:encoded><![CDATA[<p>When I am looking for web development projects I often see an ads when company is looking for someone they call &#8220;Web designer&#8221; who is supposed to develop website including graphics, user interface, programming, content and then make sure website will be well placed in Google and have an avalanche of visitors. And salary range is, well, limited <img src='http://www.filonov.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  So, guess what? It&#8217;s just doesn&#8217;t make any sense. It&#8217;s same as getting a handyman to build the house alone on the empty lot. It will take ages to build and you won&#8217;t get the same result as your neighbor who got a builders company to build their house.</p>
<h2>Need a guru on entry level employee budget</h2>
<p>It may sound attractive to spend same amount of money and get someone full time, but that may be not the most efficient use of the money. If work really requires high level of knowledge and experience and there is a lot of stake, it only makes sense to get call a high level expert. You won&#8217;t get them to spend 40 hours in your office, but they don&#8217;t really need to. It&#8217;s surprising how much time is wasted in the office environment and how much faster the same work will be done by the person with a lot of experience in the subject. And quality will be noticeably better too. Just make sure you picked up right person!</p>
<h3>Jack of all trades</h3>
<p>Smaller companies often do not have boundaries where responsibilities end, so everyone has to wear a lot of hats. In web design it may one &#8220;webmaster&#8221; guy or girl who is doing graphics, programming, server administration, marketing, etc, etc. Probably there are people who can do it all, but then they don&#8217;t have time for all those tasks and they are sure not experts in all of those areas, just stop kidding yourself. Getting freelancers who specialize in desired fields will be an easy answer. You don&#8217;t need to fill all of those positions full time, you get work done on pay-as-you-go budget and you may do not need to worry that someone doesn&#8217;t have enough work and create tasks just to keep people busy.</p>
<h3>Team work</h3>
<p>Freelancers do have connections. You can get a freelancer to lead the project and get more freelancers on board when/if necessary. There are tasks which may be done by mid or entry level specialist as long as they are guided by someone who knows how it should be done. Every specialist will know what kind of work they are best at and when it&#8217;s time to call a fellow freelancer to help with the area where another expertise is required. Experienced freelancers always have connections with other professionals, so it is an easy way to build a team instantly and you will know that team can work well together.</p>
<h3>Summary</h3>
<p>Make it real, get an expertise you need &#8211; call a freelancer. You will get better bang for you buck!</p>
<p>This post id dedicated to International Freelancers Day.</p>
<p><a href="http://www.internationalfreelancersday.com"><img title="Logo - International Freelancers Day" src="http://www.internationalfreelancersday.com/wp-content/uploads/2010/02/Logo-International-Freelancers-Day-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p><a href="http://www.internationalfreelancersday.com"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2010/09/22/hiring-freelancer-vs-employee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error 400: Size of a request header field exceeds server limit</title>
		<link>http://www.filonov.com/blog/2009/11/07/error-400-size-of-a-request-header-field-exceeds-server-limit/</link>
		<comments>http://www.filonov.com/blog/2009/11/07/error-400-size-of-a-request-header-field-exceeds-server-limit/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 17:33:33 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.filonov.com/blog/?p=50</guid>
		<description><![CDATA[If you get error like this one Error 400 Your browser sent a request that this server could not understand. Size of a request header field exceeds server limit. That means that your browser is trying to send too much at once. Probably, it&#8217;s size of the cookies. The easy way to fix it &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>If you get error like this one</p>
<p><code>Error 400<br />
Your browser sent a request that this server could not understand.<br />
Size of a request header field exceeds server limit.</code></p>
<p>That means that your browser is trying to send too much at once. Probably, it&#8217;s size of the cookies. The easy way to fix it &#8211; delete cookies. Of course, you lose all info in the cookies, but at least you can access site again.</p>
<p>If you develop/manage web site and your customers complain of this error message &#8211; there are two things to do: </p>
<ul>
<li>Review cookies and limit the size of cookies your application stores in the browser. </li>
<li>Increase allowed request size in web server configuration</li>
</ul>
<p>To increase request size in Apache, add directive  LimitRequestFieldSize to the configuration file. Default value is 8190 bytes. To increase it 2 times add<br />
<code>LimitRequestFieldSize 16380</code><br />
Apache restart is required.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2009/11/07/error-400-size-of-a-request-header-field-exceeds-server-limit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Typos and traffic</title>
		<link>http://www.filonov.com/blog/2009/05/18/typos-and-traffic/</link>
		<comments>http://www.filonov.com/blog/2009/05/18/typos-and-traffic/#comments</comments>
		<pubDate>Mon, 18 May 2009 18:21:22 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[Web development]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://filonov.com/blog/?p=35</guid>
		<description><![CDATA[I just discovered interesting thing &#8211; to my shame I misspelled word &#8220;developer&#8221; (as in web developer) on my web site and for a while I was advertising myself as &#8220;web developmer&#8220;. Bad for me I guess. But interesting thing, when checking statistics, I get better position in the search results as a developMer &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered interesting thing &#8211; to my shame I misspelled word &#8220;developer&#8221; (as in web developer) on my web site and for a while I was advertising myself as &#8220;web <b>developmer</b>&#8220;. Bad for me I guess. But interesting thing, when checking statistics, I get better position in the search results as a developMer &#8211; just because there is not a lot of pages with same typo. Just to compare &#8211; when I  search for the web developer it returns over 56 millions of pages and for web developmer it&#8217;s only 4500. So, I guess if I add more words like this to my page saying that I do dtabase desing and php programing as well as software analitics, I have good chance to pop up higher in Google search results. The question is, however, do I really want people to see pages with those typos and if those people will be willing to hire guy with spelling like that and no attention to details. Well, I guess some people won&#8217;t notice, but probably I don&#8217;t really want to take a chance &#8211; so fixing the spelling and having a good laugh. At least I still have a blog entry with developmer in it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2009/05/18/typos-and-traffic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Application in PHP???</title>
		<link>http://www.filonov.com/blog/2009/05/14/windows-application-in-php/</link>
		<comments>http://www.filonov.com/blog/2009/05/14/windows-application-in-php/#comments</comments>
		<pubDate>Thu, 14 May 2009 17:46:51 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[Web development]]></category>
		<category><![CDATA[php windows]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://filonov.com/blog/?p=33</guid>
		<description><![CDATA[Quite an interesting idea &#8211; to execute PHP scripts in Windows as regular exe. Behind the scenes it uses IE component, but there is no IE toolbars and you have a control on windows your application uses. Also you can create an installer, so it will look for user as a regular windows application. These [...]]]></description>
			<content:encoded><![CDATA[<p>Quite an interesting idea &#8211; to execute PHP scripts in Windows as regular exe. Behind the scenes it uses IE component, but there is no IE toolbars and you have a control on windows your application uses. Also you can create an installer, so it will look for user as a regular windows application.</p>
<p>These days a lot of applications are actually switching to web services, so you actually do not have to install software, you can just use it from your internet browser. But I can still see quite a few uses of this tool to create client site components for the application.</p>
<p>So, will keep this in mind and may be one day will use it not just to play.</p>
<p><a href="http://www.rawseo.com/news/2009/05/13/how-to-turn-a-php-script-to-an-exefor-free/">Here is the link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2009/05/14/windows-application-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freelance PHP positions</title>
		<link>http://www.filonov.com/blog/2009/05/06/freelance-php-positions/</link>
		<comments>http://www.filonov.com/blog/2009/05/06/freelance-php-positions/#comments</comments>
		<pubDate>Wed, 06 May 2009 16:28:41 +0000</pubDate>
		<dc:creator>Andrei Filonov</dc:creator>
				<category><![CDATA[Web development]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://filonov.com/blog/2009/05/06/freelance-php-positions/</guid>
		<description><![CDATA[Do you know PHP and thinking about getting some freelance job? You are not alone for sure, freelancing is a good way to get an extra income, to get started building your portfolio or to stop coming to the office and work from home. Here is a good list of freelance positions for PHP developers: [...]]]></description>
			<content:encoded><![CDATA[<p>Do you know PHP and thinking about getting some freelance job? You are not alone for sure, freelancing is a good way to get an extra income, to get started building your portfolio or to stop coming to the office and work from home.</p>
<p>Here is a good list of freelance positions for PHP developers:<br />
<a href="http://workfromhomephpjobs.blogspot.com/">http://workfromhomephpjobs.blogspot.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.filonov.com/blog/2009/05/06/freelance-php-positions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

