<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0AGQHg7fCp7ImA9WhBaEUs.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451</id><updated>2013-05-21T14:42:01.604-04:00</updated><category term="Random" /><category term="Cryptography" /><category term="PHP-Internals" /><category term="Password-Hashing" /><category term="Slides" /><category term="Promise" /><category term="Year In Review" /><category term="Architecture" /><category term="CryptLib" /><category term="Dependency Injection" /><category term="Open Standards" /><category term="Economics" /><category term="Philosophy" /><category term="Logic" /><category term="Global Variables" /><category term="Comments" /><category term="Anti-Paradigm" /><category term="Silly" /><category term="Build" /><category term="Responsive Design" /><category term="Change" /><category term="Security" /><category term="Answers" /><category term="Anatomy of an Attack" /><category term="Email Response" /><category term="Programming" /><category term="Best Practice" /><category term="Web Design" /><category term="Community" /><category term="Good Enough" /><category term="Response" /><category term="Mathematics" /><category term="Code Review" /><category term="Framework" /><category term="Web Application Security Series" /><category term="Micro Framework" /><category term="Interviews" /><category term="Conference" /><category term="Large Scale Applications" /><category term="Presentation" /><category term="WTF" /><category term="CSRF" /><category term="Traits" /><category term="Events" /><category term="Video" /><category term="Procedural Programming" /><category term="Design Patterns" /><category term="Unit Testing" /><category term="StackOverflow" /><category term="Generators" /><category term="Weird Behavior" /><category term="Language Agnostic" /><category term="Anti-Pattern" /><category term="Internet" /><category term="Javascript" /><category term="Closures" /><category term="Library" /><category term="Iterators" /><category term="BCrypt" /><category term="Open Source" /><category term="Templates" /><category term="PHP" /><category term="Learning" /><category term="Jenkins" /><category term="PHP Source Code For PHP Developers Series" /><category term="PasswordLib" /><category term="Inconsistencies" /><category term="Database" /><category term="Programming With Anthony" /><category term="Rant" /><category term="Object Oriented Programming" /><category term="Exceptions" /><category term="XSS" /><category term="Rainbow Table" /><category term="Autoloading" /><category term="Sexism" /><category term="Education" /><category term="Optimization" /><category term="Meta" /><category term="Books" /><title>ircmaxell's blog</title><subtitle type="html">A blog about PHP, Security, Performance and general web application development.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.ircmaxell.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>100</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Ircmaxell" /><feedburner:info uri="ircmaxell" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C0AGQHg6eip7ImA9WhBaEUs.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-1678935805701683626</id><published>2013-05-21T14:42:00.001-04:00</published><updated>2013-05-21T14:42:01.612-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-21T14:42:01.612-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Slides" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Source" /><category scheme="http://www.blogger.com/atom/ns#" term="Good Enough" /><category scheme="http://www.blogger.com/atom/ns#" term="Code Review" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="Conference" /><category scheme="http://www.blogger.com/atom/ns#" term="Best Practice" /><title>Development By The Numbers - Slides</title><content type="html">&lt;div style="text-align: justify;"&gt;
Today, I&amp;#39;m doing a talk at &lt;a href="http://portland2013.drupal.org/node/1078"&gt;DrupalCon Portland 2013&lt;/a&gt; on Static analysis and code metrics. Here are the slides for that talk. When the videos are posted, I&amp;#39;ll make a followup post that links to it. Click through for the slides!&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br&gt;&lt;/div&gt;
&lt;a href="http://blog.ircmaxell.com/2013/05/development-by-numbers-slides.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=G0OM3AKEyXQ:OTgvWRyVJCk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=G0OM3AKEyXQ:OTgvWRyVJCk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=G0OM3AKEyXQ:OTgvWRyVJCk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=G0OM3AKEyXQ:OTgvWRyVJCk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=G0OM3AKEyXQ:OTgvWRyVJCk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=G0OM3AKEyXQ:OTgvWRyVJCk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/G0OM3AKEyXQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/1678935805701683626/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/05/development-by-numbers-slides.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1678935805701683626?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1678935805701683626?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/G0OM3AKEyXQ/development-by-numbers-slides.html" title="Development By The Numbers - Slides" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/05/development-by-numbers-slides.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYDQX0_eCp7ImA9WhBUGEs.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-1621438847786478070</id><published>2013-05-06T11:12:00.000-04:00</published><updated>2013-05-06T14:16:10.340-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-06T14:16:10.340-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Philosophy" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Source" /><category scheme="http://www.blogger.com/atom/ns#" term="Rant" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Standards" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>Our Failure As An Industry</title><content type="html">&lt;br&gt;
&lt;div style="text-align: justify;"&gt;
In the April issue of the &lt;a href="http://www.phparch.com/"&gt;PHPArch magazine&lt;/a&gt; (also published on &lt;a href="http://www.alittleofboth.com/2013/05/security-driven-development/"&gt;her blog&lt;/a&gt;), Elizabeth Tucker Long wrote a really interesting editorial piece coining a concept she called Security-Driven-Development. She (quite correctly) identified a problem in the current development community where security has become an after-thought (if it&amp;#39;s thought of at all). This isn&amp;#39;t a new concept, in fact it&amp;#39;s a concept that I and many others have been preaching for quite a while now. However I&amp;#39;ve been coming to realize that I&amp;#39;ve had it wrong the whole time. And I think the entire industry is getting it wrong today.&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/05/our-failure-as-industry.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=WqC3izvsoMs:Gu_4rm32-7s:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=WqC3izvsoMs:Gu_4rm32-7s:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=WqC3izvsoMs:Gu_4rm32-7s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=WqC3izvsoMs:Gu_4rm32-7s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=WqC3izvsoMs:Gu_4rm32-7s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=WqC3izvsoMs:Gu_4rm32-7s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/WqC3izvsoMs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/1621438847786478070/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/05/our-failure-as-industry.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1621438847786478070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1621438847786478070?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/WqC3izvsoMs/our-failure-as-industry.html" title="Our Failure As An Industry" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/05/our-failure-as-industry.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8ESH0-fSp7ImA9WhBXFUo.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-6525118456708205041</id><published>2013-03-29T12:00:00.000-04:00</published><updated>2013-03-29T12:00:09.355-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-29T12:00:09.355-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Response" /><category scheme="http://www.blogger.com/atom/ns#" term="Philosophy" /><category scheme="http://www.blogger.com/atom/ns#" term="Rant" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Language Agnostic" /><category scheme="http://www.blogger.com/atom/ns#" term="Education" /><title>Failure Is Always An Option - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
A few days ago, I posted a video about how to become a better developer. There were a few interesting comments made, but one in particular from the Reddit thread ( http://www.reddit.com/r/PHP/comments/... ) peaked my interest. So I decided to do a reply. Check it out:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/03/failure-is-always-option-programming.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=QwE5d-_F9QM:P_R_02Jeuno:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=QwE5d-_F9QM:P_R_02Jeuno:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=QwE5d-_F9QM:P_R_02Jeuno:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=QwE5d-_F9QM:P_R_02Jeuno:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=QwE5d-_F9QM:P_R_02Jeuno:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=QwE5d-_F9QM:P_R_02Jeuno:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/QwE5d-_F9QM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/6525118456708205041/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/03/failure-is-always-option-programming.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/6525118456708205041?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/6525118456708205041?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/QwE5d-_F9QM/failure-is-always-option-programming.html" title="Failure Is Always An Option - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/a1tPbfu-fLY/default.jpg" height="72" width="72" /><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/03/failure-is-always-option-programming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcERn87fip7ImA9WhBXFE0.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-5984340710526579634</id><published>2013-03-27T12:00:00.000-04:00</published><updated>2013-03-27T12:00:07.106-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-27T12:00:07.106-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Rant" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><title>Becoming A Better Developer - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
In today&amp;#39;s episode, I talk a little bit about what it takes to become a better developer. Nobody will ever expect you to know everything, but you better know how to find it...&lt;br&gt;&lt;br&gt;

I&amp;#39;m trying out a new format with this video. Less scripted, more free-form, and with less visuals. This is not going to replace the other format (which I&amp;#39;m still working on), but instead compliment it from time to time. Let me know what you think in the comments below! Check it out:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/03/becoming-better-developer-programming.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6NCU2nH-SpM:2shFBSeAFKw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=6NCU2nH-SpM:2shFBSeAFKw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6NCU2nH-SpM:2shFBSeAFKw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6NCU2nH-SpM:2shFBSeAFKw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=6NCU2nH-SpM:2shFBSeAFKw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6NCU2nH-SpM:2shFBSeAFKw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/6NCU2nH-SpM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/5984340710526579634/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/03/becoming-better-developer-programming.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/5984340710526579634?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/5984340710526579634?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/6NCU2nH-SpM/becoming-better-developer-programming.html" title="Becoming A Better Developer - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/Jw4DbYbfOMQ/default.jpg" height="72" width="72" /><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/03/becoming-better-developer-programming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQ388fSp7ImA9WhBQGEo.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-3987966247027513729</id><published>2013-03-21T11:00:00.000-04:00</published><updated>2013-03-21T11:00:02.175-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-21T11:00:02.175-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Cryptography" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP-Internals" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="Conference" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>Upcoming Talks - Spring 2013</title><content type="html">&lt;div style="text-align: justify;"&gt;
It's been a little while since I've posted anything here or on YouTube. I've been working on some interesting ideas that hopefully will be pretty decent, so it wasn't time wasted. But I figured now would be a good time to tell you about some upcoming speaking engagements that I have, and where I'll be over the next few months. So with no further adue:&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
April 9th:&amp;nbsp;&lt;/h2&gt;
&lt;b&gt;Where&lt;/b&gt;: Lehigh Valley Tech Meetup&lt;br /&gt;
&lt;b&gt;Location&lt;/b&gt;: Allentown, PA, USA&lt;br /&gt;
&lt;b&gt;What&lt;/b&gt;: &lt;i&gt;PHPPHP - A guide to how PHP works under the hood&lt;/i&gt; -&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Huh?&lt;/b&gt; I'll be giving a talk about my PHPPHP project, and using it to explain how PHP works under the hood.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Cost&lt;/b&gt;: Free&lt;/div&gt;
&lt;b&gt;Register&lt;/b&gt;: &lt;a href="http://meetup.lehighvalleytech.org/events/102132442/"&gt;On Meetup&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
May 20 - 24:&lt;/h2&gt;
&lt;b&gt;Where&lt;/b&gt;: DrupalCon Portland&lt;br /&gt;
&lt;b&gt;Location&lt;/b&gt;: Portland, OR, USA&lt;br /&gt;
&lt;b&gt;What&lt;/b&gt;: &lt;i&gt;&lt;a href="http://portland2013.drupal.org/session/development-numbers"&gt;Development, By The Numbers&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Huh&lt;/b&gt;? I'm going to be talking about&amp;nbsp;quantitative&amp;nbsp;code quality analysis tools and how to implement them into your development workflow. I'll be covering things like NPath Complexity, CRAP Indexes, Fanout and Average&amp;nbsp;Hierarchy&amp;nbsp;Height, and how tracking them over time can help improve the quality of your codebase.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Cost&lt;/b&gt;: $500 (until April 26)&lt;/div&gt;
&lt;b&gt;Register&lt;/b&gt;: &lt;a href="http://portland2013.drupal.org/register"&gt;On The DrupalCon Site&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Where&lt;/b&gt;: Symfony Live Portland&lt;br /&gt;
&lt;b&gt;Location&lt;/b&gt;: Portland, OR, USA&lt;br /&gt;
&lt;b&gt;What&lt;/b&gt;: &lt;a href="http://portland2013.live.symfony.com/speakers#session-806"&gt;&lt;i&gt;Cryptography For The Average Developer&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Huh&lt;/b&gt;? I'll be giving my popular&amp;nbsp;Cryptography&amp;nbsp;talk again at Symfony Live.&lt;br /&gt;
&lt;b&gt;Cost&lt;/b&gt;: $390 (Until April 26)&lt;br /&gt;
&lt;b&gt;Register&lt;/b&gt;: &lt;a href="http://portland2013.live.symfony.com/registration/"&gt;On The Symfony Live Site&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;OR&amp;nbsp;&lt;/b&gt;&lt;span style="text-align: justify;"&gt;You can buy a combo ticket for both conferences (Symfony Live and DrupalCon) for just $600 from either registration page!&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
June 6 - 9:&lt;/h2&gt;
&lt;b&gt;Where&lt;/b&gt;: Dutch PHP Conference&lt;br /&gt;
&lt;b&gt;Location&lt;/b&gt;: Amsterdam, NL&lt;br /&gt;
&lt;b&gt;What&lt;/b&gt;: &lt;a href="http://www.phpconference.nl/tutorials#anthony-code-review-for-security"&gt;&lt;i&gt;Code Review for Security&lt;/i&gt; Workshop&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Huh&lt;/b&gt;? I will be leading a workshop intended to teach developers how to perform code review with security in mind. I'll be introducing some vulnerabilities and some of the methods that I use to find them while performing code reviews.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Cost&lt;/b&gt;:&amp;nbsp;€ 306&lt;/div&gt;
&lt;b&gt;Register&lt;/b&gt;: &lt;a href="http://www.myupcoming.nl/en/event/39182/dutch-php-conference-2013"&gt;On MyUpComing.nl&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Where&lt;/b&gt;: Dutch PHP Conference&lt;br /&gt;
&lt;b&gt;Location&lt;/b&gt;: Amsterdam, NL&lt;br /&gt;
&lt;b&gt;What&lt;/b&gt;: &lt;a href="http://www.phpconference.nl/talks#anthony-ferrara-php-under-the-hood"&gt;&lt;i&gt;PHP, Under The Hood&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Huh&lt;/b&gt;? I'm going to be exploring PHP and how it works, by presenting PHPPHP, an implementation of PHP written in PHP itself.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Cost&lt;/b&gt;: € 306&lt;/div&gt;
&lt;b&gt;Register&lt;/b&gt;: &lt;a href="http://www.myupcoming.nl/en/event/39182/dutch-php-conference-2013"&gt;On MyUpComing.nl&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;OR&lt;/b&gt; You can buy a combo ticket to the workshop and the talk for&amp;nbsp;€ 550.&lt;br /&gt;
&lt;br /&gt;
I hope to see you at one of these events!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=fMbmSog1ufY:CVBlwKStHFQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=fMbmSog1ufY:CVBlwKStHFQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=fMbmSog1ufY:CVBlwKStHFQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=fMbmSog1ufY:CVBlwKStHFQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=fMbmSog1ufY:CVBlwKStHFQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=fMbmSog1ufY:CVBlwKStHFQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/fMbmSog1ufY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/3987966247027513729/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/03/upcoming-talks-spring-2013.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/3987966247027513729?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/3987966247027513729?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/fMbmSog1ufY/upcoming-talks-spring-2013.html" title="Upcoming Talks - Spring 2013" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/03/upcoming-talks-spring-2013.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UEQXozfyp7ImA9WhBRFko.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-2801991875941888988</id><published>2013-03-07T13:00:00.000-05:00</published><updated>2013-03-07T13:00:00.487-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-07T13:00:00.487-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Philosophy" /><category scheme="http://www.blogger.com/atom/ns#" term="Rant" /><category scheme="http://www.blogger.com/atom/ns#" term="Economics" /><category scheme="http://www.blogger.com/atom/ns#" term="Mathematics" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>On "Wealth Inequality In America"</title><content type="html">&lt;div style="text-align: justify;"&gt;
There's been a viral video that's been circulating the internet recently called &lt;a href="https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=QPKKQnijnsM"&gt;Wealth Inequality In America&lt;/a&gt;. It's actually been published for quite some time, but it's crossed my plane of vision a few times in the past few days. While I don't believe that the content is wrong (in fact, it is actually quite right), I believe that the point the video makes and how it makes it are both misleading. The video tends to imply some nefarious plot to keep the poor down. But in reality, all it is showing is the&amp;nbsp;natural&amp;nbsp;tendency for any system of sufficient complexity to trend towards having a power-law distribution.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Want to see something shocking? Let's run the same analysis against the top 50,000 websites on the internet, comparing the number of visitors each gets (as provided by &lt;a href="http://www.quantcast.com/top-sites/US"&gt;Quantcast&lt;/a&gt;). When we run the numbers, we get some really interesting data points. In total, there were about 12 billion site-vistiors (since each visitor can be counted multiple times by different sites, that makes sense). Let's take a look at a graph of this data:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-bHzTtNi4o4g/UTiyYUF7kII/AAAAAAAAFNI/dm-XvMG6CFw/s1600/websites_graph.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://1.bp.blogspot.com/-bHzTtNi4o4g/UTiyYUF7kII/AAAAAAAAFNI/dm-XvMG6CFw/s320/websites_graph.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Now at first glance, it doesn't look like much. It could be anything. But let's zoom in a bit...&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-TyTlj_W5fMc/UTizzxagaGI/AAAAAAAAFNQ/q8x9bUP-__8/s1600/websites_graph2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://3.bp.blogspot.com/-TyTlj_W5fMc/UTizzxagaGI/AAAAAAAAFNQ/q8x9bUP-__8/s320/websites_graph2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
That looks surprisingly like the graph that was shown in the video. So let's not rely on looks, let's look at the numbers. The bottom 20%, makes less than 2% of the total traffic. The top 20% of websites account for 82% of the traffic on the internt. Taking it a step further, the top 1% of sites accounts for 42% of all traffic on the internet.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
These numbers look shockingly like the ones from the video. But there's a very important difference. I've cut out a very large number of small sites, and only focused on the top 50k sites. If I included all sites (or the top 1 million sites, for example), the exact same thing would happen. The numbers may change slightly, but the shape and the effect will stay the same...&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Power law graphs have a really interesting property: they have a fractal quality. That means that if you pick any sub-range of a graph, it will have the same basic shape as the main graph. Why is that important? Because once we realize that this is a power law graph, we don't need all the information. We know instantly that this sub-graph will have the same shape and behavior as the full graph.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
So what does this tell us about the economy? The fact that the economy fits a power law graph shows us that it's operating properly. There's no conspiracy by the richest 1% to keep the other 99% down. Just like there's no conspiracy by the top 1% of websites to keep the other 99% down. The trends and actualities of the distribution of wealth is natural.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
We could conjecture for years about why this happens, and likely none of us would be right. But the point I want to make is that we need to get past this notion of fair and balanced. What makes a stable equilibrium? The video points out several "ideal distributions", but without explaining why or how they should be ideal. What are the forces that are supposed to keep income evenly distributed (or at least linearly distributed)?&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
However there is another way of looking at it. Since the entire graph is fractal, that means that everyone on the list can get a significant gain from a small increase in position. Going from a&amp;nbsp;position&amp;nbsp;at 80% to 81% gives a 6% return. Going from 20% to 21% (bottom 20% up one slot) gives a 2.5% return. So what does that mean?&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This power-law model favors those who try to advance themselves. By moving up a fairly small amount you can get good gains. The harder it is to move up (meaning that there are fewer people infront of you to pass), the more the gains that are available. It promotes growth by rewarding it significantly. It doesn't punish those in low positions, but instead it doesn't reward people who don't want to move up (advance)... Is that right? It depends on your priorities and sense of school-yard justice...&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
If you want to know more about power laws and networks, I HIGHLY&amp;nbsp;recommend&amp;nbsp;the book&amp;nbsp;&lt;a href="http://www.amazon.com/Linked-Everything-Connected-Else-Means/dp/0452284392"&gt;Linked: How Everything Is Connected to Everything Else and What It Means&lt;/a&gt;.&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=SwEDUtEwswc:CappIkWn2DA:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=SwEDUtEwswc:CappIkWn2DA:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=SwEDUtEwswc:CappIkWn2DA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=SwEDUtEwswc:CappIkWn2DA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=SwEDUtEwswc:CappIkWn2DA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=SwEDUtEwswc:CappIkWn2DA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/SwEDUtEwswc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/2801991875941888988/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/03/on-wealth-inequality-in-america.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/2801991875941888988?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/2801991875941888988?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/SwEDUtEwswc/on-wealth-inequality-in-america.html" title="On &quot;Wealth Inequality In America&quot;" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-bHzTtNi4o4g/UTiyYUF7kII/AAAAAAAAFNI/dm-XvMG6CFw/s72-c/websites_graph.png" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/03/on-wealth-inequality-in-america.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUEQ3w_cCp7ImA9WhBSGUU.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7912573593914718781</id><published>2013-02-27T12:30:00.000-05:00</published><updated>2013-02-27T12:30:02.248-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-27T12:30:02.248-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Meta" /><title>Musings And Inspirations</title><content type="html">&lt;div style="text-align: justify;"&gt;
About three months ago I decided to start shooting videos teaching programming concepts to put on YouTube. When I first started it, I didn&amp;#39;t think it would take off. In fact, I thought it&amp;#39;d be just another failed attempt at trying something new. But three months, 11 videos, nearly 700 subscribers, over 17,000 views and 1.5 man-months of viewership later, I can&amp;#39;t really complain. I&amp;#39;ve missed a few videos over the past few weeks, and missed another one today. And I feel that you deserve to know why.&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/02/musings-and-inspirations.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=BMs1P9KyQrI:F-dXk5s3yHc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=BMs1P9KyQrI:F-dXk5s3yHc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=BMs1P9KyQrI:F-dXk5s3yHc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=BMs1P9KyQrI:F-dXk5s3yHc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=BMs1P9KyQrI:F-dXk5s3yHc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=BMs1P9KyQrI:F-dXk5s3yHc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/BMs1P9KyQrI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7912573593914718781/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/02/musings-and-inspirations.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7912573593914718781?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7912573593914718781?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/BMs1P9KyQrI/musings-and-inspirations.html" title="Musings And Inspirations" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/bm-Jjvqu3U4/default.jpg" height="72" width="72" /><thr:total>9</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/02/musings-and-inspirations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYFSHcyfCp7ImA9WhBSGEQ.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7227798120490298569</id><published>2013-02-26T08:00:00.000-05:00</published><updated>2013-02-26T10:21:59.994-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-26T10:21:59.994-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Rant" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><category scheme="http://www.blogger.com/atom/ns#" term="Sexism" /><title>On Equality, Sexism and an Even Hand</title><content type="html">&lt;div style="text-align: justify;"&gt;
Over the past 3 or 4 days there&amp;#39;s been a huge upturn on Twitter and in the community bashing &lt;a href="http://webandphp.com/"&gt;Web and PHP Magazine&lt;/a&gt; for giving away T-Shirts (and tweeting a photo) with a double-entendre at PHPUK. A lot of banter going back and forth from those like &lt;a href="http://blog.calevans.com/2013/02/22/sexism-and-php/"&gt;Cal Evans&lt;/a&gt; who went so far as to pledge never to go to another conference sponsored by the magazine, to &lt;a href="http://www.leftontheweb.com/message/On_SexismRacismAnyotherism_and_the_PHP_Community"&gt;Stefan Koopmanschap&lt;/a&gt; who basically thinks it&amp;#39;s no big deal. (note: these are my interpretations from their posts). I think the whole thing has grown WAY out of proportion...&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/02/on-equality-sexism-and-even-hand.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=t_0h8Ar14xM:khQalZguVPg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=t_0h8Ar14xM:khQalZguVPg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=t_0h8Ar14xM:khQalZguVPg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=t_0h8Ar14xM:khQalZguVPg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=t_0h8Ar14xM:khQalZguVPg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=t_0h8Ar14xM:khQalZguVPg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/t_0h8Ar14xM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7227798120490298569/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/02/on-equality-sexism-and-even-hand.html#comment-form" title="30 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7227798120490298569?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7227798120490298569?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/t_0h8Ar14xM/on-equality-sexism-and-even-hand.html" title="On Equality, Sexism and an Even Hand" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-murubtA0GAw/USvxN-BtNBI/AAAAAAAAFLg/SbDk-W2gcX0/s72-c/web-and-php-img.png" height="72" width="72" /><thr:total>30</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/02/on-equality-sexism-and-even-hand.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEARH89eCp7ImA9WhBSE0U.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-5419400824916662154</id><published>2013-02-20T12:00:00.000-05:00</published><updated>2013-02-20T13:24:05.160-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-20T13:24:05.160-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns" /><title>Design Patterns - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
Today we are joined by open source contributor Larry Garfield. Larry introduces us to design patterns through his own unique style: Cooking With Crell. He introduces the concept of Design Patterns, goes through a few basic patterns and closes out with some pretty solid justification for why we should care. Check it out:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/02/design-patterns-programming-with-anthony.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=gDMkGJdrhFQ:wuas5hewBPA:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=gDMkGJdrhFQ:wuas5hewBPA:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=gDMkGJdrhFQ:wuas5hewBPA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=gDMkGJdrhFQ:wuas5hewBPA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=gDMkGJdrhFQ:wuas5hewBPA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=gDMkGJdrhFQ:wuas5hewBPA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/gDMkGJdrhFQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/5419400824916662154/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/02/design-patterns-programming-with-anthony.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/5419400824916662154?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/5419400824916662154?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/gDMkGJdrhFQ/design-patterns-programming-with-anthony.html" title="Design Patterns - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/AsfM6YLtu9g/default.jpg" height="72" width="72" /><thr:total>6</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/02/design-patterns-programming-with-anthony.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkACR3k4cSp7ImA9WhBSE0w.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-4477869317878463657</id><published>2013-02-19T15:00:00.000-05:00</published><updated>2013-02-19T16:52:46.739-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-19T16:52:46.739-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="CSRF" /><category scheme="http://www.blogger.com/atom/ns#" term="Best Practice" /><title>Preventing CSRF Attacks</title><content type="html">&lt;div style="text-align: justify;"&gt;
There&amp;#39;s been a bit of noise in the past week about the proper way to prevent Cross-Site-Request-Forgery (CSRF) attacks. It seemed to have started with &lt;a href="http://www.eschrade.com/page/generating-secure-cross-site-request-forgery-tokens-csrf/"&gt;this post&lt;/a&gt;. There&amp;#39;s been discussion in the comments, and on Twitter about it, and there seems to be several opposing viewpoints on the matter. I want to start off by saying that I agree completely with the post in question. But I figured I&amp;#39;d write a post to explain WHY I agree with it.&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6X0d3oq9Px8:a6I8jMORLRw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=6X0d3oq9Px8:a6I8jMORLRw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6X0d3oq9Px8:a6I8jMORLRw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6X0d3oq9Px8:a6I8jMORLRw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=6X0d3oq9Px8:a6I8jMORLRw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=6X0d3oq9Px8:a6I8jMORLRw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/6X0d3oq9Px8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/4477869317878463657/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html#comment-form" title="24 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/4477869317878463657?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/4477869317878463657?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/6X0d3oq9Px8/preventing-csrf-attacks.html" title="Preventing CSRF Attacks" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>24</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4DRn88fip7ImA9WhNaEU4.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7080488254880874833</id><published>2013-01-25T11:00:00.000-05:00</published><updated>2013-01-25T13:19:37.176-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-25T13:19:37.176-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Rainbow Table" /><category scheme="http://www.blogger.com/atom/ns#" term="Password-Hashing" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Slides" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="BCrypt" /><title>Password Storage talk at PHP Benelux 13</title><content type="html">&lt;div style="text-align: justify;"&gt;
Today, I&amp;#39;m doing a talk at &lt;a href="http://conference.phpbenelux.eu/2013/"&gt;PHP Benelux 13&lt;/a&gt; on Password Storage and Attacking in PHP. Here are the slides for that talk, as well as the accompanying GitHub repo that I use throughout the talk. When the videos are posted, I&amp;#39;ll make a followup post that links to it. Without rambling on further, click through for the links!&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br&gt;&lt;/div&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/password-storage-talk-at-php-benelux-13.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=Ji4TDwnsRyc:DjZiJLKoSyc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=Ji4TDwnsRyc:DjZiJLKoSyc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=Ji4TDwnsRyc:DjZiJLKoSyc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=Ji4TDwnsRyc:DjZiJLKoSyc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=Ji4TDwnsRyc:DjZiJLKoSyc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=Ji4TDwnsRyc:DjZiJLKoSyc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/Ji4TDwnsRyc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7080488254880874833/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/password-storage-talk-at-php-benelux-13.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7080488254880874833?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7080488254880874833?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/Ji4TDwnsRyc/password-storage-talk-at-php-benelux-13.html" title="Password Storage talk at PHP Benelux 13" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/password-storage-talk-at-php-benelux-13.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUMR3g8eCp7ImA9WhNbGUs.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-2330999320442383319</id><published>2013-01-23T12:00:00.000-05:00</published><updated>2013-01-23T12:48:06.670-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-23T12:48:06.670-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns" /><title>Mediators - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
The Mediator Pattern is an extremely flexible and useful tool to help decouple your code and provide added flexibility in your applications. We&amp;#39;ll explore the basic concept of a Mediator, some places you&amp;#39;ve used it and some things that you can do to improve upon the basic concept. Check out the video:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/mediators-programming-with-anthony.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cCGRMMqWHLU:qC76fkscl3Y:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=cCGRMMqWHLU:qC76fkscl3Y:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cCGRMMqWHLU:qC76fkscl3Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cCGRMMqWHLU:qC76fkscl3Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=cCGRMMqWHLU:qC76fkscl3Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cCGRMMqWHLU:qC76fkscl3Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/cCGRMMqWHLU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/2330999320442383319/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/mediators-programming-with-anthony.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/2330999320442383319?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/2330999320442383319?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/cCGRMMqWHLU/mediators-programming-with-anthony.html" title="Mediators - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/65hdyehA3zY/default.jpg" height="72" width="72" /><thr:total>7</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/mediators-programming-with-anthony.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8BQnoyfCp7ImA9WhNbGEo.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7901783729074400957</id><published>2013-01-18T11:00:00.000-05:00</published><updated>2013-01-22T12:47:33.494-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-22T12:47:33.494-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Promise" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="Dependency Injection" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns" /><title>Promise for Clean Code</title><content type="html">&lt;div style="text-align: justify;"&gt;
I first came across the concept of a &lt;a href="http://en.wikipedia.org/wiki/Futures_and_promises"&gt;Promise&lt;/a&gt; about 3 years ago. At the time I was working with jQuery and was rather put off by the concept. It wasn&amp;#39;t that it wasn&amp;#39;t useful, I just didn&amp;#39;t understand it. Then, about a year ago the concept finally &amp;quot;clicked&amp;quot;... I refactored some existing applications and the reduction in code and simplicity of it all was breathtaking. But I never really appreciated the true power until I used them in PHP...&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/promise-for-clean-code.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ra4ltxW2in4:5BOg1vv2k48:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=ra4ltxW2in4:5BOg1vv2k48:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ra4ltxW2in4:5BOg1vv2k48:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ra4ltxW2in4:5BOg1vv2k48:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=ra4ltxW2in4:5BOg1vv2k48:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ra4ltxW2in4:5BOg1vv2k48:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/ra4ltxW2in4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7901783729074400957/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/promise-for-clean-code.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7901783729074400957?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7901783729074400957?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/ra4ltxW2in4/promise-for-clean-code.html" title="Promise for Clean Code" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/promise-for-clean-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMNSH49fCp7ImA9WhNbE0g.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-2683461304917260031</id><published>2013-01-16T12:00:00.000-05:00</published><updated>2013-01-16T12:14:59.064-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-16T12:14:59.064-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns" /><category scheme="http://www.blogger.com/atom/ns#" term="Iterators" /><title>Iterators - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
Today&amp;#39;s Programming With Anthony video focuses on the concept of Iterators. We&amp;#39;ll look at the abstraction that they represent, how they can be used and some of the benefits of using them. When used correctly, Iterators can lead to very efficient, flexible and clean code. Check out the video:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/todays-programming-with-anthony-video.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=92QDhzj52Hk:H0tBANJmwtY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=92QDhzj52Hk:H0tBANJmwtY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=92QDhzj52Hk:H0tBANJmwtY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=92QDhzj52Hk:H0tBANJmwtY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=92QDhzj52Hk:H0tBANJmwtY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=92QDhzj52Hk:H0tBANJmwtY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/92QDhzj52Hk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/2683461304917260031/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/todays-programming-with-anthony-video.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/2683461304917260031?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/2683461304917260031?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/92QDhzj52Hk/todays-programming-with-anthony-video.html" title="Iterators - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/tW6GcZjBc3E/default.jpg" height="72" width="72" /><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/todays-programming-with-anthony-video.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8EQHg-fyp7ImA9WhNUF0g.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-1490328438278463278</id><published>2013-01-09T12:00:00.000-05:00</published><updated>2013-01-09T12:00:01.657-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-09T12:00:01.657-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Dependency Injection" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Best Practice" /><title>Dependency Injection - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
This week, we&amp;#39;re going to talk about the topic of Dependency Injection in Object oriented code (specifically PHP). You don&amp;#39;t need a fancy container to do it, it&amp;#39;s actually quite simple to do manually! Check out the video:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/dependency-injection-programming-with.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7cfAYePqkaY:W1CPhVpRuQg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=7cfAYePqkaY:W1CPhVpRuQg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7cfAYePqkaY:W1CPhVpRuQg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7cfAYePqkaY:W1CPhVpRuQg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=7cfAYePqkaY:W1CPhVpRuQg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7cfAYePqkaY:W1CPhVpRuQg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/7cfAYePqkaY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/1490328438278463278/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/dependency-injection-programming-with.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1490328438278463278?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1490328438278463278?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/7cfAYePqkaY/dependency-injection-programming-with.html" title="Dependency Injection - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/IKD2-MAkXyQ/default.jpg" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/dependency-injection-programming-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8ERX0zeip7ImA9WhNUFUo.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7901959587208246097</id><published>2013-01-07T10:00:00.000-05:00</published><updated>2013-01-07T10:00:04.382-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-07T10:00:04.382-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Silly" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Best Practice" /><title>Don't Be Afraid To Be Silly</title><content type="html">&lt;div style="text-align: justify;"&gt;
When was the last time you were silly? Well, more specifically, when was the last time that you wrote code that was downright silly? I&amp;#39;m not talking about writing code that&amp;#39;s dirty, or hacking something together. I&amp;#39;m talking about writing code that you &lt;i&gt;know&lt;/i&gt; before writing won&amp;#39;t work, or is wrong or is just plain silly... I&amp;#39;m talking about the kind of code that you think that if you show other developers, they&amp;#39;ll just sit back and go &lt;i&gt;&amp;quot;Why the #@$% would you do that in the first place?&amp;quot;&lt;/i&gt;... Well, I do it quite often, and let me tell you why you should do it more as well!&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/dont-be-afraid-to-be-silly.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=qGSvCMgKeT8:j022lsesDZs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=qGSvCMgKeT8:j022lsesDZs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=qGSvCMgKeT8:j022lsesDZs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=qGSvCMgKeT8:j022lsesDZs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=qGSvCMgKeT8:j022lsesDZs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=qGSvCMgKeT8:j022lsesDZs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/qGSvCMgKeT8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7901959587208246097/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/dont-be-afraid-to-be-silly.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7901959587208246097?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7901959587208246097?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/qGSvCMgKeT8/dont-be-afraid-to-be-silly.html" title="Don't Be Afraid To Be Silly" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/dont-be-afraid-to-be-silly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcERng4fSp7ImA9WhNUEUk.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-4368542013928138313</id><published>2013-01-02T12:00:00.000-05:00</published><updated>2013-01-02T12:00:07.635-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-02T12:00:07.635-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Closures" /><title>JavaScript Closures - Programming With Anthony</title><content type="html">&lt;div style="text-align: justify;"&gt;
In today&amp;#39;s video, we&amp;#39;re going to explore the concepts of closures in JavaScript and PHP. During this quick exploration, we&amp;#39;ll talk a little bit about variable scope and the difference between scoping in JS and PHP. Check out the video:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2013/01/javascript-closures-programming-with.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=PrSIqoGDnD4:sYCn_LE-mG4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=PrSIqoGDnD4:sYCn_LE-mG4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=PrSIqoGDnD4:sYCn_LE-mG4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=PrSIqoGDnD4:sYCn_LE-mG4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=PrSIqoGDnD4:sYCn_LE-mG4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=PrSIqoGDnD4:sYCn_LE-mG4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/PrSIqoGDnD4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/4368542013928138313/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2013/01/javascript-closures-programming-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/4368542013928138313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/4368542013928138313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/PrSIqoGDnD4/javascript-closures-programming-with.html" title="JavaScript Closures - Programming With Anthony" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/R_ZvxMyFSCU/default.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2013/01/javascript-closures-programming-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EERXYzeyp7ImA9WhNVGEo.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-324633389644430141</id><published>2012-12-30T10:00:00.000-05:00</published><updated>2012-12-30T10:00:04.883-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-30T10:00:04.883-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Year In Review" /><category scheme="http://www.blogger.com/atom/ns#" term="Meta" /><title>2012 - What A Year</title><content type="html">Well, 2012 is wrapping up. What a year it has been! Here's a partial recap of some of the things that happened to me and that I did this year:&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Top 5 Blog Posts (By Page View):&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/04/php-sucks-but-i-like-it.html"&gt;PHP Sucks, But I Like It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/07/true-problem-with-php.html"&gt;The True Problem With PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/11/anatomy-of-attack-how-i-hacked.html"&gt;Anatomy Of An Attack: How I Hacked StackOverflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/07/oop-vs-procedural-code.html"&gt;OOP vs Procedural Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/07/secure-programmers-pledge.html"&gt;The Secure Programmer's Pledge&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
Bottom 5 Blog Posts (By Page View):&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/10/upcoming-presentations-fall-2012.html"&gt;Upcoming Presentations - Fall 2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/11/the-true-power-of-open-source.html"&gt;The True Power of Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/07/the-grass-is-always-browner.html"&gt;The Grass Is Always Browner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/12/programming-with-anthony-responsive-web.html"&gt;Programming With Anthony - Responsive Web Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/12/programming-with-anthony-logic.html"&gt;Programming With Anthony - Boolean Logic&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
Top 5 Blog Post Referring Sites:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.reddit.com/"&gt;Reddit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://news.ycombinator.com/"&gt;Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://habrahabr.ru/"&gt;Habrahabr.ru&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.phpdeveloper.org/"&gt;PHP Developer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.dzone.com/"&gt;DZone&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
Presentations Given:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/05/dont-be-stupid-grasp-solid-slides.html"&gt;Don't Be STUPID, GRASP SOLID - NYPHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/10/password-hashing-in-php-talk.html"&gt;Password Hashing in PHP - PHPNW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/11/slides-for-cryptography-presentation-at.html"&gt;Cryptography For The Average Developer - True North PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ircmaxell.com/2012/11/slides-for-solid-talk-at-tnphp.html"&gt;Don't Be STUPID, GRASP SOLID - True North PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.calevans.com/2012/11/19/php-master-series-vol-1/"&gt;Cryptography For The Average Developer - PHP Master Series vol 1&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;h2&gt;
Conferences Attended:&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.northeastphp.org/"&gt;North East PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://conference.phpnw.org.uk/phpnw12/"&gt;PHP North West&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://truenorthphp.ca/"&gt;True North PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.calevans.com/2012/11/19/php-master-series-vol-1/"&gt;PHP Master Series vol 1&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
Videos:&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=eNdW5HWBhG0"&gt;Password Hashing in PHP - PHPNW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=CV4vPsEizJM"&gt;Programming With Anthony - Paradigm Soup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=_YZIBWQr_yk"&gt;Programming With Anthony - References in PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=RLmuFlDygn0"&gt;Programming With Anthony - Encryption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=nLinqtCfhKY"&gt;Programming With Anthony - Prepared Statements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=udOU0gagZqg"&gt;Programming With Anthony - Boolean Logic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=-BVmrSG93XE"&gt;Programming With Anthony - Responsive Web Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=s3CncuzRzFA"&gt;BrainFuck Implementation in PHP&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
New GitHub Repositories (notable):&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://github.com/ircmaxell/programming-with-anthony"&gt;Programming With Anthony Scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ircmaxell/PHP-BrainFuck"&gt;BrainFuck Implementation in PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ircmaxell/password_compat"&gt;Password Compatibility Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ircmaxell/PHP-PasswordLib"&gt;PasswordLib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ircmaxell/PHPPHP"&gt;PHPPHP&lt;/a&gt; - PHP Implementation in PHP&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2&gt;
PHP RFCs:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Implemented:&amp;nbsp;&lt;a href="https://wiki.php.net/rfc/password_hash"&gt;Simplified Password Hashing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Implemented:&amp;nbsp;&lt;a href="https://wiki.php.net/rfc/hash_pbkdf2"&gt;PBKDF2 Hash Function&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Draft: &lt;a href="https://wiki.php.net/rfc/scalar_type_hinting_with_cast"&gt;Scalar Type Hinting (with casts)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Draft: &lt;a href="https://wiki.php.net/rfc/object_cast_to_types"&gt;Scalar Type Casting Magic Methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Withdrawn: &lt;a href="https://wiki.php.net/rfc/parameter_type_casting_hints"&gt;Parameter Type Casting Hints&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
Some Interesting Numbers (Blog):&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;New Blog Posts: &lt;/i&gt;70&lt;i&gt; (including this one)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Comments:&lt;/i&gt; 700&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Subscribers:&lt;/i&gt; 695&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Google Plus&amp;nbsp;+1's:&lt;/i&gt; 582&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Unique Visitors:&lt;/i&gt; 178,000&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Unique Page Views of Blog Posts:&lt;/i&gt;&amp;nbsp;500,500&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Estimated Total Time Writing:&lt;/i&gt; Over 300 Hours&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Total Ad Revenue:&lt;/i&gt; $110&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;h2&gt;
Some Interesting Numbers (YouTube):&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;New Videos:&lt;/i&gt; 8&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Comments:&lt;/i&gt; 21&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Likes:&lt;/i&gt; 186&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Subscribers:&lt;/i&gt; 195&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Unique Video Views on YouTube:&lt;/i&gt; 7,200&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Estimated Total Time Producing:&lt;/i&gt; Over 30 Hours&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Total Ad Revenue:&lt;/i&gt; $11&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
Some Interesting Numbers (Me):&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;New Twitter Followers:&lt;/i&gt; About 800&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Mailing List Posts:&lt;/i&gt; About 400&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Commits To Public Repositories:&lt;/i&gt; About 450&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Age Change:&lt;/i&gt;&amp;nbsp;+ 1 Year&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Miles Traveled&lt;/i&gt;: 22000 (12,000 by airplane)&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Emails Received (personal):&lt;/i&gt; 15,000&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Apocalypses&amp;nbsp;Survived:&lt;/i&gt;&amp;nbsp;2&lt;/li&gt;
&lt;/ul&gt;
Thank you to everyone for making 2012 such a great year! Let's hope 2013 is at least as good as 2012 was...&lt;br /&gt;
&lt;br /&gt;
Have a GREAT New Year, and I'll see you all again in 2013!&lt;br /&gt;
&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VH5OpdMTra8:jIf78-5AMaA:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=VH5OpdMTra8:jIf78-5AMaA:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VH5OpdMTra8:jIf78-5AMaA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VH5OpdMTra8:jIf78-5AMaA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=VH5OpdMTra8:jIf78-5AMaA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VH5OpdMTra8:jIf78-5AMaA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/VH5OpdMTra8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/324633389644430141/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/2012-what-a-year.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/324633389644430141?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/324633389644430141?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/VH5OpdMTra8/2012-what-a-year.html" title="2012 - What A Year" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/2012-what-a-year.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UERXk7eCp7ImA9WhNVFUk.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-1738973547801962001</id><published>2012-12-26T12:00:00.000-05:00</published><updated>2012-12-26T12:00:04.700-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-26T12:00:04.700-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Design" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Best Practice" /><category scheme="http://www.blogger.com/atom/ns#" term="Responsive Design" /><title>Programming With Anthony - Responsive Web Design</title><content type="html">&lt;div style="text-align: justify;"&gt;
This week we are joined by Responsive Design thought leader &lt;a href="https://twitter.com/snugug"&gt;Sam Richard&lt;/a&gt;. He introduces us to the concept of responsive web design, tells us a little bit about its history and talks about best-practice and the future of the web! Check out the video:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2012/12/programming-with-anthony-responsive-web.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=KIGxr8sQwwg:-ezo3EvNiEQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=KIGxr8sQwwg:-ezo3EvNiEQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=KIGxr8sQwwg:-ezo3EvNiEQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=KIGxr8sQwwg:-ezo3EvNiEQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=KIGxr8sQwwg:-ezo3EvNiEQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=KIGxr8sQwwg:-ezo3EvNiEQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/KIGxr8sQwwg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/1738973547801962001/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/programming-with-anthony-responsive-web.html#comment-form" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1738973547801962001?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/1738973547801962001?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/KIGxr8sQwwg/programming-with-anthony-responsive-web.html" title="Programming With Anthony - Responsive Web Design" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/-BVmrSG93XE/default.jpg" height="72" width="72" /><thr:total>13</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/programming-with-anthony-responsive-web.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UESHsyeyp7ImA9WhNVE0s.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7855377693944138753</id><published>2012-12-24T10:00:00.000-05:00</published><updated>2012-12-24T10:00:09.593-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-24T10:00:09.593-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Language Agnostic" /><title>The Brain Is A Muscle</title><content type="html">&lt;div style="text-align: justify;"&gt;
The brain is a muscle, and as all muscles, it needs regular exercise to keep sharp. Or at least that&amp;#39;s what the old adage says. This is a post that I&amp;#39;ve been meaning to write for a long time now, but never got around to (until now that is). Sparked by a twitter conversation with Mr Grumpy himself (&lt;a href="https://twitter.com/grmpyprogrammer"&gt;Chris Hartjes&lt;/a&gt;), I decided that the time was right for it. So, here&amp;#39;s my method for staying sharp and exercising my brain...&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2012/12/the-brain-is-muscle.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VJUg9FmHRvo:yeOyVJnbb70:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=VJUg9FmHRvo:yeOyVJnbb70:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VJUg9FmHRvo:yeOyVJnbb70:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VJUg9FmHRvo:yeOyVJnbb70:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=VJUg9FmHRvo:yeOyVJnbb70:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=VJUg9FmHRvo:yeOyVJnbb70:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/VJUg9FmHRvo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7855377693944138753/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/the-brain-is-muscle.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7855377693944138753?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7855377693944138753?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/VJUg9FmHRvo/the-brain-is-muscle.html" title="The Brain Is A Muscle" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/s3CncuzRzFA/default.jpg" height="72" width="72" /><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/the-brain-is-muscle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04ER388cSp7ImA9WhNVEE0.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-7461002357529399367</id><published>2012-12-19T12:00:00.000-05:00</published><updated>2012-12-20T07:18:26.179-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-20T07:18:26.179-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Language Agnostic" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="Logic" /><title>Programming With Anthony - Logic</title><content type="html">This week's &lt;a href="https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&amp;amp;feature=view_all"&gt;Programming With Anthony&lt;/a&gt; video is up! In it, we discuss the foundations of Boolean Logic and introduce some very interesting tools for analyzing logical constructs (including Truth Tables and De Morgan's Laws). So without any further&amp;nbsp;ado:&lt;br /&gt;
&lt;br /&gt;
Video:&amp;nbsp;&lt;a href="https://www.youtube.com/watch?v=udOU0gagZqg"&gt;https://www.youtube.com/watch?v=udOU0gagZqg&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Playlist:&amp;nbsp;&lt;a href="https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&amp;amp;feature=view_all"&gt;https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&amp;amp;feature=view_all&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7bxrr_8-tu4:LuCPL-857Tg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=7bxrr_8-tu4:LuCPL-857Tg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7bxrr_8-tu4:LuCPL-857Tg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7bxrr_8-tu4:LuCPL-857Tg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=7bxrr_8-tu4:LuCPL-857Tg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=7bxrr_8-tu4:LuCPL-857Tg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/7bxrr_8-tu4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/7461002357529399367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/programming-with-anthony-logic.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7461002357529399367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/7461002357529399367?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/7bxrr_8-tu4/programming-with-anthony-logic.html" title="Programming With Anthony - Logic" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/programming-with-anthony-logic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIBQX0yeyp7ImA9WhNWGEk.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-211975429346234623</id><published>2012-12-17T09:00:00.000-05:00</published><updated>2012-12-18T10:12:30.393-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-18T10:12:30.393-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Password-Hashing" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Cryptography" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Best Practice" /><category scheme="http://www.blogger.com/atom/ns#" term="BCrypt" /><title>Seven Ways To Screw Up BCrypt</title><content type="html">&lt;div style="text-align: justify;"&gt;
There are numerous articles on the web about how to properly use bcrypt in PHP. So this time, rather than write &lt;i&gt;yet-another-how-to-use-bcrypt&lt;/i&gt; article, I&amp;#39;m going to focus on the mistakes that are commonly made when implementing bcrypt. So, let&amp;#39;s dive right in:&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cKopqJa5Kr0:8oxoz7vLa_Y:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=cKopqJa5Kr0:8oxoz7vLa_Y:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cKopqJa5Kr0:8oxoz7vLa_Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cKopqJa5Kr0:8oxoz7vLa_Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=cKopqJa5Kr0:8oxoz7vLa_Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=cKopqJa5Kr0:8oxoz7vLa_Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/cKopqJa5Kr0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/211975429346234623/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html#comment-form" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/211975429346234623?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/211975429346234623?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/cKopqJa5Kr0/seven-ways-to-screw-up-bcrypt.html" title="Seven Ways To Screw Up BCrypt" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>19</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkICRXY5cCp7ImA9WhNWFU0.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-3079991998581875441</id><published>2012-12-14T10:00:00.000-05:00</published><updated>2012-12-14T12:02:44.828-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-14T12:02:44.828-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Source" /><title>Contribute to Contributors</title><content type="html">The holidays can be a trying time of year for everyone, with all the gift buying and stress and all. I wanted to take this time to make a plea. The open source software that all of us use is powered by volunteers! Show them your support by donating! I&amp;#39;m compiling a list here of prominent contributors to donate to, and I strongly urge you to consider saying &amp;quot;thank you&amp;quot; to people who work hard to give you the tools and knowledge that you use every day! So, without anything further:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2012/12/contribute-to-contributors.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ttz2Cl-fRtM:GMyWUo6R8j4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=ttz2Cl-fRtM:GMyWUo6R8j4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ttz2Cl-fRtM:GMyWUo6R8j4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ttz2Cl-fRtM:GMyWUo6R8j4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=ttz2Cl-fRtM:GMyWUo6R8j4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=ttz2Cl-fRtM:GMyWUo6R8j4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/ttz2Cl-fRtM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/3079991998581875441/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/contribute-to-contributors.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/3079991998581875441?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/3079991998581875441?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/ttz2Cl-fRtM/contribute-to-contributors.html" title="Contribute to Contributors" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/contribute-to-contributors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8EQng-eip7ImA9WhNWFEw.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-4512580358427000319</id><published>2012-12-13T10:00:00.000-05:00</published><updated>2012-12-13T10:00:03.652-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-13T10:00:03.652-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Object Oriented Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Learning" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="Conference" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>Upcoming Appearances - Winter 2012/2013</title><content type="html">I&amp;#39;ve got a few talks coming up in the near future, so if you can make one of these events, be sure to come say hi to me!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blog.ircmaxell.com/2012/12/upcoming-appearances-winter-20122013.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=nciPYbRwSSM:8Sd-54XUXco:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=nciPYbRwSSM:8Sd-54XUXco:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=nciPYbRwSSM:8Sd-54XUXco:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=nciPYbRwSSM:8Sd-54XUXco:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=nciPYbRwSSM:8Sd-54XUXco:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=nciPYbRwSSM:8Sd-54XUXco:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/nciPYbRwSSM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/4512580358427000319/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/upcoming-appearances-winter-20122013.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/4512580358427000319?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/4512580358427000319?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/nciPYbRwSSM/upcoming-appearances-winter-20122013.html" title="Upcoming Appearances - Winter 2012/2013" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/upcoming-appearances-winter-20122013.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EEQXc7cSp7ImA9WhNWE04.&quot;"><id>tag:blogger.com,1999:blog-7414445313853167451.post-3687762200010179257</id><published>2012-12-12T12:00:00.000-05:00</published><updated>2012-12-12T12:00:00.909-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-12T12:00:00.909-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming With Anthony" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><title>Programming With Anthony - Prepared Statements</title><content type="html">&lt;br /&gt;
The fourth video in the &lt;a href="http://blog.ircmaxell.com/search/label/Programming%20With%20Anthony" target="_blank"&gt;Programming With Anthony series&lt;/a&gt; is live! In this video, we'll explore the basic principles of prepared statements, and why you should use them instead of using escaped input directly in queries.&lt;br /&gt;
&lt;br /&gt;
I'm still playing around with the approach and style of these videos (as well as content structure), so your feedback is extremely valuable! Please let me know what you think!&lt;br /&gt;
&lt;br /&gt;
YouTube:&amp;nbsp;&lt;a href="http://www.youtube.com/watch?v=nLinqtCfhKY"&gt;http://www.youtube.com/watch?v=nLinqtCfhKY&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Playlist:&amp;nbsp;&lt;a href="https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&amp;amp;feature=view_all"&gt;https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&amp;amp;feature=view_all&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
And as always, thanks for watching!&lt;br /&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=o1RqqJPZ2x4:vp_CmfKz85k:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=o1RqqJPZ2x4:vp_CmfKz85k:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=o1RqqJPZ2x4:vp_CmfKz85k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=o1RqqJPZ2x4:vp_CmfKz85k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?i=o1RqqJPZ2x4:vp_CmfKz85k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Ircmaxell?a=o1RqqJPZ2x4:vp_CmfKz85k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Ircmaxell?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ircmaxell/~4/o1RqqJPZ2x4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ircmaxell.com/feeds/3687762200010179257/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.ircmaxell.com/2012/12/programming-with-anthony-prepared.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/3687762200010179257?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7414445313853167451/posts/default/3687762200010179257?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ircmaxell/~3/o1RqqJPZ2x4/programming-with-anthony-prepared.html" title="Programming With Anthony - Prepared Statements" /><author><name>Anthony Ferrara</name><uri>https://plus.google.com/116684160653788596672</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-2Y-3XOfn820/AAAAAAAAAAI/AAAAAAAAE7E/8wPEy4Dvub0/s512-c/photo.jpg" /></author><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.ircmaxell.com/2012/12/programming-with-anthony-prepared.html</feedburner:origLink></entry></feed>
