<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>johnsonpage.org</title>
 <link href="http://johnsonpage.org/atom.xml" rel="self"/>
 <link href="http://johnsonpage.org"/>
 <updated>2011-03-10T22:38:38+10:00</updated>
 <id>http://johnsonpage.org</id>
 <author>
   <name>Johnson Page</name>
   <email>jwpage+site@gmail.com</email>
 </author>
 
 
 <entry>
   <title>PHP Microframeworks Presentation</title>
   <link href="http://johnsonpage.org/blog/2010-12-01/php-microframeworks-presentation"/>
   <updated>2010-12-01T00:00:00+10:00</updated>
   <id>http://johnsonpage.org/blog/2010-12-01/php-microframeworks-presentation</id>
   <content type="html">&lt;p&gt;A week ago I delivered a short talk at the &lt;a href=&quot;http://www.brisbanephp.net/&quot;&gt;Brisbane PHP Meetup&lt;/a&gt; on PHP microframeworks (similar to &lt;a href=&quot;http://www.sinatrarb.com&quot;&gt;Sinatra&lt;/a&gt;), comparing how to implement a simple &amp;ldquo;Hello, &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;!&amp;rdquo; application in each one.&lt;/p&gt;

&lt;p&gt;The frameworks covered include: &lt;a href=&quot;http://www.slimframework&quot;&gt;Slim&lt;/a&gt;, &lt;a href=&quot;http://www.limonade-php.net&quot;&gt;Limonade&lt;/a&gt;, &lt;a href=&quot;https://github.com/jim/fitzgerald&quot;&gt;Fitzgerald&lt;/a&gt;, &lt;a href=&quot;http://github.com/fabpot/silex/&quot;&gt;Silex&lt;/a&gt; and &lt;a href=&quot;http://rad-dev.org/lithium/&quot;&gt;Lithium&lt;/a&gt;. (Despite being a fully-fledged framework, Lithium is included as an example of how loosely-coupled components can be reused for simple tasks.)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/more/php-microframeworks&quot;&gt;The slides for the PHP microframeworks presentation are available to view here.&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Google Analytics Bookmarklets</title>
   <link href="http://johnsonpage.org/blog/2010-08-08/google-analytics-bookmarklets"/>
   <updated>2010-08-08T00:00:00+10:00</updated>
   <id>http://johnsonpage.org/blog/2010-08-08/google-analytics-bookmarklets</id>
   <content type="html">&lt;p&gt;For whatever reason, Google Analytics doesn&amp;rsquo;t provide users with any way to easily access their Google Analytics reports for a given period. Every day you want to view a report you need to reselect the date range.&lt;/p&gt;

&lt;p&gt;Luckily with a bit of JavaScript you can easily create some JavaScript bookmarklets to direct your browser to the right page within Google Analytics.&lt;/p&gt;

&lt;p&gt;To that end, I&amp;rsquo;ve created a simple tool to assist in the creation of a few different types of Google Analytics bookmarklets for use with your accounts.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/more/analytics&quot;&gt;Google Analytic Bookmarklets Generator&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Mobile Monday Brisbane Roundup</title>
   <link href="http://johnsonpage.org/blog/2010-07-19/mobile-monday-brisbane-roundup"/>
   <updated>2010-07-19T00:00:00+10:00</updated>
   <id>http://johnsonpage.org/blog/2010-07-19/mobile-monday-brisbane-roundup</id>
   <content type="html">&lt;p&gt;Last night, the Exchange Hotel hosted the &lt;a href=&quot;http://www.mobilemondaybrisbane.com/2010/07/mobile-monday-brisbane-is-back/&quot;&gt;third Mobile Monday Brisbane meetup&lt;/a&gt;. There were maybe 30 attendants, and three speakers at the event: &lt;a href=&quot;http://twitter.com/halfbrick&quot;&gt;@halfbrick&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/chriskettle&quot;&gt;@chriskettle&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/oliverpalmer&quot;&gt;@oliverpalmer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The first two talks centered around iPhone development and how to appropriately market to and communicate with the iPhone owners. Though I&amp;rsquo;m no longer trucking about with an iPhone, it certainly provided some handy tips and insights into the App Store marketplace.&lt;/p&gt;

&lt;p&gt;In the third presentation, Oliver Palmer focused less on iPhones and apps, and instead opted to cover mobile as a &amp;ldquo;platform&amp;rdquo;, and how it is growing in importance as mobile technology advances. There was even a mention of HTML5 and the mobile web, suggesting that the almighty app might not remain the choice for all mobile marketing.&lt;/p&gt;

&lt;p&gt;The meeting was well organised with good speakers and a great new venue. My only note is that by holding the Mobile Monday on the third Monday of every month clashes with the existing &lt;a href=&quot;http://www.meetup.com/brisbane-ruby-rails/&quot;&gt;Brisbane Ruby meetup&lt;/a&gt; which means I&amp;rsquo;ll probably have to choose which one to attend in the future!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Persistent Connections With Doctrine 1.2</title>
   <link href="http://johnsonpage.org/blog/2010-07-18/persistent-connections-with-doctrine-1.2"/>
   <updated>2010-07-18T00:00:00+10:00</updated>
   <id>http://johnsonpage.org/blog/2010-07-18/persistent-connections-with-doctrine-1.2</id>
   <content type="html">&lt;p&gt;Forcing Doctrine 1.2 to use persistent database connections was a matter that gave me a bit of trouble the other day. It&amp;rsquo;s undocumented, and appears in the code (&lt;code&gt;Doctrine/Connection.php&lt;/code&gt;) that you can set persistence as an option, but that code also appears to be orphaned.&lt;/p&gt;

&lt;p&gt;The best way to create a persistent connection is by passing a persistent PDO object directly to Doctrine:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;php&quot;&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;?php&lt;/span&gt; 
&lt;span class=&quot;nv&quot;&gt;$dsn&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// As per PDO DSN syntax&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$pdo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;PDO&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$dsn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;nx&quot;&gt;PDO&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;ATTR_PERSISTENT&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$conn&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;Doctrine_Manager&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;connection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$pdo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;Not so hard, after all.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>johnsonpage dot org</title>
   <link href="http://johnsonpage.org/blog/2010-06-04/johnsonpage-dot-org"/>
   <updated>2010-06-04T00:00:00+10:00</updated>
   <id>http://johnsonpage.org/blog/2010-06-04/johnsonpage-dot-org</id>
   <content type="html">&lt;p&gt;This is the first iteration of the new &lt;strong&gt;johnsonpage.org&lt;/strong&gt;. As the tagline suggests, this is where I&amp;rsquo;ll be posting some code and some words (probably about code).&lt;/p&gt;

&lt;p&gt;If you want some more information, you can have a read &lt;a href=&quot;/colophon&quot;&gt;about the technical details behind this site&lt;/a&gt; or read a bit &lt;a href=&quot;/about&quot;&gt;more about me&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 
</feed>
