<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Brettic.us</title>
	<atom:link href="http://brettic.us/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://brettic.us</link>
	<description>Web devlopment and life in general</description>
	<lastBuildDate>Sun, 18 Jul 2010 20:31:40 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Debugging PHP on a Mac with XDebug, Firefox and Netbeans by Izzy</title>
		<link>http://brettic.us/2009/11/07/developing-php-on-a-mac-with-netbeans/comment-page-1/#comment-922</link>
		<dc:creator>Izzy</dc:creator>
		<pubDate>Sun, 18 Jul 2010 20:31:40 +0000</pubDate>
		<guid isPermaLink="false">http://brettic.us/?p=202#comment-922</guid>
		<description>Hi Brett,

Thanks for all your time and effort putting this info together. I&#039;ve struggled with Netbeans &amp; XDebug in my new Mac (also a new &quot;Mapple&quot; convert) for days and your tutorial finally put everything into perspective.

Looking forward to all your future video tutorials!

Cheers,
Izzy</description>
		<content:encoded><![CDATA[<p>Hi Brett,</p><p>Thanks for all your time and effort putting this info together. I&#8217;ve struggled with Netbeans &amp; XDebug in my new Mac (also a new &#8220;Mapple&#8221; convert) for days and your tutorial finally put everything into perspective.</p><p>Looking forward to all your future video tutorials!</p><p>Cheers,<br />Izzy</f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP: Just for Newbies? by Brett</title>
		<link>http://brettic.us/2008/10/03/php-just-for-newbies/comment-page-1/#comment-895</link>
		<dc:creator>Brett</dc:creator>
		<pubDate>Sat, 19 Jun 2010 00:25:54 +0000</pubDate>
		<guid isPermaLink="false">#comment-895</guid>
		<description>Greetings Ken,

Thanks for taking the time to read my little rant from so long ago.

You make some very good points. I make no argument against the notion that PHP promotes bad coding due to a more-than-typical lack of Homogeneity. In fact, sometimes I think if I didn&#039;t have code completion in my IDE, I&#039;d never get anything done. :) My argument wasn&#039;t so much for promoting PHP on equal standing with better languages such as python, ruby, perl (yes, perl) , etc. My contention was that it&#039;s perfectly adequate for Web applications because you often do not need to write some giant project for the Web. It&#039;s generally available everywhere and makes a lot of sense because you have a better chance that your designer/programmer can crank out a little code from time-to-time. That, and you shouldn&#039;t have to feel ashamed that you use it! :) However, I understand that you are trying to better explain why PHP contempt exists in general. Again, good points.

In recent years, I&#039;ve gotten my hands on python for several projects. I really like how I can almost write it without code completion (among other things I won&#039;t mention right now.) In fact, I really considered doing a larger project that I am currently working on in django. However, I have yet to do a Web project in django and decided I better wait to ride that learning curve with some less significant project. Before this post, I had coded several projects using C#. Oddly, I&#039;ve never laid hands on Java for any real project. Could this be that barrier to entry that keeps us newbies tied to PHP? That, or I&#039;m just lazy. :)

Yes, an inferior language can make you less productive (and cause headaches for future developers.) I&#039;ve seen my share of bad PHP code that made me want to hurt certain persons (mostly oscommerce developers.) When I first started at my company about 10 years ago, I cut my teeth on legacy ASP. Unfortunately, I&#039;m still maintaining several projects/snippets after all these years. Now that is a truly limiting language!

I also enjoy writing javascript!

Cheers.</description>
		<content:encoded><![CDATA[<p>Greetings Ken,</p><p>Thanks for taking the time to read my little rant from so long ago.</p><p>You make some very good points. I make no argument against the notion that PHP promotes bad coding due to a more-than-typical lack of Homogeneity. In fact, sometimes I think if I didn&#8217;t have code completion in my IDE, I&#8217;d never get anything done. <img src='http://brettic.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  My argument wasn&#8217;t so much for promoting PHP on equal standing with better languages such as python, ruby, perl (yes, perl) , etc. My contention was that it&#8217;s perfectly adequate for Web applications because you often do not need to write some giant project for the Web. It&#8217;s generally available everywhere and makes a lot of sense because you have a better chance that your designer/programmer can crank out a little code from time-to-time. That, and you shouldn&#8217;t have to feel ashamed that you use it! <img src='http://brettic.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  However, I understand that you are trying to better explain why PHP contempt exists in general. Again, good points.</p><p>In recent years, I&#8217;ve gotten my hands on python for several projects. I really like how I can almost write it without code completion (among other things I won&#8217;t mention right now.) In fact, I really considered doing a larger project that I am currently working on in django. However, I have yet to do a Web project in django and decided I better wait to ride that learning curve with some less significant project. Before this post, I had coded several projects using C#. Oddly, I&#8217;ve never laid hands on Java for any real project. Could this be that barrier to entry that keeps us newbies tied to PHP? That, or I&#8217;m just lazy. <img src='http://brettic.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p><p>Yes, an inferior language can make you less productive (and cause headaches for future developers.) I&#8217;ve seen my share of bad PHP code that made me want to hurt certain persons (mostly oscommerce developers.) When I first started at my company about 10 years ago, I cut my teeth on legacy ASP. Unfortunately, I&#8217;m still maintaining several projects/snippets after all these years. Now that is a truly limiting language!</p><p>I also enjoy writing javascript!</p><p>Cheers.</f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP: Just for Newbies? by Ken</title>
		<link>http://brettic.us/2008/10/03/php-just-for-newbies/comment-page-1/#comment-894</link>
		<dc:creator>Ken</dc:creator>
		<pubDate>Fri, 18 Jun 2010 17:13:26 +0000</pubDate>
		<guid isPermaLink="false">#comment-894</guid>
		<description>I came across your article after settling a bet on how many results google would return with &quot;too bad it&#039;s php&quot; or &quot;too bad it&#039;s in php.&quot; This was after a discussion about whether to simply discount any php project without further research as we look for a tool to meet our needs.

FWIW, I think the point about the possibility of writing clean, consistent php code demonstrates the issue. There&#039;s no argument over whether Python or Java developers can write clean code, because most Python and Java projects are relatively consistent. Java in particular is unique homogeneous, so much so that almost all Java projects actually adhere to the same coding standards, from camelCase to package organization.

With PHP, some projects are clean, others are not. Many of us old-timers are still suffering PTSD from &quot;magic&quot; features from early iterations of PHP, such as bugs resulting from &quot;smart quoting&quot; in the 90s (when a run-time system configuration flag affected how variables are represented). Another simple fact is that most of us who suffered through PHP had to suffer through code that someone else wrote, that broke. The clean projects that avoid PHP&#039;s shortcomings we don&#039;t see, because they don&#039;t break.

There are practical reasons why mysql.connect is vastly superior to mysql_connect -- namely that you can specify a backend engine in one place, and use it agnostically throughout the code. The fact that an API exists in PHP to do that isn&#039;t really the point. It&#039;s the bad taste left in your mouth when you see how it got started.

There are some very high quality projects written in PHP. Maybe its informal growth pattern discourages over-engineering. Drupal, after all, is far better than Zope, even though Zope (in all its complexity) is supposedly very powerful, even though no one can figure out why.

Ultimately what does matter is the end result, the fun you have writing code, and what makes you happy. My fellow Python (and Java) geeks think I&#039;m crazy because I enjoy Javascript. It isn&#039;t that I think Javascript is well-designed (it isn&#039;t), it&#039;s that I like what I can do with it. I think the same applies to PHP. People do amazing things with PHP, and that&#039;s what matters.</description>
		<content:encoded><![CDATA[<p>I came across your article after settling a bet on how many results google would return with &#8220;too bad it&#8217;s php&#8221; or &#8220;too bad it&#8217;s in php.&#8221; This was after a discussion about whether to simply discount any php project without further research as we look for a tool to meet our needs.</p><p>FWIW, I think the point about the possibility of writing clean, consistent php code demonstrates the issue. There&#8217;s no argument over whether Python or Java developers can write clean code, because most Python and Java projects are relatively consistent. Java in particular is unique homogeneous, so much so that almost all Java projects actually adhere to the same coding standards, from camelCase to package organization.</p><p>With PHP, some projects are clean, others are not. Many of us old-timers are still suffering PTSD from &#8220;magic&#8221; features from early iterations of PHP, such as bugs resulting from &#8220;smart quoting&#8221; in the 90s (when a run-time system configuration flag affected how variables are represented). Another simple fact is that most of us who suffered through PHP had to suffer through code that someone else wrote, that broke. The clean projects that avoid PHP&#8217;s shortcomings we don&#8217;t see, because they don&#8217;t break.</p><p>There are practical reasons why mysql.connect is vastly superior to mysql_connect &#8212; namely that you can specify a backend engine in one place, and use it agnostically throughout the code. The fact that an API exists in PHP to do that isn&#8217;t really the point. It&#8217;s the bad taste left in your mouth when you see how it got started.</p><p>There are some very high quality projects written in PHP. Maybe its informal growth pattern discourages over-engineering. Drupal, after all, is far better than Zope, even though Zope (in all its complexity) is supposedly very powerful, even though no one can figure out why.</p><p>Ultimately what does matter is the end result, the fun you have writing code, and what makes you happy. My fellow Python (and Java) geeks think I&#8217;m crazy because I enjoy Javascript. It isn&#8217;t that I think Javascript is well-designed (it isn&#8217;t), it&#8217;s that I like what I can do with it. I think the same applies to PHP. People do amazing things with PHP, and that&#8217;s what matters.</f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debugging PHP on a Mac with XDebug, Firefox and Netbeans by Narazana</title>
		<link>http://brettic.us/2009/11/07/developing-php-on-a-mac-with-netbeans/comment-page-1/#comment-885</link>
		<dc:creator>Narazana</dc:creator>
		<pubDate>Sat, 08 May 2010 14:18:42 +0000</pubDate>
		<guid isPermaLink="false">http://brettic.us/?p=202#comment-885</guid>
		<description>Thank you. This is just what I&#039;m looking for :D</description>
		<content:encoded><![CDATA[<p>Thank you. This is just what I&#8217;m looking for <img src='http://brettic.us/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debugging PHP on a Mac with XDebug, Firefox and Netbeans by Brett</title>
		<link>http://brettic.us/2009/11/07/developing-php-on-a-mac-with-netbeans/comment-page-1/#comment-636</link>
		<dc:creator>Brett</dc:creator>
		<pubDate>Wed, 10 Feb 2010 23:57:51 +0000</pubDate>
		<guid isPermaLink="false">http://brettic.us/?p=202#comment-636</guid>
		<description>Thanks Jay,

Glad it actually came in handy for someone.</description>
		<content:encoded><![CDATA[<p>Thanks Jay,</p><p>Glad it actually came in handy for someone.</f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debugging PHP on a Mac with XDebug, Firefox and Netbeans by Jay</title>
		<link>http://brettic.us/2009/11/07/developing-php-on-a-mac-with-netbeans/comment-page-1/#comment-635</link>
		<dc:creator>Jay</dc:creator>
		<pubDate>Wed, 10 Feb 2010 23:50:57 +0000</pubDate>
		<guid isPermaLink="false">http://brettic.us/?p=202#comment-635</guid>
		<description>Just wanted to thank you for a great explanation from a basic level of the benefits and pros of working with xDebug. I wish I would have learned to use this years ago :)</description>
		<content:encoded><![CDATA[<p>Just wanted to thank you for a great explanation from a basic level of the benefits and pros of working with xDebug. I wish I would have learned to use this years ago <img src='http://brettic.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP: Remote IP + Load Balancer by Brett</title>
		<link>http://brettic.us/code/php-codeigniter-remote-ip-from-load-balancer/comment-page-1/#comment-408</link>
		<dc:creator>Brett</dc:creator>
		<pubDate>Wed, 16 Dec 2009 15:58:14 +0000</pubDate>
		<guid isPermaLink="false">http://brettic.us/?page_id=104#comment-408</guid>
		<description>It depends on the load balancer. Netscaler does more than balance the load, it acts as an http proxy (or any web-specific protocol) for your client connections. It optimizes TCP traffic as to keep the TCP traffic (syn/ack handshakes etc) from taking resources on your Web servers. As such, it makes the connection to your web servers behind it and, thus, $_SERVER[&#039;REMOTE_ADDR&#039;] always returns the ip address of the Netscaler. The Netscaler sends an additional HTTP header (I believe) to indicate where the request initiated. The method above uses this information to get the remote IP. I will note that it will also work when the Web server is not behind a Netscaler because it falls through various optional headers and uses more typical header values as a fallback. 

What we have now is a &quot;standard&quot; load balancer that simply routes the inbound packets (NAT.) The incoming packet source IP is maintained and no special method for getting the remote address is required. Most likely, your load balanced solution will fall into this category. If so, you will not need to change anything.

Finally, this method could be modified to be a &quot;standard&quot; PHP function in a non-codeigniter implementation. &lt;a href=&quot;http://dev.af83.com/php/get-remote-ip-address-in-php-even-when-the-user-is-behind-a-proxy/2007/05/21&quot; rel=&quot;nofollow&quot;&gt;Here is a link to another blog to demonstrate.&lt;/a&gt;

</description>
		<content:encoded><![CDATA[<p>It depends on the load balancer. Netscaler does more than balance the load, it acts as an http proxy (or any web-specific protocol) for your client connections. It optimizes TCP traffic as to keep the TCP traffic (syn/ack handshakes etc) from taking resources on your Web servers. As such, it makes the connection to your web servers behind it and, thus, $_SERVER['REMOTE_ADDR'] always returns the ip address of the Netscaler. The Netscaler sends an additional HTTP header (I believe) to indicate where the request initiated. The method above uses this information to get the remote IP. I will note that it will also work when the Web server is not behind a Netscaler because it falls through various optional headers and uses more typical header values as a fallback. </p><p>What we have now is a &#8220;standard&#8221; load balancer that simply routes the inbound packets (NAT.) The incoming packet source IP is maintained and no special method for getting the remote address is required. Most likely, your load balanced solution will fall into this category. If so, you will not need to change anything.</p><p>Finally, this method could be modified to be a &#8220;standard&#8221; PHP function in a non-codeigniter implementation. <a href="http://dev.af83.com/php/get-remote-ip-address-in-php-even-when-the-user-is-behind-a-proxy/2007/05/21" rel="nofollow">Here is a link to another blog to demonstrate.</a></f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP: Remote IP + Load Balancer by Deepak</title>
		<link>http://brettic.us/code/php-codeigniter-remote-ip-from-load-balancer/comment-page-1/#comment-407</link>
		<dc:creator>Deepak</dc:creator>
		<pubDate>Wed, 16 Dec 2009 07:52:04 +0000</pubDate>
		<guid isPermaLink="false">http://brettic.us/?page_id=104#comment-407</guid>
		<description>We have an intranet on LAMP, and planning for a Load Balancing architecture.
We donot have Codeigniter here and we too log the client IP address as of now by using: &quot;$_SERVER[&#039;REMOTE_ADDR&#039;]&quot;. It will be useful if you may throw some light on how we can get still get the Client IP in the LoabBalancer scenario.

Thanks
Joy Deepak</description>
		<content:encoded><![CDATA[<p>We have an intranet on LAMP, and planning for a Load Balancing architecture.<br />We donot have Codeigniter here and we too log the client IP address as of now by using: &#8220;$_SERVER['REMOTE_ADDR']&#8220;. It will be useful if you may throw some light on how we can get still get the Client IP in the LoabBalancer scenario.</p><p>Thanks<br />Joy Deepak</f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on PHP: Just for Newbies? by Anonymous</title>
		<link>http://brettic.us/2008/10/03/php-just-for-newbies/comment-page-1/#comment-5</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-5</guid>
		<description>I look forward to reading other articles you have. Which is Informative and creative. 


Thanks!
</description>
		<content:encoded><![CDATA[<p>I look forward to reading other articles you have. Which is Informative and creative. </p><p>Thanks!</f</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Ruby on Rails is cool by bretticus</title>
		<link>http://brettic.us/2006/08/12/ruby-on-rails-is-cool/comment-page-1/#comment-3</link>
		<dc:creator>bretticus</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-3</guid>
		<description>I have yet to follow up on ROR. I played with it one day and later found I have NO TIME apparently to do more research. On a side note, I do know the labs department of the company I work for is using ROR to &quot;tack up&quot; concept Websites quickly. The developers then do the real work in java. :) Also, ROR had (has?) a &lt;a href=&quot;http://developers.slashdot.org/article.pl?sid=06/08/10/0213259&quot; target=&quot;_blank&quot;&gt;major security flaw&lt;/a&gt;. It was dealt with quickly (howbeit...strangely.) All in all, I still need to play with ROR to see if I could ever consider using it in a production environment (I&#039;ll stick with tried-and-true PHP for now...yes, yes...I know PHP has had a security issue or two in its time as well.)</description>
		<content:encoded><![CDATA[<p>I have yet to follow up on ROR. I played with it one day and later found I have NO TIME apparently to do more research. On a side note, I do know the labs department of the company I work for is using ROR to &#8220;tack up&#8221; concept Websites quickly. The developers then do the real work in java. <img src='http://brettic.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Also, ROR had (has?) a <a href="http://developers.slashdot.org/article.pl?sid=06/08/10/0213259" target="_blank">major security flaw</a>. It was dealt with quickly (howbeit&#8230;strangely.) All in all, I still need to play with ROR to see if I could ever consider using it in a production environment (I&#8217;ll stick with tried-and-true PHP for now&#8230;yes, yes&#8230;I know PHP has had a security issue or two in its time as well.)</f</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 5/24 queries in 0.027 seconds using memcached

Served from: brettic.us @ 2010-09-03 17:15:47 -->