<?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>Monday By Noon &#187; PHP</title>
	<atom:link href="http://mondaybynoon.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://mondaybynoon.com</link>
	<description>A resource for Web designers and developers to read about and discuss their craft.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>&#8226; WordPress 3 Ultimate Security Book Review</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20120130%2Fwordpress-3-ultimate-security-book-review%2F&#038;seed_title=%26%238226%3B+WordPress+3+Ultimate+Security+Book+Review</link>
		<comments>http://mondaybynoon.com/20120130/wordpress-3-ultimate-security-book-review/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 11:16:25 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2553</guid>
		<description><![CDATA[I recently read WordPress 3 Ultimate Security by Olly Connelly and I'm impressed. At nearly 400 pages, the book is overflowing with lots of information on an unwieldy subject that (rightly) keeps some people away from unmanaged hosting. If you're interested in keeping your WordPress sites as secure as possible, this book might be for you.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2553&c=1029701226' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2553&c=1029701226' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/wordpress-3-ultimate-security/book"><img src="http://mondaybynoon.com/wp-content/uploads/wordpress-3-ultimate-security.jpg" alt="Book cover" title="wordpress-3-ultimate-security" width="493" height="617" class="alignright size-full wp-image-2554" /></a></p>
<p>I&#8217;ve just finished reading <a href="http://www.packtpub.com/wordpress-3-ultimate-security/book">WordPress 3 Ultimate Security</a> by Olly Connelly, which aims to help you make sure your WordPress installs are as protected as you can make them. Security is often one of the most intimidating pieces of running your own site, which is one of the major contributors to the popularity of shared hosting since many people are not comfortable managing their own server. Unfortunately though, shared hosting is often a false sense of security and can expose you further than a more segmented environment.</p>
<p>That doesn&#8217;t take away from the importance of being a responsible and reliable source of information for your clients. It&#8217;s very likely that your clients have no idea how their website works or how it&#8217;s even online, they just know who to call when something isn&#8217;t working properly. If you&#8217;re in charge of that environment, it would be a disservice to your client to cut corners or take a quick way out when it comes to their server setup. <a href="http://www.packtpub.com/wordpress-3-ultimate-security/book">WordPress 3 Ultimate Security</a> aims to help you harden your WordPress installs, resulting in a more stable, longer lasting website powered by WordPress.</p>
<h2>Content summary</h2>
<p><a href="http://www.packtpub.com/wordpress-3-ultimate-security/book">WordPress 3 Ultimate Security</a> is quite a comprehensive guide. I wasn&#8217;t sure what to expect when reading the first chapter but it quickly became apparent that the content was going to sprawl the entirety of security as much as it were applicable. The chapter list is as follows:</p>
<ol>
<li>So What&#8217;s the Risk?</li>
<li>Hack or Be Hacked</li>
<li>Securing the Local Box</li>
<li>Surf Safe</li>
<li>Login Lock-Down</li>
<li>10 Must-Do WordPress Tasks</li>
<li>Galvanizing WordPress</li>
<li>Containing Content</li>
<li>Serving Up Security</li>
<li>Solidifying Unmanaged</li>
<li>Defense in Depth</li>
</ol>
<p>Each chapter is further subdivided into a number of dense subsections covering a multitude of topics. The breadth of coverage impressed me from the start. Additionally, the tools and topics covered were modern, up-to-date, tried, and tested. I&#8217;ve read a number of security books and it&#8217;s rare to find one with comprehensive coverage of tools that will all be useful as you read through the chapters. Chapter 2 is especially interesting in this regard, as you&#8217;re guided through the process of analyzing and scanning a possible target as though you yourself were the hacker (or cracker in this case).</p>
<p>Chapter 3 provides extensive coverage on securing your local machine, which is a significant portion of every good security policy. Many times people forget that the biggest security vulnerability could have absolutely nothing to do with your server or the network it&#8217;s on, but instead your local computer. The one that insecurely stores you WordPress administrator login information.</p>
<p>WordPress-specific content doesn&#8217;t really ramp up until Chapter 5 of the book. SSL and security-oriented Apache modules are the focus of the chapter, leading up to Chapter 6 which outlines a number of smaller tasks that can help with WordPress security through obscurity.</p>
<p>The book moves into the server side of things in Chapter 9. The author gives advice on choosing the right host based on a number of criteria, outlines the pros and cons of popular control panel software solutions, explains how users and permissions work, all the way down to implementing a useful logging system.</p>
<p>The book gets even more detailed from there by discussing lower level server administration steps that can be taken in an effort to minimize the various ways a cracker may be able to obtain unauthorized access to your system. Through Chapter 11 I became increasingly impressed with the level of detail the author went to in discussing the vast number of responsibilities required when it comes to server administration tied into ways they can be exploited and ways you can thwart those attacks.</p>
<p>While I couldn&#8217;t consider this title to be the last one you should read on modern server security, I would highly suggest it as a starting point for things to look into as time goes on.</p>
<h3>Overall reaction</h3>
<p>After making it through the nearly 400 pages of content I was honestly impressed with the amount of content offered in the book. The author does a fantastic job of covering an extremely wide variety of angles which makes complete sense with such a diverse topic as security. If you were to follow the advice offered in the book you&#8217;d be left with not only a strong server environment, but a more secure local environment as well.</p>
<p>If you&#8217;re the person responsible for your client&#8217;s WordPress installs, or responsible for your own, taking a read through <a href="http://www.packtpub.com/wordpress-3-ultimate-security/book">WordPress 3 Ultimate Security</a> by Olly Connelly will very likely teach you a few things in a number of areas concerning your install. My take home message is an overall feeling of being impressed with the volume of content covered in under 400 pages. That said, the book may prove to be a bit overwhelming to some people who are less technical, but if that&#8217;s the case, unmanaged hosting might not be the place for you.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2553&c=2041812418' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2553&c=2041812418' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20120130/wordpress-3-ultimate-security-book-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php.net Getting a Makeover</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20120118%2Fphp-net-getting-a-makeover%2F&#038;seed_title=php.net+Getting+a+Makeover</link>
		<comments>http://mondaybynoon.com/20120118/php-net-getting-a-makeover/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 13:32:22 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php.net]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2456</guid>
		<description><![CDATA[PHP: Hypertext Preprocessor. I long ago lost count of how many times I&#8217;ve visited php.net. It wasn&#8217;t the most beautiful thing in the world but you can teach yourself so much from that site alone. I feel like I&#8217;ve seen this design before, long ago, but perhaps not. Either way, I&#8217;m really glad that something [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2456&c=1822720816' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2456&c=1822720816' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://prototype.php.net/'>PHP: Hypertext Preprocessor</a>.</p>
<p>I long ago lost count of how many times I&#8217;ve visited php.net. It wasn&#8217;t the most beautiful thing in the world but you can teach yourself <strong>so much</strong> from that site alone.</p>
<p>I feel like I&#8217;ve seen this design before, long ago, but perhaps not. Either way, I&#8217;m really glad that <a href='http://prototype.php.net/'>something is in the works</a>. With everything being so glamorous today, it&#8217;s important to keep up with the times. </p>
<p>I&#8217;m sure the existing php.net design is a big target for many anti-PHP zealots out there. Not that it should be a deterrent, but it&#8217;s nice to see this design in motion!</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2456&c=1034598281' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2456&c=1034598281' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20120118/php-net-getting-a-makeover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jimrubenstein/php-profiler &#8211; GitHub</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20120106%2Fjimrubensteinphp-profiler-github%2F&#038;seed_title=jimrubenstein%2Fphp-profiler+%26%238211%3B+GitHub</link>
		<comments>http://mondaybynoon.com/20120106/jimrubensteinphp-profiler-github/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 13:15:24 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[profiler]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2380</guid>
		<description><![CDATA[jimrubenstein/php-profiler &#8211; GitHub. One of the things I&#8217;m going to focus on in 2012 is code quality, top to bottom. I want to sweat the details and learn more about writing better code. To do that, you need to use tools. Surely you can understand concepts and design patterns from reading, but actually working with [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2380&c=301449211' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2380&c=301449211' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href='https://github.com/jimrubenstein/php-profiler'>jimrubenstein/php-profiler &#8211; GitHub</a>.</p>
<p>One of the things I&#8217;m going to focus on in 2012 is code quality, top to bottom. I want to sweat the details and learn more about writing better code.</p>
<p>To do that, you need to use tools. Surely you can understand concepts and design patterns from reading, but actually working with your code and seeing how changes effect the big picture is a bit of a different story.</p>
<p>I write PHP, and one of the things I want to dive into is performance. A good way to measure performance is a profiler. There are tons of fancy tools to help with that, but if you&#8217;re looking for something bolt-on and lightweight, this <a href='https://github.com/jimrubenstein/php-profiler'>php-profiler project</a> looks like a good thing to check out.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2380&c=70655153' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2380&c=70655153' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20120106/jimrubensteinphp-profiler-github/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The HipHop Virtual Machine &#124; Facebook</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20111213%2Fthe-hiphop-virtual-machine-facebook%2F&#038;seed_title=The+HipHop+Virtual+Machine+%26%23124%3B+Facebook</link>
		<comments>http://mondaybynoon.com/20111213/the-hiphop-virtual-machine-facebook/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 14:47:26 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[HHVM]]></category>
		<category><![CDATA[HipHop]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2263</guid>
		<description><![CDATA[The HipHop Virtual Machine &#124; Facebook. Many of you know that I haven&#8217;t had a Facebook account since it was limited to a college email address, but I can&#8217;t help to be intrigued on what they&#8217;re doing under the hood. Some time ago, Facebook made waves with what they were doing with PHP, and they [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2263&c=847490864' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2263&c=847490864' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.facebook.com/note.php?note_id=10150415177928920&#038;hn=2">The HipHop Virtual Machine | Facebook</a>.</p>
<p>Many of you know that I haven&#8217;t had a Facebook account since it was limited to a college email address, but I can&#8217;t help to be intrigued on what they&#8217;re doing under the hood.</p>
<p>Some time ago, Facebook made waves with what they were doing with PHP, and they may have just done it again. Their latest creation, HHVM, HipHop Virtual Machine, boasts a 60% increase in performance.</p>
<p><a href="https://www.facebook.com/note.php?note_id=10150415177928920&#038;hn=2"><img src='http://mondaybynoon.com/wp-content/uploads/393463_10150437163167200_9445547199_8439693_1972908741_n.jpg' alt='' /></a></p>
<p><a href="https://www.facebook.com/note.php?note_id=10150415177928920&#038;hn=2"><img src='http://mondaybynoon.com/wp-content/uploads/385994_10150437163692200_9445547199_8439695_1870185023_n.jpg' alt='' /></a></p>
<p>There is a ton of detail in <a href="https://www.facebook.com/note.php?note_id=10150415177928920&#038;hn=2">the posting</a>, well worth a read!</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2263&c=374528454' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2263&c=374528454' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20111213/the-hiphop-virtual-machine-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>9 million hits/day with 120 megs RAM</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110831%2F9-million-hitsday-with-120-megs-ram%2F&#038;seed_title=9+million+hits%2Fday+with+120+megs+RAM</link>
		<comments>http://mondaybynoon.com/20110831/9-million-hitsday-with-120-megs-ram/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 12:44:50 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2018</guid>
		<description><![CDATA[tumbledry.org: 9 million hits/day with 120 megs RAM. Articles like these are great perspective. Many times we read articles about servers with 400GB RAM, seven petabytes of storage, and eleven quad-core processors, but I&#8217;m most interested in maximizing performance from just about anything. Getting 9 million hits per day on a machine with 120 megs [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2018&c=1418296492' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2018&c=1418296492' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://tumbledry.org/2011/08/31/9_million_hits_day_with_120">tumbledry.org: 9 million hits/day with 120 megs RAM</a>.</p>
<p>Articles like these are great perspective. Many times we read articles about servers with 400GB RAM, seven petabytes of storage, and eleven quad-core processors, but I&#8217;m most interested in maximizing performance from just about anything.</p>
<p>Getting 9 million hits per day on a machine with 120 megs of RAM is impressive to me. A few more details include the box being virtual, running PHP with PHP-FPM, powered by an APC cache and last but absolutely not least: nginx.</p>
<p>There are many more details in the article, definitely worth checking out if you&#8217;re a server geek.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2018&c=584947617' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2018&c=584947617' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110831/9-million-hitsday-with-120-megs-ram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripting Languages: PHP, Perl, Python, Ruby</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110817%2Fscripting-languages-php-perl-python-ruby%2F&#038;seed_title=Scripting+Languages%3A+PHP%2C+Perl%2C+Python%2C+Ruby</link>
		<comments>http://mondaybynoon.com/20110817/scripting-languages-php-perl-python-ruby/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 23:21:47 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1979</guid>
		<description><![CDATA[Scripting Languages: PHP, Perl, Python, Ruby &#8211; Hyperpolyglot. If you&#8217;re like me, leaning is often a very hands on process that involves comparisons with things you already know. While I&#8217;m not sure it&#8217;s the best way to learn a new programming language in and of itself, I do think it&#8217;s a nice way to learn [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1979&c=2031518695' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1979&c=2031518695' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://hyperpolyglot.org/scripting">Scripting Languages: PHP, Perl, Python, Ruby &#8211; Hyperpolyglot</a>.</p>
<p>If you&#8217;re like me, leaning is often a very hands on process that involves comparisons with things you already know. While I&#8217;m not sure it&#8217;s the best way to learn a new programming language in and of itself, I do think it&#8217;s a nice way to learn a new syntax.</p>
<p>Not everything language to language is directly comparable, and I&#8217;d always opt to read a book in full when learning a new language, but seeing a reference chart like this can be terribly useful when looking things up quickly, or figuring out something new.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1979&c=1890027139' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1979&c=1890027139' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110817/scripting-languages-php-perl-python-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8226; Improving Your Process: WordPress Development Using Xdebug</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110328%2Fwordpress-development-xdebug%2F&#038;seed_title=%26%238226%3B+Improving+Your+Process%3A+WordPress+Development+Using+Xdebug</link>
		<comments>http://mondaybynoon.com/20110328/wordpress-development-xdebug/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 16:44:30 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Improving Process]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[MacGDBp]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Xdebug]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1585</guid>
		<description><![CDATA[Programming workflows have always been especially interesting to me. It may be due to the wide spectrum of detail that can be achieved from a workflow, and I'd like to see what's truly useful and valuable as you go about writing code. Debugging is something I plan on researching further.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1585&c=205377299' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1585&c=205377299' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>I not too long ago changed the way I worked on both client work and my WordPress plugins. It spawned a diversion from my comfort using a text editor and has me seriously <a href="/2011/03/14/considering-text-editor-to-ide/">considering a switch to an IDE</a>. The underlying root though, was my desire to increase both productivity and quality when programming. I was swimming in repeated <code>echo</code>s and <code>print_r()</code>s. While they get the job done, it&#8217;s sloppy. I found myself tracking and printing variables (usually multiple times) just to make sure things were happening as I had planned.</p>
<h2>Enter Xdebug: the demise of <code>print_r()</code></h2>
<p>I first started messing with <a href="http://www.xdebug.org/">Xdebug</a> years ago when I first heard it mentioned in passing while reading an article. I was more into front end and JavaScript at the time and wasn&#8217;t doing much professional programming. Interest pretty much fizzled at that point, although I thought it was neat at the time, <em>I guess</em>. I&#8217;m glad I stumbled upon Xdebug because as I was auditing potential <abbr title="integrated development environments">IDEs</abbr> to check out, I saw it mentioned on many feature lists as being the underlying built-in debugging component of various environments. A bit of research later and I knew Xdebug would likely be a big deal for my workflow.</p>
<p>Xdebug is best summarized as: (more on <a href="http://en.wikipedia.org/wiki/Xdebug">Wikipedia</a>)</p>
<blockquote cite="http://en.wikipedia.org/wiki/Xdebug"><p>Xdebug is a PHP extension which provides debugging and profiling capabilities. It uses the DBGp debugging protocol.</p>
<p>The debug information that Xdebug can provide includes the following:</p>
<ul>
<li>Stack and function traces in error messages with:
<ul>
<li>Full parameter display for user defined functions</li>
<li>Function name, file name and line indications</li>
<li>Support for member functions</li>
</ul>
</li>
<li>Memory allocation</li>
<li>Protection for infinite recursions</li>
</ul>
<p>Xdebug also provides:</p>
<ul>
<li>Profiling information for PHP scripts</li>
<li>Code coverage analysis</li>
<li>Capabilities to debug your scripts interactively with a debugger front-end</li>
</ul>
</blockquote>
<p>After reading that, the only question I had for myself was <strong>why did I wait so long?</strong></p>
<h3>Installing and configuring Xdebug</h3>
<p>There are some <a href="http://www.xdebug.org/docs/install">official docs on installing Xdebug</a>, which is likely the most difficult part of working with it. Depending on your environment, you may have to recompile PHP in your development environment, else you can use PECL or a precompiled version. Lukcily, there seems to be <a href="http://code.activestate.com/komodo/remotedebugging/">precompiled versions of Xdebug</a> for just about everything, so <strong>I&#8217;d suggest using that</strong>, graciously provided by ActiveState. It&#8217;ll make your life much easier.</p>
<p>You&#8217;ll need to know which version of PHP you&#8217;re using, and the download provided by ActiveState will have either an <code>xdebug.so</code> or <code>php_xdebug.dll</code> (Windows) ready to go for you.</p>
<p>My personal development environment is a MAMP Pro server, so I&#8217;ll detail how you integrate Xdebug in MAMP. The process is similar for your environment; Xdebug is a PHP extension, so you&#8217;re going to need to edit <strong>your php.ini</strong> and make the changes outlined here.</p>
<h4>Disable Zend Optimizer</h4>
<p>Zend Optimizer and PHP caching systems interfere with Xdebug, so your first step will be to disable those.</p>
<p><img class="alignnone size-full wp-image-1590" title="01-mamp-pro" src="/wp-content/uploads/2011/03/01-mamp-pro.png" alt="" width="787" height="711" /></p>
<h4>Edit php.ini</h4>
<p>MAMP uses templates for server configuration files, including php.ini — you&#8217;ll need to edit that. Ensure you&#8217;re editing the php.ini that matches your active version of PHP.</p>
<p><img class="alignnone size-full wp-image-1591" title="02-edit-template" src="/wp-content/uploads/2011/03/02-edit-template.png" alt="" width="548" height="232" /></p>
<p>Near the bottom will be a <code>[Zend]</code> flag with some config for Zend, ensure that it&#8217;s commented out, if it wasn&#8217;t using the GUI for MAMP Pro.</p>
<p>We&#8217;ll be adding a new section for Xdebug (<em><strong>Note: </strong>Ensure the <code>zend_extension</code> path matches your system path</em>)</p>
<pre><code>[xdebug]
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
zend_extension="<strong>/PATH/TO/YOUR/xdebug.so</strong>"</code></pre>
<p><img class="alignnone size-full wp-image-1592" title="03-edit-template-editor" src="/wp-content/uploads/2011/03/03-edit-template-editor.png" alt="" width="761" height="583" /></p>
<h4>Restart Apache</h4>
<p>Once you&#8217;ve saved your php.ini, restart Apache and view your phpinfo(), there should be an entire section for Xdebug</p>
<p><img class="alignnone size-full wp-image-1593" title="04-xdebug-enabled" src="/wp-content/uploads/2011/03/04-xdebug-enabled.png" alt="" width="634" height="1176" /></p>
<p>With Xdebug installed and running, we can get to the fun part.</p>
<h3>Working with Xdebug and WordPress</h3>
<p>There are a number of articles out there that describe how to get up and running with Xdebug for general PHP development, but I&#8217;m using it for WordPress work, and thought it might be better to tailor usage to that. Here goes.</p>
<p>The first thing to work though here is how you&#8217;re editing your code. There was a time where I thought debugging was a <em>major</em> reason to go with an IDE. I was wrong. Kind of. While debugging is an ingrained feature of an IDE, there are ways to use your favorite text editor in conjunction with Xdebug. Some text editors have extensions specific to Xdebug, and if you&#8217;re on a Mac, you&#8217;ll joy in finding out about <a href="http://www.bluestatic.org/software/macgdbp/">MacGDBp</a>. MacGDBp is a standalone application you can run for the specific purpose of talking to an Xdebug session. I&#8217;d argue to say that it&#8217;s even easier to work with than your IDE. All you have to do is run the app and hit the site you&#8217;re working on.</p>
<p><img class="alignnone size-full wp-image-1595" title="05-macgdbp" src="/wp-content/uploads/2011/03/05-macgdbp.png" alt="" width="733" height="665" /></p>
<p>Setting things up in your IDE is a bit different, you&#8217;ll likely need to edit a preference or two. Debugging is also a bit different in that you&#8217;ll need to actively start and stop a debugging session. Your preference will dictate which you like better. NetBeans makes it pretty easy to work with Xdebug by checking out <strong>Preferences &gt; PHP &gt; General:</strong></p>
<p><img class="alignnone size-full wp-image-1596" title="06-netbeans" src="/wp-content/uploads/2011/03/06-netbeans.png" alt="" width="906" height="736" /></p>
<p>If you used the settings snippet for php.ini from above, your Xdebug sessions will run on port 9000 and you should be good to go. To invoke a debugging session in NetBeans you&#8217;ll be using the Debugging Toolbar primarily, and you can begin a debugging session by hitting the appropriate button (or hitting CMD+F5):</p>
<p><img class="alignnone size-full wp-image-1597" title="07-netbeans-init-debug" src="/wp-content/uploads/2011/03/07-netbeans-init-debug.png" alt="" width="518" height="65" /></p>
<h4>Variable tracing</h4>
<p>By far the biggest benefit to using Xdebug for me is tracing variables. After all, the major inspiration for exploring the extension was to get away from extraneous <code>echo</code>s and <code>print_r()</code>s. Depending on which piece of software you&#8217;re using (MacGDBp or IDE) the visuals will be a bit different, but the concept is the same. When you invoke your debugging session, execution will <em>pause</em> at the first line, giving you a few options.</p>
<ol>
<li>Stop the debugging session</li>
<li>Continue the session (run the entire page call)</li>
<li>Step Over the current line</li>
<li>Step Into the current line</li>
<li>Step Out from the current line</li>
<li>Run to the cursor (not found in MacGDBp)</li>
</ol>
<p><strong>Note:</strong> One of the reasons I really like using an IDE (NetBeans specifically) is that this data is integrated into the environment (redundant to say that, I realize) to the extent of integrating breakpoints and all the way down to current memory usage:</p>
<p><img class="alignnone size-full wp-image-1598" title="08-netbeans-mem-usage" src="/wp-content/uploads/2011/03/08-netbeans-mem-usage.png" alt="" width="475" height="48" /></p>
<p>The actions available during each step of execution are what really shows the magic of Xdebug. You can literally watch WordPress build a page, step by step, function call by function call, pausing execution to check out variables at any point.</p>
<p>As you step through, you can watch your variable stack change with every line executed, along with watching each function execute to see what is getting passed where:</p>
<p><img class="alignnone size-full wp-image-1599" title="09-netbeans-variables" src="/wp-content/uploads/2011/03/09-netbeans-variables.png" alt="" width="1440" height="877" /></p>
<p><img class="alignnone size-full wp-image-1600" title="10-macgdbp-variables" src="/wp-content/uploads/2011/03/10-macgdbp-variables.png" alt="" width="733" height="665" /></p>
<p>In addition to checking out real-time variable values, another huge benefit to using Xdebug is stack tracing; finding out which functions were executed and when.</p>
<p><img class="alignnone size-full wp-image-1601" title="11-netbeans-call-stack" src="/wp-content/uploads/2011/03/11-netbeans-call-stack.png" alt="" width="1079" height="445" /></p>
<p><img class="alignnone size-full wp-image-1602" title="12-macgdbp-call-stack" src="/wp-content/uploads/2011/03/12-macgdbp-call-stack.png" alt="" width="733" height="665" /></p>
<h4>Breakpoints in Xdebug</h4>
<p>While variable and stack tracing are a huge part of debugging, stepping through the entire execution of a WordPress page is extremely time consuming. I&#8217;d suggest checking it out to at least see how much work WordPress is doing on every page load. It&#8217;ll give you a look at WordPress in a way you likely haven&#8217;t seen it before. Breakpoints help alleviate that issue and allow you to debug what you&#8217;re actually working on.</p>
<p>You can think of a <a href="http://en.wikipedia.org/wiki/Breakpoint">breakpoint</a> as a stopping or pausing place during the execution of your program. You&#8217;ve likely heard of breakpoints in JavaScript development, and the same principle applies here. Working with breakpoints is another reason it helps to be using an IDE. The IDE itself will allow the setup and maintenance of breakpoints and everything is in one place. With a standalone application like MacGDBp you&#8217;ll be editing code in one place, and your breakpoints in another. More on that later.</p>
<p>Setting up a breakpoint is as easy as flagging the line <strong> of PHP</strong> at which you&#8217;d like to break as a breakpoint.</p>
<p><img class="alignnone size-full wp-image-1603" title="13-netbeans-breakpoint" src="/wp-content/uploads/2011/03/13-netbeans-breakpoint.png" alt="" width="604" height="612" /></p>
<p>Setting up a breakpoint will tell Xdebug to run until it hits said breakpoint, allowing you to avoid having to step into every function call leading up to your custom work. Execution will pause at your breakpoints, allowing you to inspect the environment in real time, specially tailored to the piece you&#8217;re currently working on.</p>
<p>Setting up breakpoints in a standalone application such as MacGDBp requires that you manually edit the breakpoint by browsing to the file by hand and setting up breakpoints within MacGDBp itself.</p>
<p><img class="alignnone size-full wp-image-1604" title="14-macgdbp-breakpoint-setup" src="/wp-content/uploads/2011/03/14-macgdbp-breakpoint-setup.png" alt="" width="654" height="586" /></p>
<p>Execution will pause at the breakpoint, and you can inspect things as you normally would.</p>
<p><img class="alignnone size-full wp-image-1605" title="15-macgdbp-breakpoint-view" src="/wp-content/uploads/2011/03/15-macgdbp-breakpoint-view.png" alt="" width="733" height="665" /></p>
<p>Breakpoints will likely be a most used feature should you get more into debugging with Xdebug, and I can already tell it&#8217;s going to have a <em>huge impact</em> on the way I work. That said, I realize I&#8217;ve just scratched the surface with using Xdebug, and I can&#8217;t wait to more fully explore the innards of WordPress and learn more about what it&#8217;s actually doing under the hood.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1585&c=1716170873' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1585&c=1716170873' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110328/wordpress-development-xdebug/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>&#8226; Seriously Considering the Move from Text Editor to an IDE</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110314%2Fconsidering-text-editor-to-ide%2F&#038;seed_title=%26%238226%3B+Seriously+Considering+the+Move+from+Text+Editor+to+an+IDE</link>
		<comments>http://mondaybynoon.com/20110314/considering-text-editor-to-ide/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 14:16:35 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Komodo]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[professionalism]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[Xdebug]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1581</guid>
		<description><![CDATA[The past year has shown me that my interest in programming is expanding. That said, it's an entirely new discipline in which I need to refine my professionalism. There are certain aspects of working within an IDE that I feel will help me accomplish that.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1581&c=1247887771' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1581&c=1247887771' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>When I first started working professionally, it was in a ColdFusion environment. Beyond that scariness, the company I worked at was a victim of licensing costs requiring the use of an internal development server on which we&#8217;d all work. It was a small company with just three people coding day-to-day, so collisions were unlikely. On top of that, it was my first real job so I didn&#8217;t really see much of an issue with it.</p>
<p>As I became more involved in the front end community though, lots of people would talk about local development and how they wouldn&#8217;t trade it for anything in the world. As my process began to form and become more refined with every project, I first began my abstraction of working on the front end start to finish first, followed by ColdFusion development. While the initial inspiration was to see if local development was that much faster, the byproducts of segmentation have carried through to my workflow today. I always build out the front end completely before integration with WordPress.</p>
<p>Unfortunately though, I was stuck working on the in-house dev server due to licensing and frankly a feeling of being too busy to worry about exploring other options that kept us on ColdFusion. Fast forward a few years and we had moved to WordPress. That was the day I began developing locally and it made me love open source that much more.</p>
<p>My local development environment as of today is a 13&#8243; MacBook Air running OS X 10.6.6 with <a href="http://www.mamp.info/en/mamp-pro/index.html">MAMP Pro</a>. I was running <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> for a time but since moved to MAMP Pro due to the ease of creating named virtual hosts, switching between recent PHP versions, local Postfix, and easy fine tuning of Apache modules to name a few reasons.</p>
<h2>Editor v. IDE</h2>
<p>That&#8217;s the environment, the other big piece is the editor. I&#8217;m a self-proclaimed <a href="/2011/01/03/its-about-the-tools/">editor addict</a>; I&#8217;m <em>always</em> interested in what&#8217;s being released and why it might help me work faster. That said, however, I purchased a license for TextMate the day I moved to OS X in 2006 and to this day it remains the best tool for the job. <a href="http://www.sublimetext.com/2">Sublime Text 2</a>, though, is on it&#8217;s way to being the TextMate 2 we&#8217;ve all been waiting for.</p>
<p>At the end of the day both TextMate and Sublime Text 2 are just text editors. I don&#8217;t profess that I&#8217;m the world&#8217;s best programmer by any means, but I&#8217;ve built a few things over time, and I don&#8217;t see that going anywhere soon. I have a heart for design, but practicality keeps me neck deep in markup, style, script, and PHP every day of the week at <a href="http://irontoiron.com">Iron to Iron</a> and I love it. I&#8217;m liking it so much in fact that I&#8217;m finding that I want to get more out of my programming workflow, a text editor isn&#8217;t really cutting it. Enter <abbr title="Integrated Development Environment">IDE</abbr>s.</p>
<p>I&#8217;ve had a nagging interest in IDEs since first hearing about them. While a much more elaborate piece of software, I&#8217;m essentially using those pieces in segmented applications already, and the editor itself is <em>much</em> more elaborate. When working with a text editor, it&#8217;s likely you&#8217;re using that to edit the code, another application for version control, yet another application for working with your databases, your browser for documentation, and the list goes on. That&#8217;s what I&#8217;m doing anyway. I&#8217;ll edit code in <a href="http://macromates.com/">TextMate</a> (<a href="http://www.sublimetext.com/2">Sublime Text 2</a>), commit in <a href="http://versionsapp.com/">Versions</a>, <a href="http://www.sequelpro.com/">Sequel Pro</a> for all things database, and <a href="http://www.google.com/chrome">Chrome</a> to review documentation when needed.</p>
<p>I recognize and appreciate that many of you are using command line <a href="http://git-scm.com/">git</a>, command line <a href="http://www.vim.org/">vim</a>, and so forth. While the command line is super productive and minimal, sometimes I like eye candy for the sake of eye candy.</p>
<p>IDEs are, by nature, fully featured and very comprehensive. The most attractive feature of an IDE for me is codesense, or smart autocompletion of code. Many times when I&#8217;m reviewing documentation, it&#8217;s simply an effort to get function parameters right on the first try. Codesense helps do that for me, and even provide more detailed documentation on WordPress-specific functions as many IDEs will pull in PHPDoc which can be really useful on the fly. IDEs aren&#8217;t the only kids on the block using codesense, though. Many newer text editor builds are doing the very same thing which is great. So what is it that has me wrapping back to IDEs? Debugging.</p>
<h3>Debugging. My final frontier. Until the next one.</h3>
<p>Debugging and (unit) testing are two aspects of my workflow that I admittedly have not spent a gigantic amount of time with. To me, that reflects poorly on my professionalism as a programmer and it&#8217;s something I want to focus on over the coming years. My workflow is filled with <code>print_r()</code> and <code>echo</code> when needed and it just <strong>feels sloppy</strong>. Sure, it gets the job done, but it just feels like things can be done better, faster. Debugging solves that feeling for me.</p>
<p>I&#8217;m currently integrating <a href="http://www.xdebug.org/">Xdebug</a> into my workflow and it just <strong>feels right</strong>. Not only does it feel more productive, the geek in me goes nuts in the fact that I can step through a call to a WordPress page and watch things execute line by line. Beyond that I can keep an eye on memory usage, call stacks, check out variables at any point in time during execution, and the IDE caters to exactly that. As I build more advanced things for WordPress, this interaction exchange is going to prove extremely valuable.</p>
<p>For the time being, I&#8217;ve settled on <a href="http://netbeans.org/">NetBeans</a> as my IDE of choice. I explored many of the available IDEs and chose NetBeans because of the customizable language patterns (it lets you define, for instance, how your braces are formatted), it&#8217;s integration with Xdebug, it&#8217;s price tag, and it&#8217;s release performance over the past couple of years. I don&#8217;t love the fact that it runs on Java, but overall I like the decision. <a href="http://www.activestate.com/komodo-ide">Komodo</a> comes in as a close second, but the price tag is a bit  up there for something I&#8217;m not sure will remain in my workflow over the next six months. Should the IDE route remain valuable for me over time, I&#8217;ll begin to evaluate other IDEs based on features. Suggestions welcome.</p>
<p>All things considered, I&#8217;m hoping to go <a href="http://en.wikipedia.org/wiki/Cold_turkey">cold turkey</a> with NetBeans for the next week. I&#8217;d like to revisit the actual debugging process in the form of a screencast should anyone be interested in checking that out on a more intimate detail. I&#8217;m also hoping that the broadcast of my newness to it will help get some targeted feedback on what I can do to take even more advantage of what an IDE and debugging tools have to offer.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1581&c=167621582' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1581&c=167621582' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110314/considering-text-editor-to-ide/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Adding APC to MediaTemple Grid Service</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20101231%2Fadding-apc-to-mediatemple-grid-service%2F&#038;seed_title=Adding+APC+to+MediaTemple+Grid+Service</link>
		<comments>http://mondaybynoon.com/20101231/adding-apc-to-mediatemple-grid-service/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 16:07:50 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[(gs)]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[Grid-Service]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Media Temple]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1493</guid>
		<description><![CDATA[Adding APC to MediaTemple Grid Service &#124; GeekTank. I still use Media Temple&#8217;s Grid-Service to host a number of development sites as well as some daily-use applications. I happened to be working on Iron to Iron&#8217;s production server, making some optimizations to APC (Alternative PHP Cache) which I use in conjunction with W3 Total Cache. [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1493&c=196798440' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1493&c=196798440' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geektank.net/2010/11/adding-apc-to-mediatemple-grid-service/">Adding APC to MediaTemple Grid Service | GeekTank</a>.</p>
<p>I still use <a href="http://irontoiron.com/hosting">Media Temple&#8217;s Grid-Service</a> to host a number of development sites as well as some daily-use applications. I happened to be working on Iron to Iron&#8217;s production server, making some optimizations to <a href="http://php.net/manual/en/book.apc.php">APC</a> (Alternative PHP Cache) which I use in conjunction with <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a>.</p>
<p class="update">If you&#8217;re not caching your WordPress installs I definitely suggest getting on board with <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3</a> &#8212; it&#8217;s honestly stellar.</p>
<p>While I was poking around some documentation, I stumbled across a quick how-to on <a href="http://geektank.net/2010/11/adding-apc-to-mediatemple-grid-service/">making APC work with (mt)&#8217;s (gs)</a>. I&#8217;m not sure why it never occurred to me that it&#8217;d work, but it&#8217;s great! If you&#8217;re running your WordPress site on <a href="http://irontoiron.com/hosting">Media Temple&#8217;s Grid-Service</a>, definitely take a few minutes to get APC up and running with W3 Total Cache.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1493&c=891075467' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1493&c=891075467' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20101231/adding-apc-to-mediatemple-grid-service/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ten Things I Hate About Object-Oriented Programming</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20101210%2Ften-things-i-hate-about-object-oriented-programming%2F&#038;seed_title=Ten+Things+I+Hate+About+Object-Oriented+Programming</link>
		<comments>http://mondaybynoon.com/20101210/ten-things-i-hate-about-object-oriented-programming/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 13:35:02 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1477</guid>
		<description><![CDATA[Ten Things I Hate About Object-Oriented Programming — The JOT Blog. It&#8217;s a rarity for me to read a post that does anything but assume the fact of OOP being the best way to approach application development and go from there. This was a nice, refreshing look at some of the frustrations I have when [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1477&c=310985270' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1477&c=310985270' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.jot.fm/2010/08/26/ten-things-i-hate-about-object-oriented-programming/">Ten Things I Hate About Object-Oriented Programming — The JOT Blog</a>.</p>
<p>It&#8217;s a rarity for me to read a post that does anything but assume the fact of OOP being the best way to approach application development and go from there. This was a nice, refreshing look at some of the frustrations I have when I work with objects and what surrounds them.</p>
<p>WordPress is (for now) largely procedural and that helps me and anyone else to become proficient in using everything from A to Z in a realistic timeframe. Sure, there are times when you hit a bit of a rabbit hole in chasing down function calls and tracking how the variables are handled, but for the most part it feels straightforward.</p>
<p>A big part of programming to me is the human factor &#8212; is it easy to read someone else&#8217;s code, even when you&#8217;re already familiar with the language? There are times I&#8217;ll be reviewing an application written in PHP, a language I&#8217;ve worked primarily in for years, that feel like they take way too long to understand. While that could be due to the author&#8217;s implementation, I sympathize with Oscar when he speaks about the issues of understanding someone else&#8217;s OOP.</p>
<p>On the complete other hand, there are many aspects of OOP that I&#8217;ve come to know, like, and embrace. I think <a href="http://blog.jot.fm/2010/08/26/ten-things-i-hate-about-object-oriented-programming/">Oscar&#8217;s</a> second-to-last paragraph speaks well about The Next New Thing and that&#8217;s &#8220;all we&#8217;ll need&#8221; to be happy with OOP. I have a bias against &#8216;all we need to do&#8217; and much favor just doing it; see where the dust settles. I know that&#8217;s super hard to accomplish <em>with a programming language</em>, but who knows.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1477&c=1713707134' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1477&c=1713707134' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20101210/ten-things-i-hate-about-object-oriented-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 4/120 queries in 0.121 seconds using apc
Object Caching 1750/1937 objects using apc

Served from: www.mondaybynoon.com @ 2012-02-09 05:59:04 -->
