<?xml version="1.0" encoding="UTF-8" ?><?xml-stylesheet type="text/xsl" href="/css/feed.xsl" ?><rss version="2.0"><channel><title>Recent Writing - Mark Story</title><link>http://www.mark-story.com/posts/rss</link><description>Recent writing and musings of Mark Story</description><language>en-us</language><managingEditor>mark@mark-story.com (Mark Story)</managingEditor><item><title>The value of a simple release process</title><link>http://www.mark-story.com/posts/view/the-value-of-a-simple-release-process?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/the-value-of-a-simple-release-process?utm_source=rss</guid><description>	I&#8217;ve been doing many of the CakePHP releases, since &#8220;the great framework apocalypse of imminent doom&#8221;.  Between then and now, CakePHP has had quite a few releases. During these past few months, I&#8217;ve really begun to understand the value of a simple release process.  When I initially started doing releases for CakePHP, our release process involved many steps and I was doing them all manually.</description><pubDate>Sun, 07 Mar 2010 21:46:10 -0500</pubDate></item><item><title>Acl Extras Updated to CakePHP 1.3</title><link>http://www.mark-story.com/posts/view/acl-extras-updated-to-cakephp-1-3?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/acl-extras-updated-to-cakephp-1-3?utm_source=rss</guid><description>	Over the long Ontario weekend, I took some time to update Acl Extras.  It now works with plugins and the improvements made to the Auth + Acl for 1.3.  The master branch contains the CakePHP 1.3 compatible version.  While the 1.0.0 tag, and 1.0 branch are still compatible with CakePHP 1.2.</description><pubDate>Mon, 15 Feb 2010 22:29:20 -0500</pubDate></item><item><title>Cleaning house and sprucing up the place</title><link>http://www.mark-story.com/posts/view/cleaning-house-and-sprucing-up-the-place?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/cleaning-house-and-sprucing-up-the-place?utm_source=rss</guid><description>	Its been a few weeks of working in the evenings but its pretty much done.  I&#8217;ve been wanting to do this redesign for a while now.  2 years ago when I built the version of this domain you&#8217;ve all come to know, I attempted to create a design that was different from other programming blogs, and fused my interests in both design and programming. I feel it turned out well.</description><pubDate>Mon, 01 Feb 2010 21:41:26 -0500</pubDate></item><item><title>Using custom Route classes in CakePHP</title><link>http://www.mark-story.com/posts/view/using-custom-route-classes-in-cakephp?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/using-custom-route-classes-in-cakephp?utm_source=rss</guid><description>	New for CakePHP 1.3 is the ability to create and use custom route classes for your application&#8217;s routing.  In the past the router did double duty, managing route collections and routes were just arrays. In 1.3 Router underwent some surgery and CakeRoute was extracted as an object to represent a single route. While Router was left as a manager of routes.</description><pubDate>Wed, 27 Jan 2010 18:06:32 -0500</pubDate></item><item><title>The argument for flag arguments </title><link>http://www.mark-story.com/posts/view/the-argument-for-flag-arguments?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/the-argument-for-flag-arguments?utm_source=rss</guid><description>	I recently read &#8220;Clean Code&#8221; by Robert Martin an excellent book on writing clear, easy to maintain and well factored code.  In it Robert Martin raises the point that methods should do what their names say, shouldn&#8217;t have &#8216;flag arguments&#8217;, and should do only one thing.  This implies that overloaded methods are out.</description><pubDate>Thu, 14 Jan 2010 20:34:44 -0500</pubDate></item><item><title>hashgrid for Mootools</title><link>http://www.mark-story.com/posts/view/hashgrid-for-mootools?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/hashgrid-for-mootools?utm_source=rss</guid><description>	You may have seen the Analog.coop site recently and found some of the easter eggs, like the grid hot keys.  I loved the concept, and made a mental note to spend some time reverse engineering/rebuilding it for my own uses.  Well it just so happens that the guys at Analog have released the #grid on Github, which is great because it made it easier for me to adapt the code and do some small improvements.</description><pubDate>Wed, 30 Dec 2009 23:17:21 -0500</pubDate></item><item><title>DebugKit 1.2 released</title><link>http://www.mark-story.com/posts/view/debugkit-1-2-released?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/debugkit-1-2-released?utm_source=rss</guid><description>	Earlier today I tagged and packaged up the 1.2 release of DebugKit.  DebugKit 1.2 features a number of improvements and features over 1.1 which include:</description><pubDate>Sat, 12 Dec 2009 22:22:24 -0500</pubDate></item><item><title>Updating to Cake 1.3</title><link>http://www.mark-story.com/posts/view/updating-to-cake-1-3?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/updating-to-cake-1-3?utm_source=rss</guid><description>	Last night I updated this site to run on the latest 1.3 build. While I know I should have done it earlier, I simply haven&#8217;t had the time.  And since I went through it, I figured I could document it and share what the upgrade process is like for a small site, that doesn&#8217;t see a ton of maintenance action like this one.</description><pubDate>Thu, 03 Dec 2009 05:06:27 -0500</pubDate></item><item><title>Learning Raphaël Js - Boxes filled with diagonal lines</title><link>http://www.mark-story.com/posts/view/learning-rapha-l-js-boxes-filled-with-diagonal-lines?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/learning-rapha-l-js-boxes-filled-with-diagonal-lines?utm_source=rss</guid><description>	I&#8217;ve been working on a client project that involved some reasonable amount of SVG/VML work.  In order to make my life more sane, I&#8217;ve been using Raphaël JS to do what it does best, which is provide a great API for making sexy vector graphics.</description><pubDate>Fri, 13 Nov 2009 05:15:04 -0500</pubDate></item><item><title>Happy CakePHP halloween</title><link>http://www.mark-story.com/posts/view/happy-cakephp-halloween?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/happy-cakephp-halloween?utm_source=rss</guid><description>	Everyone can breath a sign of relief.  Late last night there were rumours that CakePHP had died.  Confusion and disbelief spread pretty quickly through twitter, and IRC. However, CakePHP is doing great, and is very far from dead.</description><pubDate>Wed, 28 Oct 2009 04:17:50 -0400</pubDate></item><item><title>Creating Simple Ajax Pagination with CakePHP 1.3 and Mootools</title><link>http://www.mark-story.com/posts/view/creating-simple-ajax-pagination-with-cakephp-1-3-and-mootools?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/creating-simple-ajax-pagination-with-cakephp-1-3-and-mootools?utm_source=rss</guid><description>	Creating ajax pagination has gotten more simple and flexible for 1.3.  In 1.2 you could only use the built in Ajax pagination if you were using Prototype as your javascript library. With the addition of the JsHelper you can use any Javascript library that an engine has been implemented.  My example today will be using mootools. I&#8217;ll be basing this, off of a freshly baked index view using the default core templates.</description><pubDate>Sat, 24 Oct 2009 17:44:49 -0400</pubDate></item><item><title>Traits and Grafts, PHP6 Gold</title><link>http://www.mark-story.com/posts/view/traits-and-grafts-php6-gold?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/traits-and-grafts-php6-gold?utm_source=rss</guid><description>	Although PHP5.3 is still hot off the press, and a very exciting release in its own right.  I must say I&#8217;m far more excited about the grafts and traits that have been proposed for PHP6.  While PHP6 is still a fair ways off from being released, Stefan Marr has backported the changes to PHP5.</description><pubDate>Mon, 12 Oct 2009 15:42:37 -0400</pubDate></item><item><title>Unit Testing CakePHP Shells</title><link>http://www.mark-story.com/posts/view/unit-testing-cakephp-shells?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/unit-testing-cakephp-shells?utm_source=rss</guid><description>	Shells are one of the more difficult objects to properly unit test.  Since they normally run in a CLI context instead of a web context they provide some interesting challenges.  The biggest hurdles are separating the Shell from the CLI environment, and simulating the correct arguments and parameters.</description><pubDate>Sun, 20 Sep 2009 21:36:45 -0400</pubDate></item><item><title>Updating to PHP5.3 with MacPorts</title><link>http://www.mark-story.com/posts/view/updating-to-php5-3-with-macports?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/updating-to-php5-3-with-macports?utm_source=rss</guid><description>	Previously, I wrote about using two versions of PHP with macports . In it I covered installing PHP4 and PHP5.  Since then PHP5.3 has been released as a stable release.  However, I needed to maintain my PHP5.2 installation as I have a number of client projects that are on servers using PHP5.2.  So to reduce version insanity I wanted to keep 5.2.</description><pubDate>Tue, 08 Sep 2009 02:04:59 -0400</pubDate></item><item><title>Making elements drag resizable with Javascript</title><link>http://www.mark-story.com/posts/view/making-elements-drag-resizable-with-javascript?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/making-elements-drag-resizable-with-javascript?utm_source=rss</guid><description>	Drag resizing is a great interface interaction for web apps using panes, or window regions.  Most Javascript libraries have convenient and simple methods to make drag-resizing a snap.  However, what if you didn&#8217;t have a library at your disposal or were just interested in how to implement this interaction, just for the sake of knowing?  Well I did just that when I implemented drag resizable panels for DebugKit 1.</description><pubDate>Wed, 26 Aug 2009 13:24:52 -0400</pubDate></item><item><title>bake updates for 1.3</title><link>http://www.mark-story.com/posts/view/bake-updates-for-1-3?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/bake-updates-for-1-3?utm_source=rss</guid><description>	If you&#8217;ve been following the ongoing development of the 1.3 branch over at code.cakephp.org:http://code.cakephp.org.  You may have noticed that bake has had a significant overhaul, and a number of features and enhancements have been built in.</description><pubDate>Mon, 17 Aug 2009 03:22:55 -0400</pubDate></item><item><title>How using requestAction increased performance on my site</title><link>http://www.mark-story.com/posts/view/how-using-requestaction-increased-performance-on-my-site?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/how-using-requestaction-increased-performance-on-my-site?utm_source=rss</guid><description>	So originally when I built this site, I was in the &#8220;requestAction is bad&#8221; camp.  So much so that I created a convoluted Component to assist in the creation of the sideboxes featured on this site. A sample of that code is as follows:


