<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Internet Strategy Guide</title>
	<atom:link href="https://phpprotip.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://phpprotip.com</link>
	<description>Together we can defeat the internet</description>
	<lastBuildDate>Tue, 07 Mar 2017 02:01:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.33</generator>
<site xmlns="com-wordpress:feed-additions:1">55205001</site>	<copyright>Copyright &#xA9; Internet Strategy Guide 2013 </copyright>
	<managingEditor>chance@chancegarcia.com (Internet Strategy Guide)</managingEditor>
	<webMaster>chance@chancegarcia.com (Internet Strategy Guide)</webMaster>
	<image>
		<url>http://phpprotip.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Internet Strategy Guide</title>
		<link>https://phpprotip.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Together we can defeat the internet</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Internet Strategy Guide</itunes:author>
	<itunes:owner>
		<itunes:name>Internet Strategy Guide</itunes:name>
		<itunes:email>chance@chancegarcia.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="https://phpprotip.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
	<item>
		<title>Z170 boot fails with 32GB memory (error code 55)</title>
		<link>https://phpprotip.com/2017/03/z170-boot-fails-with-32gb-memory-error-code-55/</link>
		<comments>https://phpprotip.com/2017/03/z170-boot-fails-with-32gb-memory-error-code-55/#respond</comments>
		<pubDate>Tue, 07 Mar 2017 02:01:20 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[32GB memory]]></category>
		<category><![CDATA[error 55]]></category>
		<category><![CDATA[motherboard]]></category>
		<category><![CDATA[z170]]></category>
		<category><![CDATA[z170 boot failure]]></category>

		<guid isPermaLink="false">https://phpprotip.com/?p=672</guid>
		<description><![CDATA[This took forever to find when I had issues getting my new Z170 boot to work. The issue was specifically&#8230;]]></description>
				<content:encoded><![CDATA[<p>This took forever to find when I had issues getting my new Z170 boot to work. The issue was specifically because of having 32 GB memory.</p>
<p>I eventually stumbled onto the thread below (after a lot of fine-tuned search engine keywording). This is the specific relevant comment below:</p>
<p>http://www.overclockers.com/forums/showthread.php/766693-Z170-Boot-fails-with-full-memory-installed?p=7879150&#038;viewfull=1#post7879150</p>
<p>In case the thread gets lost, I&#8217;m wanting to keep a copy of the steps in case I encounter it again.</p>
<p>Do the following steps:<br />
&#8211; remove battery &amp; clear BIOS<br />
&#8211; insert module into slot 1<br />
&#8211; boot and change XMP to Profile1<br />
&#8211; insert module into slot 2, then boot<br />
&#8211; insert modules into slots 3 and 4, then boot<br />
Now 32 GB should be recognized.</p>
 <img src="https://phpprotip.com/?feed-stats-post-id=672" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2017/03/z170-boot-fails-with-32gb-memory-error-code-55/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">672</post-id>	</item>
		<item>
		<title>Pocket C.H.I.P. first impressions</title>
		<link>https://phpprotip.com/2016/06/pocket-c-h-i-p-first-impressions/</link>
		<comments>https://phpprotip.com/2016/06/pocket-c-h-i-p-first-impressions/#respond</comments>
		<pubDate>Sat, 18 Jun 2016 22:43:23 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[builds]]></category>
		<category><![CDATA[toys]]></category>

		<guid isPermaLink="false">https://phpprotip.com/?p=663</guid>
		<description><![CDATA[Last year, I helped Kickstart C.H.I.P. last year and it just arrived the other day. I opted for the Pocket&#8230;]]></description>
				<content:encoded><![CDATA[<p>Last year, I helped <a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly93d3cua2lja3N0YXJ0ZXIuY29tL3Byb2plY3RzLzE1OTgyNzI2NzAvY2hpcC10aGUtd29ybGRzLWZpcnN0LTktY29tcHV0ZXI%3D&#038;feed-stats-url-post-id=663">Kickstart C.H.I.P.</a> last year and it just arrived the other day. I opted for the Pocket C.H.I.P version since I&#8217;m too lazy to make a casing for it and dig out peripherals when it arrived. Some of my other reasons for getting Pocket C.H.I.P. (besides shiny new candybar/toy) was to show it to friends as the portable and then hook up as a desktop to show off as well. Other reasons was to have as an option for family in the Philippines and get some friends kids into coding.</p>
<p><a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9waHBwcm90aXAuY29tL3BvY2tldC1jaGlwLw%3D%3D&#038;feed-stats-url-post-id=663"><img data-attachment-id="667" data-permalink="https://phpprotip.com/2016/06/pocket-c-h-i-p-first-impressions/pocket-chip/" data-orig-file="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/pocket-chip.jpg?fit=3024%2C4032&amp;ssl=1" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;100&quot;,&quot;shutter_speed&quot;:&quot;0.033333333333333&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="pocket-chip" data-image-description="" data-medium-file="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/pocket-chip.jpg?fit=744%2C992&amp;ssl=1" data-large-file="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/pocket-chip.jpg?fit=744%2C992&amp;ssl=1" class="alignleft size-full wp-image-667" src="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/pocket-chip.jpg?resize=744%2C992&#038;ssl=1" alt="pocket-chip" data-recalc-dims="1" /></a></p>
<p>First thing I did was hook it up online and updated apt-get. The pencil kickstand idea is pretty damn awesome and useful. bv<br />
<a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9waHBwcm90aXAuY29tLz9hdHRhY2htZW50X2lkPTY2NQ%3D%3D&#038;feed-stats-url-post-id=663" rel="attachment wp-att-665"><img data-attachment-id="665" data-permalink="https://phpprotip.com/2016/06/pocket-c-h-i-p-first-impressions/chip/" data-orig-file="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/chip.jpg?fit=3024%2C4032&amp;ssl=1" data-orig-size="3024,4032" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6s&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1466209725&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;200&quot;,&quot;shutter_speed&quot;:&quot;0.041666666666667&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="chip" data-image-description="" data-medium-file="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/chip.jpg?fit=744%2C992&amp;ssl=1" data-large-file="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/chip.jpg?fit=744%2C992&amp;ssl=1" class="alignleft size-full wp-image-665" src="https://i2.wp.com/phpprotip.com/wp-content/uploads/2016/06/chip.jpg?resize=744%2C992&#038;ssl=1" alt="chip" data-recalc-dims="1" /></a></p>
<p>After updating, I decided to power down to look at the main guts of it. I knew the actual computer part would be small but am still impressed with how small it is. The no-screws casing is very nice and well put together. I found that the battery is stickied on to the board so changing from portable to &#8220;desktop&#8221; and reusing the battery isn&#8217;t an easy option.</p>
<p>Besides the battery, there are a few other things that hinder going back and forth from pocket to desktop. The first being a sacrifice of resolution. This is because (according to the <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3VwZGF0ZS5nZXRjaGlwLmNvbS8%3D&#038;feed-stats-url-post-id=663">chip update site</a>) : &#8220;A C.H.I.P. that supports DIPs does not support PocketC.H.I.P. and vice versa. C.H.I.P.s can be reflashed to work with either, just not at the same time. Yes, we&#8217;re going to fix this.&#8221; Also related to this is that there doesn&#8217;t seem to be a way to boot between the pocket chip os and chip os. (have to look into this more)</p>
<p>The keyboard is alright. I tested it using terminal and found that vi didn&#8217;t work the way I&#8217;m use to. I first thought it was a keyboard issue then figured out it is a vim config idea.</p>
<p>This was solved by installing vim-gui-common and vim-runtime.</p>
<p><code>sudo apt-get install vim-gui-common vim-runtime</code></p>
<p>I was surprised that there was no browser on the pocketchip os. After some research, I found that people have tried various options and <code>dwb</code> seems to be the best option given the touch screen and resolution. I tried <code>dwb</code> out for a few minutes and it crashed on me. I&#8217;ll look into that a bit more sometime.</p>
<p>The latest thing I tried is to run the pocket chip headless. This is possible to do but you have to install the ssh service first. The reason it is not installed is &#8220;<a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9iYnMubmV4dHRoaW5nLmNvL3Qvc3NoLXRvLXBvY2tldC1jaGlwLzQ2OTQvMTc%3D&#038;feed-stats-url-post-id=663">don&#8217;t want uninformed people to get rooted all the time with default user and password while they&#8217;re out and about. We&#8217;re considering better solutions to this issue.</a>&#8221;</p>
<p>So you will have to go to the terminal and install it.</p>
<p><code>sudo apt-get install openssh-server</code></p>
<p>I changed the default password obviously. I plan on flashing the device into the desktop and playing around with that next.</p>
 <img src="https://phpprotip.com/?feed-stats-post-id=663" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2016/06/pocket-c-h-i-p-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">663</post-id>	</item>
		<item>
		<title>&#8216;UIViewControllerHierarchyInconsistency&#8217;, reason: &#8216;A view can only be associated with at most one view controller at a time!</title>
		<link>https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/</link>
		<comments>https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/#respond</comments>
		<pubDate>Wed, 24 Jul 2013 00:23:19 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ViewController]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=579</guid>
		<description><![CDATA[So I was working on an iOS app for a client and received this error when trying to launch the&#8230;]]></description>
				<content:encoded><![CDATA[<p>So I was working on an <a class="zem_slink" title="IOS" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5hcHBsZS5jb20vaW9zLw%3D%3D&#038;feed-stats-url-post-id=579" rel="homepage nofollow">iOS</a> <a class="zem_slink" title="Mobile app" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Nb2JpbGVfYXBw&#038;feed-stats-url-post-id=579" rel="wikipedia nofollow">app</a> for a client and received this error when trying to launch the app in iOS simulator. I was assured that the repository I was pulling from was the same codebase as the app currently in the store. After googling, I found several <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29t&#038;feed-stats-url-post-id=579">stackoverflow</a> questions on this with a lot of text answers and 1 with a very short explanation with a <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjQzNDkzNy91aXZpZXdjb250cm9sbGVyaGllcmFyY2h5aW5jb25zaXN0ZW5jeS13aGVuLXRyeWluZy10by1wcmVzZW50LWEtbW9kYWwtdmlldy1jb250cg%3D%3D&#038;feed-stats-url-post-id=579">before and after screenshot</a> that didn&#8217;t explain much. As you can tell by the blog <a class="zem_slink" title="Uniform resource locator" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbmlmb3JtX3Jlc291cmNlX2xvY2F0b3I%3D&#038;feed-stats-url-post-id=579" rel="wikipedia nofollow">URL</a>, iOS is currently not my programming strength, so I decided to make a blog post to go slightly deeper into this and compile the bits I learned from debugging this.</p>
<p>First of all, the reason I encountered was due to a change introduced in iOS 6. I forget what it was exactly but that&#8217;s why we&#8217;re seeing this <a class="zem_slink" title="Error message" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FcnJvcl9tZXNzYWdl&#038;feed-stats-url-post-id=579" rel="wikipedia nofollow">error message</a>.  What error message? Something that looks like this:</p>
<pre>2013-07-12 11:07:52.775 App[3545:c07] *** Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'A view can only be associated with at most one view controller at a time! View &lt;UIScrollView: 0x89780c0; frame = (0 20; 320 548); autoresize = W+H; gestureRecognizers = &lt;NSArray: 0x8979730&gt;; layer = &lt;CALayer: 0x89782c0&gt;; contentOffset: {0, 0}&gt; is associated with &lt;UIViewController: 0x8979cc0&gt;. Clear this association before associating this view with &lt;RootViewController: 0x753ed50&gt;.'
*** First throw call stack:
(0x172b012 0x1110e7e 0x172adeb 0x481cb9 0x518f7c 0x515440 0x845be 0x840e7 0xaeb58 0x651019 0x1124663 0x172645a 0x64fb1c 0x5147e7 0x514dc8 0x514ff8 0x515232 0x5154da 0x52c8e5 0x52c9cb 0x52cc76 0x52cd71 0x52d89b 0x52edc6 0x52f065 0x52f1a8 0x52f5b9 0x52f257 0x52f1de 0x11bfd 0x15c589 0x15a652 0x15b89a 0x15a60d 0x15a785 0xa7a68 0x1a38911 0x1a37bb3 0x1a75cda 0x16cd8fd 0x1a7635c 0x1a762d5 0x1960250 0x16aef3f 0x16ae96f 0x16d1734 0x16d0f44 0x16d0e1b 0x20657e3 0x2065668 0x433ffc 0x1fdd 0x1f15)
libc++abi.dylib: terminate called throwing an exception</pre>
<p>So we, obviously, have the title of this article:</p>
<pre>'UIViewControllerHierarchyInconsistency', reason: 'A view can only be associated with at most one view controller at a time!</pre>
<p>followed by the important part:</p>
<pre>&lt;UIScrollView: 0x89780c0; frame = (0 20; 320 548); autoresize = W+H; gestureRecognizers = &lt;NSArray: 0x8979730&gt;; layer = &lt;CALayer: 0x89782c0&gt;; contentOffset: {0, 0}&gt; is associated with &lt;UIViewController: 0x8979cc0&gt;. Clear this association before associating this view with &lt;RootViewController: 0x753ed50&gt;.'</pre>
<p>This is telling us a few things:</p>
<ol>
<li><span style="line-height: 13px;">The main issue is in RootViewController</span></li>
<li>UIScrollView and UIViewController are in some sort of <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaGVyZV9jYW5fYmVfb25seV9vbmU%3D&#038;feed-stats-url-post-id=579">Highland</a>/<a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYWRfTWF4X0JleW9uZF9UaHVuZGVyZG9tZQ%3D%3D&#038;feed-stats-url-post-id=579">ThunderDome</a> situation
<p><figure style="width: 274px" class="wp-caption aligncenter zemanta-img"><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaWxlOkhpZ2hsYW5kZXJfQ292ZXIucG5n&#038;feed-stats-url-post-id=579" rel="nofollow"><img class="zemanta-img-inserted zemanta-img-configured" title="Highlander: The Game" src="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/Highlander_Cover.png?resize=274%2C360&#038;ssl=1" alt="Highlander: The Game" data-recalc-dims="1" /></a><figcaption class="wp-caption-text">Highlander: The Game (Photo credit: Wikipedia)</figcaption></figure></li>
</ol>
<p>So we should open up the problem file:</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTMvMDcvZnVsbC12aWV3LnBuZw%3D%3D&#038;feed-stats-url-post-id=579"><img data-attachment-id="584" data-permalink="https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/full-view/" data-orig-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/full-view.png?fit=1202%2C946&amp;ssl=1" data-orig-size="1202,946" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="full view" data-image-description="" data-medium-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/full-view.png?fit=744%2C586&amp;ssl=1" data-large-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/full-view.png?fit=744%2C586&amp;ssl=1" class="wp-image-584 alignleft" src="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/full-view.png?resize=338%2C267&#038;ssl=1" alt="full view" data-recalc-dims="1" /></a></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<p>Hey! Look, there&#8217;s the ViewController and something called Scroll View. We&#8217;re probably on the right track. It&#8217;s right there, under Objects. Let&#8217;s take a closer look at that.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTMvMDcvaXNzdWUucG5n&#038;feed-stats-url-post-id=579"><img data-attachment-id="581" data-permalink="https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/issue/" data-orig-file="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/issue.png?fit=264%2C156&amp;ssl=1" data-orig-size="264,156" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="issue" data-image-description="" data-medium-file="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/issue.png?fit=264%2C156&amp;ssl=1" data-large-file="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/issue.png?fit=264%2C156&amp;ssl=1" class="alignleft size-full wp-image-581" src="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/issue.png?resize=264%2C156&#038;ssl=1" alt="issue" data-recalc-dims="1" /></a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"> So what iOS 6 is complaining about is we have a view within a view in our view controller (kinda like <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5pbWRiLmNvbS90aXRsZS90dDEzNzU2NjYvP3JlZl89c3JfMQ%3D%3D&#038;feed-stats-url-post-id=579">Inception</a>).</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;">So what do we have to do to solve this? Let&#8217;s take the Scroll View child and make it a sibling.</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTMvMDcvc29sdXRpb24ucG5n&#038;feed-stats-url-post-id=579"><img data-attachment-id="583" data-permalink="https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/solution/" data-orig-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/solution.png?fit=398%2C94&amp;ssl=1" data-orig-size="398,94" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="solution" data-image-description="" data-medium-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/solution.png?fit=398%2C94&amp;ssl=1" data-large-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/solution.png?fit=398%2C94&amp;ssl=1" class="alignleft size-full wp-image-583" src="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/solution.png?resize=398%2C94&#038;ssl=1" alt="solution" data-recalc-dims="1" /></a></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;">Well now that View Controller is kinda useless, let&#8217;s clean that up.</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTMvMDcvY2xlYW51cC5wbmc%3D&#038;feed-stats-url-post-id=579"><img data-attachment-id="582" data-permalink="https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/cleanup/" data-orig-file="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/cleanup.png?fit=404%2C174&amp;ssl=1" data-orig-size="404,174" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="cleanup" data-image-description="" data-medium-file="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/cleanup.png?fit=404%2C174&amp;ssl=1" data-large-file="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/cleanup.png?fit=404%2C174&amp;ssl=1" class="alignleft size-full wp-image-582" src="https://i1.wp.com/phpprotip.com/wp-content/uploads/2013/07/cleanup.png?resize=404%2C174&#038;ssl=1" alt="cleanup" data-recalc-dims="1" /></a></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;">Oh yeah, I read something about the File&#8217;s Owner Class, so let&#8217;s change that too. I&#8217;m putting a pic in of this because it&#8217;s a change I made and I&#8217;m not sure if it actually has anything to do with this but figure I&#8217;d rather have too many steps than not enough steps.</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<p><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTMvMDcvZmlsZS1vd25lci1jbGFzcy5wbmc%3D&#038;feed-stats-url-post-id=579"><img data-attachment-id="580" data-permalink="https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/file-owner-class/" data-orig-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/file-owner-class.png?fit=1283%2C362&amp;ssl=1" data-orig-size="1283,362" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="file owner class" data-image-description="" data-medium-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/file-owner-class.png?fit=744%2C210&amp;ssl=1" data-large-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/file-owner-class.png?fit=744%2C210&amp;ssl=1" class="alignleft  wp-image-580" src="https://i0.wp.com/phpprotip.com/wp-content/uploads/2013/07/file-owner-class.png?resize=744%2C210&#038;ssl=1" alt="file owner class" data-recalc-dims="1" /></a>There you have it. That&#8217;s my how I solved this issue. Hope it works for you. Hopefully someday, I can come back to this and give a more thorough explanation but for now, this is all I got.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%2FcHg%3D&#038;feed-stats-url-post-id=579"><img class="zemanta-pixie-img" style="border: none; float: right;" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" alt="Enhanced by Zemanta" data-recalc-dims="1" /></a></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=579" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2013/07/uiviewcontrollerhierarchyinconsistency-reason-a-view-can-only-be-associated-with-at-most-one-view-controller-at-a-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">579</post-id>	</item>
		<item>
		<title>PHPStorm File Templates Includes Custom Variables</title>
		<link>https://phpprotip.com/2012/02/phpstorm-file-templates-includes-custom-variables/</link>
		<comments>https://phpprotip.com/2012/02/phpstorm-file-templates-includes-custom-variables/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 01:39:46 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpstorm]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=564</guid>
		<description><![CDATA[PHPStorm&#8217;s File template settings are very versatile. They allow you to not only make a file template, but also allow you&#8230;]]></description>
				<content:encoded><![CDATA[<p>PHPStorm&#8217;s File template settings are very versatile. They allow you to not only make a file template, but also allow you to parse out redundant elements (such as licensing) in the template by allowing an includes section. In your File Template, any undefined variable automatically elicits a prompt from PHPStorm.</p>
<p>PHPStorm allows you access to the includes section via the <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5qZXRicmFpbnMuY29tL3BocHN0b3JtL3dlYmhlbHAvcGFyc2UtZGlyZWN0aXZlLmh0bWw%3D&#038;feed-stats-url-post-id=564">#parse directive</a>. If you&#8217;re want To have Custom variables to be filled in correctly via prompt, you will need to have the variable declared in the template.</p>
<p>Example</p>
<p>&#8220;chance license.php&#8221;</p>
<pre lang="php">/**
* @package ${Package}
* @author Chance Garcia
* @copyright (C)Copyright ${YEAR} chancegarcia.com
*/</pre>
<p>In the above includes example, I&#8217;m wanting to have a custom variable named Package. I can only cause PHPStorm to prompt for this value if I include the variable in my template. If I&#8217;m already using the variable in the template, then it will fill in when the includes file is parsed.</p>
<p>Example:</p>
<pre lang="php">&lt;?php
#parse("chance license.php")

class ${Package}_#if(${ExtraClassInfo} != "")${ExtraClassInfo}_#end${NAME}
{

}</pre>
<p>In the above template, the ${Package} variable will be given a prompt since it is used in the template and an unknown variable and the parsed &#8220;chance license.php&#8221; include will be able to use that prompt value.</p>
<p>I am also using another variable to Prompt for extra class name information. Since PHPStorm uses <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3ZlbG9jaXR5LmFwYWNoZS5vcmcvZW5naW5lL2RldmVsL3Z0bC1yZWZlcmVuY2UtZ3VpZGUuaHRtbA%3D%3D&#038;feed-stats-url-post-id=564">Velocity Template Language (VTL)</a>, I am able to use the VTL conditional syntax to insert that information if it is entered and ignore it if it is not. This technique is useful in a situation where you want your include file to have a custom variable value but do not need to display this value in your template.</p>
<p>Example:</p>
<pre lang="xml">&lt;?xml version="1.0"?&gt;
&lt;!--
#if(${Package})#end
#parse("chance license.php")
--&gt;</pre>
<p>&nbsp;</p>
<p>In the above example, we make PHPStorm prompt for the custom value needed for out parsed include file. This gives us our expected include file without printing our custom variable anywhere else in our template.</p>
<p>&nbsp;</p>
<p>Update: I made a <a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9naXRodWIuY29tL2NoYW5jZWdhcmNpYS9waHBzdG9ybS10ZW1wbGF0ZXM%3D&#038;feed-stats-url-post-id=564">github repo</a> (<a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9naXRodWIuY29tL2NoYW5jZWdhcmNpYS9waHBzdG9ybS10ZW1wbGF0ZXM%3D&#038;feed-stats-url-post-id=564">https://github.com/chancegarcia/phpstorm-templates</a>) of my templates for better examples and in case I lose my settings.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%3D&#038;feed-stats-url-post-id=564"><img class="zemanta-pixie-img" style="border: none; float: right;" alt="Enhanced by Zemanta" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" data-recalc-dims="1" /></a></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=564" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2012/02/phpstorm-file-templates-includes-custom-variables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">564</post-id>	</item>
		<item>
		<title>MAMP PRO, PECL, SSH2, and OSX CLI (AKA acronym madness)</title>
		<link>https://phpprotip.com/2011/11/mamp-pro-pecl-ssh2-and-osx-cli-aka-acronym-madness/</link>
		<comments>https://phpprotip.com/2011/11/mamp-pro-pecl-ssh2-and-osx-cli-aka-acronym-madness/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 05:47:02 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=548</guid>
		<description><![CDATA[Install the PECL SSH2 extension to MAMP PRO and the PHP CLI in OSX.]]></description>
				<content:encoded><![CDATA[<p>Or madness in general. So as you may know, I&#8217;ve started using <a class="zem_slink" title="PhpStorm" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5qZXRicmFpbnMuY29tL3BocHN0b3Jt&#038;feed-stats-url-post-id=548" rel="homepage nofollow">PHPStorm</a> to work locally. I decided to dust off an old <a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9naXRodWIuY29tL2NoYW5jZWdhcmNpYS9DRy9ibG9iL2dpdGh1Yi9Tc2gucGhw&#038;feed-stats-url-post-id=548">SSH2 wrapper</a> I wrote and play with how PHPStorm uses <a class="zem_slink" title="PHPUnit" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5waHB1bml0LmRl&#038;feed-stats-url-post-id=548" rel="homepage nofollow">PHPUnit</a> and does <a class="zem_slink" title="Code refactoring" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db2RlX3JlZmFjdG9yaW5n&#038;feed-stats-url-post-id=548" rel="wikipedia nofollow">refactoring</a>. I knew that I would have to install the extension via PECL and was like, &#8220;Oh it can&#8217;t be that bad to do it through <a class="zem_slink" title="MAMP" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5tYW1wLmluZm8vZW4vaW5kZXgucGhw&#038;feed-stats-url-post-id=548" rel="homepage nofollow">MAMP</a> PRO&#8221; and as you may have guessed, I sealed my own fate for a couple hours. One thing I can say is that, even though I use a convenient app like MAMP PRO to set up my local development environment, I&#8217;m glad my sysadmin-fu is up to snuff enough to fly without the conveniences because after this ordeal, I feel like I might as well have made my MAMP stack from scratch with all the hoops I jumped tonight. (I&#8217;m pretty sure that last sentence is also one of the worst run-on sentences ever).</p>
<p>The first thing you need to know is that the PECL command is located at the directory</p>
<pre>/Applications/MAMP/bin/php/php5.3.6/bin</pre>
<p>when I tried to run</p>
<pre>sudo ./pecl install -a ssh2 channel://pecl.php.net/ssh2-0.11.3</pre>
<p>from that directory, I got the error:</p>
<pre>Notice: unserialize(): Error at offset 267 of 1133 bytes in Config.php on line 1050
PHP Notice: unserialize(): Error at offset 267 of 1133 bytes in /Applications/MAMP/bin/php/php5.3.6/lib/php/PEAR/Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.</pre>
<p>I found out later that the error is most likely caused by the file</p>
<pre>/Applications/MAMP/bin/php/php5.3.6/conf/pear.conf</pre>
<p>So if you get an error, try doing</p>
<pre>sudo mv /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf.bkp</pre>
<p>If you&#8217;re still getting the error, you can also the following:</p>
<ol>
<li>Install <a class="zem_slink" title="Xcode" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vdG9vbHMveGNvZGUv&#038;feed-stats-url-post-id=548" rel="homepage nofollow">Xcode Tools</a> from your <a class="zem_slink" title="Mac OS X" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5hcHBsZS5jb20vbWFjb3N4Lw%3D%3D&#038;feed-stats-url-post-id=548" rel="homepage nofollow">Mac OS X</a> <a class="zem_slink" title="DVD" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9EVkQ%3D&#038;feed-stats-url-post-id=548" rel="wikipedia nofollow">DVD</a> or download it from <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vdG9vbHMvZG93bmxvYWQv&#038;feed-stats-url-post-id=548">Apple Developer Connection</a></li>
<li>Download the <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5waHAubmV0L2Rvd25sb2Fkcy5waHA%3D&#038;feed-stats-url-post-id=548">complete PHP source code</a> from php.net into /Applications/MAMP/bin/php/php5.3.6/</li>
<li>Create an include directory in the the php5.3.6 directory.</li>
<li>Unzip/tar the php source archive and move it to/Applications/MAMP/bin/php/php5.3.6/include/</li>
<li>Rename the php source directory to just php (so then it will look like /Applications/MAMP/bin/php/php5.3.6/include/php)</li>
<li>In Terminal use the following commands to compile the extension:<br />
<code>cd /Applications/MAMP/bin/php/php5.3.6/include/php<br />
./configure</code></li>
</ol>
<p>That should allow you to run the PECL command however, you will probably get a complaint about not having libssh installed. So you will have to</p>
<ol>
<li>go download libssh2 (http://www.libssh2.org/). As much as I like git, I recommend  downloading the latest release tarball instead of cloning the repo. For some reason, I got a version incompatibility error when trying to run the PECL install with the repo version and had to do all these steps over with the tarball release version.</li>
<li>unzip the directory and cd to the upacked directory in the terminal.</li>
<li>run: ./configure; make all install;<br />
libssh should compile and place the output file in src/*.o</li>
<li>copy all headers from the include folder within the libssh2 directory to<br />
/usr/local/include/</li>
<li>copy all compiled files (*.o) from the src folder within the libssh2<br />
directory to /usr/local/lib/</li>
</ol>
<p>After you&#8217;ve successfully ran the the PECL install, it should tell you to  Add the line</p>
<pre>extension=ssh2.so</pre>
<p>to the Dynamic Extensions area of your php.ini file. I believe both MAMP and MAMP PRO allow you to edit the necessary ini through File&gt;Edit Template.</p>
<p><a title="MAMP edit php.ini by chancegarcia, on Flickr" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9jaGFuY2VnYXJjaWEvNjMyNDM5MzEzOS8%3D&#038;feed-stats-url-post-id=548"><img src="https://i2.wp.com/phpprotip.com/wp-content/uploads/2011/11/6324393139_2310314308_z.jpg?resize=640%2C409&#038;ssl=1" alt="MAMP edit php.ini" data-recalc-dims="1" /></a></p>
<p>&nbsp;</p>
<h3></h3>
<p>Lastly, restart apache. You should be able to see the SSH2 extension when you load a phpinfo() page.</p>
<h3>Bonus round:</h3>
<p>I&#8217;m not sure how I have  PHP CLI working in OSX but if you&#8217;ve followed the steps above and try to verify the extension install with through the cli, it won&#8217;t show up.</p>
<pre>$ php -a</pre>
<pre>php&gt; phpinfo();</pre>
<p>This is because (if you&#8217;re also using MAMP PRO) the binaries are different. The good news is that you can make things happy in 3 easy steps</p>
<ol>
<li>run `sudo ln -s /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/ssh2.so /usr/lib/php/extensions/no-debug-non-zts-20090626/ssh2.so` in the terminal.</li>
<li> Edit the /etc/php.ini (copy /etc/php.ini.default if /etc/php.ini doesn&#8217;t exist)  like you did for the MAMP php.ini(s)</li>
<li>profit.</li>
</ol>
<p>Note: I still have to install PHPUnit into my current setup so that may or may not elicit another blog post.</p>
<p>Sources:</p>
<ul>
<li>http://smbjorklund.no/how-enable-pecl-uploadprogress-extention-mamp</li>
<li>http://php.net/manual/en/ref.ssh2.php</li>
<li>http://forum.mamp.info/viewtopic.php?t=13815</li>
</ul>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vMjAxMS8xMC91c2luZy1teXNxbC13b3JrYmVuY2gtd2l0aC1tYW1wLw%3D%3D&#038;feed-stats-url-post-id=548" rel="nofollow">Using MySQL Workbench with MAMP</a> (phpprotip.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%3D&#038;feed-stats-url-post-id=548"><img class="zemanta-pixie-img" style="border: none; float: right;" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" alt="Enhanced by Zemanta" data-recalc-dims="1" /></a></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=548" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2011/11/mamp-pro-pecl-ssh2-and-osx-cli-aka-acronym-madness/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">548</post-id>	</item>
		<item>
		<title>Magento Extension GitIgnore Stub</title>
		<link>https://phpprotip.com/2011/10/magento-extension-gitignore-stub/</link>
		<comments>https://phpprotip.com/2011/10/magento-extension-gitignore-stub/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 15:15:57 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=538</guid>
		<description><![CDATA[As you may or may not know, I&#8217;ve been working with Magento lately. In the past few months, one thing&#8230;]]></description>
				<content:encoded><![CDATA[<p>As you may or may not know, I&#8217;ve been working with Magento lately. In the past few months, one thing I&#8217;ve found that I needed is a stock .gitignore file for when making extensions. Haven&#8217;t found one so I made one on github and will also post here for anyone else in need <a style="text-decoration: none;" href = "http://www.tadalafilfromindia.net"><font color="#6a6c6e">site</font></a>. I&#8217;m still relatively new at working with Magento and in someways git/github so please feel free to critique/streamline.</p>
<p><code><br />
# replace {company} and {extension} placeholders with your information</code></p>
<p># ignore phpstorm files<br />
/.idea</p>
<p># Ignore all not in app &amp; skin<br />
/*<br />
!/app/<br />
!/js/</p>
<p># ignore all in js, except module files for this module<br />
/js/*<br />
!/js/{company}/</p>
<p># Ignore all in app, except code &amp; etc<br />
# Ignore all in app/code except /local/{company}<br />
/app/*<br />
!/app/code/<br />
!/app/etc/<br />
!/app/design/</p>
<p># Ignore all in app/code/local except {company}<br />
/app/code/core<br />
/app/code/community<br />
/app/code/local/*<br />
!app/code/local/{company}/<br />
# use lines below if you have multiple company extensions<br />
# and want to just commit a specific one<br />
#/app/code/local/{company}/*<br />
#!app/code/local/{company}/{extension}</p>
<p># Ignore all of app/etc except our specific module files<br />
/app/etc/*<br />
!/app/etc/modules/<br />
/app/etc/modules/*<br />
!/app/etc/modules/{company}_{package}.xml</p>
<p>#Ignore all of app/design except for our files<br />
/app/design/*<br />
!app/design/frontend/<br />
!app/design/adminhtml/<br />
/app/design/frontend/*<br />
!/app/design/frontend/base/<br />
/app/design/frontend/base/default/etc/<br />
/app/design/frontend/base/default/template/*<br />
!/app/design/frontend/base/default/template/{extension}/<br />
/app/design/frontend/base/default/layout/*<br />
!/app/design/frontend/base/default/layout/{extension}/*<br />
/app/design/adminhtml/*<br />
!/app/design/adminhtml/default/<br />
/app/design/adminhtml/default/find/<br />
/app/design/adminhtml/default/default/etc/<br />
/app/design/adminhtml/default/default/locale/<br />
/app/design/adminhtml/default/default/template/*<br />
!/app/design/adminhtml/default/default/template/{extension}/<br />
/app/design/adminhtml/default/default/layout/*<br />
!/app/design/adminhtml/default/default/layout/{extension}/*</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%3D&#038;feed-stats-url-post-id=538"><img class="zemanta-pixie-img" style="border: none; float: right;" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" alt="Enhanced by Zemanta" data-recalc-dims="1"></a></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=538" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2011/10/magento-extension-gitignore-stub/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">538</post-id>	</item>
		<item>
		<title>Using MySQL Workbench with MAMP</title>
		<link>https://phpprotip.com/2011/10/using-mysql-workbench-with-mamp/</link>
		<comments>https://phpprotip.com/2011/10/using-mysql-workbench-with-mamp/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 06:07:52 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=527</guid>
		<description><![CDATA[Recently I've started working locally due to the PHPStorm IDE. In order to work locally, I invested in MAMP Pro to make use of their GUI interface for configuring vhosts. I also like to use MySQL Workbench for my database work, unfortunately these 2 items never seemed to work together for me before.]]></description>
				<content:encoded><![CDATA[<p>Recently I&#8217;ve started working locally due to the <a class="zem_slink" title="PhpStorm" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5qZXRicmFpbnMuY29tL3BocHN0b3Jt&#038;feed-stats-url-post-id=527" rel="homepage nofollow">PHPStorm</a> <a class="zem_slink" title="Integrated development environment" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlZ3JhdGVkX2RldmVsb3BtZW50X2Vudmlyb25tZW50&#038;feed-stats-url-post-id=527" rel="wikipedia nofollow">IDE</a>. In order to work locally, I invested in <a class="zem_slink" title="MAMP" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5tYW1wLmluZm8vZW4vaW5kZXgucGhw&#038;feed-stats-url-post-id=527" rel="homepage nofollow">MAMP</a> Pro to make use of their <a class="zem_slink" title="Graphical user interface" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HcmFwaGljYWxfdXNlcl9pbnRlcmZhY2U%3D&#038;feed-stats-url-post-id=527" rel="wikipedia nofollow">GUI</a> interface for configuring vhosts. I also like to use <a class="zem_slink" title="MySQL Workbench" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3diLm15c3FsLmNvbS8%3D&#038;feed-stats-url-post-id=527" rel="homepage nofollow">MySQL Workbench</a> for my database work, unfortunately these 2 items never seemed to work together for me before. After a brief google search I was able to find out how to connect to MAMP&#8217;s <a class="zem_slink" title="MySQL" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5teXNxbC5jb20%3D&#038;feed-stats-url-post-id=527" rel="homepage nofollow">MySQL</a> install to do <a class="zem_slink" title="SQL" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5pc28ub3JnL2lzby9jYXRhbG9ndWVfZGV0YWlsLmh0bT9jc251bWJlcj00NTQ5OA%3D%3D&#038;feed-stats-url-post-id=527" rel="homepage nofollow">SQL</a> Development, which is by done by choosing the local socket connection method and using the value /Applications/MAMP/tmp/mysql/mysql.sock for the connection.</p>
<div><a title="MySQL Workbench MAMP Socket Connection Settings by chancegarcia, on Flickr" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9jaGFuY2VnYXJjaWEvNjIxOTYwNzQxOC8%3D&#038;feed-stats-url-post-id=527"><img src="https://i1.wp.com/phpprotip.com/wp-content/uploads/2011/10/6219607418_984dde5d08_z.jpg?resize=640%2C170&#038;ssl=1" alt="MySQL Workbench MAMP Socket Connection Settings" data-recalc-dims="1" /></a></div>
<div><a title="MySQL Workbench MAMP Connection Settings by chancegarcia, on Flickr" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9jaGFuY2VnYXJjaWEvNjIxOTYwNzI5Ni8%3D&#038;feed-stats-url-post-id=527"><img src="https://i0.wp.com/phpprotip.com/wp-content/uploads/2011/10/6219607296_4b07a59460_z.jpg?resize=640%2C562&#038;ssl=1" alt="MySQL Workbench MAMP Connection Settings" data-recalc-dims="1" /></a></div>
<p>After setting that up, I got to thinking, &#8220;I&#8217;m already using an IDE for code convenience and a GUI for <a class="zem_slink" title="Internet Relay Chat" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlcm5ldF9SZWxheV9DaGF0&#038;feed-stats-url-post-id=527" rel="wikipedia nofollow">vhost</a> convenience, I should set up Server Administration with MySQL Workbench too!&#8221; So after some googling, I found an article to help me <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2NocmlzY2hhcmx0b24udXMvdGlwL3VzaW5nLW15c3FsLXdvcmtiZW5jaC1tYW1wLXBybw%3D%3D&#038;feed-stats-url-post-id=527">set up Server Administration with MAMP</a>. Unfortunately the article only got things partially working and has no way to comment on it to have it corrected. So I&#8217;m going to outline the steps. Also I just noticed that the images with the article are updated correctly but it&#8217;s hard to cut and paste an image of something someone has done so I&#8217;ll just give you the value pairs</p>
<ul>
<li>Configuration File: /Applications/MAMP/tmp/mysql/my.cnf</li>
<li>Start: /Applications/MAMP/bin/startMysql.sh &#8211;</li>
<li>Stop: /Applications/MAMP/bin/stopMysql.sh &#8211;</li>
<li>Check MySQL Status: ps -xa | <a class="zem_slink" title="Grep" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HcmVw&#038;feed-stats-url-post-id=527" rel="wikipedia nofollow">grep</a> &#8220;/Applications/MAMP/Library/bin/[m]ysqld&#8221;</li>
</ul>
<div>If the check status doesn&#8217;t work, just do a</div>
<div>ps -xa | grep MAMP</div>
<div>and find the correct path to mysqld</div>
<div>And that&#8217;s all you need to know.</div>
<div><a title="MySQL Workbench MAMP System Profile Settings Tab by chancegarcia, on Flickr" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy9jaGFuY2VnYXJjaWEvNjIxOTA4NTY4MS8%3D&#038;feed-stats-url-post-id=527"><img src="https://i0.wp.com/phpprotip.com/wp-content/uploads/2011/10/6219085681_cf951a37a6_z.jpg?resize=640%2C569&#038;ssl=1" alt="MySQL Workbench MAMP System Profile Settings Tab" data-recalc-dims="1" /></a></div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%3D&#038;feed-stats-url-post-id=527"><img class="zemanta-pixie-img" style="border: none; float: right;" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" alt="Enhanced by Zemanta" data-recalc-dims="1" /></a></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=527" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2011/10/using-mysql-workbench-with-mamp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">527</post-id>	</item>
		<item>
		<title>expected exceptions annotations, mocked object calls, oh my.</title>
		<link>https://phpprotip.com/2010/12/expected-exceptions-annotations-mocked-object-calls-oh-my/</link>
		<comments>https://phpprotip.com/2010/12/expected-exceptions-annotations-mocked-object-calls-oh-my/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 15:06:11 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[unittesting]]></category>
		<category><![CDATA[Exception handling]]></category>
		<category><![CDATA[Mock object]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=490</guid>
		<description><![CDATA[Note: I have tested this in PHPUnit 3.4.1 and haven&#8217;t tried it out in 3.5. Anyone who has worked with&#8230;]]></description>
				<content:encoded><![CDATA[<p>Note: I have tested this in <a class="zem_slink freebase/en/phpunit" title="PHPUnit" rel="homepage nofollow" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5waHB1bml0LmRlLw%3D%3D&#038;feed-stats-url-post-id=490">PHPUnit</a> 3.4.1 and haven&#8217;t tried it out in 3.5.<br />
Anyone who has worked with PHPUnit has most likely worked with expected <a class="zem_slink freebase/en/exception_handling" title="Exception handling" rel="wikipedia nofollow" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FeGNlcHRpb25faGFuZGxpbmc%3D&#038;feed-stats-url-post-id=490">exceptions</a> and mock objects. The nice thing about working  with expected exceptions is that we have access to a handy @expectedException annotation. I&#8217;ve gotten into the habit of using this for exceptions my fixtures should throw but also for when I&#8217;m using a <a class="zem_slink freebase/en/mock_object" title="Mock object" rel="wikipedia nofollow" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Nb2NrX29iamVjdA%3D%3D&#038;feed-stats-url-post-id=490">mock object</a> to verify a method call. So my tests usually expect foo_exception for fixture throws and when i&#8217;m testing method calls via a mock, they expect Exception. Therein lies my problem. Because all my custom class exceptions obviously extend the Exception class, I can get some false positives in testing.</p>
<pre lang="php">require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
require_once('foo.php');
class tmpTest extends PHPUnit_Framework_Testcase
{

    /**
     * @expectedException Exception
     */
    public function testFooBar()
    {
        $foo=new foo();
        $foo-&gt;bar();
    }

    /**
     * @expectedException Exception
     */
    public function testBarBaz()
    {
        $mock=$this-&gt;getMock('foo',array('baz'));
        $mock-&gt;expects($this-&gt;any())
         -&gt;method('baz')
         -&gt;will($this-&gt;throwException(new Exception('baz')));
        $mock-&gt;barbaz();
    }
}</pre>
<pre lang="php">class foo_exception extends Exception{}

class foo
{
    public function bar()
    {
        throw new foo_exception('bar');
    }

    public function baz()
    {
        echo "bwahn";
    }

    public function barbaz()
    {
        $this-&gt;bar();
        $this-&gt;baz();
    }
}</pre>
<p>So here we have an expectation for Exception but if we look at the code, we see that the bar method throws a foo_exception and the testBarBaz test is trying to test for the baz call via a mock that throws an Exception. if we change the annotation to expect foo_exception, the test still passes. This leads me to believe the best way to isolate the behavior we wish to test is to not use annotation for these sorts of tests. Or if you want to use annotation, be sure to use a unique exception for the mock. This means, unfortunately for me, that I&#8217;ll have to go back through all my tests and ensure there&#8217;s no false positives.</p>
<p>Lesson learned: be careful using shortcuts (and don&#8217;t stand in the fire).</p>
<p>On a side note, <a href="https://phpprotip.com/?feed-stats-url=aHR0cHM6Ly9naXRodWIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL3BocHVuaXQvYmxvYi8zLjUvUEhQVW5pdC9GcmFtZXdvcmsvVGVzdENhc2UucGhwI0w3NDM%3D&#038;feed-stats-url-post-id=490">this part of PHPUnit</a> is why those tests will behave that way. The behavior is completely my fault but I wanted to confirm it was behaving because of how it was verifying the expected exception.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%3D&#038;feed-stats-url-post-id=490"><img class="zemanta-pixie-img" style="border: none; float: right;" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" alt="Enhanced by Zemanta" data-recalc-dims="1" /></a><span class="zem-script more-related more-info pretty-attribution"><script src="https://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=490" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2010/12/expected-exceptions-annotations-mocked-object-calls-oh-my/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">490</post-id>	</item>
		<item>
		<title>fun with arrays and requirement chains</title>
		<link>https://phpprotip.com/2010/12/fun-with-arrays-and-requirement-chains/</link>
		<comments>https://phpprotip.com/2010/12/fun-with-arrays-and-requirement-chains/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 21:21:09 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=484</guid>
		<description><![CDATA[Recently, I had to figure out if a given set of features contained all of their necessary requirements. For better&#8230;]]></description>
				<content:encoded><![CDATA[<p>Recently, I had to figure out if a given set of features contained all of their necessary requirements.</p>
<p>For better or worse, the table was modeled so that the feature table referenced itself so that it could create a parent/child requirement chain. For example:</p>
<table>
<thead>
<tr>
<th>feature_id</th>
<th>requirement_id</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>null</td>
</tr>
<tr>
<td>5</td>
<td>2</td>
</tr>
<tr>
<td>7</td>
<td>null</td>
</tr>
<tr>
<td>11</td>
<td>5</td>
</tr>
</tbody>
</table>
<p>So my problem is to find out if a given set of requested features, make sure that the requirements are also present. This includes any requirements the requirement feature may have. In this example, 11 requires 5 which requires 2.<br />
Let&#8217;s take $featureRequest1=array(2,5,7,11) and $featureRequest2=array(7,5,11). If I were to run a look up of requirements, I would find that we have</p>
<pre lang="php">$requirements=array(2,5).</pre>
<p>I tried to use the php in_array function but it didn&#8217;t work as I expected it to.</p>
<pre lang="php">in_array($requirements,$featureRequest1); // i expect true
var_dump(in_array($requirements,$featureRequest1)); // false
in_array($requirements,$featureRequest2); // i expect false
var_dump(in_array($requirements,$featureRequest2)); // false</pre>
<p>I then realized what I need is for there to be a clear intersection between the requirements and the request.</p>
<pre lang="php">$requirements==array_intersect($requirements,$featureRequest1); // expect true
var_dump($requirements==array_intersect($requirements,$featureRequest1)); // true
$requirements==array_intersect($requirements,$featureRequest2); // expect false
var_dump($requirements==array_intersect($requirements,$featureRequest2)); // false</pre>
<p>I should probably note that array_interest will preserve the array keys. To fix it, you can either flip the 2 arguments or pass the return array to array_values</p>
 <img src="https://phpprotip.com/?feed-stats-post-id=484" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2010/12/fun-with-arrays-and-requirement-chains/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">484</post-id>	</item>
		<item>
		<title>Meet the PHP Dev Derby Team</title>
		<link>https://phpprotip.com/2010/09/meet-the-php-dev-derby-team/</link>
		<comments>https://phpprotip.com/2010/09/meet-the-php-dev-derby-team/#respond</comments>
		<pubDate>Fri, 10 Sep 2010 14:45:57 +0000</pubDate>
		<dc:creator><![CDATA[chance]]></dc:creator>
				<category><![CDATA[dev derby]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[the combine]]></category>

		<guid isPermaLink="false">http://phpprotip.com/?p=469</guid>
		<description><![CDATA[I liked how the Dev Derby website did team leader profiles and decided to try to do something similar. No&#8230;]]></description>
				<content:encoded><![CDATA[<p>I liked how the <a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2RldmRlcmJ5LmNvbQ%3D%3D&#038;feed-stats-url-post-id=469">Dev Derby</a> website did team leader profiles and decided to try to do something similar. No one provided any pictures but most did answer some questions I asked so without much further ado, meet the <a class="zem_slink freebase/en/php" title="PHP" rel="homepage" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5waHAubmV0Lw%3D%3D&#038;feed-stats-url-post-id=469">PHP</a> Dev Derby Team.</p>
<p>The team consists of</p>
<ul>
<li>Dennis Rogers (@_drogers)</li>
<li>Max Beatty (@maxbeatty)</li>
<li>Matthew Haralovich (aka zon)</li>
<li>Grant Simpson (@grantls)</li>
<li>Ryan Dagey (@dageytech)</li>
</ul>
<p>Update: added in Ryan Dagey&#8217;s answers. And photo.</p>
<p><span id="more-469"></span></p>
<h3>Meet Dennis Rogers (@_drogers)</h3>
<h4>What do you like about PHP?</h4>
<p>It&#8217;s what I know, and free.</p>
<h4>What book,movie or album do you think best embodies your personality?</h4>
<p>Anchorman</p>
<h4>What is your biggest pet peeve?</h4>
<p>The expression &#8220;pet peeve&#8221;</p>
<h4>What inspires you?</h4>
<p>Power Ballads.</p>
<h4>2 or 3 favorite quotes, sayings, etc. (e.g. &#8220;If you want to achieve greatness, stop asking for permission&#8221;)</h4>
<p>&#8220;that&#8217;s a bold statement&#8221;</p>
<h3>Meet Max Beatty (@maxbeatty)</h3>
<h4>What do you like about PHP?</h4>
<p>I like PHP because it gets the job done. You can do what you need to do with it.</p>
<h4>What book,movie or album do you think best embodies your personality?</h4>
<p>I&#8217;ve recently drawn some eerily similarities between myself and <a class="zem_slink" title="Tony Hsieh" rel="twitter" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3R3aXR0ZXIuY29tL3phcHBvcw%3D%3D&#038;feed-stats-url-post-id=469">Tony Hsieh</a> in his book <a class="zem_slink" title="Delivering Happiness: A Path to Profits, Passion, and Purpose" rel="amazon" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5hbWF6b24uY29tL0RlbGl2ZXJpbmctSGFwcGluZXNzLVByb2ZpdHMtUGFzc2lvbi1QdXJwb3NlL2RwLzA0NDY1NjMwNDglM0ZTdWJzY3JpcHRpb25JZCUzRDBHODFDNURBWjAzWlI5V0g5WDgyJTI2dGFnJTNEemVtYW50YS0yMCUyNmxpbmtDb2RlJTNEeG0yJTI2Y2FtcCUzRDIwMjUlMjZjcmVhdGl2ZSUzRDE2NTk1MyUyNmNyZWF0aXZlQVNJTiUzRDA0NDY1NjMwNDg%3D&#038;feed-stats-url-post-id=469">Delivering Happiness</a>, but <a class="zem_slink freebase/en/mark_hoppus" title="Mark Hoppus" rel="homepage" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy5oaW15bmFtZWlzbWFyay5jb20v&#038;feed-stats-url-post-id=469">Mark Hoppus</a> wouldn&#8217;t be a bad comparison &#8211; easy going, fun loving, knows his stuff at the end of the day.</p>
<h4>What is your biggest pet peeve?</h4>
<p>Making things harder and more complex than they need to be.</p>
<h4>What inspires you?</h4>
<p>Simplicity. Anything that has everything it needs and nothing more.</p>
<h4>2 or 3 favorite quotes, sayings, etc. (e.g. &#8220;If you want to achieve greatness, stop asking for permission&#8221;)</h4>
<p>&#8220;There is no such thing as information overload, just bad design. If something is cluttered and confusing, fix your design&#8221;. &#8211; <a class="zem_slink freebase/en/edward_tufte" title="Edward Tufte" rel="wikipedia" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FZHdhcmRfVHVmdGU%3D&#038;feed-stats-url-post-id=469">Edward Tufte</a></p>
<p>&#8220;You can here because we do this better than you, and part of that is letting our creatives be unproductive until they are.&#8221; &#8211; Don Draper</p>
<h3><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTAvMDkvcnlhbl9oYXQuanBn&#038;feed-stats-url-post-id=469"><img data-attachment-id="480" data-permalink="https://phpprotip.com/2010/09/meet-the-php-dev-derby-team/ryan_hat/" data-orig-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2010/09/ryan_hat.jpg?fit=420%2C585&amp;ssl=1" data-orig-size="420,585" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="ryan_hat" data-image-description="" data-medium-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2010/09/ryan_hat.jpg?fit=215%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/phpprotip.com/wp-content/uploads/2010/09/ryan_hat.jpg?fit=420%2C585&amp;ssl=1" class="alignleft size-medium wp-image-480" title="ryan_hat" src="https://i0.wp.com/phpprotip.com/wp-content/uploads/2010/09/ryan_hat.jpg?resize=215%2C300&#038;ssl=1" alt="" srcset="https://i0.wp.com/phpprotip.com/wp-content/uploads/2010/09/ryan_hat.jpg?resize=215%2C300&amp;ssl=1 215w, https://i0.wp.com/phpprotip.com/wp-content/uploads/2010/09/ryan_hat.jpg?w=420&amp;ssl=1 420w" sizes="(max-width: 215px) 100vw, 215px" data-recalc-dims="1" /></a>Meet Ryan Dagey</h3>
<h4>What do you like about PHP?</h4>
<p>Coming from a C[++] background, I found PHP easy to pick up.  Outside of VBScript, PHP was my first formal scripting language, so I appreciated how quickly I could develop a script to do what I needed, compared to compile&amp;  debugging.<br />
Another favorite PHP feature of mine is easy integration into web frameworks, even when using <a class="zem_slink freebase/en/object-oriented_programming" title="Object-oriented programming" rel="wikipedia" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9PYmplY3Qtb3JpZW50ZWRfcHJvZ3JhbW1pbmc%3D&#038;feed-stats-url-post-id=469">object-oriented</a>.  Compared with C#,PHP makes accomplishing the simplest and complex tasks as natural as writing pseudo-code.</p>
<div>
<h4>What book,movie or album do you think best embodies your personality?</h4>
</div>
<p>&#8220;The Usual Suspects&#8221;</p>
<h4>What is your biggest pet peeve?</h4>
<p>People&#8217;s pet peeves, I take people as they are, very much a laid back go with the flow, laissez-faire attitude guy</p>
<h4>What inspires you?</h4>
<p>I&#8217;m inspired by those who achieve the impossible,  learning about great feats of science and the unyielding quest for  answers.</p>
<div>
<h4>2 or 3 favorite quotes, sayings, etc. (e.g. &#8220;If you want to achieve greatness, stop asking for permission&#8221;)</h4>
</div>
<p>Do or do not, there is no try -Yoda<br />
Courage is not the absence of fear, but the mastery of fear -Samuel Clemens</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3BocHByb3RpcC5jb20vMjAxMC8wNy9kZXYtZGVyYnkv&#038;feed-stats-url-post-id=469">Dev Derby</a> (phpprotip.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="https://phpprotip.com/?feed-stats-url=aHR0cDovL3d3dy56ZW1hbnRhLmNvbS8%3D&#038;feed-stats-url-post-id=469"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="https://i0.wp.com/img.zemanta.com/zemified_c.png?w=744&#038;ssl=1" alt="Enhanced by Zemanta" data-recalc-dims="1" /></a><span class="zem-script more-related more-info pretty-attribution"><script src="https://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
 <img src="https://phpprotip.com/?feed-stats-post-id=469" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://phpprotip.com/2010/09/meet-the-php-dev-derby-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">469</post-id>	</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.137 seconds -->
