<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Winn &#187; Platforms</title>
	<atom:link href="http://winn.ws/archives/category/platforms/feed" rel="self" type="application/rss+xml" />
	<link>http://winn.ws</link>
	<description>Standards-based design &#38; development</description>
	<lastBuildDate>Wed, 01 Feb 2012 05:30:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Models in Skoot</title>
		<link>http://winn.ws/archives/945</link>
		<comments>http://winn.ws/archives/945#comments</comments>
		<pubDate>Sat, 16 Jul 2011 17:33:58 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Skoot]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=945</guid>
		<description><![CDATA[Models are the &#8220;M&#8221; in &#8220;MVC&#8221;, and play a key roll in keeping your separation.What I will be covering here can be taken to most PHP frameworks with a little tweak. Below I will cover how to use the Models in the Skoot PHP framework. First a little about Skoot: This small but powerful PHP [...]]]></description>
			<content:encoded><![CDATA[<p>Models are the &#8220;M&#8221; in &#8220;MVC&#8221;, and play a key roll in keeping your separation.What I will be covering here can be taken to most PHP frameworks with a little tweak.</p>
<p>Below I will cover how to use the Models in the Skoot PHP framework. First a little about Skoot:</p>
<p>This small but powerful PHP “micro” framework is a result from another  project. I started using a “micro” framework called NiceDog, NiceDog is a  very cool little one file framework that is super simple to use and get  started with. It lacks the basic needs such as a database layer and  theme helpers but it’s great to use for projects that don’t need a full  framework with all the bells and whistles.</p>
<p>The name Skoot comes from my dog “Skooter” he’s a little black MinPin.  The Skoot framework adds the basic database layer and layout functions  into NiceDog making it more powerful and giving you a big jump start on  any small project.</p>
<h3>Let&#8217;s Start</h3>
<p>Looking into the basic setup the &#8220;welcome&#8221; controller we will see no reference to the model in any way. We can simple do that by building a construct:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> Welcome<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">UsersModel</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> User<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Above we are making a call to the Users model from the welcome controller. You can now access any of your model actions from &#8220;$this-&gt;UserModel-&gt;ACTION&#8221;. Let look at how to make sure the model is usable and of correct setup.</p>
<h3>The Model</h3>
<p>Below is how to construct a model in Skoot PHP framework:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> Users <span style="color: #000000; font-weight: bold;">extends</span> M <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">function</span> test<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Test&quot;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>All models extend the class &#8220;M&#8221;, just like controllers extend &#8220;C&#8221;.</p>
<p>Now lets make a call to the model from the controller:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">UsersModel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">test</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The above output would be &#8220;Test&#8221;.</p>
<h3>Don&#8217;t have Skoot?</h3>
<ul>
<li><a href="http://github.com/gregwinn/Skoot">Get Skoot!</a></li>
<li><a href="http://github.com/gregwinn/Skoot/wiki">Skoot Docs</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/945/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenStack</title>
		<link>http://winn.ws/archives/462</link>
		<comments>http://winn.ws/archives/462#comments</comments>
		<pubDate>Mon, 19 Jul 2010 17:36:51 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[Rackspace]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=462</guid>
		<description><![CDATA[Today is a big day for Rackspace Hosting. They announced a new project that Rackspace believes will change the way the cloud is developed and it's called <a href="http://www.openstack.org/">OpenStack – an open source cloud platform</a> designed to foster the emergence of technology standards and cloud interoperability.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rackspacecloud.com/957-0-1-20.html" target="_blank"><img style="float:left; margin:0 5px 5px 0;" border="0" src="http://affiliates.rackspacecloud.com/banners/Powered_the-rackspace-cloud-250-wide.png" width="250" height="69" alt="Powered by Rackspace Cloud Computing"></a>Today is a big day for Rackspace Hosting. They announced a new project that Rackspace believes will change the way the cloud is developed and it&#8217;s called <a href="http://www.openstack.org/">OpenStack – an open source cloud platform</a> designed to foster the emergence of technology standards and cloud interoperability. In short, Rackspace will be opening code on our cloud infrastructure for public use.</p>
<p>The initial components being released through this project include the code that powers our <a href="http://www.rackspacecloud.com/957-0-3-13.html">Cloud Files</a> (available today) and <a href="http://www.rackspacecloud.com/957-0-3-13.html">Cloud Servers</a> (expected available late 2010). This project will also incorporate technology provided by other open-source projects. We expect to be joined by leaders in the technology industry and others to drive a deployable totally open cloud solution through this project.</p>
<p>Why is Rackspace doing this? Historically, most cloud offerings have been built on proprietary or closed platforms that create lock-in and make migration difficult. With OpenStack, any interested party – including our peers, Solution Partners and customers – will be able to collaborate with us to author, improve and expand OpenStack technologies.</p>
<h5>Overview</h5>
<ul>
<li><strong>What the software does:</strong> The goal of OpenStack is to allow any organization to create and offer cloud computing capabilities using open source software running on standard hardware. OpenStack Compute is software for automatically creating and managing large groups of virtual private servers. OpenStack Storage is software for creating redundant, scalable object storage using clusters of commodity servers to store terabytes or even petabytes of data.</li>
<li><strong>Who it&#8217;s for:</strong> Institutions and service providers with physical hardware that they&#8217;d like to use for large-scale cloud deployments. (Additionally, companies who have specific requirements that prevent them from running in a public cloud.)</li>
</ul>
<p>View it all at <a href="http://www.openstack.org/">OpenStack&#8230;</a></p>
<p style="text-align:center;"><a href="http://www.rackspacecloud.com/957-0-1-30.html" target="_blank"><img border="0" src="http://affiliates.rackspacecloud.com/banners/linux-468x60.png" width="468" height="60" alt="Linux Servers on the Cloud IN MINUTES"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/462/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluster Compute Instances for EC2</title>
		<link>http://winn.ws/archives/450</link>
		<comments>http://winn.ws/archives/450#comments</comments>
		<pubDate>Tue, 13 Jul 2010 15:25:48 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[AWS]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=450</guid>
		<description><![CDATA[Amazon is excited to announce the immediate availability of Cluster Compute Instances for Amazon EC2, a new instance type specifically designed for high-performance computing (HPC) applications and other demanding network-bound applications. Customers with complex computational workloads such as tightly coupled parallel processes, or with applications sensitive to network performance, can now achieve the same high [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon is excited to announce the immediate availability of Cluster Compute Instances for Amazon EC2, a new instance type specifically designed for high-performance computing (HPC) applications and other demanding network-bound applications. Customers with complex computational workloads such as tightly coupled parallel processes, or with applications sensitive to network performance, can now achieve the same high compute and network performance provided by custom-built infrastructure while benefiting from the elasticity, flexibility and cost advantages of Amazon EC2.</p>
<p>Prior to Cluster Compute Instances for Amazon EC2, organizations with advanced HPC needs have been required to fund expensive, in-house compute clusters by purchasing dedicated, purpose-built hardware. As a result, the demand for high-performance cluster computing often exceeds the capacity of many organizations, and many projects are cut altogether or wait in long queues to access shared resources. With Cluster Compute Instances, businesses and researchers now have access to the high-performance computing capabilities they need with pay-as-you-go pricing, the ability to scale on-demand, and no upfront investments.</p>
<p>Cluster Compute Instances provide similar functionality to other Amazon EC2 instances but have been specifically engineered to provide high-performance compute and network capability. Cluster Compute Instances provide more CPU than any other Amazon EC2 instance. Customers can also group Cluster Compute Instances into clusters allowing applications to get the low-latency network performance required for tightly coupled, node-to-node communication (typical of many HPC applications). Cluster Compute Instances also provide significantly increased network throughput making them well suited for customer applications that need to perform network-intensive operations. Depending on usage patterns, applications can see up to 10 times the network throughput of the largest current Amazon EC2 instance types.</p>
<p>Learn more about the new Cluster Compute instances for Amazon EC2 at <a href="aws.amazon.com/ec2">aws.amazon.com/ec2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/450/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice Dog Framework</title>
		<link>http://winn.ws/archives/435</link>
		<comments>http://winn.ws/archives/435#comments</comments>
		<pubDate>Tue, 22 Jun 2010 13:56:57 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://winn.ws/?p=435</guid>
		<description><![CDATA[I just came across this mico php framework a few nights ago. When i say "micro" i mean micro, this framework is one file!]]></description>
			<content:encoded><![CDATA[<p>I just came across this mico php framework a few nights ago. When i say &#8220;micro&#8221; i mean micro, this framework is one file! Below is a sample using controllers and routes:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span> <span style="color: #0000ff;">'NiceDog.php'</span><span style="color: #339933;">;</span>
R<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">controller</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'MyController'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">action</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'index'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">on</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'GET'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">class</span> MyController <span style="color: #000000; font-weight: bold;">extends</span> C <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">render</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'views/index.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>You can now access the above by using http://local/mycontroller/</strong></p>
<p>You may also add layouts to the mix by using:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;MyLayout.php&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>To allow the routes to work, you will need to add the following to your vhosts or .htaccess file.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>IfModule mod_rewrite<span style="color: #339933;">.</span>c<span style="color: #339933;">&gt;</span>
    RewriteEngine On
    RewriteCond <span style="color: #339933;">%</span><span style="color: #009900;">&#123;</span>REQUEST_FILENAME<span style="color: #009900;">&#125;</span> <span style="color: #339933;">!-</span>d
    RewriteCond <span style="color: #339933;">%</span><span style="color: #009900;">&#123;</span>REQUEST_FILENAME<span style="color: #009900;">&#125;</span> <span style="color: #339933;">!-</span>f
    RewriteRule ^<span style="color: #009900;">&#40;</span><span style="color: #339933;">.*</span><span style="color: #009900;">&#41;</span>$ index<span style="color: #339933;">.</span>php?url<span style="color: #339933;">=</span>$<span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#91;</span>QSA<span style="color: #339933;">,</span>L<span style="color: #009900;">&#93;</span>
<span style="color: #339933;">&lt;/</span>IfModule<span style="color: #339933;">&gt;</span></pre></div></div>

<p>So if your looking for a mico php framework you may want to checkout <a href="http://github.com/bastos/nicedog">Nice Dog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/435/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter Path Helper</title>
		<link>http://winn.ws/archives/428</link>
		<comments>http://winn.ws/archives/428#comments</comments>
		<pubDate>Mon, 14 Jun 2010 14:25:15 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=428</guid>
		<description><![CDATA[he Path Helper file contains functions that permits you to work with file paths on the server.]]></description>
			<content:encoded><![CDATA[<p>The Path Helper file contains functions that permits you to work with file paths on the server.</p>
<p><strong>Load the helper</strong></p>
<p>You can load this helper in the controller, but if you plan on using this in other controllers it may be best to put it in your autoload file under config.</p>
<p>This helper is loaded using the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'path'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>The following functions are available:</strong></p>
<p><strong>set_realpath()</strong></p>
<p>Checks to see if the path exists. This function will return a server path without symbolic links or relative directory structures. An optional second argument will cause an error to be triggered if the path cannot be resolved.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$directory</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/etc/passwd'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> set_realpath<span style="color: #009900;">&#40;</span><span style="color: #000088;">$directory</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// returns &quot;/etc/passwd&quot;</span>
&nbsp;
<span style="color: #000088;">$non_existent_directory</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/path/to/nowhere'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> set_realpath<span style="color: #009900;">&#40;</span><span style="color: #000088;">$non_existent_directory</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// returns an error, as the path could not be resolved </span>
&nbsp;
<span style="color: #b1b100;">echo</span> set_realpath<span style="color: #009900;">&#40;</span><span style="color: #000088;">$non_existent_directory</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// returns &quot;/path/to/nowhere&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/428/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon CloudFront Adds HTTPS</title>
		<link>http://winn.ws/archives/418</link>
		<comments>http://winn.ws/archives/418#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:28:21 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[AWS]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=418</guid>
		<description><![CDATA[Amazon is excited to let you know about three separate changes to Amazon CloudFront, the easy-to-use AWS content delivery network.]]></description>
			<content:encoded><![CDATA[<p>Amazon is excited to let you know about three separate changes to Amazon CloudFront, the easy-to-use AWS content delivery network. First, Amazon added the ability to deliver content over an HTTPS connection. Since we launched Amazon CloudFront, HTTPS support has been one of the most requested features by our customers. HTTPS lets you transfer content over an encrypted connection, helping ensure the authenticity of the content delivered to your users. Amazon CloudFront HTTPS delivery can be used to transfer inherently sensitive objects to your users, to avoid security warnings that some browsers present when viewing a mix of HTTP and HTTPS content, or for anything else that needs to be encrypted when transferred.</p>
<p style="text-align:center;"><script type="text/javascript"><!--
google_ad_client = "pub-9763253940568418";
/* 468x15, created 5/28/10 */
google_ad_slot = "4528267187";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>Using HTTPS is easy</strong> &#8211; just change your cloudfront.net links to use https:// instead of http://, and Amazon CloudFront will serve your content using HTTPS. By default, Amazon CloudFront will accept requests over both the HTTP and the HTTPS protocols. However, if you always want your content encrypted when transmitted, you can configure Amazon CloudFront to require HTTPS for all requests for your content and not allow requests made over the regular HTTP protocol. For HTTPS requests, Amazon CloudFront will also use HTTPS to retrieve your object from Amazon S3, so your object is encrypted whenever it is transmitted.</p>
<p><strong>Pricing for HTTPS requests start at $0.01 per 10,000 requests. As always, you will pay only for what you actually use with the service.</strong></p>
<p><strong>Amazon is also announcing today that we&#8217;ve reduced our pricing for regular HTTP requests by 25%:</strong> prices for HTTP requests now start at $0.0075 per 10,000 requests, letting you save on content that doesn&#8217;t require HTTPS. We&#8217;re always looking for ways to reduce our costs, and we&#8217;re happy that we can pass these savings on to our customers. These lower prices will apply for all usage starting on June 1, 2010.</p>
<p style="text-align:center;"><script type="text/javascript"><!--
google_ad_client = "pub-9763253940568418";
/* 468x15, created 5/28/10 */
google_ad_slot = "4528267187";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Finally, Amazon has opened a new edge location in New York City, adding to the existing US East Coast locations. We&#8217;re excited that this location will help make performance even better for users requesting your content from New York and the northeast United States.</p>
<p>You can read more about Amazon CloudFront, HTTPS delivery, and view pricing information on the <a href="http://aws.amazon.com/cloudfront/">Amazon CloudFront detail page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/418/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Listing files in a directory Codeigniter</title>
		<link>http://winn.ws/archives/415</link>
		<comments>http://winn.ws/archives/415#comments</comments>
		<pubDate>Mon, 07 Jun 2010 16:11:43 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=415</guid>
		<description><![CDATA[The Directory Helper file contains functions that assist in working with directories. First if you plan on using this often you may want to place this in your autoload under the config folder. Below is how you would load it in the controller itself. $this-&#62;load-&#62;helper&#40;'directory'&#41;; Now you have access to the directory_map function, this function [...]]]></description>
			<content:encoded><![CDATA[<p>The Directory Helper file contains functions that assist in working with directories.</p>
<p>First if you plan on using this often you may want to place this in your autoload under the config folder. Below is how you would load it in the controller itself.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">helper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'directory'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Now you have access to the <strong>directory_map</strong> function, this function reads the directory path specified in the first parameter and builds an array representation of it and all its contained files.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$map</span> <span style="color: #339933;">=</span> directory_map<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/myfiles/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<blockquote><p>Note: Paths are almost always relative to your main index.php file.</p></blockquote>
<p style="text-align:center;"><script type="text/javascript"><!--
google_ad_client = "pub-9763253940568418";
/* 468x15, created 5/28/10 */
google_ad_slot = "4528267187";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Sub-folders contained within the directory will be mapped as well. If you wish to map only the top level directory set the second parameter to true (boolean):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$map</span> <span style="color: #339933;">=</span> directory_map<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/myfiles/'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>By default, hidden files will not be included in the returned array. To override this behavior, you may set a third parameter to true (boolean):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$map</span> <span style="color: #339933;">=</span> directory_map<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/myfiles/'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Each folder name will be an array index, while its contained files will be numerically indexed. Here is an example of a typical array:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">Array</span>
<span style="color: #009900;">&#40;</span>
   <span style="color: #009900;">&#91;</span>libraries<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">Array</span>
   <span style="color: #009900;">&#40;</span>
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> benchmark<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> config<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span>database<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">Array</span>
       <span style="color: #009900;">&#40;</span>
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> active_record<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> binds<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> configuration<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> connecting<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> examples<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> fields<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> index<span style="color: #339933;">.</span>html
             <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> queries<span style="color: #339933;">.</span>html
        <span style="color: #009900;">&#41;</span>
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> email<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> file_uploading<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> image_lib<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> input<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> language<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> loader<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> pagination<span style="color: #339933;">.</span>html
       <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> uri<span style="color: #339933;">.</span>html
<span style="color: #009900;">&#41;</span></pre></div></div>

<p>Codeigniter is a great framework, i use it in most all my projects. The easiest way I found to get started with Codeigniter is to use a book like <a href="http://www.amazon.com/gp/product/1847199488?ie=UTF8&#038;tag=winnws-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1847199488">CodeIgniter 1.7</a><img src="http://www.assoc-amazon.com/e/ir?t=winnws-20&#038;l=as2&#038;o=1&#038;a=1847199488" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 from Amazon.</p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/415/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon RDS MySQL</title>
		<link>http://winn.ws/archives/408</link>
		<comments>http://winn.ws/archives/408#comments</comments>
		<pubDate>Thu, 03 Jun 2010 15:15:24 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[AWS]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=408</guid>
		<description><![CDATA[If you are currently running a MySQL deployment on Amazon EC2 or in another computing environment, you may be interested to learn about some of the recent releases for Amazon Relational Database Service (RDS).]]></description>
			<content:encoded><![CDATA[<p>If you are currently running a MySQL deployment on Amazon EC2 or in another computing environment, you may be interested to learn about some of the recent releases for Amazon Relational Database Service (RDS). Introduced last October, Amazon RDS makes it easier to set up, operate, and scale MySQL in the cloud.</p>
<p><span id="more-408"></span></p>
<p>In the past few weeks, Amazon RDS has added new features that further reduce the management burden of running highly available and reliable MySQL databases:</p>
<p style="text-align:center;"><script type="text/javascript"><!--
google_ad_client = "pub-9763253940568418";
/* 468x15, created 5/28/10 */
google_ad_slot = "4528267187";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>Management Console</strong> You can now use the web-based AWS Management Console to launch Database Instances (including highly available and reliable Multi-AZ deployments), take real-time snapshots of a DB Instance, and view important database statistics.</p>
<p><strong>Multi-AZ Deployments</strong> With a single API call, you can create a MySQL Database Instance that is synchronously replicated across Availability Zones to provide enhanced data protection and availability in the face of planned or unplanned outages.</p>
<p><strong>Now in all AWS Regions</strong> Amazon RDS is now available in all Amazon Web Services Regions: US East (Northern Virginia), US West (Northern California), EU (Ireland), and Asia Pacific (Singapore).</p>
<p>These recent announcements complement the core Amazon RDS functionality, which enables you to easily and quickly deploy MySQL Database Instances with parameters pre-configured for reliable high performance. Amazon RDS also offers both automated backups and DB Snapshots to allow you to define your own data retention policy and perform point-in-time database restore operations. With Amazon RDS, scaling the compute or storage resources available to your database is as simple as a single API call.</p>
<p>Open an account and get started with <a href="http://aws.amazon.com/rds/">Amazon RDS</a>, need help working with AWS? I recommend this book: <a href="http://www.amazon.com/gp/product/0596515812?ie=UTF8&#038;tag=winnws-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0596515812">Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB</a><img src="http://www.assoc-amazon.com/e/ir?t=winnws-20&#038;l=as2&#038;o=1&#038;a=0596515812" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> or pre-order <a href="http://www.amazon.com/gp/product/0980576830?ie=UTF8&#038;tag=winnws-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0980576830">Host Your Web Site On The Cloud: Amazon Web Services Made Easy: Amazon EC2 Made Easy</a><img src="http://www.assoc-amazon.com/e/ir?t=winnws-20&#038;l=as2&#038;o=1&#038;a=0980576830" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/408/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CodeIgniter 2.0 Baking</title>
		<link>http://winn.ws/archives/350</link>
		<comments>http://winn.ws/archives/350#comments</comments>
		<pubDate>Thu, 22 Apr 2010 01:02:01 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Platforms]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=350</guid>
		<description><![CDATA[EllisLab today announces changes to our internal development processes, including dropping Subversion in favor of Mercurial and adopting Assembla as our agile software development management tool. Along with these changes, CodeIgniter 2.0 pre-release code is in development, and is now hosted at the Mercurial-focused social coding site BitBucket. Of our communities, CodeIgniter benefits the most [...]]]></description>
			<content:encoded><![CDATA[<p>EllisLab today announces changes to our internal development processes, including dropping Subversion in favor of Mercurial and adopting Assembla as our agile software development management tool.  Along with these changes, CodeIgniter 2.0 pre-release code is in development, and is now hosted at the Mercurial-focused social coding site BitBucket.<br />
<span id="more-350"></span></p>
<blockquote><p>Of our communities, CodeIgniter benefits the most directly from these changes.  The adoption of a new VCS and new internal development tools allows us to not only be more effective in CodeIgniter’s development, but also enables us to give you more and to interact more directly with you.</p></blockquote>
<p>Source to CI2: <a href="http://bitbucket.org/ellislab/codeigniter/">http://bitbucket.org/ellislab/codeigniter/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/350/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mail Goggles from Google!</title>
		<link>http://winn.ws/archives/168</link>
		<comments>http://winn.ws/archives/168#comments</comments>
		<pubDate>Tue, 07 Oct 2008 15:16:07 +0000</pubDate>
		<dc:creator>Greg Winn</dc:creator>
				<category><![CDATA[Platforms]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.winn.ws/?p=168</guid>
		<description><![CDATA[No More drunk emails! When you enable Mail Goggles, it will check that you&#8217;re really sure you want to send that late night Friday email. And what better way to check than by making you solve a few simple math problems after you click send to verify you&#8217;re in the right state of mind? Google [...]]]></description>
			<content:encoded><![CDATA[<p>No More drunk emails!</p>
<blockquote><p>
When you enable Mail Goggles, it will check that you&#8217;re really sure you want to send that late night Friday email. And what better way to check than by making you solve a few simple math problems after you click send to verify you&#8217;re in the right state of mind?
</p></blockquote>
<p><strong><a href="http://gmailblog.blogspot.com/2008/10/new-in-labs-stop-sending-mail-you-later.html">Google Blog</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://winn.ws/archives/168/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Database Caching 1/46 queries in 0.033 seconds using disk: basic
Object Caching 607/706 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d45jz936mo8n8.cloudfront.net

Served from: winn.ws @ 2012-02-07 19:48:16 -->