//Recent Posts
$options = array(
	&#39;position&#39; =&gt; 5,
	&#39;type&#39; =&gt; &#39;list&#39;,
	&#39;format&#39; =&gt; array(
		&#39;title&#39; =&gt; &#39;{n}.Node.</description><pubDate>Sun, 02 Aug 2009 20:27:07 -0400</pubDate></item><item><title>Making custom markup editors with markItUp and jqModal</title><link>http://www.mark-story.com/posts/view/making-custom-markup-editors-with-markitup-and-jqmodal?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/making-custom-markup-editors-with-markitup-and-jqmodal?utm_source=rss</guid><description>	While I&#8217;m a big fan of Mootools I work on a few projects using jQuery, and have recently been working on a project that needed a custom markup editor. I&#8217;m a big fan of the markItUp editor.  Its a flexible and easily extensible editor, that affords a great deal of features in a small package.</description><pubDate>Wed, 22 Jul 2009 04:10:09 -0400</pubDate></item><item><title>Maintaining two versions of PHP with MacPorts</title><link>http://www.mark-story.com/posts/view/maintaining-two-versions-of-php-with-macports?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/maintaining-two-versions-of-php-with-macports?utm_source=rss</guid><description>	As a mac user, I&#8217;m a huge fan of the great work the people at MacPorts do.  If you haven&#8217;t used MacPorts before, its basically a mac version of apt-get or rpm and allows you to install all kinds of unix-y goodness from source code on OSX.</description><pubDate>Tue, 14 Jul 2009 01:59:41 -0400</pubDate></item><item><title>Smaller and more repositories on github</title><link>http://www.mark-story.com/posts/view/smaller-and-more-repositories-on-github?utm_source=rss</link><guid>http://www.mark-story.com/posts/view/smaller-and-more-repositories-on-github?utm_source=rss</guid><description>	What started out small has grown into an ugly tangled monster.  As with many people&#8217;s github accounts, mine only had a few things in it at first and all was well.  But as more code was written the repository began to smell and was in need of some splitting up. So that is what has been done.</description><pubDate>Tue, 07 Jul 2009 02:05:28 -0400</pubDate></item></channel></rss>